当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ActiveX 组件复习笔记.1

ASP.NET
ASP.Net分页控件源码
Community Server专题一:概述Community Server
Community Server专题三:HttpModule
relaxlife.net发布一个自己开发的中文分词程序
RLCSS分词系统更新下载
asp.net获取SQL所有数据库名、所有表名、所有字段名
asp.net下获取Excel所有的工作表名称
Asp.Net常用函数
asp.net下用url重写URLReWriter实现任意二级域名的方法
在.NET中利用XMLHTTP下载文件的代码
在ASP.NET 中实现单点登录
c# .net 生成图片验证码的代码
asp.net中MD5 16位和32位加密函数
自己常用到的自定义公共类(已测试通过)
ASP.NET 2.0下随机读取Access记录的实现方法
.NET(C#)连接各类数据库代码-集锦
nunit使用指南之—NUnit Quick Start
ASP.NET中读取XML文件信息的4种方法与示例代码
asp.net中获取远程网页的内容之一(downmoon原创)
asp.net下获取远程网页的内容之二(downmoon原创)

ASP.NET 中的 ActiveX 组件复习笔记.1


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 213 ::
收藏到网摘: n/a


刚学完VB6高级编程,对于三层架构,类,ActiveX组件等方面的认识还比较模糊,
这个学期的毕业设计是用VB6+SQL Server2000开发一个进销存系统,需要用到的前面所说的知识,
当务之急就是得把前面所学的知识搞明白!希望通过复习,跟此次的毕业设计,能对VB有更深的认识(虽然我的兴趣还是WEB开发)!
另外,前段时间看了一篇讲述三层架构的文章< 三层架构与数据库编程 >,推荐给未曾看过的跟我一样学习三层体系结构的朋友!
==========================================
好了,废话说完,最后声明一下.以下复习笔记节选自一书应该建立哪种类型的部件?
对于所有的可选择的不同类型的ActiveX部件,如何来决定哪种类型的部件是最适合你的需求的呢?从功能的角度考虑这个问题,也许会给你以帮助:
1.如果需要提供服务的部件是不可视的,就要建立一个代码部件--或者是ActiveX Exe,或者是ActiveX DLL。
2.如果所需要建立的部件能够与你的应用程序运行在同一个进程中,则应该建立一个ActiveX DLL。例如,能够执行复杂计算的部件就属于这种情况。
3.如果所需要建立的部件能够服务于多个应用程序,并且能够在远程计算机上运行,则应该建立一个ActiveX EXE。例如,一个执行税务规则的业务规则服务器端,最好被实现为一个ActiveX EXE。
4.如果你需要的是一个可视的部件,并且在设计时能够被拖放到一个应用程序中,那么应该建立的是ActiveX控件。例如,一个能够正确格式化并验证电话号码的“电话号码”控件,就属于这种情况。这样的控件无疑在许多应用程序中都是有用的。
5.如果你需要的是一个可视的部件,并且在运行时能够接管应用程序的窗口,那么应该选择ActiveX文档。上面的示例显示了一个能够在Web浏览器中浏览的“销售”应用程序,它重复桌面应用程序的功能。

无论选择建立哪种类型的ActiveX部件,Visual Basic都保证它们的可重用性
==========================================
不要把使用 ActiveX 技术的部件软件开发和面向对象编程 (OOP) 混淆起来。使用 OOP 方法可以建立基于对象的软件部件;使用 ActiveX 技术可以把已创建的基于对象的部件组合起来,而这些部件可以通过许多不同的工具来创建。换一种说法就是,OOP 关心的是创建对象,而 ActiveX 关心的是使对象在一起工作。
==========================================
通过向控件增加属性页,命名常数以及事件,创建一个完善的 ActiveX 控件包将变得很容易。
既可以把 ActiveX 文档包装进进程内的部件,也可以把它包装进进程外部件。
可以使用代码部件来提供模式和非模式对话框的标准库--尽管通常代码部件都没有用户界面。
==========================================
ActiveX DLL,运行在另一个应用程序的进程之中。可以是应用程序本身,也可以是该应用程序正在使用的其他进程内的部件。
Class_Terminate事件过程中的错误是必须处理的。使用部件的应用程序不能处理Class_Terminate中的错误,所以这些错误对于应用程序来说将是致命的。
与此相反,在Initialize事件中没有处理的错误是在应用程序创建该对象时发生的,因此可以被应用程序处理。
Initialize 和 Terminate 事件决不应该与用户打交道。
按 F2 键打开“对象浏览器”。
当 ActiveX 部件接受到第一个请求其提供的对象的时候,它要执行其 Sub Main 过程,这在部件创建对象之前。Sub Main 过程应该尽可能地简短,因为 Sub Main 的执行时间过长可能导致创建对象的请求超时。
单击窗体右上角关闭按钮,会执行任何对象的 Terminate 事件。要记住,如果用“结束”按钮或者通过代码中的 End 语句来结束程序,程序将立即中止,不会执行任何对象的Terminate事件。一般来说,通过卸载所有窗体来关闭程序是更好的方式。