Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.12;
Скачать: [xml.tar.bz2];

Вниз

помогите с GetPropValue()   Найти похожие ветки 

 
Starkom   (2002-07-30 07:49) [0]

Есть такой код
Result:=IntToStr(Integer(GetPropValue(FComponents[0], FPropName,True)));

Где точно незакосяченый FComponents[0] типа TMyField (наследник TPersistent), FPropName тоже нормальная строка с именем свойства, которое точно есть.
Но такой код выдает всякую абракадабру.
Может кто подскажет возможную причину?
Такая же строка прекрасно работает для других свойств у многих других классов (например TFont или собственных классов).


 
Eugene Lachinov   (2002-07-30 08:28) [1]

А function GetOrdProp(Instance: TObject; const PropName: string) : LongInt, что выдает ?


 
Starkom   (2002-07-30 08:34) [2]

GetOrdProp(Instance, PropInfo) то как раз лажу и выдает, при том что Instance = FComponents[0], PropInfo вроде нормальный (там есть PropInfo^.Index и Default вроде отрицательные, но у других классов эти поля тоже бывают отрицательными, а функция выдает нормальный результат)


 
Юрий Зотов   (2002-07-30 08:56) [3]

Искомое свойство - published?


 
Starkom   (2002-07-30 09:02) [4]

да, конечно.
для того он и наследутся от TPersistent.
property MyField:integer read FMyField write FMyField;


 
Программист на С++   (2002-07-30 09:18) [5]

А в каком контексте этот код используется ?


 
Starkom   (2002-07-30 09:22) [6]

Пишется для небольшой системки свое подобие инспектора объектов.


 
Программист на С++   (2002-07-30 09:31) [7]

FComponents[0] и наследник от TPersistent это совместимо ?


 
Starkom   (2002-07-30 09:40) [8]

мда, похоже, что проблема вовсе не в GetPropValue
окно Watch -
TObject(FComponents[0]).ClassName = "TMyField", но
TMyField(FComponents[0]) = inaccesible value, при том что
TMyField(FComponents[0]).Pseudo (есть там такое поле) выдает правильный результат.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.08.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
1-35382
Belov
2002-07-30 21:06
2002.08.12
Создание ярлыка на рабочем столе


1-35278
sanilo
2002-07-31 14:39
2002.08.12
Расчет дат!


6-35401
ZED
2002-05-30 00:33
2002.08.12
TWebBrowser - как узнать содержимое формы


3-35198
Prog_mail
2002-07-20 11:24
2002.08.12
Помогите с отчетом


1-35280
BAY
2002-07-31 14:39
2002.08.12
Как сохранить GIF?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский