51Testing软件测试论坛

标题: 请教:winrunner调用dll函数报应用程序错误和RPC错误,怎么解决? [打印本页]

作者: xwhite    时间: 2009-12-19 15:38
标题: 请教:winrunner调用dll函数报应用程序错误和RPC错误,怎么解决?
最近用winrunner做一个任务,目的是调用dll提供的函数来实现发送数据并接收返回数据这样的功能,
其间遇到了一点问题请各位大侠帮忙看下 ~
调用dll函数时的相关脚本如下,在红色部分winrunner报错且必须终止:
###########################################################
static path_dll,sSendString,cMaskChar,sReturnString,sErrMsg ;
sSendString = ""; #发送字符串
cMaskChar = ""; #发送字符串中的分割符,如"|"
sReturnString = ""; #接收字符串
sErrMsg = ""; #错误信息

#dll路径
path_dll = "D:\\Test.dll";

#加载dll
load_dll(path_dll);

#函数声明
extern int SendData ( string , char , string , string );

#发送报文
SendData( sSendString, cMaskChar, sReturnString, sErrMsg );

#卸载dll
unload_dll(path_dll);
###########################################################


运行至红字行报如图1错误:(贴图麻烦,上文字了,呵呵)
------------------------------ 图1 ---------------------------------------------------------
536871031.1.1: crvw.exe - 应用程序错误
---------------------------------------------------------------------------------------------
"0x02d92945" 指令引用的 "0x016bfffc" 内存。该内存不能为 "read"。


要终止程序,请单击“确定”。
要调试程序,请单击“取消”。
---------------------------------------------------------------------------------------------
确定   取消   
---------------------------------------------------------------------------------------------


点击确定,报图2提示:

------------------------------ 图2 ---------------------------------------------------------
WinRunner
---------------------------------------------------------------------------------------------
D:\call-dll (27):
Error: function `SendData': RPC ERROR
SendData(sSendString,cMaskChar,sReturnString,sErrMsg );
---------------------------------------------------------------------------------------------
确定   
---------------------------------------------------------------------------------------------


再次运行脚本,报图3提示,此时只能重启winrunner来解决这个提示了:

------------------------------ 图3 ---------------------------------------------------------
WinRunner
---------------------------------------------------------------------------------------------
Failed to open the  debug folder. Error: RPC Error - Cannot talk to CRV module.
---------------------------------------------------------------------------------------------
确定   
---------------------------------------------------------------------------------------------


查了好久资料也没解决这个问题,郁闷坏了!!

PS:dll使用Delphi编写,并且已经另外编写程序测试过该dll,可以正常调用它的函数
各位路过的朋友给点建议哈
作者: xwhite    时间: 2009-12-21 12:49
标题: 回复 2# 的帖子
没办法,这个dll工作量挺大,重写不太可能~
不过,Delphi写的dll应该是可以调用的。我之前编过一个简单的加减法dll,用winrunner调用是可以的,
而且部门里有另外一个测试项目也使用过调用dll的方式。

只是现在报了这种错误,大家都不知道是什么原因
作者: lantianwei    时间: 2009-12-21 16:47
1. 首先确定delphi的dll wr是否可调 用最简单的函数进行试验
2.如果不支持 建议用C再封装下




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2