PB与外部函数参数类型对应表

140 阅读2分钟
外部语言数据类型大小PB数据类型说明
bool或boolean16位 带符号boolean对于windows32是16位、带符号
*(指针)LPBYTE32位指针long用于windows32位系统
LPDWORD
LPINT
LPLONG
LPVIOD
LPWORD
PSTR16位指针用于windows32位系统
NPSTR16位指针用于windows32位系统
LPSTR32位指针string用于windows32位系统,参数声明时需加ref
其它32位指针long 
char*Byte[]blob 
char8位 带符号char 
string可能是32位指针方式传递string对于包含null值的string类型,可以将其定义为blob类型,并分配足够的空间(blob{100}),通过blob{1}(其初始值为null)进行连接,不能通过setnull( )函数处理null值
HANDLE32位 无符号ulong或usigned long用于windows32位系统
byte8位 带符号char或byte 
short16位 带符号int或integer 
usigned short16位 无符号uint或usigned integer 
WORD16位 无符号uint或usigned integer用于windows32位系统
int32位 带符号long 
usigned int32位 无符号ulong或usigned long 
long32位 带符号long 
usigned long32位 无符号ulong或usigned long 
DWORD32位 无符号ulong或usigned long 
longlong64位 带符号longlong 
float32位 单精度real 
double64位 双精度double 
struct结构体structure其结构体大小为各元素字节数之和(指针为2字节windows32),应该不是内存对齐的字节数之和,结构体内元素LPSTR指针类型且其中包含null值的,可以定义为blob类型并分配空间(blob{100}),循环提取数据,因为pb的string函数遇到null会自动停止,但后面可能还有数据
  date、datetime、time结构体,不与外部数据类型兼容

注:对照表是参照pb帮助制作,存在不足及错误敬请谅解