Текущий архив: 2004.06.06;
Скачать: 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 вся ветка
Текущий архив: 2004.06.06;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.022 c