CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

ASP调用VB组件传递参数时出现错误

楼主mapcity(沉郁)2005-01-22 12:09:01 在 Web 开发 / ASP 提问

在ASP中调用VB编写的组件,总是提示“类型不匹配”错误;后来问题最简归结如下:  
   
  VB组件中的测试函数  
  Sub   Test1(str   As   String)  
          MsgBox   str  
  End   Sub  
   
  ASP测试代码  
  Set   obj   =   createObject(“XXXX”)  
   
  str   =   “aaa”  
  obj.Test1                           //   通过变量传递参数出错,提示类型不匹配  
  obj.Test1   “aaa”         //   直接调用没有问题  
  set   obj   =   nothing  
   
  此外,1)在VB中测试,不会出现错误  
              2)参数的类型无关,即使是整数也有类似问题  
   
          想象中决不可能出现此种问题吧,定是什么地方需要注意一下,但遍寻无解。请问问题出在何处?也许各位短短的一言,就能解我心中大惑;先行谢过!  
  问题点数:20、回复次数:5Top

1 楼online(龙卷风V4.0--决战江湖(MS MVP-VB))回复于 2005-01-22 12:15:24 得分 15

Sub   Test1(str   As   Variant)  
          MsgBox   str  
  End   SubTop

2 楼laihongbo524(风铃夜思雨)回复于 2005-01-22 12:33:03 得分 5

public   sub   testl(byval   str   as   string)  
        msgbox   str   'msgbox   不会在客户端弹出的  
  end   sub  
   
  可写成返回字符串  
   
  public   function   testl(byval   str   as   string)as   string  
      testl=str  
  end   function  
   
  response.write   obj.testl("aaaaaaa")Top

3 楼mapcity(沉郁)回复于 2005-01-22 12:38:30 得分 0

谢谢OnLine!试过了,这样改后可以。  
          但是,组件中有很多方法函数,难道要把所有的参数都改为这种类型吗?  
          对VB不熟,总认为   Variant   是个万能类型,可以化身千万;可是我明明对一些类型已经明确;再退回到这种类型,总感不妥。  
          另外:VB编写的组件,难道都应该用弱类型,才能被ASP调用吗?  
  Top

4 楼online(龙卷风V4.0--决战江湖(MS MVP-VB))回复于 2005-01-22 12:55:13 得分 0

Sub   Test1(byref   str   As   Variant)  
          MsgBox   str  
  End   Sub  
  Sub   Test1(byval   str   As   string)  
          MsgBox   str  
  End   Sub  
  字符串,数字通过值传递或者作为返回值被返回  
  如果使用引用传递,将参数的类型设为Variant。这样做可以避免一些错误。不过尽可能的减少引用传递参数  
  Top

5 楼mapcity(沉郁)回复于 2005-01-22 13:12:41 得分 0

哦,明白......  
  啊,问题解决!  
   
  两位赐教,多谢多谢!Top

相关问题

  • vb 调用vc写的dll时,怎样传递数组参数
  • vb 调用vc写的dll时,怎样传递数组参数
  • 请教vb调用dll时参数传递问题
  • VB中如何传递指针参数来调用DLL?
  • VC调用VB编的DLL时如何传递参数
  • 一个关于通过ASP调用VB编制的COM,并向数据库里边传递数据的问题,期待高手?
  • 用VB调用DLL时,在参数中传递数据老出问题!!!
  • vb 中调用vc写的dll,如何传递字符串数组,,
  • 高手请进,关于外部程序调用vb的参数传递问题!
  • vb调用vc编写的win32 dll时参数传递的问题

关键词

  • 组件
  • vb
  • 调用
  • 参数
  • 传递
  • strend
  • testl
  • 类型
  • msgbox
  • variant

得分解答快速导航

  • 帖主:mapcity
  • online
  • laihongbo524

相关链接

  • Web开发类图书

广告也精彩

反馈

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