![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
При передаче параметра в DLL вылетает AccessViolation [D7]
alexey_mas © (2007-01-15 18:17:00)Здравствуйте!
В приложении с помощью 2-х кнопок вызываю DLL
procedure TForm2.Button1Click(Sender: TObject);
var
GetSimpleText1:function(): integer;
LibHandle: THandle;
begin
@GetSimpleText1 := nil;
LibHandle := LoadLibrary('shema.dll');
if LibHandle >= 32 then begin
@GetSimpleText1:=GetProcAddress(LibHandle,'GetSimpleText1');
if @GetSimpleText1 <> nil then
GetSimpleText1();
end;
FreeLibrary(LibHandle);
end;
procedure TForm2.Button2Click(Sender: TObject);
var
GetSimpleText2:function(test:integer): integer;
LibHandle: THandle;
begin
@GetSimpleText2 := nil;
LibHandle := LoadLibrary('shema.dll');
if LibHandle >= 32 then begin
@GetSimpleText2:=GetProcAddress(LibHandle,'GetSimpleText2');
if @GetSimpleText2 <> nil then
GetSimpleText2(1);
end;
FreeLibrary(LibHandle);
end;
При обработке 2-й кнопки вылетает access violation
в dll функции описал так:
function GetSimpleText2(test:integer): integer; stdcall;
begin
ShowMessage(IntToStr(test));
Result := 1;
end;
function GetSimpleText1(): integer; stdcall;
begin
ShowMessage('hello');
Result := 1;
end;
exports GetSimpleText2,GetSimpleText1;
Притом Message вот здесь ShowMessage(IntToStr(test));
после нажатия 2-й кнопки вместо передаваемой 1 кидает 5-ти значное число.
Где туплю? из-за чего AcessViolation вылетает?
alexey_mas (2007-01-15 18:30:00) [1]Спасибо уже помогли разобраться в другом окне :)
я вызываю разными кнопками разные функции
первой кнопкой функцию без параметра
второй функцией с параметром
нужно было здесь
procedure TForm2.Button2Click(Sender: TObject);
var
GetSimpleText2:function(test:integer): integer;
stdcall добавить
Johnmen (2007-01-15 18:25:00) [2]А где там вызов GetSimpleText1 "после нажатия 2-й кнопки"?
alexey_mas (2007-01-15 18:19:00) [3]админу - сорри промазал с разделом форума - если можно то переместить в Общие вопросы