Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Frame visible und invisible

  Alt 20. Jun 2007, 13:54
Das geht nicht weil Spio eine lokale Variable ist die nach Verlassen deines Klickereignisses wieder undefniert ist. Beim nächsten Buttonklick ist also die vorherige Instanz nicht mehr zugewiesen, kann also nicht mehr über diese Variable angesprochen werden und später auch nicht frei gegeben werden.

Im übrigen geht es auch so (was den vorteil hat das du den Frame bei Programmende auch wieder freigeben kannst):
Delphi-Quellcode:
private
  spio: TFrame2;
[...]
procedure TForm1.Button3Click(Sender: TObject);
begin
  if (spio = nil) then //Alternativ auch: if not(Assigned(spio)) then
  begin
    spio:=TFrame2.create(Form1); //Frame ins Form einbinden
    spio.Parent:=Form1;
    spio.Top:=32;
    spio.Left:=750;
    spio.Show;
  end
  else
    Spio.visible:=true;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat