Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.04;
Скачать: CL | DM;

Вниз

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 вся ветка

Текущий архив: 2007.11.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
3-1182932266
zz 5
2007-06-27 12:17
2007.11.04
Использование алиасов при Backup, FB1.5


15-1191378171
Slider007
2007-10-03 06:22
2007.11.04
С днем рождения ! 3 октября 2007 среда


15-1191363637
Суслик
2007-10-03 02:20
2007.11.04
Файл HOSTS


2-1192004898
Ega23
2007-10-10 12:28
2007.11.04
А почему у TDateTimePicker


2-1191991361
DrAndrey
2007-10-10 08:42
2007.11.04
В контекстное меню проводника добавить свой пункт.