Rtxclient
Download
1 / 38

RTXClient ?????? - PowerPoint PPT Presentation


  • 186 Views
  • Uploaded on

RTXClient 插件开发入门. 目 录. RTXC 概述 RTX Client 系统架构 RTX Client 对象模型 RTXC 插件应用 RTX Client 插件描述 - RTXC 插件应用场景 RTXC 插件开发 开发前准备 插件相关文件及接口说明 创建插件工程 RTX 界面上的体现 RTXC 事件的使用方法 RTX 数据传输 扩展 TAB 插件打包发布 插件打包 插件安装. RTXClient. 最新版本 : RTXC2007 正式版 SDK 版本: RTXC2007 SDK 正式版 开发语言: VC6.0

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'RTXClient ??????' - sef


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Rtxclient

RTXClient 插件开发入门


Rtxclient
目 录

  • RTXC 概述

    • RTX Client 系统架构

    • RTX Client 对象模型

  • RTXC 插件应用

    • RTX Client 插件描述

      - RTXC插件应用场景

  • RTXC 插件开发

    • 开发前准备

    • 插件相关文件及接口说明

    • 创建插件工程

    • RTX界面上的体现

    • RTXC事件的使用方法

    • RTX数据传输

    • 扩展TAB

  • 插件打包发布

    • 插件打包

    • 插件安装


Rtxclient1
RTXClient

最新版本:RTXC2007 正式版

SDK版本: RTXC2007 SDK 正式版

开发语言:VC6.0

构建方式:COM/ATL组件

代码量: 约50万行

开发人数:10人

架构特性:平台化、模块化、

组件化


Rtxclient
RTXC 概述 ---- 系统架构


Rtxclient
RTXC 概述 ---- 对象模型


Rtxclient
RTXC 插件应用

  • RTXC插件是RTX Client内系统功能的扩展,让第三方开发者根据实际需求,在RTX Client平台上定制开发一些功能;

  • 第三方开发者只需要实现几个简单的接口函数,就可以实现跟RTXC进行数据交互;

    RTXC提供了一套基于COM的扩展接口,来实现在平台内核中对插件扩展功能的支持。


Rtxclient
RTXC 插件应用

RTXC是提供了一个插件运行的平台,但对插件的功能没有做任何的限制,所以开发者可以根据实际情况开发任意插件;


Rtxclient
RTXC 插件开发 ---- 开发前准备

需要安装如下文件:

1、RTX Client2007 正式版

2、RTX Client2007 SDK 正式版

需要阅读的文件:

RTX Client SDK帮助.CHM

RTXClient 插件开发入门 .DOC


Rtxclient
RTXC 插件开发 ---- 相关文件

RTXC提供了一些头文件和TLB文件给开发人员调用。以下是一些主要的文件:


Rtxclient
RTXC 插件开发 ---- 插件接口


Rtxclient
RTXC 插件开发----插件接口函数

IRTXCPlugin接口函数:


Rtxclient
RTXC 插件开发 ---- 创建插件工程

利用向导的方式创建插件工程;

需要将RTXC SDK目录中wizard目录下的

RTXCModuleAW .awx

文件拷至VC安装目录

Microsoft Visual Studio\COMMON\MSDev98\Template\


Rtxclient
RTXC 插件开发 ---- 创建插件工程


Rtxclient
RTXC 插件开发 ---- 创建插件工程


Rtxclient
RTXC 插件开发 ---- 创建插件工程


Rtxclient
RTXC 插件开发 ---- 创建插件工程


Rtxclient
RTXC 插件开发 ---- 界面上体现

1、动态菜单


Rtxclient
RTXC 插件开发 ---- 界面上体现

自定义第三方

设置


Rtxclient
RTXC 插件开发 ---- 界面上体现

自定义“您可以”区域

自定义消息

类型

自定义TAB

自定义图标


Rtxclient
RTXC 插件开发 ---- 事件

RTXC事件使用纯分派接口。为了方便编写事件接收器,RTXC提供了一套RTXC_EVENT_SINK 帮助宏。同时,使用这套宏封装了 RTXC的所有事件,将 RTXC的 COM 事件通通转为 C++ Events 的接收器对象,避免重复编写事件接收器。

RTXC的事件可以分为两种:内核事件和用户自定义事件。

用户自定义事件是通过内核中的事件中心来实现事件的中转,用户在插件中向事件中心注册一个自定义的事件,就可以在其他的插件中捕获到该事件。


Rtxclient
RTXC 插件开发 ---- 事件

用户资料更改事件

用户状态更改事件

… …


Rtxclient
RTXC 插件开发 ---- 数据传输

RTXC插件中数据传输可以分为三种,其特点总结如下:


Rtxc rtxc
RTXC 插件开发 ---- RTXC传输通道

RTXC的传输通道是采用TCP的传输,所有的数据都是通过服务器中转,所以传输数据稳定可靠,但是效率比较低;适合于传输量比较小的数据。

RTXC传输的数据都需要通过IRTXCData来封装,然后通过

IRTXCModuleSite::SendData来发送数据。执行完发送数据之后,可以通过OnSendDataResult事件来得到发送数据的结果。

接受到数据后,就触发消息 OnDataReceived ,用户可以在该消息的触发函数中处理接受到的数据;

另外, OnDataReceived 函数中只能得到能标识 IRTXCData 的KEY值,用户需要通过该KEY值, 通过 IRTXCModuleSite :: GetData 的方式得到当前接受到的IRTXCData 数据包。


Rtxc irtxcdata
RTXC 插件开发 ---- IRTXCData

任意数据封装的容器,通过任意的KEY值来设置或者获取容器内对应的数据,用于在各模块、编成环境之间进行传递数据。

用例:

// 创建一个IRTXCData对象

IRTXCDataPtr& ptrSendData = m_ptrRoot -> CreateRTXCData();

// 设置RTXCData的内容

ptrSendData->SetString(_T("SENDER"), _bstr_t (( LPCTSTR )_T(“ Benchen ”)));

ptrSendData->SetLong(_T("INDEX"),(long)0);


Rtxc p2p
RTXC 插件开发 ---- P2P传输通道

P2P传输通道是采用UDP传输,实现了用户与用户之间进行点对点传输的模式,不经过服务器中转,而且效率比较高,用户可以用来进行大数据量的传输。


Rtxc tab
RTXC 插件开发 ---- 扩展TAB

第三方开发者可以在插件中实现自定义RTXC面板上的TAB,并且可以在新增加的TAB页面中,定制一些自己的业务;用户实现扩展TAB必须包含以下几类文件:

除此之外,这些文件还需要跟一个插件文件一起发布。


Rtxc exttab xml
RTXC 插件开发 ---- ExtTab.XML

扩展TAB的实现原理是在RTXC启动的时候,会到插件目录下去查找Tabs文件夹下的ExtTab.XML文件,根据该文件的配置,在RTXC的面板上添加一个TAB,并把该TAB显示出来。一个ExtTab.XML文件的格式如下:

<?xml version="1.0" encoding="gb2312"?><Root><ExtTab GUID="{A86882ED-3AA1-45BF-AEDF-1A14C7E6F28F}"

Title="扩展面板1" IconFile="exttab.bmp" Enabled="1">exttab.ocx</ExtTab></Root>


Rtxc tab1
RTXC 插件开发 ---- 扩展TAB接口

用户在开发扩展TAB的时候,需要实现IRTXPluginTab和IRTXPluginFrameSize 接口函数,来设置TAB的大小以及与RTXC的内核进行交互。

IRTXPluginTab接口

IRTXPluginFrameSize接口


Rtxclient
RTXC 插件打包发布

插件开发完成后,需要采用 RPIPackager .EXE 对插件文件进行打包,打包完成之后,生成 RPI 后缀的文件,该文件自动跟客户端的RPISetup .EXE文件进行关联,并通过该文件自动的将插件部署到RTXC里。


Rtxclient
RTXC 插件打包发布

此处可能出现的问题:

1、GUID不是插件COM文件的GUID,所以会不匹配;

2、插件DLL文件缺少其相关联的DLL文件,建议采用Depends查看。

3、插件接口错误;在没有采用向导的情况可能会出现。


Rtxclient
RTXC 插件打包发布


Rtxclient
RTXC 插件打包发布


Rtxclient
RTXC 插件打包发布


Rtxclient
RTXC 插件打包发布


Rtxclient
RTXC 插件打包发布


Rtxclient
RTXC 插件打包发布


Rtxclient
RTXC 插件打包发布


Rtxclient
后 语

本文档描述的功能点,只涉及到一些比较常用的SDK功能,并不包括所有 RTXC SDK的功能,开发者如果需要了解更多 RTXC SDK的功能,请参看《RTXClient SDK帮助文档》。谢谢!

RTXC 开发组 2008.3.17


ad