2
這是我所面臨的我的時間更離奇的問題之一,它的最佳像許多問題在傳統的ASP爲例進行說明:經典ASP傳遞對象到VB6 COM DLL的方法 - 類型不匹配
Set thing = Server.CreateObject("ClassName") ' a C++ COM dll class
Set tool = Server.CreateObject("OtherClassName") ' a VB6 COM dll class
這不起作用
tool.Method thing
這確實工作
Set session("thing") = thing
tool.Method session("thing")
當它不工作,我收到了TY pe mismatch,我非常困惑,不知道從哪開始說實話。任何指針的人?
該方法的參數不是一個byref,但我認爲你的想法,從會議傳遞它可以修改如何表示對象的vtable類型方面值得研究。謝謝! –
VB6 COM dll方法未定義ByVal或ByRef(默認情況下不使用ByVal?),當我將其更改爲ByVal時,它可以與會話或本地定義的變量一起使用!感謝YMS的建議,我不知道是否有一種方法來跟蹤參數類型(只是出於興趣) –
我認爲VB默認COM對象和字符串(VT_BSTR)是ByRef,雖然我找不到引用確認此聲明。 – yms