有谁知道怎么在C#中编写带事件的Com组件,然后该组件可以在VB中启用事件。
该程序我已经写好,并可以编写了普通接口函数的com,可是不知道怎么让事件在VB中显示出来,
求高人指导,或者写一些简单有代表性的代码。谢谢。
该程序我已经写好,并可以编写了普通接口函数的com,可是不知道怎么让事件在VB中显示出来,
求高人指导,或者写一些简单有代表性的代码。谢谢。
解决方案 »
- C#动态生成winForm窗体,并使用窗体控件的属性和控件事件
- 获取控件的值
- 100分 大家一起讨论下C# 里面写ActiveX插件,里面会用到很多次WebBrowser 里面内存问题
- 模板也问题,急死...
- 如何获得调用exe时传递的参数?
- 100分,急 一个盘点机器的接口,如何申明这个 dll中的 NLS_CopyFileEx 函数呢? 对应的参数类型如何处理呢?
- 100分求解:求高效的让关键字变色的方法
- (dropdownlist)SelectedItem.Text.的value和text的区别问题
- 大家好,请教如何用C#做个小的组态软件
- VC#中的DataGrid难题!!十万火急!
- 请问如何判断某个字符串是否为合法的XML?是否可以转换为XML对象?
- 高分求解:提示:连接未关闭。连接的当前状态为已打开
public delegate void ReceivedDelegate(int[] indexs, object[] value); [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface IReceivedEvent
{
void OnPanguReceived(int[] indexs, object[] value);
}
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.AutoDual)]
[ComSourceInterfaces(typeof(IReceivedEvent))]
public class ComIniDevice:IComIniDevice,IReceivedEvent
{
private Dictionary<string,SerialComm> comTable = new Dictionary<string,SerialComm>(); public event ReceivedDelegate OnPanguReceived;
我写的一部分代码如上,然后在一个成员函数里OnPanguReceived事件进行了调用。
但是在编译的时候老通不过:错误 1 找不到类型或命名空间名称“ReceivedDelegate”(是否缺少 using 指令或程序集引用?) D:\My Documents\Visual Studio 2005\Projects\ReadPangu\ReadPangu\dataAcqu.cs 38 22 ReadPangu
等,不过, 有报道说类库中声明的接口有 bug(2.0).//
你确定要实现 com 事件?
如果不用事件方式触发,那我可能只能socket了,貌似更麻烦。你说的资料我先看看
上面的那个错误是这样处理的。
组件对象要实现com事件,不是通过对事件接口的继承来实现的,而是通过特性定义源接口来实现的。