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

ASP.NET
blog程序新版本V2.0 Beta完成,提供V1.0全部源码下载
“/”应用程序中的服务器错误
asp.net(c#)复数类(复数加减乘除四则运算)
asp.net(c#)不可访问,因为它受保护级别限制
asp.net(c#) 水仙花数
ASP.NET实现用图片进度条显示投票结果
asp.net(c#) MS AJAX的安装
asp.net(c#)有关 Session 操作的几个误区
ASP.net基础知识之常见错误分析
[.net] 操纵自如-页面内的配合与通信
c# static的全部用法收集整理
使CheckBoxList的Attributes属性生效(修改微软的一个bug)
在ASP.NET中使用Session常见问题集锦
[原创]完美解决Could not load file or assembly ''AjaxPro.2'' or one of its dependencies. 拒绝访问。
在Apache环境下成功的运行ASP.NET的注意事项
ClickOnce DIY全自动更新下载升级的自我实现
asp.net jscript 一句话木马
在ASP.Net中实现flv视频转换的代码
将DataTable中的一行复制到另一个DataTable的方法
在DataTable中执行Select("条件")后,返回DataTable的方法

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


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