前言

LabVIEW程序开发,让我们的程序设计变的简单容易,但是设计过程中也不乏大量的重复性工作,其中最让人头痛的莫过于依赖冲突问题。

事实上,只要你对文件进行了修改或者移动,必不可少的依赖冲突就会产生。

如何避免依赖,或者说设计一个容易移植的程序呢? 本文给大家一个思路,有更好的意见可以共同探讨。

正文

LabVIWE路径依赖的解除有很多方法,今天介绍的相对简单便捷的一种,后续我也会整理整理其他的一些解除方法。

什么是路径依赖冲突
文本语言中每一个函数是只是一个Function,而LabVIWE的函数却是一个文件,所以LabVIEW开发出来的程序会存在许多的.vi文件,这些文件在磁盘上按照一定的规律存储。

如果你脱离LabVIEW改变了这些存储规则,各种路径依赖的冲突就会产生,最典型的表现形式如下图所示:

为什么会出现路径冲突

路径冲突的出现有很多原因,常见的情境有以下方面:
1. 写了一些代码发现名字命名不好,在磁盘下修改了这些命名
2. 需要用到其他项目中的一些文件,所以拷贝了一份过来
3. 需要移植到另外一台电脑上,或者给别的人去阅读代码
 

怎么解决路径冲突

路径冲突形成的原因各不相同,这里小黑只介绍一下如何避免拷贝代码带来的路径冲突。

事情的起因是这样的:

有一天,小黑突然想起当前的项目需要使用用户登陆界面,而登陆功能都做过N个版本了,不想再重新写一遍。于是小黑想把以前项目中的代码复用到新项目。

简单复制后出现了许多许多的路径冲突和依赖问题。

为了避免上述的问题,小黑通过下面的方法去做,问题迎刃而解。

干货如下:

1.将需要解除依赖关系的VI放置于一个空白的项目中去,这里可以是一个VI,也可以是一个文件夹或者是一个项目

2.创建源代码发布的Builds,建立一个发布的工程
3.将需要发布的内容添加到Always Include中去

4.设置目标目录,用于设定发布的路径

5.设置支持目录,该目录主要用于放置依赖的一些文件VI

6.源代码设置,其中核心代码的正常配置到目标目录下即可,这里重点看的是依赖目录放置位置,选择Dependencies,然后选择为支持目录。其他的一些附属操作可以自己摸索。

5.解除对VI的依赖关系
完成上述的设定后,可以预览一下发布代码后的内容,这里我将依赖的VI都放在了data目录下

点击发布按钮,即可在目标文件夹下找到依赖解除的VI了。

解除依赖后的VI直接复制移动到项目下,新的项目就会使用一个没有任何冲突的VI群了。

简单的配置,带了了效率的极大提升!这个技能必不可少!

后记

我分享这些内容,一方面是为了整理和输出知识的过程,另一方面也给还没有注意到这个细节的工程师带来一些思考。

如果你觉得这些文章对自己有帮助,或者你也有一些属于自己的心得体会,不妨后台联系我,共同探讨进步,闭门造车永远是慢速前进的,分享才会促进共同进步。




 
 

【LabVIEW技巧】路径依赖解除方法的更多相关文章

  1. Scala 深入浅出实战经典 第52讲:Scala中路径依赖代码实战详解

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  2. asp.net后台获取路径的各种方法归纳

    asp.net后台获取路径的各种方法归纳   1.Request.CurrentExecutionFilePath    获取当前请求的虚拟路径,不同于 FilePath,差别在于如果请求已在服务器代 ...

  3. (转)多个mapreduce工作相互依赖处理方法完整实例(JobControl)

    多个mapreduce工作相互依赖处理方法完整实例(JobControl) 原文地址:http://mntms.iteye.com/blog/2096456?utm_source=tuicool&am ...

  4. scrapy技术进阶-URL路径依赖

    方法1: #!/usr/bin/python # -*- coding: gbk -*- import time from scrapy.spider import BaseSpider from s ...

  5. 第52讲:Scala中路径依赖代码实战详解

    今天学习了scala中的路径依赖,来看一下实战代码 class Outer{  private val x = 10  class Inner{    private val y = x +10  } ...

  6. java中得到classpath和当前类的绝对路径的一些方法(路径中的%20"进行替换空格)

    原网址:http://blog.csdn.net/shendl/article/details/1427475 (注意:利用下面方式得到路径,如果路径中有空格字符, 那么会有"%20&quo ...

  7. 解决JSP路径问题的方法(jsp文件开头path, basePath作用)

    原文:http://blog.csdn.net/mingxunzh/article/details/4627185 在JSP中的如果使用 "相对路径"  则有可能会出现问题. 因为 ...

  8. WPF 获取程序路径的一些方法,根据程序路径获取程序集信息

    一.WPF 获取程序路径的一些方法方式一 应用程序域 //获取基目录即当前工作目录 string str_1 = System.AppDomain.CurrentDomain.BaseDirector ...

  9. eWebeditor编辑器上传图片路径错误解决方法[疑难杂症]【转,作者:unvs】

    做了一个多版本的网站,后台用的编辑器是eWebeditor,NET版,后面发现上传图片或者文件之后,路径错误无法显示,必须手工修改才行.. 为了更清楚的说明问题,我下面会说的比较详细,首先是网站文件框 ...

随机推荐

  1. js方法入参或局部变量和全局变量重名,用来赋值全局变量会失败

    今天遇到个bug,最后终于知道原因了,js方法入参和全局变量重名,用入参赋值全局变量失败,就是说方法入参不能和全局变量重名. 现在下面的例子也说明,局部变量和全局变量不可以同名不光是入参,只要同名赋值 ...

  2. CISCO VLAN ACL

    对于cisco VLAN ACL 首先得定义 standard ACL或 extented ACL用于抓取流量 注意这里的抓取流量不是最终的对流量的操作,而是决定什么样的流量用VLAN ACL 来处理 ...

  3. python之系统性能信息模块psutil

    系统性能信息模块psutil 跨平台库 轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息. 主要用于系统监控,分析和限制系统资源及进程的管理 实现同等命令行工具提供的功能( ...

  4. Python 实现Windows开机运行某软件

    开机运行:随系统启动的应用程序,当系统启动之后会自动加载的应用 在注册表中添加启动项便可实现开机启动. 代码如下: # -*- coding:utf-8 -*- import win32api imp ...

  5. ExtJs基础知识总结:自定义弹窗和ComboBox自动联想加载(四)

    概述 Extjs弹窗可以分为消息弹窗.对话框,这些弹窗的方式ExtJs自带的Ext.Msg.alert就已经可以满足简单消息提示,但是相对复杂的提示,比如如何将Ext.grid.Panel的控件显示嵌 ...

  6. 浅谈WEB前后端分离

    重审业务逻辑 用过MVC的童鞋都知道业务逻辑(Bussiness Logic),但是大多对这概念又是模棱两可,业务逻辑从来都是这样难以理解,谈论前后端分离之前这个概念非常有必要探讨一下! 在简单的CR ...

  7. 【leetcode】Longest Substring Without Repeating Characters

    题目描述: Given a string, find the length of the longest substring without repeating characters. For exa ...

  8. 大话css之display的Block未解之谜(一)

    用了几年的css了,css中inline | block |inline-block|table|flex从来没有做过系统的整理和分析,网上的分析文章也很多,零散. 今天有空,就在这做一下整理分析 b ...

  9. TotoiseSVN的基本使用方法

    TotoiseSVN的基本使用方法 在 项目管理实践教程一.工欲善其事,必先利其器[Basic Tools]中,我已经讲解了怎样安装TortoiseSVN.在上面的讲解中已经讲了怎么使用VisualS ...

  10. iOS之防止用户重复点击Button(按钮)问题

    在项目中,我们往往会遇到这样的问题:因为网络较慢的原因,用户会不耐烦的一直去点击按钮,这样导致的结果时:相关代码一遍一遍的被重复执行,如果按钮的事件是网络请求的话,这样又导致一种网络请求的循环.所以我 ...