一个dll中class间调用的问题!急!!请指点!

xiaorongli 2003-08-21 02:31:11
我在一个dll中编写了两个class,其中一个用到asp中的对象和属性因此引入
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
而且编写了一个函数a(),函数体中调用了以上对象的方法
而我在另一个class中的函数b()中调用这个a()
在asp页面测试是老是出现以下错误“未设置对象变量或With block变量”
请指点!谢谢!
...全文
56 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
smuzy 2003-08-22
  • 打赏
  • 举报
回复
30803269
xiaorongli 2003-08-22
  • 打赏
  • 举报
回复
smuzy(smuzy)
谢谢你啊,可以了
我自己已经弄了一天了,呵呵
再次谢谢啊
能留下你的qq吗?以后有问题再问你啊
xiaorongli 2003-08-22
  • 打赏
  • 举报
回复
恩明白了,太谢谢你了,我马上试
smuzy 2003-08-21
  • 打赏
  • 举报
回复
看明白了吗?
smuzy 2003-08-21
  • 打赏
  • 举报
回复
这个问题应该仔细考虑一下:
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
这个过程只有在asp页面中调用的时候才能正确传入PassedScriptingContext 对象(由ASP以引擎自动完成),在DLL中的一个CLASS中如果创建这个CLASS对象,是不能正确传入这个PassedScriptingContext 对象的,所以会告诉你没有设置。

如果你的这个对象仅仅用来被DLL中的CLASS对象调用的话,就把所有的MyApplication等5个对象作为类的属性:
CLASS1:

PUBLIC Response as response
....

然后调用的时候
CLASS2
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
FUNCTION B()
Dim obj1 as new Class1
set obj1.response = MyResponse
.....
b=a()
END FUNCTION
jiejifeng 2003-08-21
  • 打赏
  • 举报
回复
你在搞让dll中 包含ASP的五个对象啊? 实际意义不大吧
xiaorongli 2003-08-21
  • 打赏
  • 举报
回复
你说的我做过了,我单步调试,错在函数a()中我用到server.mappath("")
因此所说的错误中的对象是server对象
但是如果在同一个class中调用就不回出错
lions911 2003-08-21
  • 打赏
  • 举报
回复
DLL中的FUNCTION AS 一个类型了吗?

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧