调用外部dll的问题
程序中要用到HotelLock.dll中的几个函数,其中有个函数:
-----------------------------------------------
short __stdcall ReadCard(short *Rom, short *Pass, short *Buiding, short *Floor, short *District , short *Room, short *enOverride, short *FlatBit,short *TimeWindow,short *StartTime,short *EndTime);
功能:
读卡内容。
参数:
Rom : 卡号 .
Rom[0]: 卡号L。
Rom[1]: 卡号H。
Pass : N/A
Building : 楼号
Floor : 楼层
District : 区域
Room :
Room[0] = 有效房号,值为整数。
enOverride :
应用挂失标志: 1:不挂失,0: 挂失。
应用挂失是指起用新的密码代替旧密码(新卡覆盖旧卡),新密码的卡开门后,原来密码的旧卡失效,必须重新制卡才能开门。
FlatBit :
FlagBit[0] = 卡类型.
TimeWindow : N/A
StartTime :
有效起始时间:smallint类型数组,长度为5 。值为整数。
StartTime[0] = Year //如2003
StartTime[1] = Month //如 8
StartTime[2] = Date //如 8
StartTime[3] = Hour //如 18
StartTime[4] = Minute //如 0
EndTime:
有效终止时间:smallint类型数组,长度为5。
EndTime [0] = Year //如2003
EndTime [1] = Month //如 8
EndTime [2] = Date //如 9
EndTime [3] = Hour //如 12
EndTime [4] = Minute //如 0
---------------------------------------------
Declare Global External:
Function int ReadCard(int Rom[], int Pass[], int Buiding[], int Floor[], int District[] , int Room[], int enOverride[], int FlatBit[], int TimeWindow[], int StartTime[], int EndTime[]) Library "Hotellock.dll"
---------------------------------------------
调用:
integer re
int Rom[2]
int Pass[10]
int Buiding[1]
int Floor[1]
int District[1]
int Room[1]
int enOverride[1]
int FlatBit[1]
int TimeWindow[1]
int StartTime[5]
int EndTime[5]
re = ReadCard( Rom[], Pass[], Buiding[], Floor[], District[] , Room[], enOverride[], FlatBit[], TimeWindow[], StartTime[], EndTime[])
---------------------------------------------
这样取不到值,是不是Declare Global External中有错误?