Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Sir Rufo,
1. Jun 2015
Aber was hat das alles mit deiner Komponente zu tun? Rein gar nichts!
Deine Komponente stellt doch nur sicher, dass der Event zum angegeben Zeitpunkt aufgerufen wird - Punkt. Und das macht die doch auch. Was willst du also noch?
Im Übrigen habe ich festgestellt, dass auch der Befehl ÜbernehmeDieWeltherrschaft(); nicht korrekt ausgeführt wird.
Es liegt nicht in der Verantwortlichkeit der...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Sir Rufo,
1. Jun 2015
@Jasocul
Was glaubst du wohl, wieviele Nutzer von Kettensägen überrascht geschaut haben, als sie den Ast abgesägt haben auf dem sie selber gerade saßen?
Egal was man hat (Kettensäge, Komponente, ...): Man kann es richtig oder falsch verwenden.
Und das oben geschilderte Verhalten ist kein Alleinstellungsmerkmal der Kettensäge.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Sir Rufo,
1. Jun 2015
Das ist doch völlig egal, wer wann was erzeugt und wann wer was freigibt.
Es gibt hier nur eine Regel, die man beachten muss
if not( csDestroying in Application.ComponentState ) then
ShowMessage( 'Ich bin dann mal weg!' );
oder auf deutsch:
Wenn die Anwendung selber den Status Zerstören hat, dann darf ich bestimmte Dinge nicht mehr machen (wie. z.B. ShowMessage aufrufen).
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Sir Rufo,
1. Jun 2015
Man kann durchaus in so einem OnDestroy Event mit ShowMessage arbeiten ... wenn man etwas beachtet:
procedure TFooForm.MyComponentDestroy( Sender: TObject );
begin
if not csDestroying in Application.ComponentState then
ShowMessage( 'Bin dann mal weg!' );
end;