Форум: "WinAPI";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];
ВнизLoadLibrary, GetProcAddress и пр. Найти похожие ветки
← →
White Barsik (2007-05-04 17:42) [0]Добрый день. У меня возник вопрос по загрузке и выполнению процедур из библиотеки DLL
есть некоторая библиотека процедуры которй в модуе с раннем сзязыванием описываются примерно так
function GetCurrID(curr_id:LPSTR; S_or_E:char):Word; stdcall; external "someDll.dll" name "GetCurrID";
вызывается данная функция примерно так
var
gKeyC: array[0..11] of Char;
gErrCode : Word;
...
begin
gErrCode := GetCurrID(@gKeyC, "S");
end;
Здесь все ОК.
Но когда я пытаюсь от раннего связывания перейти к динамической загрузке...
type
TGetCurrID = function (curr_id:LPSTR; S_or_E:char):Word;
var
Handle: THandle;
proc: TGetCurrID;
gKeyC: array[0..11] of Char;
begin
Handle := LoadLibrary(cDllFN);
if Handle <> 0 then
try
@proc := GetProcAddress(Handle, "GetCurrID");
if @GetTime <> nil then
result := proc(gKeyC, "S");
except
raise;
end;
end;
Происходит замечательный залом после последнего "end;" который явяется по совместительству концов выделенной процедуры (ну я так для удобства вытащил в процедуру)
В чем может быть проблема?
← →
begin...end © (2007-05-04 17:55) [1]type
TGetCurrId = function(...): Word; stdcall;
← →
White Barsik (2007-05-04 17:57) [2]Это замечательно! Огромное спасибо!!! С меня пиво.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.037 c