第二步要做的就是要在ASP文件中引用类clsDice。
ASP(活动服务器页面ActiveServerPages)的所有代码都是在服务器上运行的,客户只能查看以HTML形式传回的结果。它使用“<%”和“%>”标记来标识脚本代码,并不传回客户端,在代码外部,使用HTML标记来标识内容。在下面Dice.asp的代码中使用了CreateObject函数创建了一个clsDice对象实例,该对象来自于上面创建的ActiveX.DLL--MYDLL.DLL文件,下面的例子使用了VBScript脚本语言。
<!--METADATATYPE="typelib"FILE="Path/mydll.dll"--> ’装载METADATA标签中指定的类型库。Path是mydll.dll在机器上存放的路径 <html> <head><title>在ASP文件使用DLL</title></head> <body> <% OnErrorResumeNext‘当程序出现意外错误时能继续执行 IfRequest.Form("T1")=""then Session("point")=6 Else Session("point")=Request.Form("T1") EndIf ’用Session("point")来存放色子的面数 Setdice1=Server.Createobject("MyDLL.clsDice") ’使用set语句创建dice1对象,其中MyDLL是上面创建dll文件时的工程名称(注意:不是文件的名称),clsDice为类模块的名称。至此我们就可以用Maxpoint,Result和Throw属性(方法)来对dice1对象进行操作。 IfRequest.ServerVariables("Request_Method")="POST"then dice1.Maxpoint=Session("point")‘设定色子的面数 dice1.Throw’掷色子 %> <formmethod="POST"action="dice.asp"> <p>当色子的面数为<inputtype="text"name="T1"size="5"value=<%=session("point")%>>时</p> <p><inputtype="submit"value="掷色子"name="B1"></p> </form> <p>结果为:<%=dice1.Result%>点</p>‘返回结果 <% Else dice1.Maxpoint=Session("point") %> <formmethod="POST"action="dice.asp"> <p>当色子的面数为<inputtype="text"name="T1"size="5"value=<%=session("point")%>>时</p> <p><inputtype="submit"value="掷色子"name="B1"></p> </form> <% EndIf %> </body>