Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вызов функций EXE из DLL [D7]


Gnobobel ©   (2006-01-15 21:33:00) 

В одной игре, поддерживающий расширения AI при помощи DLL видел (есть исходники), что сама DLL вызывает некоторые функции, находящиеся в EXE самой игры.

function ShowMessage(Msg: String): Boolean; stdcall; External 'Game.exe';
Причём в DLL вызывает это в процессе работы игры и самой DLL, и результаты появляются в том же процессе.

Как сделать, чтобы моя программа могла предоставлять DLL некоторые свои функции?

З.Ы. Использую LoadLibrary.


Чапаев   (2006-01-16 10:03:00) [1]


> Как сделать, чтобы моя программа могла предоставлять DLL
> некоторые свои функции?

Точно так же, как и в DLL... Объяви раздел exports. У меня получалось. ;-)


TUser   (2006-01-16 10:00:00) [2]

program proj;
{$apptype console}

function InDLL(I: integer): boolean; stdcall; external 'Libr.dll';

function InEXE(I: integer): boolean; stdcall;
begin
 result:=I>0;
end;

exports InEXE;

begin
 if InDLL(10) then writeln ('.');
end.

library Libr;

function InEXE(I: integer): boolean; stdcall; external 'proj.exe';

function InDLL(I: integer): boolean; stdcall;
begin
 result:=InEXE(I);
end;

exports
 InDLL;

end.


Наверх

Титульная страница Поиск, карта сайта Написать письмо