Форум: "Основная";
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];
Вниз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 toSendMessage(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 вся ветка
Форум: "Основная";
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c