门锁函数给出的结构定义: VC的
typedef stryct_Cardinfo
{
unsigned int Roomaddr;
unsigned short isEmpty;
unsigned short Year;
unsigned short Mon;
unsigned short Day;
unsigned short Hour;
unsigned short Num;
unsigned short ExpireMode;
unsigned short ExpireValue;
unsigned short isDisable;
unsigned short Reserved1;
unsigned short Reserved2;
unsigned short Reserved3;
}Cardinfo, *LPCardinfo
函数为:
int ReadGuestCardInfo(const char * PortName,CardInfo * Plnfo);
这种结构在PB中该怎么声明阿? 实在不会,希望各位能帮助.
------解决方案--------------------
function Ulong ReadGuestCardInfo(ref string PortName,ref structure Plnfo) library "xxxx.dll"
------解决方案--------------------
结构用Pb中的结构对象定义即可
$PBExportHeader$us_cardinfo.srs
global type us_cardinfo from structure
ulong Roomaddruint
uint isEmpty
uint Year
uint Mon
uint Day
uint Hour
uint Num
uint ExpireMode
uint ExpireValue
uint isDisable
uint Reserved1
uint Reserved2
uint Reserved3
end type
然后定义外部函数
function long ReadGuestCardInfo(ref string PortName,ref us_cardinfo Plnfo) library "xxxx.dll"
------解决方案--------------------
PB不支持指针。
把结构转成字符串,然后在PB中转成你需要的格式吧。
------解决方案--------------------
------解决方案--------------------
但是由于不同平台上的的兼容性问题,因为各个平台提供的基本数据类型的长度是有可能不同的,如int型,有些平台是16位,有些平台是32位。
上面那位仁兄,这句话没有说错。
我可以肯定的告诉大家,VC2005,VC2008,还有WINDONS自带的API,的int 是32位四字节