Situatie:
Een form wordt opgestart. In die form wordt er op een button gedrukt, die een ander scherm opstart.
De procedure ziet er als volgt uit:Delphi Code:
callform(self);
Form2 wordt gestart en weer afgesloten.Delphi Code:
procedure callform(form : Tform); var f : TForm2; begin f := TForm2.create(form); f.showmodal; end;
Form2 wordt weer gestart en weer afgesloten.
Form2 wordt weer gestart en weer afgesloten.
De form, waar de functie staat, wordt afgesloten.
Omdat Tform2 de ansestor heeft van de form, wordt form2 ook vrijgegeven. Maar dat is alleen voor de laatste oproep.
Die andere twee zijn dan toch niet vrij gegeven waardoor een memoryleak ontstaat?
Bookmarks