Hallo,
Zitat von
Jan:
Und 2.: gibt es eine Möglichkeit über den Zeiger auf das TStringlist Objekt irgendwie eine referenz auf den Array of Tstringlist zu bekommen, welcher das TStringlist Objekt beherbergt?
Delphi-Quellcode:
type
TMyFunnyArrayType = array of TStringList;
PMyFunnyArrayPointer = ^TMyFunnyArrayType;
//...
PMyFunnyArrayPointer(lv.items[1].data)^
// <------------------------------------->
// Das ist jetzt vom Typ array of TStringList
Es kommt jetzt darauf an wie du das Objekt in das data geschrieben hast. Wenn dort ein Zeiger auf ein TStringList steht klappt das wie oben, wenn du einfach das Objekt umgecastet und reingeschrieben hast müßte folgendes gehen:
Delphi-Quellcode:
TMyFunnyArrayType(lv.items[1].data)
// <------------------------------------->
// Das ist jetzt vom Typ array of TStringList
Für einfach native Typen (die nur aus einem Schlüsselwort bestehen) kann man sich diese indirektionsstufe mit zusätzlichen Typen auch sparen.