У меня проблема с развертыванием приложений VB6 в 64-битных окнах.Когда я запускаю EXE, он выдает ошибку "несоответствие типов"
Код ниже:
Private Sub writedate (loc as string)
Dim dout(0 To 15) As Byte
Dim strdate_day as string
Dim strdate_mon as string
:
:
dout(0) = strdate_day 'This is the problem in 64 bit
dout(1) = strdate_mon
End sub
Public Function **Hex_Dec2**(ByVal val As String, ByVal start As Byte) As Byte
Dim MSB As Byte
Dim LSB As Byte
Dim Fbyte As Byte
Fbyte = 0
MSB = 0
LSB = 0
MSB = StrHEX_Dec(Mid(val, start, 1))
LSB = StrHEX_Dec(Mid(val, start + 1, 1))
Fbyte = (MSB * 16) + LSB
Hex_Dec2 = Fbyte
Debug.Print "val : " & val & " Fbyte : " & Fbyte
End Function
Если я запускаю файл EXE на 32-битной машине, он работает нормально.Абсолютно без ошибок.
Код HEX_DEC2 - это специальная функция, которая преобразует строку в байт. Я должен использовать эту функцию в противном случае записанное значение будет неправильным.Когда я делаю: dout(0) = HEX_DEC2(strdate_day)
, это не дает ошибку «несоответствие типов» на 64-битной.По технической причине я не хочу запускать эту функцию
Странно, но ноутбук, который я использую для разработки приложения, тоже 64-битный и не выдает никакой ошибки при запуске из обоихисходный код и файл EXE.
Как мне решить эту проблему?