VB.NET下如何编写ActiveX控件?

swordbroken 2007-05-15 10:44:09
项目中需要写一个控件,同时给.NET和VB6调用,想了想可能只能用ActiveX了吧?
网上找了找只有C#的例子,没找到VB.NET的,
可是GUID等的语法等不怎么会用,谁有现成的例子啊?
还有C#的例子里实现了一个IObjectSafety接口,不大明白.

下面是C#的例子:
http://blog.csdn.net/iwainfo/archive/2006/04/06/653141.aspx
...全文
757 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
swordbroken 2007-05-16
  • 打赏
  • 举报
回复
要在VB里调用COM的事件,.NET里需要以下的处理:
首先,定义一个Interface,里面有一个和事件相同参数和名称的方法(例子里是PersonEvents),指定如下的属性

Public Delegate Sub PersonEventHandler( ByVal name As String )

' 下面的声明是指定为IDispatch接口
<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)> _
Public Interface PersonEvents
  Sub NameChanged( ByVal name As String )
End Interface

Public Class Person

  Public Event NameChanged As PersonEventHandler
....
End Class


 然后用ComSourceInterfaces属性指定Class的Interface


Public Delegate Sub PersonEventHandler( ByVal name As String )

<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)> _
Public Interface PersonEvents
  Sub NameChanged( ByVal name As String )
End Interface

<ComSourceInterfaces("DotNetCOMTest.PersonEvents, DotNetCOMTest")> _
Public Class Person

  Public Event NameChanged As PersonEventHandler


 ComSourceIntarfaces属性値的参数有两个,第一个是指定事件处理的Interface名,第二个是Interface存在的Assembly名
swordbroken 2007-05-16
  • 打赏
  • 举报
回复
已经解决,只要COM就可以了


事件的调用是难点,现在也已经解决,谢谢各位
孟子E章 2007-05-15
  • 打赏
  • 举报
回复
http://www.vbdotnetheaven.com/UploadFile/dsandor/ActiveXControlInVBdotNET04112005081747AM/ActiveXControlInVBdotNET.aspx


Writing an ActiveX Control in VB.NET
cqq_chen 2007-05-15
  • 打赏
  • 举报
回复
不能在vb6下调用吧!
swordbroken 2007-05-15
  • 打赏
  • 举报
回复
那VB6里调用怎么办呢?
真相重于对错 2007-05-15
  • 打赏
  • 举报
回复
.net 写的不是真正的activex
只是用com对.net 的封装
swordbroken 2007-05-15
  • 打赏
  • 举报
回复
net_lover(【孟子E章】) :
那个例子也只是有COM的实现,可是我要实现 的是控件,
因为需要一个事件接口的输出,要不用控件的话,VB6里怎么调用事件里啊
swordbroken 2007-05-15
  • 打赏
  • 举报
回复
CathySun118(斯年)
你的链接里的页面都找不到
孟子E章 2007-05-15
  • 打赏
  • 举报
回复
在.NET时代,语言本身已经没有本质区别了,只是写法不同,使用类都是一样的。
http://www.developerfusion.co.uk/utilities/convertcsharptovb.aspx

Convert C# to VB.NET
CathySun118 2007-05-15
  • 打赏
  • 举报
回复
http://book.hackbase.com/asppost6/web28952.htm
swordbroken 2007-05-15
  • 打赏
  • 举报
回复
专家的方法貌似不能用啊
magicbacon 2007-05-15
  • 打赏
  • 举报
回复
瞻仰:尊敬地看,是指对死者进行庄严地看。

用法:就是别用到活人身上就好。

词性:褒义词。
xfyxq 2007-05-15
  • 打赏
  • 举报
回复
我是来瞻仰钻石的......

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧