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

Как определить, есть ли у компонента заданная функция?   Найти похожие ветки 

← →
BlackKing   (2003-11-11 12:39) [0]

В етом примере указано, как определить есть ли у компонента заданное свойство:

Uses TypInfo;

procedure TForm1.Button4Click(Sender: TObject);
var
P:Pointer;
begin
P:=GetPropInfo(ComboBox1.ClassInfo,"Enabled");
If P<>Nil then
ShowMessage("yes");
end;

А вот как определить, есть ли у компонента заданная функция или процедура, и как её запустить?

Спасибо.


← →
Юрий Федоров ©   (2003-11-11 13:02) [1]

ТОлько для Published методов - MethodAddress


← →
BlackKing   (2003-11-11 15:11) [2]

Спасибо, работает :о) но...

компонент создан на основе TComboBox, в вызываемой процедуре есть "Items.Clear", и в етом месте выдаёт ошибку "Access Violation at..."

procedure TForm1.Button4Click(Sender: TObject);
var
P:Pointer;
S:Procedure;
Begin
P:=ADComboBox1.MethodAddress("DelItems");
If P<>Nil then
Begin
S:=P;
S;
End;
end;

а : ADComboBox1.DelItems; - всё работает

каким образом можно заставить всё ето работать?



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

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



Память: 0.45 MB
Время: 0.018 c
3-65783
IGORYOK
2003-10-29 23:53
2003.11.20
Никто не слышал как в Дельфи менять местами записи ADO-таблицы


1-65894
Liss
2003-11-08 18:20
2003.11.20
Delphi & Outlook


14-66091
Сатир
2003-10-29 15:19
2003.11.20
Сегодня на Землю обрушится магнитная буря


1-65901
mc_duck
2003-11-08 15:37
2003.11.20
Наследник TComponent.


1-65852
Evgeniy_K
2003-11-09 18:12
2003.11.20
Цветной TBitmap -> Черно-белый TBitmap




   Наверх