Показать сообщение отдельно
Старый 12.03.2009, 20:44   #1
Пользователь
 
Регистрация: 05.02.2009
Сообщений: 62
Сказал Спасибо: 1
Имеет 18 спасибок в 9 сообщенях
lexayar пока неопределено
По умолчанию Передача указателя на процедуру в DLL

Подскажите плиз, как можно в подключенную к скрипту dll передать параметром указатель на процедуру (функцию).
Никак не получается выполнить ее внутри DLL, такое ощущение что dll в другом адресном пространстве загружается

Добавлено через 8 минут
Пробую так:
script:
Код:
var
  lib: integer;

procedure Init; //Вызывается при включении скрипта
begin
  lib := loadLibrary('dll\Utils\Utils.dll');
  try
    CallFunction(lib,'PacketProcess',1,[@test]);
  finally
    FreeLibrary(lib);
  end;
end;

procedure test;
begin
  showmessage('Test message');
end;
dll:
Код:
type
  TScriptProc = procedure;

procedure PacketProcess(PScriptProc: Pointer);  stdcall;
var
  ScriptProc: TScriptProc;
begin
  ScriptProc := TScriptProc(PScriptProc);
  ScriptProc;
end;

Последний раз редактировалось lexayar, 12.03.2009 в 20:44. Причина: Добавлено сообщение
lexayar вне форума   Ответить с цитированием