ActiveX programozói segédlet
Previous Topic  

Az 5.5-ös verziótól a NeoBook NB5ActiveX.ocx szabályozót komponensként (TNeoBookActiveX néven) lehet telepíteni más olyan programozói környezetben, amelyik támogatja az ActiveX szabályozókat. Ezzel a Delphi, Visual Basic, C++ stb. programozók beágyazhatják a lefordított NeoBook kiadványokat a saját alkalmazásaikba. Az ActiveX-hez a metódusok is hozzáadásra kerültek, így a NeoBook változók és műveletek elérhetők programozással.


Az ActiveX szabályozó telepítése


A NeoBook NB5ActiveX.ocx telepítése viszonyag egyszerű. A következő lépések bemutatják, hogyan lehet a szabályozót Delphi programba telepíteni. Ez a folyamat a többi programkörnyezetnél is hasonló.


A NeoBook NB5ActiveX szabályozó importálása a Delphi programba:


1. Válasszuk ki az Import ActiveX pontot a Delphi Component menüjében.


2. Válasszuk ki a  NeoBook ActiveX Library (Version 5.5)-t a listából. (Ha egy korábbi NeoBook ActiveX szabályozó van a listában, NE válasszuk ki. A korábbi verziók szabályozója nem kompatibilis a Delphi, VB stb. programokkal!!)



A Delphi Import ActiveX képernyője.


3. Kattinstunk az Install gombra, hogy hozzáadjuk a TNeoBookActiveX szabályozót a komponens palettánkhoz.


TNeoBookActiveX referencialista


A TNeoBookActiveX szabályozó a Delphi TActiveForm leszármazottja. ATNeoBookActiveX-ben az új tulajdonságok, metódusok és események a következők:


Tulajdonságok


CustomVar

Típus: WideString


Ezt a tulajdonságot használhatjuk egy egyedi sztring átadásához a kiadványhoz/pkg-hez induláskor. A sztringet a NeoBookból a [CustomVar] változóval tudjuk elérni. Ezt a tulajdonságot a NeoBook korábbi verzióinak kompatibilitása miatt tartjuk fent. A NeoBook változóihoz való rugalmasabb hozzáférést a ngGetVar és a ngSetVar metódusok biztosítanak.



DownloadDir

Típus: Integer


Ez az opció szabályozza, hogy a kiadvány/pkg fájl internetről való letöltésekor hova kerüljön. Az érvényes opciók: 4 (temp mappa) vagy 2 (Windows mappa).



PackageFile

Típus: WideString


Ez a lefordított NeoBook kiadvány/pkg (.pkg) fájl neve, amit a szabályozóban megjelenít. Ez lehet egy helyi vagy egy távoli fájl URL-je. A távoli fájl a megjelenítés előtt letöltésre kerül. Lásd  DownloadDir korábban.


Egy kiadvány/pkf fájl készítéséhez használjuk a Web böngésző bedolgozó opciót a NeoBook fordításakor. A fordító által készített .htm fájl nem szükséges a .pkf fájl megtekintéséhez ebben az esetben. A kiadvány/pkg fájl bezárásához állítsuk ezt a tulajdonságot nullára.


Metódusok


GetVar

Szintaxis: függvény GetVar( const VarName : WideString ) : OleVariant; 


Ezzel a függvénnyel megkaphatjuk egy NeoBook változójának tartalmát. A VarName a kívánt változó neve. Példa:


Edit1.Text := NeoBookActiveX1.GetVar( '[LastName]' );



SetVar

Szintaxis: eljárás SetVar( const VarName : WideString; const Value : WideString );


Ezzel az eljárással beállíthatjuk egy változó tartalmát. A VarName a beállítandó változó neve. A Value a változó megkívánt értéke (tartalma). A tartalomnak string típusúnak kell lennie. Példa:


NeoBookActiveX1.SetVar( '[LastName]', Edit1.Text );



ExecAction

Szintaxis: eljárás ExecAction( const Action : WideString );


Ezzel az eljárással NeoBook műveleteket lehet végrehajtani. Több művelet végrehajtásához a műveleteket "kocsivissza" jellel kell elválasztani. Példa:


NeoBookActiveX1.ExecAction( 'SoundBuzzer'+#13+'AlertBox "Hello" "Greetings from Delphi program..."' );

Események


OnAfterShutdown

típus: TAfterShutdownEvent = eljárás( Sender : TObject ) of object;


Ezzel az eseménnyel azokat a folyamatokat lehet kezelni, amelyeket végre kell hajtani a kiadvány/pkg memóriából való eltávolítása után. Mivel a kiadvány már nem fut, ezért nem lehet változókat elérni vagy műveleteket végrehajtani.

OnBeforeShutdown

típus: TBeforeShutdownEvent = eljárás( Sender : TObject ) of object;


Ezzel az eseménnyel azokat a folyamatokat lehet kezelni, amelyeket végre kell hajtani, mielőtt a kidavány/pkg bezárásra kerül. Ez az utolsó lehetőség arra, hogy a NeoBook változók tartalmát megkapjuk, mielőtt a memóriából törlésre kerülnének.

OnPageChanged

típus: TPageChangedEvent = eljárás( Sender : TObject ) of object;


Ez az esemény akkor történik, amikor a kiadvány/pkg oldalt vált (lapoz).

OnVarChanged

típus: TVarChangedEvent = eljárás( Sender : TObject; const VarName, Data: WideString ) of object;


Ez az esemény bekövetkezik, amikor a NeoBook egy változójában változás történik. Ezt arra használhatjuk, hogy figyeljünk bizonyos változókat, és megváltozásukkor megtegyük a szükséges műveleteket. VarName annak a változónak a neve, amelyik megváltozott. Data a változó új tartalma.


Megjegyzés: Ezt a műveletet elővigyázatossággal kezeljük, mivel a változók értéke gyakran megváltozhatnak. Ha túl sok időt vesz igénybe ez az esemény, a NeoBook teljesítménye lecsökken!



Egy kiadvány/pkg helyesen történő bezárása


Mivel a kiadvány/pkg egy másik programon belül fut, az űrlapunk OnCloseQuery eljárásába kódot írva szabályosan zárhatjuk le a folyamatot. Ez biztosítja, hogy a kiadvány/pkg végrehajtja a lezárási műveleteket, bezárja a nyitott fájlokat és figyelmezteti a futó bedolgozókat. Itt van egy példa arra, hogy hogyan lehet helyesen bezárni egy kiadványt/pkg-t:


procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin

  NeoBookActiveX1.PackageFile := '';

  NeoBookActiveX1.Free;


  CanClose := TRUE;

end;