Einzelnen Beitrag anzeigen

litotes

Registriert seit: 12. Feb 2007
33 Beiträge
 
Delphi 7 Professional
 
#6

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

  Alt 8. Mär 2007, 19:02
Hallo,

ein Vorschlag war (von mkinzler), die Reihenfolge zu ändern:
Delphi-Quellcode:
form2 := Tform2.create(self);
form2.show;
form1.hide;
Das klappt leider nicht.

shmia schreibt:
Zitat:
Das Verstecken von Formularen bringt keinen Speichervorteil. Du müsstest das Formular schon komplett freigeben.
Das ist mir klar, deswegen will ich ja auch in jedem Formular (ca. 130), in form.hide den Code einbauen:
Screen.ActiveForm.Release; Mit Taskmanager habe ich das überprüft und klappt auch wunderbar.

Nun sagt shmia, das ich zwei STandardfehler begehe,
den ersten habe ich bereits korrigiert,
aber die Lösung für den zweiten ist mir unklar,
aber ich denke, das ist genau das, was ich suche! also der Fehler laut shmia:
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;
Ok, aber was ist dann die Lösung?? (ich komm nicht drauf),
denn genau das passiert ja und ist mein Problem, nämlich form2 wird geschlossen und freigegeben!

Wäre sehr dankbar, wenn shmia oder ein anderer Crack mir das sagen kann...

Gruss

Litotes
  Mit Zitat antworten Zitat