CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

如何在模块中使用对象?

楼主yyytoyyy(小海)2005-04-03 22:03:06 在 VB / 基础类 提问

我作了一个DLL,有一个类模块和一个模块,在类模块中已经定义了RESPONSE这个对象,并且可以正常使用了,然后我在另一个模块中放入一个函数,该函数使用到RESPONSE这个对象,我在类模块中调用这个函数,结果无法运行起来,提示:需要对象  
  请问如何处理?  
   
  类模块(Main)代码如下:  
   
  Public   Context   As   ScriptingContext  
  Public   Response   As   Response  
   
  Public   Sub   OnStartPage(PassedScriptContext   As   ScriptingContext)  
          Set   Context   =   PassedScriptContext       'Asp运行环境对象  
          Set   Response   =   Context.Response  
  End   Sub  
   
  Sub   getuser()  
          Func.alertm   ("大家好!")  
  End   Sub  
   
  模块(Func)代码如下:  
   
  Public   Sub   alertm(ByVal   msg   As   String)  
          Response.Write   ("<script>alert('"   &   msg   &   "')</script>")  
  End   Sub 问题点数:20、回复次数:7Top

1 楼Hassle()回复于 2005-04-03 22:17:20 得分 20

public   YourObject   as   YourClass  
   
  set   YourObject=   new   YourClass  
   
  我估计你漏写了,所以提示:需要对象Top

2 楼yyytoyyy(小海)回复于 2005-04-03 22:39:52 得分 0

public   YourObject   as   YourClass  
  set   YourObject=   new   YourClass  
  是引用哪个对象?  
  这个问题的关键是模块(Func)里的这一句:Response.Write   ("<script>alert('"   &   msg   &   "')</script>")  
  没有这一句就正常了。  
   
  response这个对象我在类模块(Main)里已经定义了,类模块用到了标准模块(Func)里的函数,而标准模块里的函数又用到了response这个对象,如果我在标准模块里又定义一遍response,肯定重复了。  
  Top

3 楼Hassle()回复于 2005-04-03 22:44:06 得分 0

类模块(Main)就是YourClass  
  YourObject.Response.Write("<script>alert('"   &   msg   &   "')</script>")  
  Top

4 楼yyytoyyy(小海)回复于 2005-04-03 22:53:29 得分 0

按照这样添加,就变成这样的提示:  
  未设置对象变量或   With   block   变量.  
   
  Top

5 楼Hassle()回复于 2005-04-03 22:56:30 得分 0

先运行这个  
   
  Public   Sub   OnStartPage(PassedScriptContext   As   ScriptingContext)  
          Set   Context   =   PassedScriptContext       'Asp运行环境对象  
          Set   Response   =   Context.Response   '!!!!!!!  
  End   SubTop

6 楼yyytoyyy(小海)回复于 2005-04-03 23:16:23 得分 0

首先感谢Hassle()的耐心回答!  
   
  Public   Sub   OnStartPage(PassedScriptContext   As   ScriptingContext)  
          Set   Context   =   PassedScriptContext       'Asp运行环境对象  
          Set   Response   =   Context.Response   '!!!!!!!  
  End   Sub  
   
  事实上整个类以及生成的DLL都能运行很正常,在类模块里进行Response.Write也很正常,但是我不想所有的东西都放在一个类模块里,而是想把他们分类写入各个标准模块里,然后引用他们,才出现这个问题的。大部分分流到标准模块里的函数也能用,但是就是涉及到response这个对象就不能用。  
  Top

7 楼yyytoyyy(小海)回复于 2005-04-04 00:15:13 得分 0

笨人想到一个笨办法,把原来在类模块声明的对象搬到标准模块里去声明,问题居然解决了,开心。  
  就是以下这些东西了:  
  Public   Context   As   ScriptingContext  
  Public   Response   As   Response  
  Top

相关问题

  • VB中如何使用模块和类模块?
  • 如何在模块中使用commondialog?
  • 标准模块中如何调用application对象
  • 如何使用CEvent对象!
  • 如何使用ADO.STREAM对象?
  • 如何使用FileSystemObject对象
  • 模块的使用
  • 请问在dll中如何使用数据模块
  • WinCE使用J2ME开发工控模块如何?
  • 使用.def模块定义文件如何导出类?

关键词

  • 模块
  • 函数
  • asp
  • passedscriptcontext
  • 对象
  • yourobject
  • scriptingcontext
  • response
  • 类
  • onstartpage

得分解答快速导航

  • 帖主:yyytoyyy
  • Hassle

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo