Komponenta DelphiX v C++ Builderu 4 - Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Komponenty

Komponenta DelphiX v C++ Builderu 4

23. března 2001, 00.00 | DelphiX jsou vynikající komponenty pro Delphi umožnující snadnější práci s DirectX. Chcete-li je ovšem zprovoznit v prostředí C++ Builder, narazíte na mnohé problémy. Na jaké a jak jim čelit popisuje tento článek.

DephiX je velmi zdařilý soubor komponent pro Delphi, který velmi zjednodušuje práci s rozhraním DirectX.

V C++ Builderu je spoustu způsobů, jak dělat DirectX aplikace.Malé ukázky jsou v příkladech k Builderu (v adresáři Examples/DDraw), ale použití komponenty je jednodušší a mnohem komfortnější, než pachtění s API funkcemi. Proto si myslím, že se najdou jedinci, kteří stejně jako já zatoužili vyzkoušet si DelphiX v C++ Builderu.

DelphiX není odladěn a určen pro C++ Builder, je naprogramován pro Delphi 3,4,5, proto mohou nastat drobné potíže při jeho instalaci.

Ale nic není ztraceno, podařilo se mi jej nainstalovat do C++ Builderu4.

Jak jsem to dokázal a co je k tomu potřeba?

  • 1) Nejprve je potřeba stáhnout komponenty z internetu z http://www.ingjapan.ne.jp/hori/
    měli by fungovat poslední dvě verze, to jsou soubory DelphiX2000_0717-2.zip a nebo starší verze DelphiX991024.zip

  • 2) Teď je potřeba archív rozbalit například do adresáře Components, přitom je pro nás nejdůležitější podadresář Source.

  • 3) Z podadresáře Source přehrajeme všechny hlavičkové soubory do adresáře INCLUDE v Builderu.

  • 4) Spustíme C++ Builder, zvolíme menu Component / Instal Component...
    A nainstalujeme do nového balíčku (package) Into new package, pojmenujeme ho třeba DX.BPK
     
  • 5) Nyní musíme najít Unit file name (hlavní modul komponenty DXReg.pas) tak, že klepneme na browse a nalistujeme adresář Source a označíme soubor DXReg.pas .... a instalujeme

Jenže teď přijdou ty potíže. První chybová hláška Unable to open spin.res. Velmi jednoduše ošidíme překladač tak, že si bokem najdeme adresář Source a některý ze souborů typu RES přejmenujeme na spin.res, čímž překladač opijeme rohlíkem. Opět rozběhneme instalaci. Až překladač vystřízlivý, přijdou na řadu další problémy (asi tři chyby v hlavičkových souborech).

Nic není ztraceno, stačí jen chybné deklarace přepsat na komentář //(jsou asi 3).

Jistě si říkáte, že takovým zásahem mohou vzniknout chyby a DelphiX nebude fungovat, ale již dva měsíce s DelphiX pracuji a žádné fatální chyby se neprojevily.

No a to je celá věda. Teď již překladač ohlásí několik warnings a komponenty jsou nainstalovány.

V Paletě komponent přibude záložka, když si na ni klepnete zobrazí se vám výběr všech komponent:

Další malý problém. Když kompilátor nenašel soubor spin.res, mi jsme ho nahradili jiným, ten ale nebyl zřejmě kompatibilní s resource C++ Builderu a proto se ikonky korektně nezobrazili. Naštěstí C++ Builder4 zobrazuje nad ikonkami malé nápovědky (Hints). Myslím, že se to dá přestát, přestože orientace v komponentách je poněkud nepřehledná.

Takže DelphiX již máme nainstalované, teď už se můžeme pustit do samotného programování. Co k tomu budeme potřebovat?

Je vám jasné, že jen tak na zelené louce bez vědomostí se nedá nic vytvořit. Proto je dobré mít po ruce help. Má však jednu dost velkou vadu, a to že je psán pro Delphi. Já osobně jsem měl velké problémy pochopit některé konstrukce z objektového pascalu. Další vynikající pomůckou jsou příklady "Samples", ale opět jsou v Pascalu (jak by taky ne :))), přesto se z nich dá něco vyčíst.

Jednoduchý příklad

Teď je konečně čas na první příklad.

    1) Spustíme si C++ Builder a založíme nový projekt

    2) Do formuláře umístíme komponentu DXDraw a nastavíme Align na alClient

    3) uděláme obsluhu události pro formulář (např. Form1) OnPaint a napíšeme následující kód:

    DXDraw1->Surface->Fill(250);
    DXDraw1->Flip();

    a můžeme přeložit, nejjednodušší program v DirectX je na světě.

    Program zaplní surface (plochu) modrou barvou.

    Zkusme program vylepšit. Do formuláře přidejme komponentu DXTimer a nastavme vlastnost Interval na 100.
    A místo obsluhy OnPaint ve formuláři, ošetřeme událost OnTimer a do těla funkce napište následující kód:

    static int barva=0;
    DXDraw1->Surface->Fill(barva++);
    DXDraw1->Flip();

To by myslím pro dnešek stačilo, na jednotlivé komponenty bych se podíval příště.

Tématické zařazení:

 » Rubriky  » Komponenty  

 » Rubriky  » Delphi  

 » Rubriky  » Windows  

Diskuse k článku

 

Vložit nový příspěvek   Sbalit příspěvky

 

Zatím nebyl uložen žádný příspěvek, buďte první.

 

 

Vložit nový příspěvek

Jméno:

Pohlaví:

,

E-mail:

Předmět:

Příspěvek:

 

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

Nejčtenější články
Nejlépe hodnocené články

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: