• 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 > 怎么调试这个C++COM组件呢?

怎么调试这个C++COM组件呢?

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

佚名通过本文主要向大家介绍了c++ com组件开发,c++组件存在异常,c++组件修复,c++组件,c++组件修复工具等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 怎么调试这个C++ COM组件呢?
描述:

我用vc++为.NET写了一个在.NET中调用的COM组件。怎么调试这个C++ COM组件呢?


解决方案1:

jjj

解决方案2:

请试试我的方法:用.NET创建一个基于对话框的项目->在对话框上添加一个按钮->点击按钮.
1.在对话框源文件声明:
#import "....\\Debug\\AptUpdataFile.dll" no_namespace//组件本地磁盘路径
const IID IID_IUpdateFile = {0x66FC7499,0x5FE7,0x40CF,{0xA5,0x2E,0x4E,0x2C,0x6C,0x10,0x9C,0x1B}};
const CLSID CLSID_UpdateFile = {0x41FF0FBA,0x90A8,0x4DC2,{0xA3,0x85,0xAD,0xFB,0x7C,0x7B,0x3D,0xB8}};//组件接口ID,在组件中找
#include <atlbase.h>
2.在事件函数OnClike..下书写:
::CoInitialize(NULL);
IUpdateFile* p;//组件接口
::CoCreateInstance(CLSID_UpdateFile,NULL,CLSCTX_INPROC_SERVER,\
IID_IUpdateFile,reinterpret_cast<void**>(&p));
try
{
BSTR dd1,dd2;
dd1=L"update.xml";
dd2=L"E:\vc\AptUpdataFile\AptUpdataFile\Debug";
p->UpdateFile(dd1,dd2);//通过接口调用组件函数,从而调试组件
}
catch(_com_error e)
{
        MessageBox(NULL,e.Description(),NULL,0);
}
p->Release();
::CoUninitialize();

解决方案3:

引用 6 楼 kingmax54212008 的回复:
老兄,
.NET是托管语言。
我用其他语言比如,从C++写的程序Exe去调用这个VC++ COM当然可以。
现在问题是写给.NET的C++COM.这么办是个不行的!

确信COM dll和.NET exe工程在相同的solution中,
然后, 试下在.NET工程中,设置COM dll工程的调试目标是当前的.NET exe,如果还不行,
试下找下'debugging unmanaged code' 选项...
if it still doesn't work, i have no idea , sorry :)

解决方案4:

引用 3 楼 kingmax54212008 的回复:
我是这么做了。但是对.NET程序的Exe.这么设置没有用。根本不进入,C++ COM设置的断点里去。

或者,添加你的COM工程进入.NET solution,然后,调试...

解决方案5:

应该和其他VC++的调试方法一样吧,
在VC++ COM工程里注册你编译出来的COM组件,然后指定调试程序为你的.NET应用程序,这样应该就可以调了.


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

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

  • 谁有《COM原理与应用》第三章的纯C++完整例子?
  • 求使用C++开发ASP组件相关的书籍
  • C++写COM组件,IClassFactory::LockServer()如何使用?
  • 使用c++com,如何找出一个网页中所有的电话号码,并将其替换掉?急!
  • 关于C++调动COM组件
  • 要一段COM源代码(必须用C/C++写)
  • 怎么才能是C++写的Com组件在C#中使用呢
  • C++COM组件怎么给方法加异常
  • [难]如何用纯C++写一个进程外的COM?搞不定了!!
  • 如何使用C++处理FLASH组件中的几个事件?

相关文章

  • 2017-06-04 Word的docx文档如何实现控件数据的永久化
  • 2017-06-04 如何给控件传递LPCTSTR的参数!!
  • 2017-06-05 我写了#include"ioh",但为什么还是不能调用getosfhandle?
  • 2017-06-04 INTERFACE接口的clsid是怎么一回事?
  • 2017-06-04 高分求助:请专家推荐几本ActiveX方面的好书
  • 2017-06-04 ATL建立COM项目中的dll和lib文件区别
  • 2017-06-04 求1本activeX的电子书---ActiveX控制元件彻底研究
  • 2017-06-04 求教:LPDISPATCH的运行时类型识别
  • 2017-06-05 MFCActiveX中如何同时绘两路视频,并相互不影响?
  • 2017-06-04 关于COM网络通信的问题,无限感激

文章分类

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

最近更新的内容

    • 我要写一个控件,要在网页里调用,我现在能按一个按钮才能跳出界面,怎么才能直接在网页里出现界面,就像程序嵌在网页里一样
    • 在使用插件时,用本地的地址就可以,用网络的地址就不行了。。
    • ActiveX莫名其妙不能注册了,这是什么原因啊。
    • vcnet中关于用ATL工具中使用"添加实现连接点"功能使其实是"添加连接点",从而导致错误!不知有哪位朋友知道如何改正?
    • 不知错在何方
    • 在ACTIVEX中LOAD一个MFCDLL含有一个dialog,当关闭浏览器时出现Assertion错误
    • _beginthreadex的菜鸟问题急!
    • 怎样在dll里导出模版函数类
    • 想用activex做个东东——当IE打开sxw时
    • 到底是为什么?提提建议也行)

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

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