声明动态库中函数get_st function get_st(ie: longint;Pta:pansichar):smallint;
程序中使用get_st st:=0; res:=get_st(ie,@st);
在动态库中get_st应该怎样才能让程序中调用的时候返回st=1; function get_status(ic: longint; Pta: PAnsiChar):smallint;stdcall; var statui : smallint; begin statui:= 1; status := @statui; //这样写在主程序中得不到1;应该如何写? Result :=0; end;
----------------------------------------------
-
或者这样说更容易理解些: function getfun(id: longint; st: PAnsiChar):smallint;stdcall; //函数参数声明不能改变 var res:Integer; statusint:Integer; begin statusint := 200; st := @statusint; //怎样写才能在下面的调用中得到200这个值,现在这样写不行 Result :=0; end;
procedure TForm2.Button1Click(Sender: TObject); var stlab,resint:Integer; begin stlab := 0; resint := getfun(100,@stlab); //调用方式不能改变 Edit1.Text := IntToStr(stlab); //stlab要求得到200; end;
----------------------------------------------
-