ASP调用VB写的DLL的时候无法释放内存问题,十万火急,请大家高抬贵手,帮帮忙!!!谢谢~~~
CTBOK 2002-12-09 02:59:55 这是我VB的内容:
Private MyScriptingContext As ScriptingContext
Private MyApplication As Application
Private MyRequest As Request
Private MyResponse As Response
Private MyServer As Server
Private MySession As Session
Public Sub OnStartPage(PassedScriptingContext As ScriptingContext)
Set MyScriptingContext = PassedScriptingContext
Set MyApplication = MyScriptingContext.Application
Set MyRequest = MyScriptingContext.Request
Set MyResponse = MyScriptingContext.Response
Set MyServer = MyScriptingContext.Server
Set MySession = MyScriptingContext.Session
End Sub
Public Sub OnEndPage()
Set MyScriptingContext = Nothing
Set MyApplication = Nothing
Set MyRequest = Nothing
Set MyResponse = Nothing
Set MyServer = Nothing
Set MySession = Nothing
End Sub
Public Sub test()
MyResponse.Write "Hello World"
End Sub
这是ASP的内容:(test.asp)
Set objwuliu = Server.CreateObject("wuliu.testclass")
objwuliu.test
set objwuliu = nothing
-----------------------------------------------------------------------
当我运行一次test.asp的时候,能输出hello world这个字符,证明VB写的程序没问题,但我想把hello world改成hello all,也就是我想更改VB中DLL的内容的时候,当我选“生成DLL”那个选项的时候,系统提示“无操作权限”,而我在资源管理器想把这个DLL删除的时候,WINDOW提示说这个文件正在被调用,无法删除。
请问我应该怎样办?我已经用regsvr32 /u反注册了的,下面是我详细的工作步骤:
1、写vb程序,生成xxx.ddl
2、regsvr32 xxx.dll
3、在asp中obj = server.creatobject("xxx.类名")
4、set obj = nothing
5、regsvr32 /u xxx.dll
6、停止IIS服务
7、重新启动IIS服务
8、重新写VB程序
9、生成DLL
跟着就出错了,无法复盖以前的DLL,也无法删除,除非重新启动,我应该怎办?
-----------------------------------------------------------------
另外,我又写了一个数据库连接程序,是用户登陆的,代码如下:
Dim Theyh As String
Dim Themima As String
Dim CpmmectionString As String
Dim DBConnection As ADODB.Connection
Dim Rs As New ADODB.Recordset
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & MyServer.MapPath("data/sys.mdb")
DBConnection.Open ConnectionString ******************
Theyh = MyRequest("yh")
Themima = MyRequest("mima")
.........(省略若地字)
Rs.Close
DBConnection.Close
Set Rs = Nothing
Set DBConnection = Nothing
系统执行到DBConnection.Open ConnectionString这句,就是打着“******”这句,IIS就报错了,说是“未设置对象变量或 With block 变量”,请问是什么呢?
我已经引用了ActiveX Data Objects 2.5 Library这个东东了,就是无法通过那一句,请问又是为什么?MyServer.MapPath("")这句有内容的,我用MyResponse.Write看过,路径正确,我真的百思不得其解,请大家高抬贵手帮帮忙,谢谢!!