Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Form.hide Problem bei dynamischen Erzeugen via create(se

  Alt 8. Mär 2007, 17:50
Zitat von litotes:
Nun habe ich aus Speichergründen, weil ich sehr große Videos in die Formulare einbinde, mir folgendes überlegt:
Delphi-Quellcode:
form1.hide
form2 := Tform2.create(self);
form2.show;
Das Verstecken von Formularen bringt keinen Speichervorteil. Du müsstest das Formular schon komplett freigeben.

Ich vermute auch, du machst den beliebten Standardfehler:
Delphi-Quellcode:
procedure TForm1.Button1Click(...);
begin
   Form1.Hide; // FALSCH !!!
   // man darf nicht auf seine eigene Objektvariable (hier: Form1) zugreifen

   Hide; // Richtig !!
end;
Nächster Standardfehler:
Delphi-Quellcode:
procedure TForm1.Button1Click(...);
begin
  form2 := Tform2.create(self);
  // hier wurde "self" als Owner übergeben
  // wenn nun Form1 freigegeben wird, wird automatisch auch form2 geschlossen
  // und freigeben !!
  form2.show;
end;
Andreas
  Mit Zitat antworten Zitat