0

我有一个用 Visual Basic 编写的可执行文件,它通过 Labview 制作的 DLL 从串行端口读取数据。然后将数据实时绘制在图表上。

使用不同的安装程序包重新安装软件后,串行端口似乎在读取或写入时挂起。我拉起 Portmon 并再次运行该软件;读取工作正常,写入也标记为成功,但图表显示没有数据,并且插入串行端口的硬件在超时后未正确返回其基本位置。

此问题仅发生在具有法语系统设置而不是英语的计算机上,因此我将其中一台计算机在控制面板的语言区域中更改为英语系统设置,然后重新安装软件。有效!有人知道为什么吗?我试图找出罪魁祸首是格式设置、非 unicode 程序设置,还是只是 Windows 语言和位置。语言之间的labview驱动程序是否不同?格式设置是否改变了数据的绘制方式,导致失败?欢迎任何建议。如果您想了解更多信息,我在测试 Portmon 或语言设置之前在 NI 发了一个帖子这里

4

2 回答 2

2

更改系统语言/区域设置也会更改小数分隔符和其他内容。我已经在不同的机器上安装了用 C# 开发的软件,产生了不同的结果,并且由于这个事实根本无法运行。

我不知道您正在使用的软件和硬件的实际情况,但这可能有助于指出正确的方向:)

于 2015-07-21T15:20:25.470 回答
0

谢谢你,布伦特!我只是想添加一些额外的信息:

我使用旧安装程序测试了软件的不同设置,但更改了它的配置文件以提取新的可执行文件。我没有意识到旧的安装程序安装到每个用户的 AppData/Roaming 文件中;我让可执行文件为我的用户运行,但它没有为其他用户运行。我恢复到新的安装程序(将可执行文件保存到 ProgramData),将所有语言设置更改为加拿大法语,并将小数点分隔符从“,”更改为“。” 它现在适用于我的用户名,现在也应该适用于其他人的用户名。

如果没有为每个用户指定安装的文件,这只是确保安装到 ProgramData 的另一个原因!

于 2015-07-30T15:26:41.697 回答