Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jasocul,
1. Jun 2015
@Mikkey:
Ja, ich weiß das. Aber die Kollegen, die die Komponente nutzen, sehen ja nur, dass es ein Event gibt, das sie benutzen können. Was dahinter steckt, ist erstmal uninteressant. Wenn ich in so einem Event eine Nachricht ausgeben möchte, sollte das auch passieren.
@Sir Rufo:
Natürlich muss man aufpassen, dass das, was man benutzt, auch da ist. Aber bisher war es bei mir bisher nicht...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jasocul,
1. Jun 2015
@Sir Rufo, das ist mir schon klar. Ich bin halt davon ausgegangen, dass das BeforeDestruction ausgeführt, bevor irgendwas anderes tatsächlich zerstört wird. Dies ist aber offensichtlich eine falsche Annahme gewesen. Asche auf mein Haupt.
Als Nutzer einer Komponente würde es mich allerdings schon irritieren, dass ich erst prüfen muss, ob ich in der Anwendung überhaupt ein ShowMessage aufrufen...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jasocul,
1. Jun 2015
Das mache ich ja jetzt auch:
procedure TMyComp.BeforeDestruction;
begin
if Assigned(FOnDestroy) then
begin
FOnDestroy(Self);
end;
inherited;
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jasocul,
1. Jun 2015
Nette Idee, funktioniert aber nicht. Ich habe es vorsichtshalber auch nochmal getestet. ShowMessage wird auf keinen Fall ausgeführt. :wink:
Eigentlich ist das Verhalten auch korrekt. Wenn die Form zerstört wird, bekommen alle Komponenten, deren Owner die Form ist, die Nachricht, sich zu zerstören. Wenn eine Komponente jetzt im eigenen Destroy einen Event-Handler bekommt, kann es zu...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jasocul,
1. Jun 2015
Danke himitsu.
Dann bin ich also doch nicht zu blöd, etwas entsprechendes zu finden. :-D
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jasocul,
1. Jun 2015
Ich habe es jetzt erstmal im BeforeDestruction eingebaut.
Damit sollte die Komponente zumindest die zur Zeit geplanten Routinen im OnDestroy abarbeiten können. Anwender-Benachrichtigungen mit ShowMessage gehen so allerdings leider nicht.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jasocul,
1. Jun 2015
Ich stehe gerade auf dem Schlauch oder habe ein Brett vor dem Kopf. ganz wie ihr wollt.
Ich habe eine Komponente programmiert, die jetzt ein OnCreate- und ein OnDestroy-Ereignis bekommen soll.
Die Komponente ist abgeleitet von TComponent.
Das OnCreate funktioniert inzwischen, nachdem ich den üblichen Standard-Source in die protected Methode Loaded eingebaut (AfterConstruction war zu früh)...