labc 发表于 2007-9-3 14:41:09

使用VI sever技术时打包问题(LV8.2)

主VI通过VI sever的方法调用各个子窗口的“主VI”(各个子窗口的“主vi”都是连续循环的,除VI sever,别的方法不行。因为除非关闭当前正在运行的窗口,否则就无法响应别的窗口)。有下列文件(夹):
         data:用于存放dll文件和打印报告时的模版文件;
         report:用于存放生成的报告文件;
         subvi:程序的子vi,除主vi之外的其它vi基本上都存放在这里面;
         主vi:程序主vi;
         全局变量.vi:我将各个窗口的路径也存放到了这里全局变量.vi内;
         菜单.rtm:菜单文件.主vi的菜单文件。
         data,report,subvi,主vi,全局变量.vi,菜单.rtm并行存放在同一个文件夹内.

      主vi通过wdyjz提供的autodetect_install_path_wdyjz(http://www.cpubbs.com/blog/?1288/action_viewspace_itemid_336.html)来确定各个窗口的"主vi" 的路径。
       程序在调试状态下运行正常。
       现在的问题是:
      1、打包后安装后未发现report文件夹;
      2、点击菜单时,各个子窗口没有显示出来!!!

请问,我该如何正确的打包或重新修改程序?

Thanks!
Labc

tx 发表于 2007-9-3 15:48:53

在制作安装包的时候,要将你需要的目录添加到安装程式的目录中就可以了。

wdyjz 发表于 2007-9-3 23:02:24

其实,再VIserver操作的时候,如果VI都是自己的子VI,则不用我作的那个路径识别程序也可以.你可以自己做个简单的例子测试下.
打包的时候,主要是子程序要全部作为dynamic vi,其他需要的文件可以作为支持的部分.
但问题就在于:自己的文件再安装后默认放在programm files...data\内,因此,这个最好使用我做的那个路径识别程序,将该文件直接作为相对exe的定位路径;
可以将该文件夹直接加载过去,寻找的时候也是按照文件夹进行,比如data\data1.txt

labc 发表于 2007-9-10 11:16:54

Wdyjz说的没错,我做了一下改进。
      对于自己的文件夹report,在打包的时候没有必要打包进去:在程序中增加判断report和data是否并行存放在同一个文件夹内,如果不存在就创建一个。

Thnaks.
Labc
页: [1]
查看完整版本: 使用VI sever技术时打包问题(LV8.2)