第04行:定义m_Response的对象方法是使用MTS objContext的调用方法,直接存取ASP函数库的Response对象。
第05行:定义m_Request的对象方法是使用MTS objContext的调用方法,直接存取ASP函数库的Request对象。
第06行:定义m_Server的对象方法是使用MTS objContext的调用方法,直接存取ASP函数库的Server对象。
第07行:定义m_Application的对象方法是使用MTS objContext的调用方法,直接存取ASP函数库的Application对象。
第08行:定义m_Session的对象方法是使用MTS objContext的调用方法,直接存取ASP函数库的Session对象。
将范例“EX12-3”工程、对象类别模块分别另存为“EX12-3”,“EX12-4”。
至此,“EX12-4”经过编译之后,已经可以被ASP程序调用。但是在范例“EX12-4”的程序代码中,尚无任何可供ASP调用的子程序。因此,笔者在名为“Class1”的对象类别模块中,加入一段名为“ShowMessage”的子程序,本段子程序主要是使用ASP的Response对象在网页上显示出“自制的 ActiveX DLL 实验”文字,并且在HTML文件上加上“换行(<br>)”的功能。在“Class1”对象类别模块中加入以下的子程序,并保存为“EX12-5”。
范例程序:EX12-5
01. Public Sub ShowMessage()
02. m_response.Write "自制的 ActiveX DLL 实验<br>"
03. End Sub
程序说明
第01行:定义名为“ShowMessage”的子程序。
第02行:使用已经定义过的m_Response对象的Write方法,将此段文字显示在网页上。
第03行:结束子程序的执行。
到目前为止,ActiveX DLL的所有定义、子程序都已编写完毕,但该如何将这段名为“Class1”的对象类别模块编译成ActiveX DLL供其他程序调用呢?下面,继续下一节的编译工作。
12-2-4 编译ActiveX DLL
下面将以“EX12-5”为例,直接将其编译成“EX12-5.dll”供其他程序调用。以下是编译ActiveX DLL的步骤。
(1)打开“文件”菜单。
选择菜单中的“生成EX12-5.dll”命令。
单击“生成EX12-5.dll”。
单击“确定”按钮,此ActiveX DLL将会生成“EX-12-5.dll”文件,并且存放在“EX12-5”目录下。在上图,读者还可见到“
在上图中,读者可以看到有关“版本号”、“应用程序”、“版本信息”等选项,这些选项在前面的章节中已经介绍过,在此不多作叙述。在图12-21所示的“编译”选项卡中,有一些相关信息是值得注意的。
在上图中,对于一般的标准执行文件,其“DLL 基地址”是无法改变的。“DLL 基地址”选项主要用于设置程序的基地址,从而覆盖DLL文件的默认位置(在0X10,000,000处)。操作系统首先试图在指定的或者默认的位置加载一个程序,如果没有足够空间,那么系统将重新定位该程序。这点对一般DLL文件而言是无需更改的,但是如果用户将一个非常大的系统程序设计成DLL文件时,就必须改变DLL的基地址以便容纳此应用系统的执行。
接着回到图12-19“生成工程”窗口,在单击“确定”之后,在 EX12-5目录中便会生成EX12-5.dll文件。
EX12-5.dll已经成功地编译并且生成,那么该如何在ASP的程序中调用这个具有MTS组件调用功能的ActiveX DLL呢?由于ActiveX DLL尚未加入MTS组件中,因此现在仍无法提供给其他应用系统调用。在下一节中,笔者将介绍如何将自制的ActiveX DLL加入成为MTS组件。
12-3 将组件加入MTS
在Windows操作平台,由于Windows NT 4.0、Windows 2000同属于NT技术,文件结构基本相同,这里将它们归属为NT操作平台。另一类则归为Windows 9x操作平台。因此,这个自制的ActiveX DLL在安装上将分为NT以及Windows 9x不同平台分别介绍。
12-3-1 NT技术操作平台
下图是NT操作平台下,IIS的安装路径。
IIS在NT操作平台上的安装路径是“C:\WINNT\system32\ inetsrv”。因此,当读者生成“EX12-5.dll”ActiveX DLL文件之后,将其复制到这个目录下。
12-3-2 Windows 9x技术操作平台
由下图可以看到,在Windows 9x操作平台上安装的PWS放在“C:\WINDOWS\SYSTEM\inetsrv”目录下。因此,请读者直接将“EX12-5.dll”复制到这个目录下。
12-3-3 注册ActiveX DLL
上一页 [1] [2] [3] [4] [5] [6] 下一页