假设ChkCnd类中有如下方法:
'ChkCnd Public Sub test(nn As MSComctlLib.ImageCombo,cc As ChkCnd) Debug.Print "nncc" & m_lngFatherId End Sub
在其他模块要用callbyname调用这个test方法的话,就这么些:
Public Sub testcall() Dim cckk As New ChkCnd Dim a As New MSComctlLib.ImageCombo Call cckk.test(a,cckk) Call CallByName(cckk,"test",VbMethod,a,cckk) Set a = Nothing Set cckk = Nothing End Sub
注意,最后两个参数的传法,是直接把相应的对象参数传进去,有几个就传几个,VB自己会处理内部的变体转换。它的callbyname函数声明里,写的是args()可选的:变体型(数组)。