首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

dephi写的dll,pb怎么调用

2013-07-01 
dephi写的dll,pb如何调用 function Get_packet(CBCbh: string port, baud: integer p: pchar): integer

dephi写的dll,pb如何调用
 function Get_packet(CBCbh: string; port, baud: integer; p: pchar): integer; stdcall; external 'SRWDll.dll';
上面接口p其实是一个输出的内容。。但是p内容有可能很长;
在dephi中调用是下面的写法
p := AllocMem(1048576); //分配内存
i := Get_packet('013', 2, 57600, p);


pb中:写法如下
string p
int i
p=space(5000)
i = Get_packet2('013',2,57600,ref p)

如果p内容较短没有问题,但是较长的情况下报错。。。或者我不定义p=space(),也要报错。。

把p=space(1048576)还是要报错。。


请问高手,我要怎样定义?
[解决办法]
p=space(1048576)

如果报错,建议在delphi把内容写到一个文件里,然后在pb中读取,这种方式比较好


[解决办法]
如果dll不是自己写的,可以再用dephi封装一下,然后再用pb读取

热点排行