• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 各位高手们,帮帮忙,为什么我在VCnet中写的com事件,在VBnet中使用不成功

各位高手们,帮帮忙,为什么我在VCnet中写的com事件,在VBnet中使用不成功

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了各位高手们,帮帮忙,为什么我在VCnet中写的com事件,在VBnet中使用不成功等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 各位高手们,帮帮忙,为什么我在VCnet中写的com事件,在VBnet中使用不成功
描述:

下面是VC的代码
// Mem.h : CMem 的声明
#pragma once
#include "resource.h"       // 主符号
// IMem
[
object,
uuid("47A631DA-EF71-44ED-99AC-3E8BDD6FBF7E"),
dual, helpstring("IMem 接口"),
pointer_default(unique)
]
__interface IMem : IDispatch
{
[id(1), helpstring("方法Do")] HRESULT Do(void);
};
// _IMemEvents
[
dispinterface,
uuid("08AFA06D-ABC4-4CA0-8037-4A807C914A7D"),
helpstring("_IMem事件接口")
]
__interface _IMemEvents
{
[id(1), helpstring("方法GoGo")] HRESULT GetData(void);
};
// CMem
[
coclass,
threading("apartment"),
event_source("com"),
vi_progid("test01.Mem"),
progid("test01.Mem.1"),
version(1.0),
uuid("087AED3F-37E1-44CC-BF1A-E72556B27638"),
helpstring("Mem Class")
]
class ATL_NO_VTABLE CMem : 
public IMem
{
public:
CMem()
{
}
__event __interface _IMemEvents;
DECLARE_PROTECT_FINAL_CONSTRUCT()
HRESULT FinalConstruct()
{
return S_OK;
}
void FinalRelease() 
{
}
STDMETHOD(Do)(void);
};
// Mem.cpp : CMem 的实现
#include "stdafx.h"
#include "Mem.h"
// CMem
STDMETHODIMP CMem::Do(void)
{
// TODO: 在此添加实现代码
__raise GetData();
return S_OK;
}
下面是VB的代码
Public Class Form1
    Inherits System.Windows.Forms.Form
#Region " Windows 窗体设计器生成的代码 "
……
#End Region
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        mm.Do()
    End Sub
End Class
Module Module1
    Public WithEvents eve As test01.CMemClass
    Public mm As New test01.CMemClass()
    Public Sub eve_GetData() Handles eve.GetData
        MsgBox("good")
    End Sub
End Module


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 各位高手们,帮帮忙,为什么我在VCnet中写的com事件,在VBnet中使用不成功我这个问题已经提了好多编了,难道没有高手了吗
  • 各位高手们,帮帮忙,为什么我在VCnet中写的com事件,在VBnet中使用不成功

相关文章

  • 2017-06-04 关于组件中的Char
  • 2017-06-05 API函数地址的修改,帮助!!!!
  • 2017-06-04 怎样解决在PB7读取到OCX控件内部汉字数据残缺不全的问题?
  • 2017-06-05 EVC编成遇到问题
  • 2017-06-04 tempRs->QueryInterface__uuidof_Recordset,voidm_Recordset编译没错,vb调用报自动化错误
  • 2017-06-04 为何控件使对话框无法显示??
  • 2017-06-05 ActiveOCX中弹出窗口
  • 2017-06-05 有没有高手谈一下学习多线程编程要经历什么阶段?
  • 2017-06-04 怎么纠正这个链接错误啊?unresolvedexternalsymbol_WinMain@16
  • 2017-06-05 com组件带窗口

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 请教关于dll中函数内的static变量
    • ActiveX和Dll?
    • 为什么GetModuleHandle"f:\\temp\\bin\\bin\\webPickerdll"总是返回为0
    • ATL引用其他文件中结构体
    • windows流媒体,directshow还是主流么?
    • VC串口问题
    • 求助如何创建10个CWinThread,以及如何删除这些线程。
    • vc++与网页访问,一个比较怪的问题?
    • 串口通信问题
    • 我在程序中跟一个线程,但是跟不到,怎样才能一步一步的跟踪线程呢?请看我的程序代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有