Otázky a odpovědi
V této části budou zvěřejněny vaše dotazy a já na ně zde odpovím. Tak
si budou moci odpověď přečíst všichni zájemci a ne pouze tazatel. Dotazy
mi posílejte na můj email
jiri.formanek@seznam.cz.
1. Existuje nějaké freeware vývojové prostředí pro jazyk C/C++ a kde
jej mohu získat?
Ano, existuje Dev-C++ 3.8 a stáhnout si ho můžete na této adrese: www.bloodshed.nu.
Snad je ten odkaz ještě platný. Stažená data jste mohli najít na minulém Chip CD.
2. Bude nejaky seriál o DirectShow?
Nebude. Po DirectDraw bych chtěl pokračovat komponentou DirectInput a pak ještě nevím, ale DirectShow to nebude.
3. Bude plynulý přechod z C++ na C#?
Snad ano. C# má být něco mezi Visual Basicem a Visual C++, takže prostředí
bude zřejmě "přátelštější", ale stále se bude používat jazyk C++.
4.
Mám nějakou třídu (například CMujEdit zděděný od CEdit) a
mám ji zobrazenu v panelu ClassView. Občas se stane následující věc,
které nerozumím: přidám třídě pomocí položky kontextoveho menu "Add
Windows Message Handler" nějakou oblužnou funkci, pak se mi nelíbí
co dělá a já ji chci odstranit. Pokud ji smažu ručně přímo
v kódu, stejně jako odkaz na ní v mapě zpráv a v hlavičkovém
souboru, je vše v pořádku. Pokud však kliknu v ClassView u příslušné
metody na Delete a potvrdím, že se mají odkazy smazat a tělo metody
zakomentovat, pak se někdy stane, že mi celá třída zmizí z ClassView
a zpět se mi objevi teprve poté, co pomoci ClassWizardu znovu
přidám smazanou metodu. Když ji následně vymažu "ručně", je vše
v pořádku. Čím to je způsobeno?
ClassView není dokonalé. Pokud
vymažete kousek klíčového slova "class", tak třída z ClassView zmizí
a to je v pořádku, protože vývojové prostředí tuto třídu nenajde,
ale občas se stane, že třída zmizí při normalní operaci s třídou
jako je například přidávání a mazání funkcí. Toto je chyba samotneho vývojového prostředí a ani nejnovější
SP (Service Pack) tuto chybu neopravuje. Pokud se vám stane, že třída
zmizí, pokuste se vratit krok, po kterém třída zmizela a posléze ho
proveďte znovu. Pokud nejde krok vrátit, musíte buďto čekat až se jednoho
krásneho dne třída znovu objeví nebo by mělo stačit vyjmout a zase přidat
hlavičkový i implementační soubor, ve kterém je třída. Zkuste restartovat
VC++ i cely počítač a poslední možnost je, že vymažete soubory s
příponami .ncb a .opt v adresáři vašeho projektu. To jsou soubory,
ve kterych je uložena právě struktura ClassView a vy tak přinutíte
VC++, aby ji znovu vytvořilo.
5. Existuje česky psaná kniha o DirectX?
Bohužel jsem o takové publikaci neslyšel. V angličtině je
takových knih několik (viz. www.microsoft.com).
|