注册名:

密码:

个人注册

企业注册

商务申请

商务管理平台

企业管理平台

个人管理平台

我的工控博客

中国工控网www.chinakong.com

首页 | 新闻中心 | 工控论坛 | 经验视点 | 工控商务 | 电气手册 | 工控博客 | 招聘求职 | 网上调查 | 企业中心 | 供求信息 | 资料中心 | 工控书店

所在位置:工控论坛 -- 工控机论坛 -- 工控机论坛(非专题) -- 结构与配置

中国工控网搜索:

 登陆:密码:  注册  密码

搜索:

工控机论坛(非专题)分类  

全部论题

结构与配置

数据 I/O

编程与维护

应用方案

发表人:emtronix 发表时间:2010/11/22 15:24:00  

 

 本栏论题: 利用COM组件远程更改设备配置文件  [1277]

    COM(Component Object Model),即组件对象模型,是微软公司开发的一种新的软件开发技术,Microsoft的许多技术,如ActiveX、DirectX、以及OLE等都是基于COM而建立起来的。COM标准包括规范和实现两大部分,规范部分定义了组件和组件之间通信的机制,这些规范不依赖于任何特定的语言和操作系统,只要按照该规范,任何语言都可以使用; COM标准的实现部分是COM库,COM库为COM规范的具体实现提供了一些核心服务。
   
    在COM模型中,对象本身对于客户来说是不可见的,客户请求服务时,只能通过接口进行。每一个接口都由一个128位的全局唯一标识符(GUID,Globally Unique Identifier)来标识。客户通过GUID获得接口的指针,再通过接口指针客户就可以调用其相应的成员函数。对象可以支持多个接口,因此对组件对象的升级可通过增加接口的办法实现,这样得到的新接口可以不影响老接口的使用。
   
   
   
    COM既提出了组件之间进行交互的规范,也提供了实现交互的环境, 因为组件对象之间交互的规范不依赖于任何特定的语言,所以COM也可以是不同语言协作开发的一种标准。
   
    有了这种跨语言设计的方法,我们就可以通过动态网页技术,也就是嵌入式主板提供的WebServer功能,利用VBScript或者JavaScript使用COM提供的接口方法,完成远程监控和远程控制功能。这样,在英创嵌入式主板上接上摄像头,就可以通过Client端浏览器进行远程监控。更有意义的是通过这种方式,还能实现远程控制。比如,通过Client端浏览器的按钮,可以实现IO控制,串口控制等。利用这种跨平台的方法,我们还可以把EVC做的工作,做成COM组件,那么像VB、C#、LaberView等就可以实现直接调用,增加了团队合作的效率。
   
    通过ASP使用FileSystemObject对象可以对服务器中的文件进行远程操作,然而,WinCE WebServer没有支持FileSystemObject对象,本文详细介绍了通过编写COM组件,完成了FileSystemObject的部分功能,这样就实现了对嵌入式Web服务器的远程文件操作。通过对英创嵌入式主板基本信息的设置,你可以了解COM组件的创建、注册、调用等技术,使你对COM组件技术有一定的认识。以下是操作的全过程。
   
   
   
    第一:建立COM组件
   
    1、新建EVC工程,选择WCE ATL COM AppWizard,工程名字为Scripting。
   
   
   
    图1 新建工程对话框
   
    2、选择支持MFC
   
   
   
    图2 新建工程向导
   
    3、通过ATL向导添加接口 Insert->New ATL Objcet…如图3所示 ,在该对话框中选择Simple Object项添加一个COM对象,点击Next按钮来设置对象名和属性,如图4所示
   
   
   
    图3 ATL Object 向导
   
   
   
    图4 ATL Object 向导属性Name选项卡
   
    对象名Names选项卡中主要包括两类输入信息:C++信息和COM信息。在这里,为了保持和ASP中FileSystemObject对象名字一致,我们输入名字FileSystemObject,其它信息会自动生成。
   
   
   
    图5 ATL Object 向导属性Attributes选项卡
   
    在Attributes选项卡中,我们要设置COM对象的底层特征。由于在CE中,目前只支持Free模型,所以,必须选中这一项,如图5所示。其它选项意义请参考相应的书籍。
   
    4、为FileSystemObject对象添加接口方法。如图6所示,选中IFileSystemObject接口,右击,在弹出的快捷菜单中选择Add Method…项,为FileSystemObject对象添加接口方法。
   
   
   
    图6 增加接口方法
   
    5、如图7所示,为接口添加方法的对话框界面,只需在Method Name输入框中输入FileExists,在Parameters输入框中输入 [in]VARIANT v1 ,[out, retval] long * pVal,然后点击OK按钮,即可添加一个FileExists方法。这里,要注意参数的数据类型,参数的数据类型可以参考http://www.vckbase.com/document/viewdoc/?id=1488
   
   
   
    图7 增加接口方法函数对话框
   
    6、添加了FileExists方法后,就要添加FileExists方法实现代码了。在ClassView选项卡中,如图8所示,双击FileExists,就可以在代码窗口添加实现代码了。具体代码见EVC工程源码。
   
   
   
    图8 添加接口函数实现函数源码
   
    7、以同样的方法,添加其它接口方法,完成FileSystemObject对象常用方法。详见源码。
   
    第二:注册COM组件
   
    COM组件编写并编译为DLL文件,只有向系统注册此组件后,其它语言才能够调用。注册的方法有两种。
   
    1、用telnet登陆开发板,用regsvr32 Scripting.dll注册
   
    2、在程序中注册。具体方法请参考Regdll EVC工程源码
   
    第三:在ASP中调用COM组件
   
    以VBScript为例,调用COM组件对象,完成对文件的操作。
   
    1、以为界的VBScript语言,是在Server端运行的语句,以作为开始结束标志的VBScript语言在Client端运行。所以,按“恢复默认值”按钮后,调用的函数以为标识。
   
    2、如果要在Server端运行的VBScript语句在客户端输出提示信息,要用如下的方法:
   
   
   
    3、创建FSO对象,并读写文件
   
   
   
    <IMG SRC="/WF_SQL_XSRF.html">

如果要回复本栏论题,请首先中国工控网www.chinakong.com

·如果你已经是中国工控网www.chinakong.com成员,请直接登录。

·如果你还不是中国工控网www.chinakong.com成员,请首先注册,注册为免费!

注册名:

密  码:

           注册中国工控网www.chinakong.com
           忘记密码

关闭该窗口

关于我们     免责声明     服务项目     广告联系     友情链接     联系方式     意见反馈     设为首页     加入收藏

 ©2023-2025 中国工控网(www.chinakong.com) 版权所有 豫ICP备17046657号

管理员信箱:chinakong98@163.com  服务热线:13525974529

洛阳博德工控自动化技术有限公司

中国    洛阳