delphi开发的标准动态库,为什么PB不能调用呢,请高手来指点一下了,急啊(40分)

  • 主题发起人 主题发起人 hjp0214
  • 开始时间 开始时间
H

hjp0214

Unregistered / Unconfirmed
GUEST, unregistred user!
function f_UserBargaingApply(Ywlx:ShortString;InDataP:Pointer;out
OutData:PChar;out retMsg:PChar ):Integer;stdcall;
在PB调用时,返回是乱码,把Pchar改为shortstring就可以。但是shortstring只有255个字符啊
 
返回的是字符串吗?改成WideString试试。
 
function f_UserBargaingApply(Ywlx:ShortString;InDataP:Pointer;out
OutData:PChar;out retMsg:PChar ):Integer;stdcall;
修改为这样就可以了!
function f_UserBargaingApply(Ywlx:PChar; InDataP:Pointer; OutData:PChar; retMsg:PChar ):Integer;stdcall;
PChar 是指针不用out 的;

调用的是时候PB 的定义是: String Ywlx;
Ywlx = space(100); //看具体情况分配空间啊
 
在PB怎么定义动态库函数啊
 
静态定义就可以了!!
 
你找一个PB类型和Delphi类型的对比表.
 
function f_test(OutData:PChar):Integer;一个简单的动态库函数,在PB就是没有返回值,
显示OutData时,就是空的,为什么
PB申明
function int f_test(ref string OutData) LIBRARY "ZRHosJK.dll"
 
怎么样在delphi写标准的动态库函数,可以在所有语言中调用呢?
 
多人接受答案了。
 
后退
顶部