Einzelnen Beitrag anzeigen

Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Korrekte Objekt - Freigabe?

  Alt 6. Dez 2020, 11:22
Nochmal: Du überträgst sozusagen den Besitz der Objektinstanzen auf ein anderes Array. Dessen Elemente gibst du beim Freigeben der übergeordneten Klasse auch frei.

Da die Objektinstanzen identisch sind, wie du ja an den Adressen beim Debuggen gesehen hast, kannst du diese auch nur einmal freigeben. Wenn du sie mehrfach freigibst, kommt es logischerweise im späteren Verlauf zu Zugriffsverletzungen wie du ja ebenfalls festgestellt hast.

Anders wäre es, wenn du eine Kopie des Objektes erstellen und in dem zweiten Array speichern würdest. Dann müsstest du auch die Instanzen des ersten Arrays freigeben.

Geändert von Aviator ( 6. Dez 2020 um 11:25 Uhr)
  Mit Zitat antworten Zitat