Autor Beitrag
freedy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 403
Erhaltene Danke: 1

Winows 7
Delphi XE
BeitragVerfasst: Mo 02.04.07 08:41 
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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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.

_________________
We are, we were and will not be.
freedy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 403
Erhaltene Danke: 1

Winows 7
Delphi XE
BeitragVerfasst: 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.