Hallo,
leider muss ich gleich noch eine Frage zum Thema
RTTI stellen...
Ich habe festgestellt, dass bei manchen Properties vom Typ tkClass (im konkreten Fall TStrings) beim Aufruf von beispielsweise GetObjectProp(TCombobox, 'Items') nil zurückgeliefert wird. Wie kann man dann trotzdem (im allgemeinen Fall natürlich) dafür sorgen, dass TStrings korrekt zugewiesen wird beim Laden aus einer
dfm-ähnlichen Datei?
Ich habe im Forum einen älteren Thread gefunden in dem ein kleines Beispiel gepostet wurde (
http://www.delphipraxis.net/152626-r...tstrings.html), allerdings führt das bei mir zu einer Schutzverletzung weil eben GetObjectProp(...) nil ergibt.
Code:
// das Objekt wäre hier das Memo
// und der Propertyname (PName) ist 'Lines'
case PropType(obj,PName) of
...
tkClass:
if GetObjectProp(obj, PName) is TStrings then
ShowMessage('TStrings Property ' + PName + ':'#13#10 +
TStrings(GetObjectProp(obj, PName)).Text)
else if GetObjectProp(obj, PName) is TDataSet then
DataSetBrowser(GetObjectProp(obj, PName) as TDataSet,DS_DEBUG,'Dataset property ' + PName)
else
ShowObjectBrowser(GetObjectProp(obj, PName));