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

ASP.NET
asp.net GridView控件中模板列CheckBox全选、反选、取消
asp.net GridView 删除时弹出确认对话框(包括内容提示)
asp.net DropDownList 三级联动下拉菜单实现代码
asp DataTable添加列和行的三种方法
Asp.net 页面调用javascript变量的值
asp.net 长文章通过设定的行数分页
asp.net 定时间点执行任务的简易解决办法
asp.net 页面延时五秒,跳转到另外的页面
asp.net 动态输出透明gif图片
asp.net DataList与Repeater用法区别
asp.net Javascript获取CheckBoxList的value
asp.net程序在调式和发布之间图片路径问题的解决方法
asp.net下生成英文字符数字验证码的代码
asp.net 页面版文本框智能提示JSCode (升级版)
ASP.NET URL伪静态重写实现方法
ASP.NET 2.0 中Forms安全认证
asp.net 动态添加多个用户控件
asp.net Repeater显示父子表数据,无闪烁
asp.net 无法获取的内部内容,因为该内容不是文本 的解决方法
asp.net GridView排序简单实现

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


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