////////////////////////////////////////////////////////////////////////////////////////////下面是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"
// CMemSTDMETHODIMP 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
// 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"
// CMemSTDMETHODIMP 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
解决方案 »
- NiPoint3 m_Zero(0,0,0); 这种形式的创建m_Zero变量是否也需要delete掉?
- 结构体做为成员变量编译通不过的问题?
- 请问一下如何遍历飞信主界面里的各种控件?谢谢
- 32位程序在64位系统上为何不能正常运行
- 如何实现在按钮的左边放置位图,右边为命令提示文字。。。。。。
- 创建一个简单的ActiveX控件
- 请问如何在对话框时响应键盘?
- delphi与vc++之间的dll调用, 谁做过的请进?
- 高分求救 一个visual c++编译的问题。 真的很急!很急!很急!
- ATL 编写的 COM 的 dll , VB 如何互传字符串,BSTR 如何使用,请大家帮忙
- 请问如何生成 .map文件
- 求一个软件!! 100分相送!
set eve = mm