Einzelnen Beitrag anzeigen

KalEl

Registriert seit: 17. Jun 2010
14 Beiträge
 
Delphi 2 Desktop
 
#1

TStrings und RTTI

  Alt 9. Jun 2011, 13:29
Delphi-Version: 5
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));
  Mit Zitat antworten Zitat