Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.07;
Скачать: CL | DM;

Вниз

Как программно проверить, есть ли у объекта свойство?   Найти похожие ветки 

 
Peter Gluhiy ©   (2002-10-28 12:15) [0]

Например, есть ли у наследника TDataSet свойство IndexFieldNames?
Хочу сделать свой DBGrid универсальным.
Сейчас для переключения индекса по клику на Title, сделано, примерно так:
if DataSource.DataSet is TIBTable then
TIBTable(DataSource.DataSet).IndexFieldNames:=TmpIndexFieldNames;

А мне очень нужно, чтоб с любым TTable работало!

В хелпе почитал про TObject.FieldAddress и написал:
p := Table1.FieldAddress("IndexFieldNames");
Почему-то - р=nil :(


 
Игорь Шевченко ©   (2002-10-28 12:42) [1]

uses TypInfo;

function HSGetStrProp(Obj: TObject; const PropName : String): String;
var
PropInfo: PPropInfo;
begin
Result := "";
if Assigned(Obj) then begin
PropInfo:= Typinfo.GetPropInfo(Obj.ClassInfo, PropName);
if Assigned(PropInfo) then
Result:= GetStrProp(Obj, PropInfo);
end;
end;



 
Peter Gluhiy ©   (2002-10-28 13:05) [2]

Спасибо! Принцип понял. Дальше постараюсь разобраться.



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

Текущий архив: 2002.11.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
1-21571
nika_ufc
2002-10-30 00:55
2002.11.07
Помагите


3-21452
Andrey
2002-10-21 12:57
2002.11.07
Как внутри транзакции узнать имя пользователя который ее запустил


1-21603
Stream2k
2002-10-25 18:40
2002.11.07
Как по нажатию SpeedButton загрузщить файл file1.htm в браузер...


1-21483
Leny
2002-10-28 13:50
2002.11.07
в SysTray


1-21489
STANT
2002-10-28 18:07
2002.11.07
Очень сложный вопрос...