Posts filed under 'PocketPC'
Vyvijime pro PocketPC na 3 zpusoby
Jakozto linuxovy uzivatel bych byl rad, kdyby vyvojove nastroje pro PocketPC byly nativne dostupne pro linux. Z pochopitelnych duvodu nejsou. Jednak kdyz uz nekdo vyviji pro Windows Mobile, tak ma asi i “velky” Windows a ma k dispozici veci typu ActiveSync, atd. Microsoft nema duvod tyto nastroje poskytovat pro linux, kdyz sam vyrabi vlastni operacni system. Taky z hlediska trhu je to nesmysl. Lidi s linuxem, kteri by vyvijeli pro Windows Mobile, neni zrovna miliardy, aby se to vyplatilo. A naslo by se urcite i spoustu dalsich rozumnych duvodu.
Proto je uzivatel linuxu odkazan v zasade na 2 pristupy. Bud pouzije arm-wince-gcc, coz je sympaticky projekt, ktery pouziva gcc pro kompilaci nativniho kodu pro Windows CE. Bohuzel podpora pro MFC zde neni, coz je skoda, protoze MFC je na platforme Windows Mobile dostupne vsude, takze netreba trapit uzivatele s instalaci chybejicich knihoven, frameworku, a jine zbere. Osobne jsem projekt nezkousel, ale z doslechu vim, ze veci ve WIN32API funguji.
Druhy pristup je pouzit virtualizaci a ty wokna si virtualizovat. Mate-li vsak strasi a slabsi stroj jako ja, nelze hovorit o produktivite. Free nastroj pro vyvoj je v zasade jen jeden a to je eVC 4.0 (3.0 uz ze stranek MS stahnout nejde, aspon ja to nevydoloval). eVC 4.0 je pekny, az na to, ze to kazdou chvili spadne, ale co by clovek nechtel od veci co jsou zadarmo, ze? :) Virtualizace se teoreticky tvari hezky, ale prakticke mi to neprijde. Zkousel jsem vmplayer a co chvili zacal ukladat obrovsky kusy dat na disk, ale takovym zpusobem, ze se neslo nikam prepnout, treba ani opustit ten virtualni stroj. Pri ukladani souboru, clovek videl 2-3 s zpozdeni, nez se to ulozilo. Az na tyto problemy to funguje bezvadne. ActiveSync bezi, emulator bezi, eVC bezi, da se pripojit na emulator, lze pripojit i fyzicke zarizeni. Jiny problem ale je napr. nemoznost krokovat binarku z eVC 4.0 v emulatoru WM6 (nekompatibilita, moc nove, eVC nezna). Jo, muzete si koupit VS2005/8 a pak mate “vsechno” funkcni z krabice ;-)
Dale by nekdo mohl rict, ze si to eVC naemuluje ve wine. Coz je myslenka hezka, ale prakticky nerealizovatelna, protoze eVC ve wine nainstalovat nejde. Dalsi problem by asi byl s ActiveSync, takze myslenka na to, ze vsechno odemulujeme ve wine se rozplyne celkem brzy.
No a pak je tu reseni pro tvrdy chlapy. V zasade jde o to prenest nezbytne casti pro preklad a linkovani do linuxu, pro projekt vytvorit Makefile, kod editovat svym oblibenym editorem v linuxu a pouzit make pro preklad a sestaveni.
Co vsechno musite prenest? clarm.exe, link.exe, rc.exe, coz je prekladac, linker, kompilator resourcu.
Kde to vezmete? V EVC 4.0.
Jak to pustit v linuxu? Pres wine :)
Co je k tomu jeste treba? Instalovat SDK pro PocketPC 2003, kde jsou liby a header soubory, ktery bude potreba.
Ovsem jak testovat? Nasnade je prenest binakru na zarizeni a vse delat tam. Ovsem pokud neco nevyjde, musime HR a obnovit zarizeni, coz nas nepotesi. Toz by to chtelo emulator. A ono to jde. Windows Mobile 6 SDK jde pod wine nainstalovat, stejne tak ARM Standalone emulator, SDK ma “jen” binarni obrazy pro emulator.
Zda se to jako fantazie, ale neni. Samotnymu se mi to podarilo a ted muzu psat kod v eclipse, prekladat a testovat v emulatoru a to vse v linuxu, bez zpomaleni vmplayerem. Ovsem stejne jako vsechno, i toto neni prefektni. Emulator nejde pripojit k internetu, takze nelze delat sitove programy. Nicmene i toto by mely byt teoreticky mozne, pokud by se podarilo do wine dostat VirtualPC od MS (instalator pustit jde, ale nedobehl mi do konce). Dalsi vec co muze citelne chybet je nemoznost debuggovani. Holt zpatky na stromy a uzijme si ladicich vypisu…
Pozn.: Vyvoj v C# nezminuji, protoze v tom nedelam a ani o tom nic nevim (a ani nechci :)
8 comments Červenec 17, 2008
Co nas bavi a zabavuje
Zivot je boj. A kdo nebojuje, prohraje. V poslednich dnech jsem si nasel primo vynikajici zabavu. Bojuju s platformou pocket pc. Ne jako uzivatel, ale jako programator.
Par nametu k zamysleni:
- Psat novou kontrolku z niceho je neskutecnej opruz, kterej vam navic nikdo nezaplati. A user jen mavne rukou.
- Neni dobry nechat se inspirovat ovladanim iPhone, kdyz a) nemate multidotykovy display a b) udelat obycejny ovladani mysi s beznymi prvky jako multi-select trva den a clovek by u toho vykvetl.
- Na normalni dialogy funguje RelayoutDialog, ale jak tam flaknu HTML control, tak se mi STATIC control (ma ID jako normal control) neprekresli, mozna ani neresizne.
- Proc se STATIC control neprekresli hned po OnInitDialog, kdyz jste mu tam zmenili text pres SetWindowText?
- Opravu neni dobry snazit se vytvorit dialog, jehoz resource jste pred chvili smazali.
- Nepouzivej GetCursorPos, kdyz nejsi na Woknech, ale na Pocket PC.
- Zabranit oknu, aby se neresizelo, nestalo se full screen a proste zustalo na miste, je nadlisky ukol hodny polobohu.
- Jeden kod, ktery pracuje zaroven na QVGA a VGA displayi s podminkou, ze vysledny efekt je hezky na obou zarizenich, neni relany.
- Bez hacku pro WM5 se neobejdes. Co vypada dobre na WM2003SE je sileny na WM5 a obracene.
- Kdo moc pracuje, nemuze psat na blog.
Add comment Červen 29, 2007
Tap-n-hold v Edit casti Combo Boxu
Situace: Aplikace, ktera neni zalozena na dialogu (v MFC), protoze nechci, aby OK/Close button ji zavrel, ale jen minimalizoval. Takze hlavni okno je CWnd. Na nem dva prvky - CComboBox a CButton. Tapnuti na button spousti hledani vyrazu zadaneho v combo boxu. Combo box, protoze v jeho drop down menu je historie hledanych slov. Logicke. Intuitivni.
Problem cislo 1: Nejde tap-n-hold na edit casti combo boxu, coz je pekne naprd, protoze bezne to uzivatel bude chtit pouzit.
Reseni: Combo box nahrazen CEditem. Ztracime historii, kterou tam budeme muset dodelat jinak.
Problem cislo 2: Kdyz user tapne na SW klavesnici na Enter, tak aby se spustilo hledani. Nic se vsak nedeje.
Pokud bysme meli dialog, tak udelame button se stylem BS_DEFPUSHBUTTON a je vystarano. Rucni pridani stylu do buttonu nejde, ani kdyz se prida poslani zpravy DM_SETDEFID, ktera oznami default control. Neni se cemu divit, nejsme na dialogu, ale jen na CWnd.
Reseni: Odvozeni noveho editu, pridani reakce na zpravu WM_CHAR. Ta posle user-defined zpravu rodici. Ten ji odchytne a vyvola hledani. Dementni, ale funguje.
A to vsechno jen kvuli tomu, aby fungoval tap-n-hold na editu combo boxu! Ja vam radim neprogramujte, jinak skoncite u doc. Chocholouska.
Jeste me napadlo zmenit zakladni CWnd na CDialog, ale obavam se, ze by to byla cesta do pekel.
Add comment Květen 23, 2007
Reverzni inzenyri - amateri
Tak mi prisel mail, ze pry je v Batti chyba. Ten clovek mi psal, ze predinstalovava Batti do ROMky nejakyho zarizeni, ale ze kdyz chce pustit konfiguraci od Batti, tak ze ta musi byt v \program files\batti, ze jinak to nefunguje. A ze pry by chtel, aby tam ta cesta v Batti nebyla natvrdo, pac by to chtel mit adresari \windows.
No to je pochopitelne kravina, tam nic natvrdo neni, protoze jak jinak by asi Batti mohlo byt nainstalovano na karte a fungovat, ze? Funguje to totiz tak, ze pri instalu se do registru zapise cesta, kam se program instaluje, a ta se pak pouziva. Takze kbydy tenhle amater trochu vic premyslel a podival se do registru nebo to installnul na kartu, vedel by, ze tam neni nic natvrdo zakodovanyho.
No proste amater a jeste obtezuje… :-)
Add comment Únor 20, 2007
Certifikaty v pRSSreaderu
V pRSSreaderu 1.3.3 bude jako novinka zabezpeceny pristup na WWW, cili pres https. Doted to bylo tak, ze kdyz pRSSreader pristupoval na https, tak se vzdy ptal uzivatele, zda akceptovat certifikat. Pokud tedy nekdo cachoval HTML pro offline prohlizeni, musel pri kazdem pozadavku pRSSreaderu akceptovat certifikat. To pochopitelne silne otravovalo. Dalo se to vypnout pres volbu v registrech, kdy se certifikaty vubec nekontrolovaly a proste se akceptovaly. Ale to nebylo zrovna moc dobry.
Ted jsem udelal cachovani certifikatu, takze pokud pRSSreader vleze na https a jeste nezna poslany certifikat, zepta se uzivatel, zda chce certifikat akceptovat. Pokud ho uzivatel prijme, je certifikat nacachovan a pri dalsim pristupu ho pRSSreader uz zna, takze se nepta a maka. Certifikaty si zatim pRSSreader pamatuje jen pri svem behu. Je-li ukoncen, vsechny nacachovane certifikaty se ztrati a pro dalsim behu je nutne je znovu akceptovat. Ale do 1.3.4 uz mam jako feature request permanentni cachovani certifikatu. Pak uz to bude skoro dokonaly :)
Add comment Prosinec 13, 2006
Babylon a pRSSreader
Dneska jsem aktualizoval lokalizace pRSSreaderu (s “hruzou” jsem zjistil, ze jich je 10). No spis nez aktualizoval jsem pridaval vsechno novyho, co je v englicky, do ostatnich, abych mohl udelat patche a poslat je lokolizatorum. Teda opravdu to stoji silene moc casu. Chtelo by to nejaky lepsi system udrzby, abych to nemusel delat v ruce.
Ale je pravda, ze lokalizace zabira proti kodovani dost malo casu. Vsechny aktualizuju za 1 den, ale nova verze trva pul roku… Jsem zvedavy, kolik lokalizaci se mi vrati a kolik jich verze 1.3.3 bude mit. No, uvidime…
Add comment Prosinec 12, 2006
Skype 2.1 pro PocketPC
Dneska jsem preinstaloval stary skype (1.x) novym v PDAcku a jsem nadsen. Verze 2.1 uz konecne vypada k svetu. Dobra podpora pro VGA (coz nebyva zvykem), prepinani tabu doznalo zmen - opet k lepsimu, graficky take vylepsene. Sice je to porad malo konfigurovatelny, jsem holt z toho linuxu zmlsanej, ale pro BFU je to tak akorat :) A today plugin by mohl byt konfigurovatelny pri instalaci. Mam radost, ze se to vyviji tim spravnym smerem. Jen tak dal…
Ted uz jen, aby hosi otevreli protokol ;-) A svet bude pohlcen skype…
Add comment Prosinec 10, 2006
Thaijci, ti se nezdaj
Tak dneska mi prisel mail z Thajska, ze chteji koupit zdrojaky pRSSreaderu a udelat si thajskou lokalizaci. To me na jednu stranu potesilo, ale musel jsem to odmitnout. pRSSreader vznikl jako freeware s cilem zruinovat ty komecni shity. Takze musi byt free. Uz z podstaty.
Na druhou stranu to jen ukazuje, jaky to jsou paka. Chteji lokalizovat a nejsou schopny prijit na domovskou stranku a podivat se, jestli tam treba uplnou nahodou neni odkaz ‘Translate pRSSreader’, kde je popsany, jak maji postupovat, kdyz chteji lokalizovat. By vedeli, ze me nemusi zadat o zdrojaky. Pitomci.
Ale jinak velice pozitivni zprava. Jsem rozhodne rad, ze je pRSSreader tak uspesny :-D
Add comment Listopad 20, 2006
pRSSreader 1.3.3 beta1
Posledni 2 dny jsem dokoncoval 1.3.3 beta1. Vcera v pulnoci jsem to nabuildoval, hodil na web. Rano se ozvaly prvni hlasy, ze jim to nejde nainstalovat. Debil jsem slinkoval QVGA verzi se spatnym DLLkem. Tak jsem to dneska opravil a zverejnil. Tak snad uz to pujde.
Nasel jsem jednu chybu v odinstalaci, tak jsem ji hned opravil.
Pak tam mam jednu chybu v importovani OPML, tak tu si opravim casem.
Beta verze jsou pristupne na jasny pace.
2 comments Listopad 16, 2006
pRSSreader o krok bliz k betce
Sice jsem chtel dneska uz konecne nasoftit ty HW klavesy, ale Summary view potreboval dotahnout do konce. To se podarilo. Dal jsem upravil Site Manager, takze ted jsou oba logicky odelene. Site Manager se stara o konfiguraci feedu, spravu seznam feedu, skupiny, atd. Summary View se stara o obsah feedu - oznacovani polozek, pocet neprectenych, update + nejake rezervy do budoucna.
No a zitra udelam ty HW klavesy. Uz to mam promysleny, takze uz snad konecne to bude. Pak uz jen udelat instalacni file a hura na beta testovani…
Add comment Listopad 13, 2006