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

DLL вызывает процедуру в основной проге...   Найти похожие ветки 

 
Dimedrol ©   (2001-12-22 13:30) [0]

Коллеги, не подскажете как можно из ДЛЛ запустить процедуру главной программы (допустим WriteHello;), дождаться окончания ее работы и затем продолжить свою работу... ?


 
brkut   (2001-12-22 17:01) [1]

Zdrastvuite, izvinite za latin,

mozhno peredat v dll proceduru adres tvojei funkciji:

DLL

type
UserProc = procedure;
procedure StartUserProc(Proc: UserProc);
begin
showmessage("DLL stuff");
Proc;
showmessage("Again DLL stuff");
end;
exports
StartUserProc;
begin
end.


Main

type
UserProc = procedure;

procedure StartUserProc(proc: UserProc); StdCall;external "Project1.dll";
procedure Test;
begin
showmessage("Application stuff");
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
StartUserProc(@Test);
end;


Vsio kazhetsia rabotajet, no est bug - Test procedura pochemu to zapuskajetsa dva raza. Pochemu neznaju, no chotel bi uznat ...
any ideas ?

Eshchio navernoje mozhno zapustyt application proceduru vizivaja WM.
No, pochemu to SendMessage(LoadLibrary("my.dll"), MY_MESSAGE, wparam, lparam) nesrabotalo :(


 
Dimedrol ©   (2001-12-22 19:42) [2]

Решение конечно интересное, но у меня будет 1 проблема...
Я пишу плагины (вот из-за чего все это ;-))
Так что я заранее не могу знать какая ДЛЛ-ка будет вызывать
процедуру в основной программе, так что строка
procedure StartUserProc(proc: UserProc); StdCall;external "Project1.dll";

не сработает, т.к. этого -> "Project1.dll" не будет...


 
Иван Шихалев ©   (2001-12-22 19:54) [3]

Ё-моё. А callback чем не устраивает? Благо в Pascal есть такая замечательная вещь как процедурные типы.


 
brkut   (2001-12-23 13:19) [4]

Nu v takom sluchae, vsio zavisit ot konkretnovo prilozhenija.
Developeri tebe dolzhni dat SDK, o tam uzhe vsio budet jasno ...

nu koroche tebe nado
MainApp handle, togda ti smozhesh ejo kontrolerovat cherez windows messages ... (mozhesh posmotret kak eto delajetsia v Winampe)

udachi,
Ainis



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

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



Память: 0.46 MB
Время: 0.004 c
3-28410
Don
2001-12-07 16:01
2002.01.10
Вывод текста в заголовке StringGrid-а вертикально


6-28515
Woolen
2001-10-13 09:52
2002.01.10
Определение URL


1-28467
Гретый
2001-12-21 21:49
2002.01.10
Народ у кого-нибудь есть исходники TSpinEdit?


3-28431
Alex_sh
2001-12-10 07:37
2002.01.10
Обьясните


1-28491
MK
2001-12-21 21:28
2002.01.10
Как перемещать картинку в TImage мышью




   Наверх