关于动态调入Dll的问题!(50分)

  • 主题发起人 lovdelphi
  • 开始时间
L

lovdelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
在声明 函数指针时,用这样一句:
TpcharFunction = function (I: pchar): pchar; stdcall; //第二个pchar 时说函数返回值类型吗?
....
var MyFun : TpcharFunction;
begin
...Fpointer := GetProcAddress(Handle,Pchar(Trim(Edit3.text))) ;
MyFunint := TintFunction(FPointer) ;
MyFunint(pchar(edit1.Text)
我的问题是:若dll内的函数返回值不是pchar 那时不是还要再声明一个函数指针?
为什么我把TpcharFunction = function (I: pchar): pchar; stdcall;改成:
TpcharFunction = function (I: pchar): variant; stdcall;
传到dll的参数为空。即:MyFunint(pchar(edit1.Text) 中edit1.Text 在exe文件中是‘edit1.Text=edit’
到了dll中监测为空(edit1.Text='')?
 
var
x:pchar;

MyFun := GetProcAddress(Handle,Pchar(Trim(Edit3.text))) ;
x := TintFunction(MyFun)(pchar(edit1.Text)) ;
 
顶部