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

Как выполнить функцию или процедуру имя которой в переменной   Найти похожие ветки 

← →
Evg12   (2003-04-14 14:54) [0]

Уважаемые. Как выполнить функцию или процедуру имя которой находится в строковой в переменной?
Гдето видел пример. Но перерыл все, не могу найти. Помогите.


← →
Digitman ©   (2003-04-14 14:58) [1]

см.
IDispatch.GetIDsOfNames
GetIDsOfNames.Invoke


← →
MityaP ©   (2003-04-14 14:59) [2]

Скорее всего собствынный анализатор строк...
if UpperCase(st) = "MYPROC" then MYPROC;
типа этого...


← →
Skier ©   (2003-04-14 15:01) [3]

GetProcAddress


← →
Digitman ©   (2003-04-14 15:02) [4]

IDispatch.GetIDsOfNames()
IDispatch.Invoke()




← →
ErikIvanov   (2003-04-14 15:09) [5]

>Digitman
Это только для com объектов подойдет.

Если нужно для Delphi то можно воспользоватся RTTI.
var
ATypeInfo: PTypeInfo;
ATypeData: PTypeData;
begin
ATypeInfo := TypeInfo(MyObject);
ATypeData := GetTypeData(ATypeInfo);


← →
Digitman ©   (2003-04-14 15:14) [6]


> ErikIvanov


а чем COM-объекты плохи по-твоему ? для реализации задачи ?


← →
malkolinge ©   (2003-04-14 15:20) [7]

RTTI - клнечно неплохо, но...Может привести к не очень хорошим последствиям в будущем.


← →
REA ©   (2003-04-14 15:20) [8]

Тогда усложним задачу, чтобы всех запутать: как выполнить процедуру имя которой в процедуре, которая возращает указтель на процедуру, возвращающую имя этой процедуры?
А я то думаю, почему компиляторы с каждым годом все больший код выдают...


← →
malkolinge ©   (2003-04-14 15:26) [9]


> REA © (14.04.03 15:20)
> Тогда усложним задачу, чтобы всех запутать: как выполнить
> процедуру имя которой в процедуре, которая возращает указтель
> на процедуру, возвращающую имя этой процедуры?
> А я то думаю, почему компиляторы с каждым годом все больший
> код выдают...


Вот так люди просают Делфи переходят на Си :)



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

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



Память: 0.46 MB
Время: 0.012 c
1-76960
Alex-21
2003-04-09 20:03
2003.04.24
MaxLength


8-77036
SN
2003-01-21 19:55
2003.04.24
jedi-delphi.org


1-76985
KDenis
2003-04-13 18:47
2003.04.24
Как разбить файл?


14-77110
VAleksey
2003-04-07 09:18
2003.04.24
Комната квартира в Москве


3-76770
off
2003-04-03 07:19
2003.04.24
Поле типа TTime в IB.




   Наверх