站内搜索
分类列表
本类阅读排行
本类推荐文章
- ASP技巧:让Len,Left,Right函数识...
- 用ASP实现IE地址栏参数的判断
- 如何实现ASP.NET网站个性化
- 如何在Asp.net中使用HtmlArea编辑...
- 用ASP.Net实现在线压缩和解压缩
- ASP实现不存在的网页就自动发送邮...
- 用ASP取出HTML里面的图片地址的函...
- asp.net跳转页面的三种方法比较
- 一个Winsock组件
- 用WinSock设计Chat程序(转)
- 在MFC应用中深入定制WebBrowser控...
- 这几天有人问关于编应.dll的问题,...
- 在Visual J++中编写ASP COM组件(转...
- 一个显示Grid的VBScript对象
- 好东西,快来看呀:(转载自中华网...
广告
这几天有人问关于编应.dll的问题,这里贴出一篇,嘿嘿!
作者: 来源: 点击: 日期:2007-5-5 23:34:10
ActiveX DLL 可以用来保护代码的一些部分,因为作为开发人员我们知道,用ASP进行工作时,源代码控制是一个艰难而琐碎的过程。ActiveX DLL 是经过编译的代码,没有工程文件中的源代码就不能对其进行修改。这就给开发人员带来许多可能:开发自动操作公共程序的程序并将它们作为共享软件来分发,分发至少有一些源代码保护的ASP应用程序,不断开发自己的ASP程序指令,以在一个全方位多功能的结果中提高ASP的性能。
你所安装的第一个ActiveX DLL 文件将注册并安装Visual Basic 6 的运行时间文件,它允许运行经过编译的代码。但是要注意,这还要求重新启动服务器。当一个现存的DLL被安装并使用之后,如果想要对其进行升级, 服务器就将给出一个错误信息提示,说此文件正被另一个过程所使用。要纠正这一问题,也要重新启动服务器后才能完成DLL的升级。请记住在开发中要使用一个测试环境。
虽然这个例子非常简单,用一个ASP包含文件就可以轻易地实现,但当开发 ActiveX DLL 时,你可以使用 Visual Basic 的全套基本指令、系统外壳指令以及所有控制台所能进行的操作,因此也就允许在线网站和内部互联网的全部自动控制。这样就把原来用ASP包含文件实现的 ActiveX DLL 的性能进行了拓展。
在用组合框选择填充的数据库域中存储查询关键字的值,提高数据的完整性,轻易地在整个数据库中进行层叠式更新,这些都是很普通的操作。举例来说,现在有一个拼写错误的文本描述,可以在查循表中进行修改,所有选择了这个描述的相关条目都会自动地修改,因为我们已经存储了与这个描述相关的数字。组合框以查询表的内容为基础,这些内容将查询关键字的值与其描述联系起来,如果系统使用了许多查询的话,产生这些组合框的代码会变得非常重复。本文用 ActiveX DLL 来简化创建HTML组合框的程序,用一个数据库查询表中的内容进行填充。例子中的表名为lookup_table,它有以下域:
Lookup_Key: 存储在数据库中的值
Lookup_Field: 对查询元素进行分类
Lookup_Description: 显示在组合框中的描述
要创建ActiveX DLL,步骤如下:
开始一个新的visual basic 工程文件;
选择ActiveX DLL 作为工程文件类型;
在Properties 窗口,命名类模块和工程文件。将工程文件命名为keiths_lookup ,将模块命名为lookup 。 ASP引用DLL函数时要使用这些名字。以后在ASP码中,将要引用一个名为keiths_lookup.lookup的服务器对象。
用同样的名字保存工程文件和模块,其中工程文件的扩展名为.vbp ,类模块的扩展名为.cls 。在本例中 工程文件的名字为keiths_lookup,模块的名字为lookup。
在工程菜单中,选择References 。这是你可以使用的其它应用程序对象。在本例中,检查Microsoft ActiveX data objects 2.0 库和Microsoft ActiveX Data Objects Recordset 2.0 库。
在包含查询表的IIS服务器数据库中创建一个名为Sumnet 的数据集。这个数据库没有用户名和口令。
现在可以键入以下代码:
Public Function html_combo(comboname As String, Lookup_field As String) As String
Dim outstring As String
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sqlstring As String
Set conn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
Sqlstring = "SELECT [Lookup_Description],[Lookup_Key] FROM
[Lookup_Table] WHERE [Lookup_Field] = '" & Lookup_Field & "'"
conn.Open "DSN=Sumnet;UID=;PWD=.;"
rst.Open sqlstring, conn, 3, 3
If Not rst.EOF Then
rst.MoveFirst
outstring = "< Select name='" & comboname & "' >"
Do While Not rst.EOF
outstring = outstring & "< Option Value='" &
rst.Fields("lookup_key") & "' >" & _
你所安装的第一个ActiveX DLL 文件将注册并安装Visual Basic 6 的运行时间文件,它允许运行经过编译的代码。但是要注意,这还要求重新启动服务器。当一个现存的DLL被安装并使用之后,如果想要对其进行升级, 服务器就将给出一个错误信息提示,说此文件正被另一个过程所使用。要纠正这一问题,也要重新启动服务器后才能完成DLL的升级。请记住在开发中要使用一个测试环境。
虽然这个例子非常简单,用一个ASP包含文件就可以轻易地实现,但当开发 ActiveX DLL 时,你可以使用 Visual Basic 的全套基本指令、系统外壳指令以及所有控制台所能进行的操作,因此也就允许在线网站和内部互联网的全部自动控制。这样就把原来用ASP包含文件实现的 ActiveX DLL 的性能进行了拓展。
在用组合框选择填充的数据库域中存储查询关键字的值,提高数据的完整性,轻易地在整个数据库中进行层叠式更新,这些都是很普通的操作。举例来说,现在有一个拼写错误的文本描述,可以在查循表中进行修改,所有选择了这个描述的相关条目都会自动地修改,因为我们已经存储了与这个描述相关的数字。组合框以查询表的内容为基础,这些内容将查询关键字的值与其描述联系起来,如果系统使用了许多查询的话,产生这些组合框的代码会变得非常重复。本文用 ActiveX DLL 来简化创建HTML组合框的程序,用一个数据库查询表中的内容进行填充。例子中的表名为lookup_table,它有以下域:
Lookup_Key: 存储在数据库中的值
Lookup_Field: 对查询元素进行分类
Lookup_Description: 显示在组合框中的描述
要创建ActiveX DLL,步骤如下:
开始一个新的visual basic 工程文件;
选择ActiveX DLL 作为工程文件类型;
在Properties 窗口,命名类模块和工程文件。将工程文件命名为keiths_lookup ,将模块命名为lookup 。 ASP引用DLL函数时要使用这些名字。以后在ASP码中,将要引用一个名为keiths_lookup.lookup的服务器对象。
用同样的名字保存工程文件和模块,其中工程文件的扩展名为.vbp ,类模块的扩展名为.cls 。在本例中 工程文件的名字为keiths_lookup,模块的名字为lookup。
在工程菜单中,选择References 。这是你可以使用的其它应用程序对象。在本例中,检查Microsoft ActiveX data objects 2.0 库和Microsoft ActiveX Data Objects Recordset 2.0 库。
在包含查询表的IIS服务器数据库中创建一个名为Sumnet 的数据集。这个数据库没有用户名和口令。
现在可以键入以下代码:
Public Function html_combo(comboname As String, Lookup_field As String) As String
Dim outstring As String
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sqlstring As String
Set conn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
Sqlstring = "SELECT [Lookup_Description],[Lookup_Key] FROM
[Lookup_Table] WHERE [Lookup_Field] = '" & Lookup_Field & "'"
conn.Open "DSN=Sumnet;UID=;PWD=.;"
rst.Open sqlstring, conn, 3, 3
If Not rst.EOF Then
rst.MoveFirst
outstring = "< Select name='" & comboname & "' >"
Do While Not rst.EOF
outstring = outstring & "< Option Value='" &
rst.Fields("lookup_key") & "' >" & _
这几天有人问关于编应.dll的问题,这里贴出一篇,嘿嘿! 评论
