Forum: Netzwerke
by Aviator,
6. Dez 2020
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...
Forum: Netzwerke
by Aviator,
5. Dez 2020
Naja gut. Das es ein Array und kein TObjectList ist, war aus deinem Code nicht ersichtlich. Zumindest nicht für mich bei schnellem Drüberlesen.
Aber im Endeffekt verhält es sich genau gleich. Auch dort werden nur die Instanzen "weitergegeben" - sprich der Pointer gespeichert - das Objekt wird aber nicht kopiert. In dem Fall gibt die ObjectList die Instanzen nicht frei sondern du selbst beim...
Forum: Netzwerke
by Aviator,
5. Dez 2020
Wenn ich deinen Code jetzt richtig deute - mir fehlen da ggf. noch ein paar Informationen zu den verwendeten Klasse - dann ist es so, dass du beim Hinzufügen der Elemente aus dem Array zur TObjectList<T> die TObjectList<T> zum Besitzer der Elemente machst. Durch das Hinzufügen wird nur ein Pointer auf das Objekt in die ObjectList eingefügt die zuvor auch im TArray verwendet wurde. Wenn die...