电脑技术学习

创建 ActiveX 财务组件

dn001
组件将包含一组相关的方法(函数),用来提供脚本语言所不具有的功能。由于 VBScript 不提供财务函数,所以您必须通过自己的 Finance 服务器组件来提供;
对 Visual Basic 财务函数的使用能力。该服务器组件能提供所有的 Visual Basic 财务函数,包括 DDB 函数(双倍余额递减法)、FV 函数(未来值)、IPmt
函数(支付利息)、IRR 函数(内部回报率)以及其他函数。不过,在本教程中,您将只使用 FV 函数,基于固定利率及等额定期支付方式,返回一笔年金。;

启动 Visual Basic

单击“开始”按钮,指向“程序”,然后指向“Microsoft Visual Basic 5.0”

单击子菜单中的“Visual Basic 5.0”,运行编程环境。

开始并命名一个工程;

在“New Project”对话框中,双击“ActiveX DLL”。

在“Project”菜单上,单击“Project1 Properties”。

在“General”属性页的“Project Name” 框中,键入“MS”。

选择“Unattended Execution”。

注意 选择该选项表明这个工程运行时不需要用户交互,并且将不具有用户交互的基础。

 ;

单击“OK”。

现在工程被命名为“MS”。以后,您将从 ASP 脚本中以 MS.Finance 的形式引用 Finance 服务器组件。;;


 ;

按下 F4 键打开类模块的“Properties”窗口,双击“Name”属性并键入“Function”,然后按 Enter。;

双击“Instancing”。

单击箭头,然后选择“5 - MultiUse”。

进一步学习 Visual Basic 财务函数;;

Visual Basic 的帮助系统描述了可以使用的财务函数。;

 ;

单击“Help”。

选择“Microsoft Visual Basic Help Topics”。;

选择“Index”选项卡,然后键入“financial functions”作为查找的文字。;


双击“financial functions”索引条。;

单击“FV Function”,学习该函数。;

学习完财务函数后,关闭“Visual Basic Help”对话框。;

将 CalcFV 函数添加到 Finance 类

Finance 服务器组件需要一些代码。这些代码让使用您组件的语言可以调用 Visual Basic 内建的未来值函数。

 ;

将下列行复制并粘贴到 Finance 类的代码窗口中:

 ;

Public Function CalcFV(rate, nper, pmt, Optional pv, Optional whendue)


CalcFV = FV(rate, nper, pmt, pv, whendue)

End Function

添加组件的入口点;

所有服务器组件都需要一个入口(起始)点。这是当对象第一次可用于一种语言时,将被调用的代码。在 VBScript 中,当您使用 Server.CreateObject 时,将;
创建对象的一个实例。当执行 Server.CreateObject 语句时,(由 Visual Basic 创建的)服务器组件上的 Sub Main 过程将被调用。;

当您的财务组件被调用时,它不需要任何特殊代码来初始化自身。因此,需要提供一个空的(没有 Visual Basic 语句的)Sub Main 过程。

 ;

选择“Project”菜单中的“Add Module”。

在“Module 1”对话框中,双击模块图标。;

在 Module 1 代码窗口中,键入 Sub Main。

按下 Enter 键。

将自动进入如下代码:

 ;

Sub Main();;

End Sub;

保存 Finance 工程

当保存所作的工作时,将询问您是否保存 Visual Basic 工程的全部 3 部分。其中包括工程文件、类模块和代码模块。

 ;

打开“File”菜单。;

选择“Save Project”。;

在“File name”文本框中,键入“Finance”。选择 localhost Web 服务器上的如下路径:DriveLetter:WinntSystem32Inetsrv,其中 DriveLetter 是适当;
的驱动器号。(如果您没有接受默认的安装目录,请用您的安装目录替换 WinntSystem32。)

单击“Save”按钮。;

如果在此以前,另一个用户已经学完了教程的这一部分,将出现一条消息,提示文件已经存在。请用您的文件覆盖旧文件。;

 ;

双击“File name”文本框中的值 “Project1”,选中它。

为工程文件键入名称“Finance” (.vbp)。;

单击“Save”按钮保存工程。

如果在此以前,另一个用户已经学完了教程的这一部分,将出现一条消信息,提示文件已经存在。请用您的文件覆盖旧文件。;

 ;

成为“进程内 (In-Process)”组件

Visual Basic 允许您创建进程内 ActiveX 组件(通常称为 OLE 自动服务器)和进程外 ActiveX 组件。一个进程内 ActiveX 组件是一个动态链接库(带 .dll
后缀),由调用它的进程进行加载。一个进程外 ActiveX 组件是一个可执行文件(带 .exe 后缀),当它被应用程序调用后,以独立进程的状态运行。由于进程
内组件与调用它的程序在同一个进程空间,所以性能比进程外组件要佳。

使 Finance 服务器组件成为进程内 ActiveX 组件

打开“File”菜单。;

选定“Make Finance.dll”。

单击“Options”按钮。;;

选定“Auto Increment”复选框。

单击“OK”。

键入 DriveLetter:localhostWinntSystem32InetsrvFinance,其中 DriveLetter 是适当的驱动器号。(如果您没有接受默认的安装目录,请用您的安装目;
录替换 WinntSystem32。)

如果在此以前,另一个用户已经学完了教程的这一部分,将出现一条消信息,提示文件已经存在。请用您的文件覆盖旧文件。;

退出 Visual Basic。

注册 Finance 服务器组件

所有服务器组件都必须注册。Windows NT 和 Windows 95 用系统注册表来追踪哪个服务器组件是可用的。在您的计算机上将 Finance 服务器组件注册后,就可以;
在 VBScript 和所有兼容 OLE 的语言中调用它了。

打开一个命令提示符窗口。;

在命令提示符后键入 cd Drive Letter:localhostWinntSystem32Inetsrv,其中 DriveLetter 是适当的驱动器号。(如果您没有接受默认的安装目录,请用您的安装目录替换 WinntSystem32。)

按下 Enter 键。

键入 regsvr32 Finance.dll。;

按下 Enter 键。

当出现一个对话框显示“DllRegisterServer in finance.dll succeeded”时,请单击“OK”按钮。;

关闭命令提示符窗口。

标签: