Вниз
Скачать: CL | DM;

помогите с 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
1-35311
DeMoN-777
2002-07-29 09:33
2002.08.12
Разархивация


3-35215
svmagnum
2002-07-23 20:35
2002.08.12
Kak mne sdelat progu shtob ona rabotala s udallennoj Access db


7-35475
bmai
2002-05-26 03:15
2002.08.12
Как создать Virtual Folder ?


6-35396
KPOT
2002-05-09 13:22
2002.08.12
Как проще всего сразу отказать клиенту ?


7-35485
Новеньки в Делфи
2002-05-28 00:18
2002.08.12
Реестр




   Наверх