![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Мне нужно чтобы программа используя функцию ДЛЛ получила некие данные! Но у меня не получаеться! Вылазит ошибка - Project мояпрога.exe raised exception EAcessViolation with message Acess violation at address 0B9CA09 in module "ProgSelect.dll". Read of address 8BC38B97'. Process stopped. Use step or run to continue.
Вот функция из Dll: Код:
function Info: TStrings; StdCall;
begin
Result.Clear;
Result.Add('AUT=TB');
Result.Add('VER=1.00');
Result.Add('INF=Инфа о функции...');
Result.Add('PRS=NO');
end;Код:
procedure GetDllInfoPars;
var
HndDLLHandle: THandle;
Info: TInfo;
N: Integer;
S: String;
begin
N:=0;
try
S:=FMAIN.ACTL.Items.Strings[0]+'.dll';
HndDLLHandle:=LoadLibrary(PChar(S));
if HndDLLHandle<>0 then
begin
@Info:=GetProcAddress(HndDLLHandle,'Info');
if Addr(Info)<>nil then
begin
FMAIN.L.Items.Clear;
FMAIN.L.Items:=Info;
end
else Application.MessageBox('Function not exists...','RegVenik XP',MB_TOPMOST+MB_ICONERROR);
end
else
Application.MessageBox('DLL not found...','RegVenik XP',MB_TOPMOST+MB_ICONERROR);
finally
FreeLibrary(HndDLLHandle);
end;
end;FMAIN - TForm FMAIN.L - TListBox FMAIN.ACTL - TComboBox Плиз Хелп Ми! |