可以直接引用的嘛,当然仅限于能用new 创建的对象才能用。 比如:WinSock,你可以在工程中引用MSWINSCK.OCX,然后可以 Dim WithEvents xxx As Winsock Private Sub Form_Load() Set xxx = New Winsock End Sub 再然后和用控件一回事。 当然象TextBox就不行了,因为它是不能用new来创建新实例的。
忘了你是用在 Dll 里面了, Private Sub Class_Initialize() Set xxx = New Winsock End Sub 这样行的。
原因:
1、在VB中使用控件,一定要用容器。而 Active DLL 没有容器。
2、在VB中,控件不能动态创建(控件数组除外)。
3、我还没想好……
在你的ActiveDll里面加一个Form,然后添加一个Winsock控件,然后把winsock控件的相关属性和方法声明为Public
比如:WinSock,你可以在工程中引用MSWINSCK.OCX,然后可以
Dim WithEvents xxx As Winsock
Private Sub Form_Load()
Set xxx = New Winsock
End Sub
再然后和用控件一回事。
当然象TextBox就不行了,因为它是不能用new来创建新实例的。
Private Sub Class_Initialize()
Set xxx = New Winsock
End Sub
这样行的。