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

ASP.NET
FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用方法
.NET 常用功能和代码小结
在 .NET Framework 2.0 中未处理的异常导致基于 ASP.NET 的应用程序意外退出
asp.net IList查询数据后格式化数据再绑定控件
asp.net sql存储过程
asp.net 简单实现禁用或启用页面中的某一类型的控件
asp.net(c#)获取内容第一张图片地址的函数
The remote procedure call failed and did not execute的解决办法
ASP.NET 在线文件管理
asp.net 读取并修改config文件实现代码
ASP.NET Cookie 操作实现
asp.net Silverlight中的模式窗体
Silverlight中动态获取Web Service地址
asp.net Silverlight应用程序中获取载体aspx页面参数
asp.net 水晶报表隔行换色实现方法
asp.net 获取Gridview隐藏列的值
手动把asp.net的类生成dll文件的方法
asp.net 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页
动态指定任意类型的ObjectDataSource对象的查询参数
asp.net Md5的用法小结

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 75 ::
收藏到网摘: 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事件。一般来说,通过卸载所有窗体来关闭程序是更好的方式。