![]() |
Re: Problem mit Komponente entfernen
Durch das
Delphi-Quellcode:
fühlt sich das Formular Form1 für das neue Image "verantwortlich". Da--wie bereits beschrieben--durch imgnew.Free der Instanzenzeiger nicht auf nil gesetzt wird, versucht deshalb das Form1, wenn es selbst freigegeben wird, imgnew erneut freizugeben. Und das funktioniert natürlich nicht.
imgnew:=TImage.Create(self);
Abhilfe wurde ja bereits beschrieben:
Delphi-Quellcode:
PopupMenu.PopupComponent.Free;
PopupMenu.PopupComponent := nil; |
Re: Problem mit Komponente entfernen
Hab ich versucht, funktioniert allerdings nicht
|
Re: Problem mit Komponente entfernen
Durch
Delphi-Quellcode:
wird lediglich der Verweis in der Popupmenü-Komponente gelöscht, aber nicht die globale Variable imgnew. Wenn nun beim Schließen des Programms versucht wird, über
PopupMenu.PopupComponent := nil;
Delphi-Quellcode:
eine Komponente freizugeben, die bereits über das Popupmenü gelöscht wurde, dann knallt es.
imgnew.Free;
Ich würde in diesem Fall die globale Variable durch eine lokale Variable in der Prozedur Button1Click ersetzen. Die TImage-Komponenten erhalten ja einen Owner (self), somit werden nicht gelöschte Bilder automatisch von diesem Owner freigegeben. Gruß Hawkeye |
Re: Problem mit Komponente entfernen
Okay, das war natürlich auch Blödsinn. Davon weiß natürlich Form1 immer noch nicht, dass die Komponente schon freigegeben ist. :oops:
Ich mag mich irren, aber eigentlich müsste Form1 beim Beenden das Image automatisch mit freigeben. Meine da mal was in der Hilfe gelesen zu haben... :stupid: Berichtigt mich wenn ich falsch liege. D.h. um das Free müsstest du dich in dem Fall gar nicht mehr kümmern. Alternativ müsste eigentlich auch gehen:
Delphi-Quellcode:
anstelle von
imgnew := TImage.Create(nil);
Delphi-Quellcode:
imgnew := TImage.Create(self);
|
Re: Problem mit Komponente entfernen
So, nun funktionierts! :thumb:
Danke für die Hilfe :!: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz