问题描述
DLL:Mr3001ADll.dll函数:ConnectReader打开串口已知:hCom=0,nTransmode=1VB中声明如下:PublicDeclareFunctionConnectReaderLib"Mr3001ADll.dll"(ByRefhComAsLong,ByValnTransmodeAsLong,ByValnNetPortAsLong,ByValstrReaderIPAsString,ByValstrSerialNumAsString,ByValnBaudRateAsInteger)AsIntegerVB中调用Result=ConnectReader(hCom,Workmode,nNetPort,strReaderIP,StrComm,9600)使用正常,能打开串口。我把他在C#中引用:[DllImport("Mr3001ADll.dll",EntryPoint="ConnectReader",CharSet=CharSet.Unicode)]publicstaticexternintConnectReader(reflonghCom,longnTransmode,longnNetPort,stringstrReaderIP,stringstrSerialNum,intnBaudRate);调用:if(0==RfidApiLib.ConnectReader(refhCom,nTransmode,nNetPort,strReaderIP,"com1",9600)){MessageBox.Show("ok");}else{MessageBox.Show("no");}没有打开串口?请问是什么原因?
解决方案
解决方案二:
vb里的StrCom字符串是等于"com1"吗?
解决方案三:
"com1"换成"COM1"试试
解决方案四:
不行,VB里StrCom是等于COM1
解决方案五:
高手们帮帮忙啦!