dll动态调用完毕,将dll中函数计算出的值赋给其它变量时出错。
syfan 2006-09-24 10:29:11 function TFrmReg.Getbc(dllname,ProcName,s:string): string;
var
aLib:THandle;
ss:Pchar;
Proc:function(Str:Pchar):Pchar; stdcall;
begin
aLib:=LoadLibrary(PChar(dllname));
if alib>=32 then
begin
Proc:=GetProcAddress(aLib,PChar(ProcName)); if Assigned(PChar(ProcName)) then
begin
ss:=Proc(Pchar(s));
end;
end;
FreeLibrary(aLib);
GetZZh:=string(ss);
end;
经根踪调试,到最后一行 GetZZh:=string(ss); 出错。
且以上ss的值也计算正确的。