Forum: Algorithmen, Datenstrukturen und Klassendesign
by Sequitar,
13. Jan 2016
Gerade getested: Kein unterschied, ob 1x 10x oder 1000x anzeigen lassen. Leak bleibt konstant.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Sequitar,
12. Jan 2016
Naja, ich kann natürlich die Form nur anzeigen lassen, wenn sie auch registriert ist. Ansonsten
wird ja hier
Form := Loadform(Application, 'Testform', True);
If Form <> Nil Then
With Form Do
Begin
Showmodal; // Leaks 176 bytes
Free;
End;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Sequitar,
12. Jan 2016
Das mit dem ausgelagerten Anzeigen ist eine gute Idee.
Danke.
Hilft allerdings noch nicht gegen das problem, dass non-modale Forms nicht korrekt angezeigt werden.
Und das eigentliche Problem, dass durch die Klassenregistration Speicher geleakt zu werden scheint.
Initialization
Registerclass(TTestform); // hier
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Sequitar,
12. Jan 2016
Das ist mir auch schon aufgefallen, daher habe ich bisher alle Formulare modal erstellt. Wusste nicht wie man das ändert (ausser das formular nicht direkt wieder zu zerstören, was aber auch nichts daran ändert, was nahpets beschreibt: Kurzes Flackern und sonst nichts)
Das Formular könnte theoretisch von unterschiedlichen Anwendungen (oder anderen Formularen) geladen werden. Habe daher jetzt...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Sequitar,
12. Jan 2016
Gut. Ist geändert.
ich dachte die form wäre hiermit automatisch wieder freigegeben/ zerstört (und damit auch die daraufliegenden komponenten):
With TComponentClass(FormClass).Create(Nil) As TCustomForm Do
Try
If Modal Then
Showmodal
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Sequitar,
12. Jan 2016
Result wurde am anfang auf false gesetzt.
Wenn die form erfolgreich geladen wird, soll der Rückgabewert ja "true" sein. Die form soll ja meist nur einmal geladen werden (und modal angezeigt).
OK, ich seh grad: Result müsste am Anfang auf True initialisiert werden,um sinn zu machen.