支持漢字的OPC服務(wù)器開(kāi)發(fā)包WTOPCSvr.dll
目前國(guó)內(nèi)使用WTOPCsvr.dll的大有人在,使用WTOPCSvr.dll開(kāi)發(fā)OPC服務(wù)器是非常方便的,而且其源碼也是非常優(yōu)秀的,唯一遺憾的是這個(gè)開(kāi)發(fā)包畢竟是老美開(kāi)發(fā)的,他們最初的時(shí)候估計(jì)也不知道在中國(guó)的使用者會(huì)有這么多,竟然不支持漢字。解決辦法就是修改代碼了,讓它支持UNICODE就可以了。
另外VB環(huán)境里開(kāi)發(fā)OPC服務(wù)器的時(shí)候,StringToByte的函數(shù)修改成如下: Sub StringToByte(strString As String, ByteArray() As Byte) ‘將字符串轉(zhuǎn)換成字節(jié)數(shù)組,漢字占2字節(jié)
Dim i As Integer Dim j As Integer
Dim A As Long
On Error Resume Next
For i = 0 To Len(strString) - 1
A = Asc(Mid$(strString, i + 1, 1))
If A < 0 Then
ByteArray(i + j) = Int((65536 + A) / 256) j = j + 1
ByteArray(i + j) = Int((65536 + A) Mod 256)
Else ByteArray(i + j) = A
End If Next
ByteArray(i + j) = 0 End Sub
|