2014-02-06 50 views
2

我想傳遞從中使用CallByName函數的源表單。不知何故,它不會以我在那裏發佈的方式工作。在vb6下傳遞我作爲CallbyName funktion中的參數有什麼問題?

Private Sub Command1_Click() 
    'CallByName Form1, "TestFkt", VbMethod, Nothing, Command1 '<--- works 
    CallByName Form1, "TestFkt", VbMethod, Me, Command1   '<--- Problem 
End Sub 

Public Function TestFkt(ParamArray myParams()) 
    Dim oForm As Object 
    Set oForm = myParams(0) 

    ' ... 
End Function 

從VB6報告的錯誤是運行時錯誤450: 「Falsche Anzahl一個Argumenten奧德ungültigeZuweisungつeiner Eigenschaft」。我認爲第一個原因不是問題,因爲上面的註釋行起作用。似乎更多的是,問題與關鍵字我有關。

有人有一些想法嗎?

+2

谷歌翻譯== 「的參數或無效的屬性賦值打錯了」。 – Plutonix

回答

3

它不是CallByName

TestFkt Form1, Me 

也不是有效的使用ParamArray當你無法通過Me。這是Me的一個特點,這是一種特殊情況。

解決方法:

Dim fMe As VB.Form: Set fMe = Me 
CallByName Form1, "TestFkt", VbMethod, fMe, Command1 
相關問題