在wr里是如何对dll文件进行操作的?
在wr里是如何对dll文件进行操作的,例如我有一个dll文件是输出一个随即的字符,那wr里又是怎么样去取到这个值,并应用于脚本? extern int division(int x, int y); #dll export function
unload_dll(""); #unload all dlls
load_dll("mydll.dll");
result = division(8, 4);
I use it like this, and it really works
Is there any other way using it?
I don't know, if you do, tell me, thank you 我试过了,没有成功,可以编译一个成功的例子传上来吗?我觉得很有可能是我没有真正明白你的意思,或操作不对。 用VC做个极其简单的dll(MFC Regular dll),只在函数里增加了一个导出函数:
__declspec(dllexport) int addInt(int x, int y)
{
return (x + y);
}
然后编译成dll(就不用给DLL了吧?)
WR的Script如下:
extern int addInt(int x, int y);
unload_dll(""); #unload all dlls,这步可以不要,但调试的时候经常有错误发生,
#会造成很混乱的dll使用:比如错误发生之前没去unload,而你又重新编译了个dll
#则可能这次使用的是上次编译的dll,而不是重新编译过的,从而结果就会不太准确
if(load_dll("E:\\wrdll.dll") != 0) #dll的full path
pause("fail to load wrdll.dll");
result = addInt(2, 3);
pause(result);
unload_dll("");
#极简单,就和用WR本身的函数差不多
[ Last edited by shyfish on 2005-2-3 at 17:24 ] ThankYou 对于调用动态库的问题,我觉得有下面局限性:
动态苦中的函数参数只能使用TSL语言里面能识别的,比如动态库中使用了CString,
__declspec(dllexport) int functionname(CString str1,CString str2)
这样的话,这个函数就不能在TSL中调用了吧?
[ 本帖最后由 lzq123335 于 2006-9-8 12:42 编辑 ] 原帖由 shyfish 于 2005-2-3 17:01 发表
用VC做个极其简单的dll(MFC Regular dll),只在函数里增加了一个导出函数:
__declspec(dllexport) int addInt(int x, int y)
{
return (x + y);
}
然后编译成dll(就不用给DLL了吧?)
WR的Script如下: ...
为什么按你的方式,没有成功那》还是报错!! 我也这样的问题,希望可能得到解决 顶上去!
页:
[1]