当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 接口的限制:COM要求客户和服务器高度的分离,这已经由接口实现了
 

 

    摘要:目 录 一、摘要……………………………………………………………………......
    摘要: 目 录 一 引言…………………………………………………………………&#......


在ATL DLL中传递C++对象
接口的限制:

    com要求客户与服务器高度的分离,这已经由接口实现了,但是现在问题是,接口方法只提供了有限的几种数据类型. 如果接口是基于idispatch的,我们的选择更加有限.请记住这些限制,  c++对象只在下面几种情况下可以传递: 【程序编程相关:Eclipse下集成OpenOffice

【推荐阅读:JBoss-IDE AOP 簡介 (翻譯

    1. 客户与服务都是vc编译的; 【扩展信息:安装 PrintManager 和 SQ

    2. 他们必须有共同的对象的定义,比如相同的头文件;

    3. 通过传递c++对象简化应用的设计;

    4. 在分布式环境中,需要注意你的com必须具备远程激活, 本地/远程透明性, 安全性登方面的特性.

下面是一个例子:

    1. 生成一个atl  dll服务器

    2. 添加一个继承于cobject的类.

    3. 在类的头文件中加上declare_serial

    4. 在类的cpp文件中加上implement_serial

    5. 重载serialize方法

// 你的csimpleobj类看起来这样子的

class csimpleobj : public cobject { declare_serial( csimpleobj ) public: // constructor and destructor csimpleobj(); virtual ~csimpleobj(); // 设置内部的字符串

void setstring( cstring csdata ); // 用于串行化你的数据

virtual void serialize(carchive& ar); // 显示数据

void show(); private: cstring m_strdata;//这里定义一个字符串对象


...   下一页
    摘要:目 录 摘要………………………………………………………………………R......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE