Thema: Delphi TForm Freigeben

Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#26

Re: TForm Freigeben

  Alt 3. Sep 2008, 17:06
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.
  Mit Zitat antworten Zitat