Форум: "Основная";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];
ВнизString to Procedure Name Найти похожие ветки
← →
Delphi5.01 (2003-03-16 09:01) [0]Zdravstvuite Delphisti!
Vot nedavno nachal pisat novuiu progu i poiavilsa ochen interesni vopros, vozmojnoli
obrotitsa k procedure znaia eio ima, privoju primer:
procedure Move():
begin
end;
...
var St: string;
begin
St:="Move";
//nu a potom chtoto vrode FindComponent("Button"+IntToStr(i));
FindProcedure(St);
end;
iz primera ocheviden vopros, kak mojno preobrozavat stroku v ima proceduri chtob potom eio
vizvat?
P.S. variant tipa:
if St="Move" then
Move;
ne podxodat, potomu chto exe failu ne izvestno snachala o sushestvovanii proceduri, on
chetaet eio ima iz faila, i v kakoi DLL faile naxoditsa, nu a potom proga doljna zapustit
etu proceduru! vopros ne iz logki, no esli kto mojet pomoch to pomogite pojaluista.
← →
uw (2003-03-16 09:26) [1]Посмотри TObject.MethodAddress. Думаю, это все, что есть по теме.
Вообще-то, такой надобности не должно возникать. Обрисуй, зачем тебе это надо, скорее всего тебе укажут, как сделать по нормальной схеме.
← →
MBo (2003-03-16 10:00) [2]Поищи по форуму, на неделе это было
← →
Delphi5.01 (2003-03-16 10:13) [3]da ia tipa delau novi izaik programirovania dla detei, nu tam dolno bit neskolko operaci, ia vot podumal kogda ponadobitsa dobavit novuiu operaciu ne nado budet ves kod peredelivat, zapishu operaciu v fail, nu a sam kod v DLL-ku. no voobsheto mena interesuet kakoi iavlaetsa klasicheski metod analiza koda, tipa kompilatora s F8,F4 i F9. gde takuiu infu mojno dostat, i voobshe o kompilatore!
Spasibo!
← →
Роман Косилов (2003-03-16 11:14) [4]В том виде, в котором проблема поставлена первоначально
(т.е. вызвать процедуру по имени из известной ДЛЛ) решается просто:
type
tmpProc = procedure(params:pChar);stdcall;
var
hLib : tHandle;
Proc : tmpProc;
....
//грузим библиотеку, находим процедуру
hLib := LoadLibrary("имя_ДЛЛ");
@Proc := getProcAddress(hLib,"имя_процедуры");
// выполняем процедуру
Proc(Params);
...
где Params - строка параметров. Например "1,"Вася""
Передать параметры таким способом проще всего.
Вообще-то, вызвать процедуру с произвольным (заранее не
известным) набором параметров таким способом не получится.
Так что придумай единый интефейс для передачи параметров
возврата значений.
А вот насчет компиляторов лучше классиков почитать - Ахо и Ульмана.
← →
uw (2003-03-16 11:33) [5]Прошу прощения. Теперь и я увидел, что в первом вопросе присутствует слово DLL.
← →
Delphi5.01 (2003-03-16 19:25) [6]Spasibo!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c