![]() |
Verwendete Variablen im Constructor freigeben?
Hallihallo, ich habe einen Constructor in dem ich lokale Variablen benutze, das ganze sieht so aus:
Delphi-Quellcode:
Wenn ich jetzt mein TPanelButton freigebe (free), dann ist mein MyPanel aber immernoch existent. Wie bekomme ich denn das
constructor TPanelButton.Create(...);
var MyPanel:PPanel; ... begin ... MyPanel := pan_create(pchar('bmap='+Background+';pos_x='+inttostr(x)+';pos_y='+inttostr(y)+';flags='+MyFlags+';'),_VAR(Layer)); ... raus? :) Danke für eure Hilfe! |
Re: Verwendete Variablen im Constructor freigeben?
So garnicht. Mach die Variable zu einem Feld und gebe es im Destruktor frei.
|
Re: Verwendete Variablen im Constructor freigeben?
Überschreibe auch den Destruktor (.Destroy)
|
Re: Verwendete Variablen im Constructor freigeben?
Danke für die schnellen Antworten ihr 2 :)
|
Re: Verwendete Variablen im Constructor freigeben?
da du hier, deine variable auf den stack anlegst, ist sie nach dem aufruf der routine nicht mehr verfügbar. du musst somit deine variable in der klasse definieren... welche du dann im destruktur (aufräumer) wieder freigibst...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 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