找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 3410|回复: 20

一个*.dll文件编程调试均正常,做成*.exe后在其他机上就不行?

[复制链接]
发表于 2008-4-5 15:43:17 | 显示全部楼层 |阅读模式
这个getdisksn.dll文件是提取硬盘ID号的,我试了直接调用取字符串返回值,在装了labview的机上运行均正常,但打包做成执行文档在其他没装labview文件的电脑上则出问题。想不明白是配置上还是哪些要注意的地方疏忽了?
 楼主| 发表于 2008-4-5 15:46:22 | 显示全部楼层

文件如下 :

VI和相关*.dll文件如下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 顶

使用道具 举报

发表于 2008-4-5 16:39:29 | 显示全部楼层
回复 顶

使用道具 举报

 楼主| 发表于 2008-4-5 17:08:44 | 显示全部楼层

装了……

开始直接打包成安装文件,以为可能会有某些没包含进去。后我直接将runtime文件再装上也是不行?我的机子一切完好,怎么就不行呢?就是查问题也不知从何查起,望帮我分析下,谢谢你的回复!
回复 顶

使用道具 举报

发表于 2008-4-6 11:38:15 | 显示全部楼层
提示什么错误?你可以在程序中添加个显示DLL的路径,看看是否正确。
回复 顶

使用道具 举报

发表于 2008-4-6 15:57:26 | 显示全部楼层
会不会和这位仁兄的同样的原因呢?

http://www.cpubbs.com/bbs/viewth ... 54&highlight=98

打包后不知道这个DLL它有没有拷贝到其他目录下面!您试试装了RUNTIME后,然后再把DLL和EXE单独拷过去那台计算机试试,目录位置最好和您原来的一样!如果做成了INSTALLER估计就会有二个DLL了!
回复 顶

使用道具 举报

发表于 2008-4-6 16:01:54 | 显示全部楼层
我在我机子上运行也是可以的,没有问题,我弄成了EXE都可以,在VI状态下也是好的!
回复 顶

使用道具 举报

发表于 2008-4-6 16:04:49 | 显示全部楼层
我在另一个电脑没有装LV的机子上运行过,是可以运行的呀兄弟?这就奇怪了!
回复 顶

使用道具 举报

发表于 2008-4-6 17:06:55 | 显示全部楼层
打包的时候可能没有添加支持文件,support file,把它添加进去即可。
回复 顶

使用道具 举报

 楼主| 发表于 2008-4-6 20:27:14 | 显示全部楼层

谢谢大伙儿这么热心

真的真心感谢! 我今天没上网。爬了一天的山。看到版主及相关大侠都曾这么认真做了实验,关键是我在其他机上有两台没装labview的软件上都试了不行。所以才发出此贴求救。我在想是不是那些机子的操作系统用ghost装的缘故。本来打算明天上班才又到公司的机上试试,并着意做了小程序来查看到底是怎么回事。

回楼上,我如果通过support file来添加*.dll的时候,会弹出错误对话框。build不下去。

我的*.dll文件经缺省build后,安装完后与*.exe同一目录的data中。开始我还担心是不是没加延时,后又补了点延时。明天上班后得仔细弄弄,看到底是怎么了。。。尽量能够结贴。
回复 顶

使用道具 举报

发表于 2008-4-7 10:31:14 | 显示全部楼层
原帖由 _mcusir 于 2008-4-5 15:43 发表
这个getdisksn.dll文件是提取硬盘ID号的,我试了直接调用取字符串返回值,在装了labview的机上运行均正常,但打包做成执行文档在其他没装labview文件的电脑上则出问题。想不明白是配置上还是哪些要注意的地方疏忽了? ...

我需要明白一下,你说的出问题是指什么?运行没反映?exe报错?死机?请明示!
另外,你这个dll是自己用vc写的吧?能否公开源码?

一个建议:用windows自己的api,我暂时不知道是什么,但我肯定,实现同样功能的api是有的

一个疑惑:你这个api返回一个string,按labview的call dll的习惯,这样的情况,是需要事先分配内存的?难道是我错了?记得ruanqizhen大侠在他的博客上有篇帖子,好像说有的情况是不需要事先分配内存的,待会去看看。。。。

sorry,我错了,返回的string不用事先分配内存的
回复 顶

使用道具 举报

 楼主| 发表于 2008-4-7 12:29:46 | 显示全部楼层

初步断定应是用户的操作系统使用GHOST安装的缘故

因上午我在公司的电脑上分析试用了都一切完好。
回楼上,在用户电脑上运行此dll文件,读不出任何字符。此dll文件是从NI公司的官方网站下来的。你可作任意用途。
但用户不愿老实一步一步安装操作系统,待进一步联系更改……
回复 顶

使用道具 举报

发表于 2008-4-7 13:04:50 | 显示全部楼层
有点明白了,因为你的vi在我的电脑上也没什么效果。。。
初步怀疑是硬盘命名的问题,我去NI网站看看这个dll的描述
为空说明他的硬盘ID本来就是没有设置。。。不过什么是硬盘ID?汗汗~~先去瞧瞧
回复 顶

使用道具 举报

发表于 2008-4-7 13:18:30 | 显示全部楼层
你用的是
http://www.cpubbs.com/bbs/viewth ... hlight=%D3%B2%C5%CC
这个吧

电脑上注意防护软件的防护
回复 顶

使用道具 举报

发表于 2008-4-7 13:24:33 | 显示全部楼层
感谢lgh兄的好东西,以前收藏过,不过系统格了,东西都没了。。。

另外,楼主的问题的答案我想我是找到了,这个函数名是:GetIdeDiskSerialNumber,也就是说,它只是支持IDE接口的硬盘的,而比如我的电脑,是SATA接口的,所以运行就出不来任何结果,估计你的客户电脑也是SATA的。。个人感觉现在硬盘SATA的比较多些吧?
回复 顶

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-30 11:09 , Processed in 0.062015 second(s), 11 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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