Вниз
Скачать: CL | DM;

загрузка dll   Найти похожие ветки 

 
Вованчик ©   (2004-05-27 08:26) [0]

Здравствуйте.
Возникла такая вот проблема:
программа была написана на D6, код загрузки Dll"ки:
function GetMessage(Name1, Name2: string; Kind: TMsgDlgType; Count_Button: byte; Caption, Messages: String; Type_Dialogs: String): boolean;
begin
 //Загрузка библиотеки
 DLLHandle := LoadLibrary("dll\Message.dll");
 if (DLLHandle = 0) then
   begin
     if Count_Button = 1 then
       Result := MessageDlg(Messages, Kind, [mbOk], 0) = mrOk
     else
       Result := MessageDlg(Messages, Kind, [mbYes, mbNo], 0) = mrYes;
     Exit;
   end;

 try
   //Получение указателя на функцию и преобразование его к соответствующему типу
   if Type_Dialogs = "MessageBox" then
     @Message_GetMessage := GetProcAddress(DLLHandle, PChar("MessageBox"))
   else
     @Message_GetMessage := GetProcAddress(DLLHandle, PChar("MessageCloud"));

   //Вызов функции
   Result := Message_GetMessage(Name1, Name2, Kind, Count_Button, Caption, Messages);
 finally
   //Выгрузка библиотеки
   FreeLibrary(DLLHandle);
 end;


в D6 все работало нормально.
Поставил D7 и начались проблемы с загрузкой Dll, постоянно выдается стандартный MessageDll, хотя никаких изменений не делал с проектом вообще - просто откомпилировал в D7 и все. Почему DLLHandle постоянно равен 0?
Помогите разобраться.
Спасибо.


 
Reindeer Moss Eater ©   (2004-05-27 08:52) [1]

Почему DLLHandle постоянно равен 0?

Потому что Getlasterror ему не равен.
Нулю.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.036 c
14-1084961837
Senti
2004-05-19 14:17
2004.06.06
Работа для программиста... Нужна помощь


3-1084784182
zolg
2004-05-17 12:56
2004.06.06
EDBEngineError: Directory is busy.


1-1085127834
Alex
2004-05-21 12:23
2004.06.06
могу ли я использовать массив в Delphi с динамическими границами


8-1080544421
WAlgo
2004-03-29 11:13
2004.06.06
Выбор конкретной области изображения


14-1084638465
Art_Z
2004-05-15 20:27
2004.06.06
Чем заняться?




   Наверх