LabVIEW中的引用句柄
- 更新时间2026-06-12
- 阅读时长2分钟
引用句柄,或引用句柄,是LabVIEW为打开的对象(例如,文件、设备或网络连接)创建的唯一标识符。引用句柄在对象保持打开状态时标识要操作的对象。
对打开的文件、设备或网络连接进行的所有操作均使用引用句柄来识别每个对象。引用句柄控件用于将一个引用句柄传进或传出VI。例如,引用句柄控件可在不关闭或不重新打开文件的情况下修改其引用的文件内容。
由于引用句柄是一个打开对象的临时指针,因此它仅在对象打开期间有效。如关闭对象,LabVIEW会将引用句柄与对象分开,引用句柄随即失效。如再次打开对象,LabVIEW将创建一个与第一个引用句柄不同的新引用句柄。
LabVIEW记录每个引用句柄的相关信息,例如,读取或写入对象的当前位置以及用户访问的程度。因此,可对单个对象执行并行但独立的操作。如一个VI多次打开同一个对象,那么每次的打开操作都将返回一个不同的引用句柄。
引用句柄可以是严格类型或非严格类型。
LabVIEW将为引用句柄指向的对象分配内存空间。关闭引用句柄将从内存中释放对象。按照下列建议,最有效地使用内存作为引用句柄:
- 完成后立即关闭引用句柄。VI结束运行时LabVIEW会自动关闭引用句柄,如果用户在结束使用引用句柄时就立即将其关闭,可最有效地利用引用句柄,这是一个良好的编程习惯。
- 关闭引用句柄的顺序与打开时相反。
例如,考虑执行下列操作的程序:
- 获取对象A的引用句柄
- 在对象A上调用方法以获取对象B的引用句柄
在这种情况下,按顺序关闭引用句柄:
- 关闭对象B的引用句柄
- 关闭对象A的引用句柄
- 如在一个For循环或While循环中打开一个引用句柄,则应在每次循环后关闭该引用句柄。
LabVIEW将不断为引用句柄重复分配内存,直到VI完成运行后才释放内存。