[C#]C++调用dotNet组件的步骤
来源:互联网 发布:蒙牛 伊利 知乎 编辑:程序博客网 时间:2024/05/21 22:45
郑昀记录 200409
C#写的组件,一般C++无法调用。除非在C#中这么做:
第一步,修改HTMLParser工程属性:
Build信息页中“Register for COM interop”设置为True。
第二步,在class特意声明:
namespace HTMLParser { [Guid(" [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] public interface _ParseHTML { [DispId(1)] String GetVersion(); [DispId(2)] String GetLastError(); [DispId(3)] String ParseFile(String strRegularExpression); } [Guid("C [ClassInterface(ClassInterfaceType.None)] [ProgId("HTMLParser.ParseHTML")] public class ParseHTML : _ParseHTML {。。。 |
这样,就能够像调用一个普普通通的COM组件一样了。
当然在Visual C++调用该组件时也需要第三个技巧:
/////////////////////////////////////////////////// /// /// 对于这种特殊的C#写的COM组件,必须以特殊方式调用 HTMLParser::_ParseHTML *com_ptr_Parser; HTMLParser::_ParseHTMLPtr pPaser(__uuidof(HTMLParser::ParseHTML)); com_ptr_Parser = pPaser; _bstr_t bstrXMLFilePath = com_ptr_Parser->ParseFile( _bstr_t(strRegularExpression.c_str())); |
更多信息参见《Creating a CCW for COM enabled non .NET applications》
(Nick Parker http://www.codeproject.com/dotnet/nettocom.asp)。
- [C#]C++调用dotNet组件的步骤
- [C#]C++调用dotNet组件的步骤
- [C#]C++调用dotNet组件的步骤
- [C#]C++调用dotNet组件的步骤
- [C#]C++调用dotNet组件的步骤
- [C#]C++调用dotNet组件的步骤
- [C#]C++调用dotNet组件的步骤
- C++调用C#组件的制作过程
- [.NET][C#]dotNet使用WSE3.0调用java的web服务
- [Dotnet][C#]Dictionary的foreach使用KeyValuePair
- python调用C语言步骤
- C++调用DotNet类库实现ISAPI Filter(C#)
- C#调用C++COM组件
- 最简单的Java调用C/C++代码的步骤
- c,c++,MFC和dotNet的简单发展史
- C/C++中调用SQLITE3的基本步骤
- JNI C调用自己成功的详细步骤
- C/C++中调用SQLITE3的基本步骤
- VB.NET在窗体上添加任意动态控件
- jarhoo是一个很棒的地方
- [Regex]ASP.NET 中的正则表达式-微软速成课程
- [Regex]笑容的正则表达式大全
- [应用案例]移动短信平台的推广建议
- [C#]C++调用dotNet组件的步骤
- c++中关于enum的特殊用法
- c++中关于enum的特殊用法
- [Regex]Greta不支持“Named Groups”特性
- 我的“普鲁斯特问卷”
- 制定计划的几个技巧
- [C#][正则表达式]寻找匹配的Groups的几种方法
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- 新闻组搜索技术讨论的利器