使用com.visible的VB6和VB.NET互操作性

时间:2014-04-08 20:45:39

标签: vb.net vb6 com-interop

请参阅以下代码:

   Imports System.Runtime.InteropServices  
        Public Class TestClass
            <ComVisible(True)> _
            Public Function Hello() As String
                Return "Hello Ian"
            End Function

            Public Function Goodbye() As String
                Return "Goodbye Ian"
            End Function   
    End Class

我使用Regasm创建了类型库,并在VB6项目中添加了对TLB的引用。 VB6的代码如下:

Private Sub Form_Load()
Dim tc As TestClass
Set tc = New TestLibrary.TestClass
MsgBox (tc.Hello)
MsgBox (tc.GoodBye)
End Sub

我不明白为什么邮件会打印出值:tc.Goodbye,因为这是不可见的。

我相信这是因为默认值为true。有没有办法将默认值设置为false。

0 个答案:

没有答案