Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Speicherverwaltung in dyn. Arrays
freedy - Mo 02.04.07 08:41
Titel: Speicherverwaltung in dyn. Arrays
Moin!
Kurze Frage, die hoffentlich leicht beantwortet werden kann. Ich habe allerdings noch keine Lösung gefunden ;-)
Ich habe eine Liste mit Objekten, die alle einer gemeinsamen Klasse, z.B. TBasis, abstammen. In dieser Liste gibt es jetzt auch Objekte der Klasse TBasis_1, TBasis_2 usw. Ich musste mir nun weiterhin ein array of TBasis anlegen. Ich weise dann einem neuen Eintrag in diesem Array eines der TBasis-Objekte zu.
Meine Frage ist jetzt, werden dort nur die Pointer auf die Objekte verwaltet oder probiert er, nachdem ich ihm die Speicheradresse gegeben habe, beim Typecasting über den reservierten Speicherbereich hinaus zu lesen? In meinen Daten steht nämlich nachher nur Grütze drin. ;-)
Auch als ich es hinterher mit einem Array of Pointer probiert habe, klappte es nicht so wirklich.
Weiß jemand Rat?
Grüße
Gausi - Mo 02.04.07 08:51
In einem Array of TObjekt (und davon abgeleiteten Klassen) werden nur Zeiger auf die einzelnen Instanzen verwaltet. Alles andere macht ja auch keinen Sinn, da solche Objekte keine konstante Größe haben müssen, was die Indexberechnung unmöglich machen würde.
freedy - Mo 02.04.07 09:21
Hallo Daniel,
danke für die schnelle Antwort. Ich war mir halt nicht 100%ig sicher. Dann muss ich nun mal schauen, wo ich da einen Fehler produziere.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!