一个*.dll文件编程调试均正常,做成*.exe后在其他机上就不行?
这个getdisksn.dll文件是提取硬盘ID号的,我试了直接调用取字符串返回值,在装了labview的机上运行均正常,但打包做成执行文档在其他没装labview文件的电脑上则出问题。想不明白是配置上还是哪些要注意的地方疏忽了?文件如下 :
VI和相关*.dll文件如下 runtime装了没?装了……
开始直接打包成安装文件,以为可能会有某些没包含进去。后我直接将runtime文件再装上也是不行?我的机子一切完好,怎么就不行呢?就是查问题也不知从何查起,望帮我分析下,谢谢你的回复! 提示什么错误?你可以在程序中添加个显示DLL的路径,看看是否正确。 会不会和这位仁兄的同样的原因呢?http://www.cpubbs.com/bbs/viewthread.php?tid=54354&highlight=98
打包后不知道这个DLL它有没有拷贝到其他目录下面!您试试装了RUNTIME后,然后再把DLL和EXE单独拷过去那台计算机试试,目录位置最好和您原来的一样!如果做成了INSTALLER估计就会有二个DLL了! 我在我机子上运行也是可以的,没有问题,我弄成了EXE都可以,在VI状态下也是好的! 我在另一个电脑没有装LV的机子上运行过,是可以运行的呀兄弟?这就奇怪了! 打包的时候可能没有添加支持文件,support file,把它添加进去即可。
谢谢大伙儿这么热心
真的真心感谢! 我今天没上网。爬了一天的山。看到版主及相关大侠都曾这么认真做了实验,关键是我在其他机上有两台没装labview的软件上都试了不行。所以才发出此贴求救。我在想是不是那些机子的操作系统用ghost装的缘故。本来打算明天上班才又到公司的机上试试,并着意做了小程序来查看到底是怎么回事。回楼上,我如果通过support file来添加*.dll的时候,会弹出错误对话框。build不下去。
我的*.dll文件经缺省build后,安装完后与*.exe同一目录的data中。开始我还担心是不是没加延时,后又补了点延时。明天上班后得仔细弄弄,看到底是怎么了。。。尽量能够结贴。 原帖由 _mcusir 于 2008-4-5 15:43 发表 http://www.cpubbs.com/bbs/images/common/back.gif
这个getdisksn.dll文件是提取硬盘ID号的,我试了直接调用取字符串返回值,在装了labview的机上运行均正常,但打包做成执行文档在其他没装labview文件的电脑上则出问题。想不明白是配置上还是哪些要注意的地方疏忽了? ...
我需要明白一下,你说的出问题是指什么?运行没反映?exe报错?死机?请明示!
另外,你这个dll是自己用vc写的吧?能否公开源码?
一个建议:用windows自己的api,我暂时不知道是什么,但我肯定,实现同样功能的api是有的
一个疑惑:你这个api返回一个string,按labview的call dll的习惯,这样的情况,是需要事先分配内存的?难道是我错了?记得ruanqizhen大侠在他的博客上有篇帖子,好像说有的情况是不需要事先分配内存的,待会去看看。。。。
sorry,我错了,返回的string不用事先分配内存的
初步断定应是用户的操作系统使用GHOST安装的缘故
因上午我在公司的电脑上分析试用了都一切完好。回楼上,在用户电脑上运行此dll文件,读不出任何字符。此dll文件是从NI公司的官方网站下来的。你可作任意用途。
但用户不愿老实一步一步安装操作系统,待进一步联系更改…… 有点明白了,因为你的vi在我的电脑上也没什么效果。。。
初步怀疑是硬盘命名的问题,我去NI网站看看这个dll的描述
为空说明他的硬盘ID本来就是没有设置。。。不过什么是硬盘ID?汗汗~~先去瞧瞧 你用的是
http://www.cpubbs.com/bbs/viewthread.php?tid=17840&highlight=%D3%B2%C5%CC
这个吧
电脑上注意防护软件的防护 感谢lgh兄的好东西,以前收藏过,不过系统格了,东西都没了。。。
另外,楼主的问题的答案我想我是找到了,这个函数名是:GetIdeDiskSerialNumber,也就是说,它只是支持IDE接口的硬盘的,而比如我的电脑,是SATA接口的,所以运行就出不来任何结果,估计你的客户电脑也是SATA的。。个人感觉现在硬盘SATA的比较多些吧?
页:
[1]
2