NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

安装包DLL

已解决!
转到解答

生成应用程序之后,调用DLL没有返回有效信息。备注:生成应用程序的相对路径没有错;调用没有报错;

0 项奖励
1 条消息(共 6 条)
2,629 次查看

请给出DLL详细信息.

 

George Zou
0 项奖励
2 条消息(共 6 条)
2,583 次查看

微信图片_20200328211415.jpg

 DLL_OpenCom,没生成应用程序前,有字符返回;生成之后,没有字符返回;麻烦提供下查找问题思路,谢谢

0 项奖励
3 条消息(共 6 条)
2,532 次查看

> 没生成应用程序前,有字符返回;生成之后,没有字符返回

 

路径问题.

如果用相对路径, double check Path.  这是新手最最常见的错误.

如是绝对路径, 确定dll在exe的search path里.

 

建议用NI-VISA来调用COM Port.

你以前是做C++的吗?  COM Port 是LabVIEW 里最简单的东西.

 

 

George Zou
0 项奖励
4 条消息(共 6 条)
2,525 次查看

(1)用了相对路径。生成应用程序之后,相对路径会多一层,这个知道。因为我之前碰到过读取工程文件下一个doc文件内容时,生成安装包之后,会读取不到文件;现在程序中有判断为vi文件还是安装文件,进而设置起始路径。

(2)VISA插件太大,给用户使用,需要客户另外下载,这种方法不好用。

(3)编写DLL调用win的API也能实现COM通信,轻量化。

0 项奖励
5 条消息(共 6 条)
2,517 次查看
解答
已被主题作者 799328581 接受

问题解决了。

问题所在处:x.dll文件放置在...\bin\DLL文件夹中,生成应用程序时,x.dll放置到...\bin文件夹下,导致路径不对(默认没有生成DLL子文件夹)。

解决方法:生成应用程序时,在“目标”栏下新建文件夹“DLL”,然后设置该文件夹放置到...\bin文件夹目录下。

 

其他:

之前一个文本在生成应用程序后还可以读取,是因为该文件放置在..\bin目录下,生成时还是在..\bin目录下。

0 项奖励
6 条消息(共 6 条)
2,489 次查看