Delphi-Quellcode:
lForm := TForm3.Create(nil);
with lForm do
try
if ShowModal = mrOK then
begin
end;
finally
FreeAndNil(lForm);
end;
die form wird von der mainform aufgerufen.. will sie jediglch auf der form2 schließen
Form3
ist lediglich eine globale Variable und kein irgendwie geartetes god-like Gedöns, was dir den Zugriff auf alle Instanzen von
TForm3
gibt.
Wenn du also eine Instanz von
TForm3
erstellst und willst diese von irgendwo behandeln/zugreifen, dann solltest du diese Instanz-Referenz auch weitergeben.
Wenn du eine Instanz von
TForm2
auf die gleiche Art und Weise erzeugst, dann ist das auch nicht
Form2
sondern eben eine
Instanz von TForm2
(gleiches Spiel wie mit
Form3
).
Am klügsten wird es wohl sein, ein Event in
TForm2
und eine passende Methode in
TForm3
zu implementieren.
Diese Methode von
TForm3
wird dann dem Event von
TForm2
übergeben und dann bei Bedarf aufgerufen.
Delphi-Quellcode:
TForm3 = class( TForm )
public
procedure CallbackMethod( Sender : TObject );
end;
TForm2 = class( TForm )
private
FOnCallbackEvent : TNotifyEvent;
protected
procedure DoCallback;
public
property OnCallbackEvent : TNotifyEvent read FOnCallbackEvent write FOnCallbackEvent;
end;
procedure TForm2.DoCallback;
begin
if Assigend( OnCallbackEvent ) then
OnCallBackEvent( Self );
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)