我用C#做了一个组件DllTest在VB中调用。在VB引用中添加DllTest.tlb文件,使用以下命令:
Dim obj As Object,i as integer
Set obj = Me.Controls.Add("DllTest.UserControl1", "obj") '控件名为DllTest
With obj
.Left = 0
.Top = 0
.Width = 6000
.Height = 4000
.Visible = True
.Show
End With
'i=obj.add(2,3) '访问控件的公共函数
如果不访问控件方法,如“i=obj.add(2,3)”这句, 在VB运行后能看到控件界面,各种鼠标键盘操作也能正常响应,只要一加“i=obj.add(2,3)”就是无法调用控件的函数,一调用就提示“对象不支持该属性和方法”。
另外,如果在VB中这样写:
Dim obj As DllTest.UserControl1 ,i as integer
Set obj= New DllTest.UserControl1
With obj
.Left = 0
.Top = 0
.Width = 6000
.Height = 4000
.Visible = True
.Show
End With
i= obj.Add(2, 3) '访问控件的公共函数
这样可以访问控件函数,I的返回值为5,但控件界面无法在VB窗内显示。