Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.11;
Скачать: 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 вся ветка

Текущий архив: 2007.03.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
15-1171350348
ryslan56
2007-02-13 10:05
2007.03.11
HTML


2-1171828169
Adios
2007-02-18 22:49
2007.03.11
Media Player


6-1159651914
Павел789745
2006-10-01 01:31
2007.03.11
Помогите с ПОСт отправкой!


15-1171582908
WiFiLamer
2007-02-16 02:41
2007.03.11
По Wi-Fi


2-1171718834
Novichok_New
2007-02-17 16:27
2007.03.11
Проверка почты