Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Kompo Create/destroy (https://www.delphipraxis.net/117701-kompo-create-destroy.html)

ghost007 23. Jul 2008 19:42


Kompo Create/destroy
 
Gibt es für eine kompo ein oncreate und ein ondestry event, oder ähnliches?
Bzw. wie kann ich sowas in meine kompo einfügen, das beim programmstart gemacht werden soll, ohne das es im formquelltext stehen muss?

MfG - Ghost007

Khabarakh 23. Jul 2008 19:45

Re: Kompo Create/destroy
 
Du überschreibst Create und Destroy?

mkinzler 23. Jul 2008 19:48

Re: Kompo Create/destroy
 
Du musst dazu eine eigene Komponente ableiten und dann, wie Sebastian schon geschrieben hat, den Konstruktor (Create) und den Destruktor (Destroy) überschreiben.

Fussball-Robby 23. Jul 2008 19:50

Re: Kompo Create/destroy
 
Zitat:

Zitat von ghost007
Bzw. wie kann ich sowas in meine kompo einfügen, das beim programmstart gemacht werden soll, ohne das es im formquelltext stehen muss?

Dazu könntest du auch den initialization-Abschnitt nehmen. Das wird dann aber nur beim Start des Programmes und nicht beim erzeugen der Kompo ausgeführt.

Hawkeye219 23. Jul 2008 20:37

Re: Kompo Create/destroy
 
Hallo,

eventuell bietet es sich auch an, Delphi-Referenz durchsuchenTObject.AfterConstruction bzw. Delphi-Referenz durchsuchenTObject.BeforeDestruction zu überschreiben.

Gruß Hawkeye

ghost007 24. Jul 2008 00:27

Re: Kompo Create/destroy
 
Zitat:

Zitat von Hawkeye219
Hallo,

eventuell bietet es sich auch an, Delphi-Referenz durchsuchenTObject.AfterConstruction bzw. Delphi-Referenz durchsuchenTObject.BeforeDestruction zu überschreiben.

Gruß Hawkeye

Hört sich passend an ^^ wie mach ich sowas ? :D

MfG - Ghost007

sx2008 24. Jul 2008 00:56

Re: Kompo Create/destroy
 
Create & Destroy sind für deine Zwecke schon richtig.
AfterConstruction und BeforeDestruction sind für die Fälle reserviert, in denen man an den Kontruktor oder Destruktor nicht rankommt (COM-Objekte).
Delphi-Quellcode:
constructor TMyComponent.Create(Owner:TComponent); // override
begin
  inherited; // sollte erster Befehl sein (Ausnahmen bestätigen die Regel)
  // hier dein Code
end

destructor TMyComponent.Destroy; // override
begin
  // hier dein Code
  inherited; // muss letzter Befehl im Destruktor sein !!
end;<

Hawkeye219 24. Jul 2008 08:22

Re: Kompo Create/destroy
 
Hallo,

Bob Swart ("Dr. Bob") sagt in diesem Artikel, dass es bei der Einführung der beiden Methode wohl eher um die Kompatibilität zwischen Delphi und dem C++Builder ging und zeigt gleichzeitig in einem kleinen Beispiel, wie die Routinen genutzt werden können. Hallvard Vassbotn gestattet hier noch einen Blick hinter die Kulissen.

Gruß Hawkeye


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 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