Entwickler-Ecke
Multimedia / Grafik - Einzelnes TImage aus einem Array freigeben
Delete - Mo 22.05.17 18:48
Titel: Einzelnes TImage aus einem Array freigeben
- Nachträglich durch die Entwickler-Ecke gelöscht -
jfheins - Mo 22.05.17 20:02
Du setzt beim freigeben mit FreeAndnil nur die Variable "Bilder" auf nil. Wenn du bspw. das dritte Bild freigibst, ist Bilder zwar nil, in Bilder[2] steht aber noch der (jetzt ungültige) Verweis.
Baue einfach in die Prozedur EinzelnesBildLoeschenClick noch eine Schleife ein, die den Verweis auch aus dem Array löscht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.EinzelnesBildLoeschenClick(Sender: TObject); begin for i := 0 to High(Bilder) if Bilder[i] = Bild Bilder[i] = nil;
FreeAndNil(Bild); end; |
Delete - Mo 22.05.17 20:25
- Nachträglich durch die Entwickler-Ecke gelöscht -
haentschman - Di 23.05.17 18:32
Hallöle... :P
Hat das einen tieferen Sinn das du die modernen Features nicht nutzt. :wink:
Anstelle des Array of TImage hätte ich eine TObjectlist<TImage> genommen. Erstens keine Beschränkungen in der Grösse bzw. Grösseneinstellung und keine Probleme mir der Freigabe der Images.
Alle Bilder löschen: entweder DELETE oder CLEAR oder mit der Listenfreigabe der Instanz FREE
...fertsch :P
Delete - Di 23.05.17 21:13
- Nachträglich durch die Entwickler-Ecke gelöscht -
haentschman - Mi 24.05.17 05:44
Moin... 8)
Sorry...ich hatte Delphi 10.1 Starter in deinem Profil gelesen. :?
Delete - Mi 24.05.17 07:38
- Nachträglich durch die Entwickler-Ecke gelöscht -
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!