Na dann brauchts du doch auch nur die auf Null setzen:
Concept-MainForm:
Delphi-Quellcode:
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
Form2:TForm2; //hier ist die wichtige Reference
procedure DoClearReference;
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if assigned(Form2) then
Form2.BringToFront
else
begin
Form2:=TForm2.Create(nil);
Form2.clearReference:=DoClearReference;
Form2.Show;
end;
end;
procedure TForm1.DoClearReference;
begin
Form2:=nil;
end;
Form2:
Delphi-Quellcode:
type
TForm2 = class(TForm)
procedure FormClose(Sender: TObject; var Action: TCloseAction);
public
ClearReference:procedure of object;
end;
implementation
{$R *.dfm}
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if assigned(clearReference) then ClearReference;
end;
end.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.