![]() |
Initialisierung eines IOTA-Packages
Hallo,
ich bin gerade dabei mich in diese IOTA-Dingens etwas einzuarbeiten und möchte nun in so ein eigenes Package einen Timer integrieren. Da ich den dynamisch erzeugen muss, bräuchte ich also sowas ähnliches wie ein FormCreate-Handler bei den VCL-Formularen. Gibt es sowas bei diesen IOTA-Interfacen auch, meinetwegen auch ein quasi Install-Handler bzw. dann auch einen Deinstall-Handler? Thx im Voraus …. |
AW: Initialisierung eines IOTA-Packages
Schau bitte mal dort:
![]() Du könntest Deinen Timer im
Delphi-Quellcode:
erstellen und aktivieren.
constructor Create;
|
AW: Initialisierung eines IOTA-Packages
Danke, hat geklappt. Timer hat auch funktioniert.
Und weil das so gut ging habe ich auch gleich noch einen Destructor analog zum Constructor dazu gesetzt. Was dann allerdings nicht mehr klappte und ich die IDE insgesamt closen musste weil dann ohne Ende immer wieder neu eine Exception auftauchte. Braucht man keinen Destructor? Du hattest in deinem Beispiel ja auch keinen installiert. Oder gibt es für den Fall der Deinstallation einen anderen Weg, zuvor erzeugte Objekte wieder freizugeben? |
AW: Initialisierung eines IOTA-Packages
Minimal:
* im
Delphi-Quellcode:
erstellen
procedure Register;
* im
Delphi-Quellcode:
freigeben
finalization
* hier kann man auch ein DataModul erstellen und da dann alles drauf Ideal: * in dem Interface, was man z.B. im
Delphi-Quellcode:
registriert
Register
* dort im Constructor alles erstellen und im Destructor freigeben |
AW: Initialisierung eines IOTA-Packages
Wie geht das Free'n in meinem Fall im finalization-Teil?
Der Timer, den ich zuvor im Constructor erzeugt habe, ist Bestandteil des Wizards und für den habe ich im finalization-Teil jetzt aber keine Variable, mittels der ich auf den Timer zugreifen und diesen free'n könnte. Nicht also wie bei VCL-Formularen z.B., wo ich ja unter der typen-Deklaration des neuen Forumlars dann auch immer eine Variable dieses neuen Formulartypes noch dazu deklariere. |
AW: Initialisierung eines IOTA-Packages
Kannst Du Destroy vom Wizard selbst nutzen?
Delphi-Quellcode:
Oder magst Du Dein Testprojekt mal hier anhängen?
TOTAToolWizard = class(TInterfacedObject, IOTAWizard)
... public constructor Create; virtual; destructor Destroy; override; end; Dann könnte man mal direkt drauf schauen. |
AW: Initialisierung eines IOTA-Packages
Ja perfekt, das 'override;' hatte gefehlt!
Jetzt läufts, Thx! P.S. das virtual habe ich übrigens noch nie dahintergeschrieben, schlimm? |
AW: Initialisierung eines IOTA-Packages
Gerne :-)
Nein, das virtual ist nur wichtig, wenn man von der Klasse mal noch eine weitere Klasse ableiten und den Konstruktor wiederum mit override überschreiben will. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz