Ich muss in meinem Programm relativ häufig das TNA_Icon und ein entspr. Bild auf de Programmoberfläche aktualisieren. Die entspr. Icons habe ich in Resourcen und weise diese einer globalen TNA_Icon Variablen zu. Zwar steigt der Speicherverbrauch nur langsam, aber nach 2-3 Stunden mit ca. 10'000 Aktualisierungen bekommt das Programm Probleme seine Controls korrekt zu zeichnen, bzw. es reagiert auf überhaupt nichts mehr...
Wenn ich den entspr. Codeabschnit deaktiviere, dann läuft alles stabil
Delphi-Quellcode:
var
TNA_Icon: TIcon
//globale Icon Variable
sI:
string //Name des verwendeten Icons
...
{ TNA-Icon }
try
RS := TResourceStream.Create(0, sI, RT_RCDATA);
RS.Position := 0;
oldIcon := TNA_Icon.ReleaseHandle;
if oldIcon <> 0
then
DestroyIcon(TNA_Icon.Handle);
TNA_Icon.LoadFromStream(RS);
{DestroyIcon(IconData.hIcon);}
IconData.hIcon := TNA_Icon.Handle;
Image1.Picture.Icon.Handle := TNA_Icon.Handle;
finally
RS.Free;
end;
...
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.