Форум: "Основная";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
ВнизЧто то у меня с DLL не получается... Найти похожие ветки
← →
Koala © (2004-11-03 16:30) [0]текст
library daifl;
uses
SysUtils,
Classes,
Forms,
infoForm in "infoForm.pas" {fmInfo};
{$R *.res}
procedure ShowInfoDLL(AppHandle : THandle; infDate, infUser : PChar);
begin
Application.Handle := AppHandle;
with TfmInfo.Create(Application) do try
lbInfoDate.Caption := StrPas(infDate);
lbInfoName.Caption := StrPas(infUser);
ShowModal;
finally
Application.Handle := 0;
free;
end;
end;
exports ShowInfoDLL;
begin
end.
вызываю из программы:type
TShowFormFromDLL = procedure (AppHandle: THandle; infDate, infUser : PChar); stdcall;
procedure TfmMain.ShowFormFromDLL;
var
DLLHandle: THandle;
ShowFormFromDLL: TShowFormFromDLL;
begin
DLLHandle := LoadLibrary(PChar(GetExePath + "\daifl.dll"));
try
if DLLHandle <= 0 then
MsgError("Невозможно загрузить daifl.dll");
@ShowFormFromDLL := GetProcAddress(DLLHandle, "ShowInfoDLL");
if Assigned(ShowFormFromDLL) then
ShowFormFromDLL(Application.Handle, PChar("сегодня"), PChar("Test"))
else
MsgError("Отсутствует загружаемая DLL " + #13#10 +
"или в DLL не найден адрес необходимой функции.");
finally
Application.ProcessMessages;
FreeLibrary(DLLHandle);
end;
end;
Выскакивает ошибка:
Project D:\Dll\Test\Test.exe faulted with message: "access violation at 0x01056000: read of address 0x01056000". Process Stopped. Use Step or Run to continue.
и вместо текста который передается в
ShowFormFromDLL(Application.Handle, PChar("сегодня"), PChar("Test")) - белеберда всякая
В чем я перемудрил???
← →
Reindeer Moss Eater © (2004-11-03 16:32) [1]В соглашении о вызовах
← →
Юрий Зотов © (2004-11-03 16:36) [2]Тип процедуры не соответствует самой процедуре. Отсюда неверная передача параметров. Stdcall - либо пишите ВЕЗДЕ, либо НЕ пишите НИГДЕ.
← →
Koala © (2004-11-03 16:42) [3]Reindeer Moss Eater © (03.11.04 16:32) [1]
Юрий Зотов © (03.11.04 16:36) [2]
Во, млин... действительно убрал stdcall и все заработало...
Огромное спасибо....
← →
Digitman © (2004-11-03 16:49) [4]
> Koala © (03.11.04 16:42) [3]
а [2]. конечно же, для тебя было божественным откровением ... дотумкать сие самому, рассмотрев несколько демо-проектов в Делфи - это выше предела чел.возможностей
← →
Koala © (2004-11-03 16:55) [5]Digitman © (03.11.04 16:49) [4]
у меня нет демок в Delphi(инсталяшка битая) по этому и спрашивал....
← →
Digitman © (2004-11-03 17:45) [6]
> Koala © (03.11.04 16:55) [5]
> меня нет демок
у тебя , видимо, и файлов справок нет ..
вопрос - а нашута такая инсталляция нужна .. в которой ни справок , ни демо, ни ...
себе дороже ..
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.036 c