Jak na GAPI u přístrojů FS Loox 720 a Dell Axim X50v/X51v?
Bohužel jsem zjistil, že má hra psaná v GAPI nefunguje na výše zmiňovaných přístrojích (Loox 720 a Axim X50v/X51v). Vykreslí se první snímek a hra zamrzne. Podle všeho reaguje na kliknutí, avšak nepřekresluje. Dá se to nějak ošetřit?
Ošetřit se to dá za pomoci tlačítka "hledat" na tomto fóru. Po použití zmíněného tlačítka lze nalézt třeba toto ;)
Neboj, hledal jsem. Tohle nefunguje. Našel jsem i ekvivalent pro Axim, ale nejde to. Proto se ptám, jestli se s tím někdo osobně nesetkal. Je to nějaký divný :-(.
Nejjednodussi bude vzit ten kod a udelat debug verzi aplikace, ktera si kazde uprdnuti systemovych knihoven zaloguje do textaku a to ti pak posleme, at vis, jak to mas osetrit... ;)
Tos nerek, ze je to v C#. Ja myslel, ze je to v C/C++...
Nechces si na to udelat private project na www.gotdotnet.com a mne tam pridat, ze bych se na to mrknul? Nebo posli mi kod...
Nechces si na to udelat private project na www.gotdotnet.com a mne tam pridat, ze bych se na to mrknul? Nebo posli mi kod...
Já nerad předávám kód :-(. Ale tuším, kde je chyba, a pokud s tím umíš, mohl bys mi pomoci. V GAPI si přeci má každý vytvořit managed DLL na míru, aby uměla přesně to, co programátor chce. Jenže na to já jsem příliš dřevěnej, takže jsem vzal už hotové DLL z programu Dancing Zombies, který slouží na MSDN Library coby example. Podle všeho musí být ta chyba právě v té DLL, protože v programu na 99,9% nehrozí. Pokud bys tedy byl schopen mi pomoci s těmi DLL (viz zde), bylo by to super. Musí umět jen a pouze vykreslit bitmapu (resp. obdélníkový výřez) na souřadnice a volitelně i s KeyTransparency. Je to zhruba takhle:
[CODE]*********
deklarace
*********
public GXGraphics gx = null;
public GXBitmap m_image = null;
public System.Reflection.Assembly zdroje =
System.Reflection.Assembly.GetExecutingAssembly();
**************************
loading po startu aplikace
**************************
//inicializace plochy
gx = new GXGraphics(this, GXGraphics.DisplayBufferModes.kDoubleBuffer); gx.SetDrawModes(GXGraphics.DrawFlags.kModeNoBoundsChecking);
//nastavení průhledné barvy pro pozdější KeyTransparency
gx.SetSourceKey(Color.Lime);
//načtení bitmapy uložené jako embedded resource
m_image = new GXBitmap(
zdroje.GetManifestResourceStream(@"MujProjekt.obrazek.bmp"), gx);
*******************
vykreslovací smyčka
*******************
//zahájení kreslení
gx.BeginDraw();
//běžné vykreslení na x=0, y=0
gx.DrawBitmap(0, 0, m_image);
//vykreslení části obrázku (obdélník levého horního rohu šířky i výšky 5 pixelů)
gx.DrawBitmap(0, 0, new Rectangle(0, 0, 5, 5), m_image);
//kreslení s vynecháním průhledné barvy
gx.SetDrawModes(GXGraphics.DrawFlags.kModeSrcKeyTransparency);
gx.DrawBitmap(0, 0, m_image);
gx.ClearDrawModes(GXGraphics.DrawFlags.kModeSrcKeyTransparency);
//otisk gx na display
gx.EndDraw();
***********************
před ukončením aplikace
***********************
m_image.Dispose();
gx.ClearDrawModes(GXGraphics.DrawFlags.kModeNoBoundsChecking);
gx.Dispose();[/CODE]
[CODE]*********
deklarace
*********
public GXGraphics gx = null;
public GXBitmap m_image = null;
public System.Reflection.Assembly zdroje =
System.Reflection.Assembly.GetExecutingAssembly();
**************************
loading po startu aplikace
**************************
//inicializace plochy
gx = new GXGraphics(this, GXGraphics.DisplayBufferModes.kDoubleBuffer); gx.SetDrawModes(GXGraphics.DrawFlags.kModeNoBoundsChecking);
//nastavení průhledné barvy pro pozdější KeyTransparency
gx.SetSourceKey(Color.Lime);
//načtení bitmapy uložené jako embedded resource
m_image = new GXBitmap(
zdroje.GetManifestResourceStream(@"MujProjekt.obrazek.bmp"), gx);
*******************
vykreslovací smyčka
*******************
//zahájení kreslení
gx.BeginDraw();
//běžné vykreslení na x=0, y=0
gx.DrawBitmap(0, 0, m_image);
//vykreslení části obrázku (obdélník levého horního rohu šířky i výšky 5 pixelů)
gx.DrawBitmap(0, 0, new Rectangle(0, 0, 5, 5), m_image);
//kreslení s vynecháním průhledné barvy
gx.SetDrawModes(GXGraphics.DrawFlags.kModeSrcKeyTransparency);
gx.DrawBitmap(0, 0, m_image);
gx.ClearDrawModes(GXGraphics.DrawFlags.kModeSrcKeyTransparency);
//otisk gx na display
gx.EndDraw();
***********************
před ukončením aplikace
***********************
m_image.Dispose();
gx.ClearDrawModes(GXGraphics.DrawFlags.kModeNoBoundsChecking);
gx.Dispose();[/CODE]
Hm, ten kod vypada v pohode...
Aha... Jak to tak ctu hledam, tak tam pouzivas GAPINet, takze to na VGA pada (melo by ti to zlobit i dokonce na Hx4700)... Pripadne pouzij metodu popsanou zde.
Prejdi na .NET CF 2.0 a DirectX Mobile, ktere je uz managed v .NET CF 2.0 standardne (pravda, ale zase jenom ve WM5) a budes mit po startech. ;) :D
Ja jsem zacal taky kdysi neco vyvijet v .NET CF 1.0, ale prozatimni UI jsem mel textove, takze jsem se nedostal k tomu, abych zjistil, ze to pres GAPI nepujde... :)
A stejnak uz je to preportovano do CF 2.0 a DXM...
Aha... Jak to tak ctu hledam, tak tam pouzivas GAPINet, takze to na VGA pada (melo by ti to zlobit i dokonce na Hx4700)... Pripadne pouzij metodu popsanou zde.
Prejdi na .NET CF 2.0 a DirectX Mobile, ktere je uz managed v .NET CF 2.0 standardne (pravda, ale zase jenom ve WM5) a budes mit po startech. ;) :D
Ja jsem zacal taky kdysi neco vyvijet v .NET CF 1.0, ale prozatimni UI jsem mel textove, takze jsem se nedostal k tomu, abych zjistil, ze to pres GAPI nepujde... :)
A stejnak uz je to preportovano do CF 2.0 a DXM...
[QUOTE="beecher"]Hm, ten kod vypada v pohode...
Aha... Jak to tak ctu hledam, tak tam pouzivas GAPINet, takze to na VGA pada (melo by ti to zlobit i dokonce na Hx4700)... Pripadne pouzij metodu popsanou zde.
Prejdi na .NET CF 2.0 a DirectX Mobile, ktere je uz managed v .NET CF 2.0 standardne (pravda, ale zase jenom ve WM5) a budes mit po startech. ;) :D
Ja jsem zacal taky kdysi neco vyvijet v .NET CF 1.0, ale prozatimni UI jsem mel textove, takze jsem se nedostal k tomu, abych zjistil, ze to pres GAPI nepujde... :)
A stejnak uz je to preportovano do CF 2.0 a DXM...[/QUOTE]
Já právě doufal, že se to nějak dá přes GAPINet :-). Do budoucna asi budu muset přeskočit na C++, jinak to dost dobře nepůjde. C# má strašně malou podporu třetích stran :-(. Čili přes GAPINet určitě ne?
Aha... Jak to tak ctu hledam, tak tam pouzivas GAPINet, takze to na VGA pada (melo by ti to zlobit i dokonce na Hx4700)... Pripadne pouzij metodu popsanou zde.
Prejdi na .NET CF 2.0 a DirectX Mobile, ktere je uz managed v .NET CF 2.0 standardne (pravda, ale zase jenom ve WM5) a budes mit po startech. ;) :D
Ja jsem zacal taky kdysi neco vyvijet v .NET CF 1.0, ale prozatimni UI jsem mel textove, takze jsem se nedostal k tomu, abych zjistil, ze to pres GAPI nepujde... :)
A stejnak uz je to preportovano do CF 2.0 a DXM...[/QUOTE]
Já právě doufal, že se to nějak dá přes GAPINet :-). Do budoucna asi budu muset přeskočit na C++, jinak to dost dobře nepůjde. C# má strašně malou podporu třetích stran :-(. Čili přes GAPINet určitě ne?
No, kdyz si prectes to, na co odkazuji, tak zjistis, ze ani GAPINet.DLL tomu nepomuze nebo presneji tomu pomuze nejaka jina metoda vykreslovani, nez ta standardni. Je to nejaka chybka obecne...
Na co by potreboval C# podporu tretich stran?
Osobne bych spise doporucil preskocit na WM5, .NET CF 2.0 a DXM a mas vystarano. Videl jsem tajne demo MS 3D enginu ala Quake 3 napsane pro tuto kombinaci a malem mi upadla celist (na neakcelerovanem Universalu to behalo jako z praku)...
Na co by potreboval C# podporu tretich stran?
Osobne bych spise doporucil preskocit na WM5, .NET CF 2.0 a DXM a mas vystarano. Videl jsem tajne demo MS 3D enginu ala Quake 3 napsane pro tuto kombinaci a malem mi upadla celist (na neakcelerovanem Universalu to behalo jako z praku)...
Pouzivas knihovnu GXGraphics, kde je asi mala chyba, ktera zpusobuje nekompatibilitu bud s hw, ale to asi tezko nebo s verzi gx.
V metode BeginDraw tridy GXGraphics chybi volani nejakyho pointeru nebo co to je, importovanyho z knihovny gx. Jmenuje se GXBeginDraw a je ve tride GAPI. vlastne ani nevim, jestli to tam chybelo, ale potom to uz fungovalo.
Takze do metody BeginDraw v GXGraphics staci pridat GAPI.GXBeginDraw() a zkompilovat.
Stejne to ale funguje jenom v rozliseni 240x320 :(
V metode BeginDraw tridy GXGraphics chybi volani nejakyho pointeru nebo co to je, importovanyho z knihovny gx. Jmenuje se GXBeginDraw a je ve tride GAPI. vlastne ani nevim, jestli to tam chybelo, ale potom to uz fungovalo.
Takze do metody BeginDraw v GXGraphics staci pridat GAPI.GXBeginDraw() a zkompilovat.
Stejne to ale funguje jenom v rozliseni 240x320 :(
Už jsem z toho fakt špatnej :-(. Neznáte nějakou jinou grafickou knihovnu pro C#, která umí QVGA i VGA současně a dá se použít i v nižších WM, než 5.0?
To, co mi poslal beecher má strašně málo informací a vůbec nic mi to neříká. Nemám nejmenší ponětí o zápisu do pixel bufferu.
Opravdu vás prosím, nemůžu s tím hnout. Nemusí to být nijak rychlé a potřebuju jen a pouze vykreslení bitmapy s možností zapnutí keytransparency. Vůbec nic jiného od toho nechci.
To, co mi poslal beecher má strašně málo informací a vůbec nic mi to neříká. Nemám nejmenší ponětí o zápisu do pixel bufferu.
Opravdu vás prosím, nemůžu s tím hnout. Nemusí to být nijak rychlé a potřebuju jen a pouze vykreslení bitmapy s možností zapnutí keytransparency. Vůbec nic jiného od toho nechci.
A co takhle nepouzivat GAPI? Tady je shut-em up gamesa v .NET CF, ktera, pokud jsem to dobre pochopil, nejede pres GAPI...
Narážím na nové problémy. Potřebuju, abych mohl ovládat orientaci displaye. Je to možné s .NET Compact Framework 1.0?
Zde
Jinak ti taky doporucim se podivat na OpenNETCF.org, kde jejich SmartDevice Framework pridava spoustu managed P/Invoke volani...
Jinak ti taky doporucim se podivat na OpenNETCF.org, kde jejich SmartDevice Framework pridava spoustu managed P/Invoke volani...
Microsoft.WindowsCE.Forms je bohužel namespace z CF 2.0. A ten OpenNETCF mi blbne, nelze vytvořit nové solution a i samply se chovají přinejmenším podivně. Nainstaloval jsem vše správně.
Mám tedy uživatele nutit, aby si instaloval 25MB veliký framework 2.0? :-( Asi to spíš opět zůstane bez VGA podpory. Pro C# prostě slušnou grafickou knihovnu neseženu.
Mám tedy uživatele nutit, aby si instaloval 25MB veliký framework 2.0? :-( Asi to spíš opět zůstane bez VGA podpory. Pro C# prostě slušnou grafickou knihovnu neseženu.
.NET CF 2.0 ma 3-4 MB v pameti PDA. 25 MB ma instalacni balicek, protoze je tam .NET CF 2.0 pro vsechny mozne platformy (Windows CE 5.0, WM <5.0, WM 5.0 atd.). Nemluve o tom, ze ho za chvili budou potrebovat vsichni, jak poroste pocet aplilkaci pro .NET CF 2.0. ;)
Ukecal jsi mě :). Už stahuju SDK. Má CF2 nějaké efektivnější vykreslování grafiky? Tohle je dost nechutně pomalý, když potřebuju vypsat na display několik stovek písmen. Ovšem to by mohlo s landscapem odpadnout, jelikož bych mohl využít systémový textout. Ale tak jako tak - je tam to kreslení udělaný líp?
Pokud je vykreslujes po jednom, tak to se nediv, musis si udelat rutinu na predpripraveni textu jako jedno obrazku a ten az pak placnout na display...
Jinak nevim, jestli je tam vykreslovani rychlejsi, ja pouzivam DX Mobile... ;)
Jinak nevim, jestli je tam vykreslovani rychlejsi, ja pouzivam DX Mobile... ;)
No všechno kreslím na OffScreen, který se pak otiskne celý najednou. Vytvoření jednoho obrázku z textu by mi asi nebylo moc platné.
To sice jo, ale taky nezapomen, ze i to kresleni offscreen do bufferu pro kazde pismenko zvlast je docela zahul...
SDK jsem nainstaloval, ale vůbec nic se nestalo. Asi že nemám SP2. Mno nic. VGA nepůjde, dokud nenajdu slušnou knihovnu.
[QUOTE="beecher"]Co myslis tim, vubec nic se nestalo? Mas nainstalovano VS 2k5?[/QUOTE]
VS 2k5 už SDK pro 2.0 má. Stažený balíček by měl být pro 2k3 (soudě podle textů pod ním, které konkrétně říká, že uživatelé 2k5 jej nepotřebují).
VS 2k5 už SDK pro 2.0 má. Stažený balíček by měl být pro 2k3 (soudě podle textů pod ním, které konkrétně říká, že uživatelé 2k5 jej nepotřebují).
Njo, to je hruby omyl... VS2k5 ma v sobe .NET CF 1.x, 2.0 se musi doinstalovat. Ver mi, mam to nainstalovane dvakrat (prace & notas), tak vim... ;)
Nemluve o tom, ze ve VS2k3 nelze vyvijet pro .NET CF 2.0.
Nemluve o tom, ze ve VS2k3 nelze vyvijet pro .NET CF 2.0.
[QUOTE="beecher"]A v cem je problem?[/QUOTE]
Nevím, zda to bylo jenom u mě, ale SP2 měly veliké problémy s kompatibilitou a menší problémy se síťovými protokoly. Krom toho mě obtěžovaly ty neustálé dotazy, zda chci aplikaci povolit připojení k internetu. Nevím, nějak mi to nesedlo. Já to vidím tak, že na příští hru se pokusím naučit C++, a tuhle už si nebudu ničím komplikovat. Nebo o nějaké knihovně víš? Pro C++ je jich tolik, a pro C# leda prd.
Nevím, zda to bylo jenom u mě, ale SP2 měly veliké problémy s kompatibilitou a menší problémy se síťovými protokoly. Krom toho mě obtěžovaly ty neustálé dotazy, zda chci aplikaci povolit připojení k internetu. Nevím, nějak mi to nesedlo. Já to vidím tak, že na příští hru se pokusím naučit C++, a tuhle už si nebudu ničím komplikovat. Nebo o nějaké knihovně víš? Pro C++ je jich tolik, a pro C# leda prd.
Sice už odbíhám od nadpisu, ale nebudu kvůli jedné hře zakládat stále nová vlákna. Existuje free knihovna, která umí přes CF 1.0 přehrát MP3 či OGG?
A pokud si preportujes toto na ARM architekturu a udelas .NET wrapper, tak to bude prehravat skoro vsechno (.ogg, .mp3, .wav, .mod., .s3m, .xm, .it, .aiff)... ;)
Ať se snažíš, jak se snažíš, ne a na mě potěšit :-). Takhle nějak jsem to myslel, když jsem říkal, že C# má minimální podporu třetích stran. Jsem high-level programátor (to je ta horší varianta - píšu algoritmy, ale systémové záležitosti nechám na někom jiném), čili "pokud si přeportuješ toto na ARM architekturu a udeláš .NET wrapper" pro mě znamená totéž, jako "nic takového neexistuje" :-).
Tak se podivej na ten prvni odkaz s tou FMOD 3 knihovnou... Pokud bys mel problem s tim wrapperem, tak dej vedet, vytvorim ti jej...
[QUOTE="beecher"]Tak se podivej na ten prvni odkaz s tou FMOD 3 knihovnou... Pokud bys mel problem s tim wrapperem, tak dej vedet, vytvorim ti jej...[/QUOTE]
On se snad bez znalosti C++ ani wrapper udělat nedá, ne? :). Pokud ho vyrobíš, budu ti neskonale vděčný. A abys byl velkolepě oceněn, můžu tě zapsat do credits :D. Pak by to chtělo taky někoho, kdo nemá cca měsíc nic na práci a udělá wrapper PocketHALu :D
On se snad bez znalosti C++ ani wrapper udělat nedá, ne? :). Pokud ho vyrobíš, budu ti neskonale vděčný. A abys byl velkolepě oceněn, můžu tě zapsat do credits :D. Pak by to chtělo taky někoho, kdo nemá cca měsíc nic na práci a udělá wrapper PocketHALu :D
Ten PocketHAL, hm, to je podle mne hodne stare, nejsem si jist, jestli to na novejsich OSech bude chodit (WM2K3SE, WM5)...
[QUOTE="beecher"]Ten PocketHAL, hm, to je podle mne hodne stare, nejsem si jist, jestli to na novejsich OSech bude chodit (WM2K3SE, WM5)...[/QUOTE]
Je v něm psaný Undercroft a hry od 1st-Easy-Softu (Atomix, Galatron), pokud vím. A je stále ve vývoji. Nejnovější verze přinesla právě kompatibilitu s WM5. Ale vychází z něj i PocketFrog a podobné.
Je v něm psaný Undercroft a hry od 1st-Easy-Softu (Atomix, Galatron), pokud vím. A je stále ve vývoji. Nejnovější verze přinesla právě kompatibilitu s WM5. Ale vychází z něj i PocketFrog a podobné.
[QUOTE="beecher"]Aha... Tak jo, ja se na to podivam a neco s tim zkusim vymyslet... ;)[/QUOTE]
Budu velice rád. Podle všeho jsem totiž přišel na kloub podpoře VGA pod GAPINetem. Snad dokonce i RealVGA :-). Nerad bych to zakřiknul, ale když to vyjde, tak se podělím o řešení. Je trochu kostrbaté, ale funkční. Když vyjde navíc i ten Ogg, budu nadšen :-). Pokud budeš dělat ten wrapper, tak postačí přehrávání oggů coby hudby a pokud to umí, tak wavů jako efektů. Díky moc.
Budu velice rád. Podle všeho jsem totiž přišel na kloub podpoře VGA pod GAPINetem. Snad dokonce i RealVGA :-). Nerad bych to zakřiknul, ale když to vyjde, tak se podělím o řešení. Je trochu kostrbaté, ale funkční. Když vyjde navíc i ten Ogg, budu nadšen :-). Pokud budeš dělat ten wrapper, tak postačí přehrávání oggů coby hudby a pokud to umí, tak wavů jako efektů. Díky moc.
Tak ten wrapper nedělej. Vygooglil jsem si ho a FMOD aplikaci znatelně zpomaluje. Zkusím si tedy sehnat nového hudebníka, který udělá hudbu ve formátu MOD. VGA kompatibilita se mi skutečně zadařila a to dokonce i pro RealVGA. Je to trochu kostrbaté a mírně zpomalující řešení, ale funguje to. Když se mi to potvrdí z více stran, řeknu vám jak na to. Je to fakt primitivní, nevím, že mě to nenapadlo dřív :-).
Tak se mi ta moje VGA kompatibilita GAPINetu potvrdila na Aceru n311 a na Looxu 720. Je to neprofesionální řešení, je také o něco pomalejší (ale kam se to hrabe na rychlost při použití FMODu :sarcastic: ), nicméně prostě to funguje. A dokonce i v RealVGA (jen si musíte přepočítat kolizní obdélníky, jelikož jsou jinak pouze ve čtvrtině displaye a neodpovídají obrazu). Mno nic, nesmějte se mi, ale dělám to takhle: Využil jsem toho, že se vykreslí pouze první snímek. Po jeho vykreslení uvolním GXGraphics z paměti a následně inicializuji nový, který dokáže vykreslit snímek následující. Je to sice trochu pomalejší (ale zase ne o moc, protože GAPINet se tak jako tak nedá kvůli své rychlosti použít pro realtimové hry), ale prostě to šlape. Takže konkrétně:
[CODE]gx.EndDraw();[/CODE]
jsem prostě vyměnil za
[CODE]gx.EndDraw();
if (vga_support)
{
gx.Dispose();
gx = new GXGraphics(this, GXGraphics.DisplayBufferModes.kDoubleBuffer);
gx.SetDrawModes(GXGraphics.DrawFlags.kModeNoBoundsChecking);
gx.SetSourceKey(Color.Lime);
}[/CODE]
přičemž vga_support je konstanta typu bool, díky které můžu přehozením jediné hodnoty zkompilovat hru pro QVGA či VGA zařízení. Budu vydávat obě verze, protože QVGA je přecijen čistší a o ždibec rychlejší. Krom toho se u VGA projevily nějaké podivnosti, pokud je aplikace spuštěna v landscapu. Ale nemělo by to být nic zásadního.
EDIT: A vůbec, zatím nikdo nepřišel s jiným řešením, tak ať se jim to sebevíc nelíbí, je to prostě funkční. Benchmarkovým testem jsem si ověřil, že se skutečně GXGraphics uvolní celá a beze zbytku, takže neroste zatížení paměti.
[CODE]gx.EndDraw();[/CODE]
jsem prostě vyměnil za
[CODE]gx.EndDraw();
if (vga_support)
{
gx.Dispose();
gx = new GXGraphics(this, GXGraphics.DisplayBufferModes.kDoubleBuffer);
gx.SetDrawModes(GXGraphics.DrawFlags.kModeNoBoundsChecking);
gx.SetSourceKey(Color.Lime);
}[/CODE]
přičemž vga_support je konstanta typu bool, díky které můžu přehozením jediné hodnoty zkompilovat hru pro QVGA či VGA zařízení. Budu vydávat obě verze, protože QVGA je přecijen čistší a o ždibec rychlejší. Krom toho se u VGA projevily nějaké podivnosti, pokud je aplikace spuštěna v landscapu. Ale nemělo by to být nic zásadního.
EDIT: A vůbec, zatím nikdo nepřišel s jiným řešením, tak ať se jim to sebevíc nelíbí, je to prostě funkční. Benchmarkovým testem jsem si ověřil, že se skutečně GXGraphics uvolní celá a beze zbytku, takže neroste zatížení paměti.
[QUOTE="beecher"]No, tak to je pekna prasarna...[/QUOTE]
A pěkně funkční :-). Ale máš-li lepší nápad ;-).
A pěkně funkční :-). Ale máš-li lepší nápad ;-).
[QUOTE="beecher"]Uz jsem to napsal o par stranek drive... ;)[/QUOTE]
Nenašel jsem tam nic, čeho bych se mohl chytit :-). Jen link na fórum bez použitelné odpovědi :-).
Nenašel jsem tam nic, čeho bych se mohl chytit :-). Jen link na fórum bez použitelné odpovědi :-).
[QUOTE="beecher"].NET CF 2.0 ma 3-4 MB v pameti PDA. 25 MB ma instalacni balicek, protoze je tam .NET CF 2.0 pro vsechny mozne platformy (Windows CE 5.0, WM <5.0, WM 5.0 atd.). Nemluve o tom, ze ho za chvili budou potrebovat vsichni, jak poroste pocet aplilkaci pro .NET CF 2.0. ;)[/QUOTE]
Kde toto stahnu ? Na webu MS jsem to sice nasel, ale pro stolni WIN (XP...).
Kde toto stahnu ? Na webu MS jsem to sice nasel, ale pro stolni WIN (XP...).