大家帮忙看一下啊,在下不胜感激啊
源码:
Function func_test(Var InStr,InBz,OutStr:ShortString):ShortString;
type Lfunc1=Function (Var _InStr, _InBz , _OutStr:ShortString):ShortString;stdcall;
Var
Lib1:Thandle;
Lsfunc1 : Lfunc1;
begin
Lib1 := Loadlibrary('test.dll');
If Lib1 >= 32 then
begin
try
@Lsfunc1 :=GetProcAddress(Lib1 ,'_DataDown_sp@12');
if @Lsfunc1 <> nil then
Result := Lsfunc1(InStr,InBz,OutStr)
Else
Result := '动态链接库加载错误';
finally
FreeLibrary(Lib1);
end;
end
Else
Begin
Result := '动态链接库加载错误';
End;
End;不知道哪儿错了,执行时总提示地址出错
源码:
Function func_test(Var InStr,InBz,OutStr:ShortString):ShortString;
type Lfunc1=Function (Var _InStr, _InBz , _OutStr:ShortString):ShortString;stdcall;
Var
Lib1:Thandle;
Lsfunc1 : Lfunc1;
begin
Lib1 := Loadlibrary('test.dll');
If Lib1 >= 32 then
begin
try
@Lsfunc1 :=GetProcAddress(Lib1 ,'_DataDown_sp@12');
if @Lsfunc1 <> nil then
Result := Lsfunc1(InStr,InBz,OutStr)
Else
Result := '动态链接库加载错误';
finally
FreeLibrary(Lib1);
end;
end
Else
Begin
Result := '动态链接库加载错误';
End;
End;不知道哪儿错了,执行时总提示地址出错
解决方案 »
- random()取随机数字,数据溢出===>亟待高手解决
- 收取电子邮件
- 请问如何在delphi6中实现advstringgrid、stringgrid、dbgrid的换行显示?特别是advstringgrid的用法?
- 新年新气象,祝各位在新的一年里,分多多,RMB多多!
- 请问如果使用Windows 的用户登录?
- 急!!!!高分
- 我没有回答问题,专家分怎么涨了。心里不平恒,散分。
- 关于网页链接的问题,很急的
- 如何将Query查询的结构直接打印出来?
- :各位神仙,有谁可以给我一个基于SMPP协议的范例???(急需)
- 那位有FASTREPORT3.0动态生成报表的实例?
- 一个有关ListView显示数据的问题?
反过来的没有试过,试下:
检查:@Lsfunc1 :=GetProcAddress(Lib1 ,'_DataDown_sp@12');
这句能 get 到吗?ShortString
改为
pchar
type Lfunc1 = Function (_InStr, _InBz , _OutStr: PCHAR): PCHAR; stdcall;
Var
Lib1: Thandle;
Lsfunc1: Lfunc1;
begin
Lib1 := Loadlibrary('test.dll');
If Lib1 >= 32 then
begin
try
@Lsfunc1 :=GetProcAddress(Lib1 ,'_DataDown_sp@12'); //函数名字区分大小写
if @Lsfunc1 <> nil then
Result := Lsfunc1(InStr,InBz,OutStr) //这三个参数中,如果在PB中更改,必须定义变量并StrAlloc分配空间,别忘了释放空间
Else
Result := '动态链接库加载错误';
finally
FreeLibrary(Lib1);
end;
end
Else
Begin
Result := '动态链接库加载错误';
End;
End;