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

При передаче параметра в DLL вылетает AccessViolation   Найти похожие ветки 

← →
alexey_mas ©   (2007-01-15 18:17) [0]

Здравствуйте!
В приложении с помощью 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:19) [1]

админу - сорри промазал с разделом форума - если можно то переместить в Общие вопросы


← →
Johnmen   (2007-01-15 18:25) [2]

А где там вызов GetSimpleText1 "после нажатия 2-й кнопки"?


← →
alexey_mas ©   (2007-01-15 18:30) [3]

Спасибо уже помогли разобраться в другом окне :)

я вызываю разными кнопками разные функции
первой кнопкой функцию без параметра
второй функцией с параметром

нужно было здесь
procedure TForm2.Button2Click(Sender: TObject);
var
GetSimpleText2:function(test:integer): integer;
stdcall добавить



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

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



Память: 0.45 MB
Время: 0.041 c
1-1169047638
alpha5
2007-01-17 18:27
2007.03.11
Область прокрутки у компонента TListView


2-1171717962
Evgeniy Gordeev
2007-02-17 16:12
2007.03.11
Проблемы с MS Outlook 2003


15-1171214336
Веталь
2007-02-11 20:18
2007.03.11
А драйвера полностью грузятся в память?


15-1171639983
Parus
2007-02-16 18:33
2007.03.11
Мостостроительство:)


15-1171367145
pasha_golub
2007-02-13 14:45
2007.03.11
Не могу достучаться в локальную сеть




   Наверх