51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3182|回复: 6
打印 上一主题 下一主题

[原创] 调用外部dll的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-4-26 17:56:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
不能调用外部dll

Extern.Declare micInteger,"Getinfo","D:\Personal\Desktop\VB6DLL\工程1.dll","Getinfo",micInteger,micInteger

msgbox(Extern.Getinfo(5,6))

该DLL文件中内容(作用:返回2个整数的乘积)
Function Getinfo(a As Integer, b As Integer) As Integer
Dim ac As Integer
ac = a * b
Getinfo = ac
End Function


在第一步就出现错误提示信息:

请大家帮看一下

[ 本帖最后由 sky-vid 于 2007-4-26 17:57 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-4-27 14:06:00 | 只看该作者
调用 vb 开发的dll 首先要研究清楚
DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。Windows提供的DLL文件中包含了允许基于Windows的程序在Windows环境下操作的许多函数和资源。

DLL多数情况下是带有DLL扩展名的文件,但也可能是EXE或其他扩展名。它们向运行于Windows操作系统下的程序提供代码、数据或函数。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。

DLL的全称是Dynamic Link Library, 中文叫做“动态链接文件”。在Windows操作系统中, DLL对于程序执行是非常重要的, 因为程序在执行的时候, 必须链接到DLL文件, 才能够正确地运行。而有些DLL文件可以被许多程序共用。因此, 程序设计人员可以利用DLL文件, 使程序不至于太过巨大。但是当安装的程序越来越多, DLL文件也就会越来越多, 如果当你删除程序的时候, 没有用的DLL文件没有被删除的话, 久而久之就造成系统的负担了。


开发
VC++、C++ Builder、Delphi都可以编写DLL文件。Visual Basic 5.0以上版本也可以编写一种特殊的DLL,即ActiveX DLL。
记住是特殊的,所以不能像原生dll那样使用,要开发出来是com

所以要如下编写代码

dim a
set a=createproject("工程名字.类名")
我猜测你的是set a=createproject("工程1.class1")



a.getinfo 调用


该DLL文件中内容(作用:返回2个整数的乘积)
Function Getinfo(a As Integer, b As Integer) As Integer
Dim ac As Integer
ac = a * b
Getinfo = ac
End Function
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-4-27 15:11:35 | 只看该作者

回复 #2 pcl2004_27 的帖子

非常感谢pcl2004_27

实际上,我用你的方法已经搞定过VB6.0的DLL,现在也明白了为什么
Extern.Declare为什么调用不了这个函数,原来是要COM接口的
另外,有点想不通为什么用.NET编译的DLL用这种方法都搞不定
难到用.NET编译的DLL不能被QTP调用么??
我的QTP是9.0的
sdlkfj4
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-4-27 17:59:05 | 只看该作者
我看关于qtp调用.net的问题,先等个几个月,高人总会出现的
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
    发表于 2007-5-9 21:41:13 | 只看该作者

    调用DLL的问题

    用VC++写的DLL一般都可以调用成功的,原因问问程序员就知道了。sdlkfj2
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2007-5-24 08:56:36 | 只看该作者

    谢谢各位大大

    感谢各位的解答 现在俺就用VB6.0 VC++写DLL得了
    不去想。net了
    实在搞烦了 自己写个测试工具 不用这个QTP了
    麻烦死了 ,一堆问题,这也不支持,那也不支持,连现在最流行得.NET都不支持
    太没有与时俱进的思想了!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-5-25 02:33:46 | 只看该作者
    学习中
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-8 07:38 , Processed in 0.071302 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表