![]() |
AW: Fragen zu Generic TList
Ich hatte die Signatur noch mal geändert, (war nur so aus dem Kopf),
mit der aktuellen Signatur sollte es gehen siehe oben |
AW: Fragen zu Generic TList
Noch mal 1mm weiter aber immer noch nicht am Ziel.
Jetzt streikt der Aufruf
Delphi-Quellcode:
Beim Aufruf von Ptr.Free kommt es zu einer Exception "Ungültige Zeigeroperation". Dispose(Ptr) ging auch nicht.
procedure TMyList.Notify(const Ptr: TMyclass; Action: TCollectionNotification); // Überschreiben nicht virtual
begin if (FFreeOnDelete) and (Ptr<>nil) and (Action = cnRemoved) then Ptr.Free; // Ungültige Zeigeroperation inherited Notify(Ptr, Action); end; Ausserdem: Ich bin dr Meinung, dass inherited nach meiner Aktion erfolgen soll aber auf der Suche fan ich auch Beispiele, wo zuerst inherited aufgerufen wurde. Spielt es eine Rolle? |
AW: Fragen zu Generic TList
.. nur mal ein Schuss ins Blaue - an dem const Parameter kann es nicht liegen?
oder Ptr ist bereits woanders freigegeben und nicht auf nil gesetzt worden . Grüße Klaus |
AW: Fragen zu Generic TList
Hallöle...8-)
Delphi-Quellcode:
..du gibst immer noch den Pointer frei der in der Gesamtliste beibehalten werden soll. Die Liste muß dich über nix in informieren... (Notify kann weg) :roll: Einfach den Listen Eintrag mit DELETE entfernen...fertsch. 8-) Die Instanzen der Hauptliste werden mit der TObjectList, wenn du endlich mal eine hast, weggeräumt. 8-)
procedure TMyList.Notify(const Ptr: TMyclass; Action: TCollectionNotification); // Überschreiben nicht virtual
begin if (FFreeOnDelete) and (Ptr<>nil) and (Action = cnRemoved) then Ptr.Free; // Ungültige Zeigeroperation inherited Notify(Ptr, Action); end; Zitat:
|
AW: Fragen zu Generic TList
Zitat:
Zitat:
Zitat:
![]() |
AW: Fragen zu Generic TList
Liste der Anhänge anzeigen (Anzahl: 1)
Hallöle...:P
Zitat:
Zitat:
Zitat:
Hinweis: Zitat:
|
AW: Fragen zu Generic TList
Hallo,
Zitat:
Weil ich es eben so verstanden hatte, dass TObjectList nur das zusätzlich Löschen hat, habe ich nicht verstanden warum dann in dem andern Thread zu TList geraten wird. In meinem Projekt habe ich schon auf TObjektList umgestellt. Dein Leckanzeiger werde ich gleich mal ausprobieren:thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:46 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