從我所瞭解的有關運行時錯誤438,它表示二進制兼容性問題,如引用的ActiveX庫與分佈式庫不兼容。我可以看到沒有理由爲什麼這個運行時錯誤會產生基本的VB6程序,如CLng
或Round
。運行時錯誤438當使用VB6程序
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提供的開發環境特有的怪癖。
但不管'CLng'是否將它轉換爲'Long'? 'Round'返回一個'Variant'類型,所以我沒有看到讓編譯器搞清楚演員的任何問題。 – 2011-03-18 18:21:12