用NET创建DLL,代码如下
Public Interface IDemo
Function Test() As String
Function ShowTime() As String
End InterfacePublic Class Demo
Implements IDemo Public Function Test() As String Implements IDemo.Test
Test = "Hello World!"
End Function Public Function ShowTime() As String Implements IDemo.ShowTime
Dim str As String
str = Now.ToString
Return str
End FunctionEnd Class
编译出Demo.dll组件 使用.net的工具 Visual Studio .Net 2003 Command Prompt,输入以下命令
Regasm Demo.dll /tlb:Demo.tlb
把Demo.dll注册为一个com对象(这个com对象不等同于普通的用VB编写的Com对象),并导出类型库Demo.tlb
将程序集添加到全局程序集缓存中
gacutil /I Demo.dll完成后,应用VB调用,代码如下,Private Sub Command1_Click()Dim demo As ClsDemo.demo
Dim iDemo As ClsDemo.iDemodemo = New ClsDemo.demo
iDemo = demoDim str As String
str = iDemo.Test
MsgBox strEnd Sub为什么在
demo = New ClsDemo.demo
这句出现自动化错误的提示?
Public Interface IDemo
Function Test() As String
Function ShowTime() As String
End InterfacePublic Class Demo
Implements IDemo Public Function Test() As String Implements IDemo.Test
Test = "Hello World!"
End Function Public Function ShowTime() As String Implements IDemo.ShowTime
Dim str As String
str = Now.ToString
Return str
End FunctionEnd Class
编译出Demo.dll组件 使用.net的工具 Visual Studio .Net 2003 Command Prompt,输入以下命令
Regasm Demo.dll /tlb:Demo.tlb
把Demo.dll注册为一个com对象(这个com对象不等同于普通的用VB编写的Com对象),并导出类型库Demo.tlb
将程序集添加到全局程序集缓存中
gacutil /I Demo.dll完成后,应用VB调用,代码如下,Private Sub Command1_Click()Dim demo As ClsDemo.demo
Dim iDemo As ClsDemo.iDemodemo = New ClsDemo.demo
iDemo = demoDim str As String
str = iDemo.Test
MsgBox strEnd Sub为什么在
demo = New ClsDemo.demo
这句出现自动化错误的提示?
解决方案 »
- List1.List(0) =数据表字段的第一条记录
- 问个比较简单的DATAGRID与ADO对象绑定问题
- 100分问个ImageList API 的问题
- 求助,用VB+SQL SERVER 制作系统登录程序
- (一有正确答案,立刻结帖!!)一个有关ADO连接Oracle8i数据库的问题!!(在线等!!)
- 祝福中国奥运健儿.........
- Ms Forms 2.0 Object Library和标准控件的区别???
- 本人有一个vb程序,现在是用access数据库,我如何改用sql server数据库呢?
- vb6做的安装包,xp系统中运行到setup1.exe时提示“无法找到组件”
- 在每次单击command1控件后怎么使之发音,看看我这样为什么只能发音一次!
- 简单问题,不要笑话!
- 为什么vb的目录列表框不能显示隐藏文件夹?
2楼,怎么添加空白NEW?我试过很多方法都不行,NET下怎么掉都可以。
Public Class Demo
Public Sub New()
End Sub
End Class'2.调用CreateInstance新建对象
Public Class Demo
Public Shared Function CreateInstance() As Demo
Return New Demo
End Function
End Class
是不是应该在.NET的[COM 类]里写?
但可以:
添加新项-->COM 类;在这里写代码然后生成,.NET就自动导出了xxx.tlb并注册这个COM对象;
在VB6里引用这个xxx.tbl;就OK了
-------------------------------------------------------------------'(1)VB.NET-->类库-->类-->确定
'(2)删除class1
'(3)添加新项-->COM 类
'命名comclass1-->myhello.vb
'<ComClass(myhello.ClassId, myhello.InterfaceId, myhello.EventsId)> _
Public Class myhello#Region "COM GUIDs"
' 这些 GUID 提供该类的 COM 标识及其 COM 接口。
' 如果您更改它们,现有的客户端将再也无法
' 访问该类。
Public Const ClassId As String = "B630F166-0717-4104-A9E0-FB30F0232490"
Public Const InterfaceId As String = "2EF3C811-B545-4D54-BDA9-A50E84FB56BC"
Public Const EventsId As String = "85978B3B-BD76-4602-A7A8-E906746BD04D"
#End Region ' 可创建的 COM 类必须具有不带参数的
' Public Sub New(),否则,该类将不会注册到 COM 注册表中,
' 而且不能通过 CreateObject
' 来创建。
Public Sub New()
MyBase.New()
End Sub
Public Function SayHello() As String
SayHello = "Hello Word!"
End Function
End Class'(4)生成demo
'(5)使用.net的工具 Visual Studio .Net 2003 Command Prompt,输入以下命令
' Regasm Demo.dll(注意路径) /tlb:Demo.tlb(注意路径)----------------------------------
VB6:'引用Demo.tlb
Private Sub Form_Load()
Dim objHello As New demo.myhello
Dim msg$
msg = objHello.SayHello()
MsgBox msg, 64, "应用.NET DLL" Set objHello = Nothing
End Sub
但是从网上 查询的,应用CCM ,应用代理访问NET下DLL 怎么不可以??很晕
但是怎么不能给分呢?
不过分不分的没什么所谓啦;倒是建议LZ给1楼一个短信,呵呵