DX给看下这个问题
函数原型:
GetWorkModeParameter ():读取工作模式参数
功能描述:
此命令用来读取工作模式参数。
应用:
long WINAPI GetWorkModeParameter (unsigned char *ComAdr, unsigned char * Parameter, long FrmHandle);
参数:
ComAdr : 输入变量,读写器地址.
Parameter: 指向输出数组变量,11个字节。从第一个字节至第十一个分别为:Wg_mode,Wg_Data_Inteval,Wg_Pulse_Width,Wg_Pulse_Inteval,Read_mode,Mode_state,Mem_Inven,First_Adr,Word_Num,Tag_Time,Accuracy。
FrmHandle:输入变量,返回与读写器连接端口对应的句柄,应用程序通过该句柄可以操作连接在相应端口的读写器。如果打开不成功,返回的句柄值为-1。
*/
以上是函数原型,我在PB里声明为
FUNCTION long GetWorkModeParameter(ref char ComAdr,ref char param[],long Frmhandle) LIBRARY "UHFReader18.dll"
调用代码为:
long ii,handle
char comadr1
comadr1=space(2)
comadr1='02'
char par[]
for ii=1 to 20
par[ii]=space(1)
next
handle=dw_set.object.hand[1]
ii=GetWorkModeParameter(ComAdr1,par[],handle)
但执行后总报0x30通讯错误
------解决方案--------------------
我觉得吧问题可能不是出在第二个参数上,是在你第一个参数上:
char comadr1
comadr1=space(2)
comadr1='02'
然后你用messagebox(comadr1,comadr1)看看是不是只有一个0
像这种unsigned char *你用ref string就可以了
就是string comadr1=‘02’
后面的par这样写问题应该不大,你先测试一下,有问题再说,没有运行环境也不好下判断