Из того, что я понимаю об ошибке 438 во время выполнения, это указывает на проблемы двоичной совместимости, такие как указанная библиотека ActiveX не совместима с распределенной библиотекой.Я не вижу причин, по которым эта ошибка во время выполнения будет генерироваться для базовых процедур VB6, таких как CLng
или Round
.
Dim X as Integer
Dim Y as Single
Dim result as Long
X = GetX() ' Returns 0
Y = GetY() ' Returns 0.75
result = CLng(X / Y) ' throws runtime error 438
result = Round(X / Y) ' throws runtime error 438
Есть ли что-то очевидное, чего я здесь не вижу?
РЕДАКТИРОВАТЬ:
Я подтвердил, что проблема заключается в проекте, а не код.Похоже, что эта ошибка / ситуация является особенностью среды разработки, предлагаемой Proficy iFIX 8.1 от General Electric.