2014-02-06 1 views
2

Я хочу передать исходный текст, из которого я использую функцию CallByName. Так или иначе, это не работает, я публикую его там.Что случилось с передачей меня в качестве параметра в функции CallbyName под vb6?

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ültige Zuweisung цу етег Eigenschaft". Я думаю, что первая причина не проблема, потому что вышеперечисленная строка выше. Кажется, что проблема связана с ключевым словом me.

У кого-нибудь есть идея?

+2

Google Translate == "Неверное число аргументов или присвоение недействительного имущества" – Plutonix

ответ

3

Его не CallByName:

TestFkt Form1, Me 

также не действует, как вы не можете пройти Me при использовании ParamArray. Это особенность Me, которая является чем-то особенным.

Обход:

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