Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
15-1191222209
AntiUser
2007-10-01 11:03
2007.11.04
Microsoft продлевает срок продажи Windows XP до 30 июня 2008 года


2-1192272777
apic
2007-10-13 14:52
2007.11.04
TListView


2-1192085656
__ivan
2007-10-11 10:54
2007.11.04
URL Encode


15-1190887121
Washington
2007-09-27 13:58
2007.11.04
Программирование автомагнитолы


2-1192001656
Александр
2007-10-10 11:34
2007.11.04
Убегающий курсор... (необходима помощь в решении проблемы)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский