我是VB6的新手并且传播。我的VB项目正在使用spread。在表单中,只要进行了扩展初始化,VB 6就会抛出编译错误,因为“By Ref Argument Type Mismatch”错误“。是的,因为传播问题?我从已经存在的vb项目中删除了一些功能所以是因为我可能已经注释掉了一些功能。请点赞。提供你宝贵的建议。谢谢。我在windows 7中运行应用程序
答案 0 :(得分:5)
" ByRef参数类型不匹配"将参数传递给使用ByRef
(默认值)且数据类型与预期不匹配的函数时发生错误。
Private Sub MyMethod(ByRef Value As String)
...
End Sub
Private Sub OtherMethod()
Dim Value As Integer
MyMethod Value
End Sub
请注意,Value声明为Integer
,但参数声明为String
,因此不匹配。
要么更正要匹配的数据类型(哪种方式取决于它们是什么以及它们的用途),将参数更改为ByVal
,或两者都做(除非您明确要使用{{1},否则最佳选项})。
如果主叫代码不是你的,那么ByRef
可能会被忽略,导致VB6默认为By...
,即使它不是故意的。