yoully
路人甲
路人甲
  • 注册日期2003-09-04
  • 发帖数265
  • QQ
  • 铜币418枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2202回复:8

超初级问题--sdk与activex具体区别哪里?

楼主#
更多 发布于:2004-10-09 18:59
<P>麻烦高手给概括一下。。。。</P>
<P>偶初学--想先有个意识。。。。</P><img src="images/post/smile/dvbbs/em12.gif" />
喜欢0 评分0
理想已成往事。。。。。
<img src="http://bbs.matwav.com/upload/2004/10/10/56945011.jpg">
yoully
路人甲
路人甲
  • 注册日期2003-09-04
  • 发帖数265
  • QQ
  • 铜币418枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-10-11 10:33
<P>没人理啊。。。。</P><P>55555555555。。。</P><P>伤心ing</P><P>焦急ing</P>
理想已成往事。。。。。
<img src="http://bbs.matwav.com/upload/2004/10/10/56945011.jpg">
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
2楼#
发布于:2004-10-11 12:25
<P>楼上mm偶来鸟!</P><P>SDK编程就是直接调用Windows的API进行编程,平时人们常说"用SDK写程序"就是指用Windows的API函数来写程序,API由上千个API函数组成(Win95的API有两千多个)。而MFC是API的封闭,结合面向对象程序设计的继承性和多态性组成一个个的"类",共由一百多个类组成。尽管MFC比SDK方便,但要深入VC,直接去学MFC却是不明智的选择。只有在熟悉了MFC的运行机制的情况下,才有可能深入下去。所以学VC最好是先学用SDK编写程序,在此期间深入掌握Windows操作系统的工作原理和各API函数的应用,然后再深入MFC。</FONT>
</FONT></P>
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
3楼#
发布于:2004-10-11 12:27
<P><FONT color=#05006c>ActiveX技术揭示</FONT> </P><P><b>1. ActiveX概要

</b>1.1. ActiveX的定义

  ActiveX是Microsoft提出的一组使用COM(Component Object Model,部件对象模型)使得软件部件在网络环境中进行交互的技术集。它与具体的编程语言无关。作为针对Internet应用开发的技术,ActiveX被广泛应用于WEB服务器以及客户端的各个方面。同时,ActiveX技术也被用于方便地创建普通的桌面应用程序。

1.2. ActiveX的内容

  ActiveX 既包含服务器端技术,也包含客户端技术。其主要内容是:

  ActiveX 控制(ActiveX Control);用于向WEB页面、Microsoft Word等支持ActiveX的容器(Container)中插入COM对象。

   ActiveX 文档(ActiveX Document);用于在WEB Browser或者其它支持ActiveX的容器中浏览复合文档(非HTML文档),例如Microsoft Word文档,Microsoft Excel文档或者用户自定义的文档等。

   ActiveX 脚本描述(ActiveX Scripting);用于从客户端或者服务器端操纵ActiveX控制和Java程序,传递数据,协调它们之间的操作。

   ActiveX 服务器框架(ActiveX Server Framework);提供了一系列针对WEB服务器应用程序设计各个方面的函数及其封装类,诸如服务器过滤器、HTML数据流控制等。

   在Internet Explorer中内置Java虚拟机(Java Virtual Machine),从而使Java Applet能够在Internet Explorer上运行,并可以与ActiveX控制通过脚本描述语言进行通信。

1.3. ActiveX与Java的比较

  ActiveX提供了一种扩展包括Java在内的任何编程语言的机制,Java的开发人员可以在Applet中使用ActiveX技术,直接嵌入ActiveX控制,或者以ActiveX技术为桥梁,将其它开发商提供的多种语言的程序对象集成到Java中。与Java的字节码技术相比,ActiveX提供了“代码签名”(Code Signing)技术保证其安全性。

<B>2. ActiveX控制和Internet
</B>
  ActiveX控制是OLE控制的更新版本。控制是建立可编程部件的主要元素。ActiveX控制可以用于所有支持COM规范的容器中,或者作为Internet控制嵌入到WEB页面中。用户访问该页面时将下载该控制并自动在本地注册。利用脚本描述语言(Script)可以在控制之间以及客户与服务器之间通过设置属性(Property)、调用方法(Method)和激活事件(Event)进行通信。

  ActiveX控制与以前的OLE控制相比,具有更少的接口,并且可以没有窗口。所有的ActiveX控制都支持IUnknown接口。

  目前,很多第三方开发商编制了各式各样的ActiveX控制。在Internet上,有超过1000个ActiveX控制供用户下载使用。在WINDOWS的SYSTEM目录下,保存有很多Windows提供的ActiveX控制。Microsoft Visual C++(以下简称VC)提供的MFC(Microsoft Foundation Classes)控制都是ActiveX控制。

  考虑到当前Internet相对较低的传输速率,设计运行于Internet的ActiveX控制时,必须考虑以下几个问题:

      控制尽可能小;
      持续存储数据(Persist Data)如何保存;
      如何在Internet上下载和安装;
      控制如何在客户端注册;

<B>3. ActiveX文档和Internet
</B>
  ActiveX文档提供了传统的嵌入对象的扩展方法。ActiveX文档对象可以包含多个页,显示在整个客户区中,并支持原有的菜单功能。与以往的嵌入对象不同的是,ActiveX文档对象不再以一个阴影方框包围来显示,而是全框架(Full Frame),并总处于激活状态。
  Microsoft Office97提供了Microsoft Office Binder,用来生成并浏览由Microsoft Word、Microsoft Excel或者用户定义的ActiveX文档等构成的复合文档,每一种文档类型都可以直接进行编辑修改。 ActiveX文档可以作为对象嵌入到WEB网页中,在WEB上发布。

<B>4. ActiveX脚本描述语言
</B>
  利用VBScript或者Microsoft JScript,可以向Web页面中加入可用于交互的ActiveX控制,将数据预处理或者检验过程放在客户端进行,然后将结果传往WEB服务器。

<B>5. ActiveX服务器框架
</B>
  在WEB服务器上创建扩展应用程序,动态生成WEB页面。使用MFC提供的ISAPI类可以方便地建立WEB服务器端的扩展应用程序。

<B>6. Visual C++ 5.0对ActiveX的支持
</B>
  VC++ 5.0(企业版)为Internet开发提供了完整的解决发案,其内容是:
    使用MFC或者ATL开发ActiveX控制和ActiveX文档;
    使用ISAPI设计WEB服务器端的部件;
    使用WinInet开发通过Internet存取文件的应用程序;
    使用Asynchronous Monikers生成从Internet下载数据的应用程序;
    使用ActiveX SDK开发其它类型的基于Internet的Win32应用程序,包括ActiveX Scripting Host,Microsoft WebConferencing等。

6.1. 用VC5.0开发ActiveX控制

  VC++5.0提供两个途径开发ActiveX控制:MFC和ATL(Active Template Library)。使用MFC,可以不必理会控制接口的细节,把注意力集中在控制本身的功用上,但是生成的控制比较大。而且,客户端如果要运行此ActiveX控制,必须拥有相应版本的MFC类库的DLL,否则,必须同时下载这些巨大的类库;使用ATL,由于不涉及MFC的标准类库,生成的控制相对较小,但开发者必须了解COM、OLE技术的细节。大多数情况下,可以使用MFC开发ActiveX控制,这样比较容易。而且,由于Internet Explorer 3.0提供了MFC 4.1的类库,而Internet Explorer 3.0是Windows95提供的组件,所以,只要ActiveX控制使用的是MFC 4.1或者更早的版本,多数情况下不需要下载MFC的类库。
  使用MFC开发ActiveX控制,可以用MFC ActiveX Control Wizard生成工程框架。VC会自动产生三个类:(假设MyName是控制的名字。)
CMyNameApp:从类COleControlModule派生,而类COleControlModule则派生自CWinApp;
CMyNameCtrl:从类COleControl派生,而类COleControl则派生自CWnd;
CMyNamePropPage:从类COlePropertyPage派生,而类COlePropPage则派生自CDialog;
  可以看出,这个框架与一般的MFC应用程序有些类似。开发人员的大部分工作在CMyNameCtrl中,例如用Class Wizard添加属性、方法和事件,处理显示等。
  编译生成OCX文件后,用VC提供的ActiveX Test Container测试这个控制,也可以用OLE/COM Object Viewer浏览此控制的接口信息及类型库。

6.2. ActiveX控制在WEB上的应用

  考虑到WEB的安全性,为了在服务器与客户端建立良好的信任关系,必须为每个在WEB上使用ActiveX控制设置一个“代码签名”(Code Signing)。
  在WEB页面中使用ActiveX控制,还要对之进行包装,将有关的动态连接库及信息文件压缩到一个扩展名为CAB(Cabinet)文件中。可以使用VC5.0提供的工具包装ActiveX控制。在HTML文件中,使用OBJECT标签插入ActiveX控制,并利用VBScript或者JScript访问该ActiveX控制。客户端用Internet Explorer浏览此页面时,可以自动解包该文件。出于安全性的考虑,Internet Explorer为ActiveX 部件的下载、初始化、是否拥有合法的代码签名以及是否允许Scripting等设置了不同的安全级别,用户可根据需要进行设置。下面这个例子中,使用了ActiveX控制“MSChart.OCX",当用鼠标单击此控制时,控制的标题将改变。
   ID=chart1 WIDTH=400 HEIGHT=200
   ALIGN=center>
  其中,Object ID是这个ActiveX DLL中某个类的名字。当此WEB页面被下载并显示时,MyClass类的方法LogIn将被调用,并在客户端显示LogIn对话框。

6.3. Visual Basic 6.0
  Microsoft计划于1998年9月推出Visual Basic 6.0。VB 6.0与VB5.0相比,除继续支持Internet Explorer Document Object Model(DOM)开发之外,将提供两个令人兴奋的新功能:

(1)Dynamic HTML编辑器
开发人员可以象编制普通VB程序一样,制作DHTML文件或模板。

(2)WebClasses;
开发人员可以在WEB服务器端建立与ASP文件一一对应的WebClass类,每个类都可以访问ASP对象,在Visual Basic IDE中跟踪调试,并生成 ISAPI 动态链接库。


<B>7. 小结</B>

  正如Internet和WEB技术一样,ActiveX技术的发展日新月异,新的更强大的开发工具使得服务器及客户端的应用开发、网站建设变得更简单,并容易扩展和重用。随着Microsoft的包括Windows NT、Internet Information Server、Active Server Pages以及Microsoft FrontPage、Internet Explorer等组件在内完整的Internet解决方案被广泛使用,ActiveX技术将会有更大的发展。 </P>
举报 回复(0) 喜欢(0)     评分
cl991036
管理员
管理员
  • 注册日期2003-07-25
  • 发帖数5913
  • QQ14265545
  • 铜币29655枚
  • 威望213点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • GIS帝国铁杆
4楼#
发布于:2004-10-11 20:02
<P>哦</P><P>开始我还不知道的</P>
没钱又丑,农村户口。头可断,发型一定不能乱。 邮箱:gisempire@qq.com
举报 回复(0) 喜欢(0)     评分
yoully
路人甲
路人甲
  • 注册日期2003-09-04
  • 发帖数265
  • QQ
  • 铜币418枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2004-10-12 16:41
<P>偶先谢谢啦!</P><P>再问老大,如果我购买了软件的sdk,开发的应用程序还需要单独购买运行许可吗?</P><P>  </P>
理想已成往事。。。。。
<img src="http://bbs.matwav.com/upload/2004/10/10/56945011.jpg">
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
6楼#
发布于:2004-10-12 16:57
<P>有的软件是要另外运行许可的,看产品而不同了,有的可以直接发布</P>
举报 回复(0) 喜欢(0)     评分
yoully
路人甲
路人甲
  • 注册日期2003-09-04
  • 发帖数265
  • QQ
  • 铜币418枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2004-10-13 10:42
多谢!ing<img src="images/post/smile/dvbbs/em02.gif" />
理想已成往事。。。。。
<img src="http://bbs.matwav.com/upload/2004/10/10/56945011.jpg">
举报 回复(0) 喜欢(0)     评分
foolcatjr
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数48
  • QQ
  • 铜币154枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2004-10-27 18:20
一个是开发环境,一个是开发出来的东东
举报 回复(0) 喜欢(0)     评分
游客

返回顶部