AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Initialisierung eines IOTA-Packages

Ein Thema von r29d43 · begonnen am 9. Mär 2021 · letzter Beitrag vom 9. Mär 2021
Antwort Antwort
r29d43

Registriert seit: 18. Jan 2007
276 Beiträge
 
Delphi 10.4 Sydney
 
#1

Initialisierung eines IOTA-Packages

  Alt 9. Mär 2021, 12:07
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
….
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
1.918 Beiträge
 
Delphi 7 Professional
 
#2

AW: Initialisierung eines IOTA-Packages

  Alt 9. Mär 2021, 12:48
Schau bitte mal dort: https://www.delphipraxis.net/895403-post.html#1018014

Du könntest Deinen Timer im constructor Create; erstellen und aktivieren.
  Mit Zitat antworten Zitat
r29d43

Registriert seit: 18. Jan 2007
276 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Initialisierung eines IOTA-Packages

  Alt 9. Mär 2021, 13:47
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?

Geändert von r29d43 ( 9. Mär 2021 um 13:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.731 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Initialisierung eines IOTA-Packages

  Alt 9. Mär 2021, 13:52
Minimal:

* im procedure Register; erstellen
* im finalization freigeben

* hier kann man auch ein DataModul erstellen und da dann alles drauf



Ideal:

* in dem Interface, was man z.B. im Register registriert
* dort im Constructor alles erstellen und im Destructor freigeben
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
r29d43

Registriert seit: 18. Jan 2007
276 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Initialisierung eines IOTA-Packages

  Alt 9. Mär 2021, 14:37
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.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.236 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Initialisierung eines IOTA-Packages

  Alt 9. Mär 2021, 15:00
Kannst Du Destroy vom Wizard selbst nutzen?

Delphi-Quellcode:
    TOTAToolWizard = class(TInterfacedObject, IOTAWizard)
      ...
    public
      constructor Create; virtual;
      destructor Destroy; override;
    end;
Oder magst Du Dein Testprojekt mal hier anhängen?
Dann könnte man mal direkt drauf schauen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
r29d43

Registriert seit: 18. Jan 2007
276 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Initialisierung eines IOTA-Packages

  Alt 9. Mär 2021, 15:21
Ja perfekt, das 'override;' hatte gefehlt!
Jetzt läufts, Thx!

P.S. das virtual habe ich übrigens noch nie dahintergeschrieben, schlimm?
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.236 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Initialisierung eines IOTA-Packages

  Alt 9. Mär 2021, 15:27
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.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf