Показать сообщение отдельно
  #3  
Старый 16.11.2007, 09:00
Maxigeon Maxigeon вне форума
Прохожий
 
Регистрация: 08.11.2007
Сообщения: 3
Репутация: 10
По умолчанию

после выгрузки dll (freelibrary) выдает сообщение об ошибке:
что не так?
Код:
{текст программы использующей dll}
program use_dll;
{$APPTYPE CONSOLE}
uses
  Windows,
  dialogs;
var
    hModule: THandle;
    pGetSum: function(const n1, n2: integer): integer;
    n: integer;
    s:string;
begin
    hModule := LoadLibrary('dll.dll');
    assert(hModule <> 0, 'Can''t load DLL!');
    pGetSum := GetProcAddress(hModule, 'getsum');
    assert(@pGetSum <> nil, 'Can''t find the getSum function!');
    n := pGetSum(10, 20);
    str(n,s);
    showmessage(s);
    FreeLibrary(hModule);
end.
Код:
{Текст самой dll}
library dll;
uses
  Sharemem,
  SysUtils,
  Classes;

 function getsum(const n1, n2: integer): integer;
begin
  result:=n1+n2;
end;
exports getsum;
begin
end.
Ответить с цитированием