Skip to content

Decompose LabVIEW Object sporadically returns incomplete data for dynamically loaded classes #24

@logmanoriginal

Description

@logmanoriginal

There appears to be a bug in LabVIEW that causes the AllVIs property to return an incomplete set of VIs in memory -- including class private data controls. This results in false positives when checking for interface classes.

In the following example, the class Class 1.lvclass is loaded into memory before reading the AllVIs property. The expected behavior is that the list of VIs in memory contains the private data control of the class Class 1.lvclass:Class 1.ctl. The loop exits when the control is not found in memory.

  • Run the VI from the FP and then click on the BD.
  • Note that the VI stops as soon as the BD is selected.
Image

Observations:

  • It works flawlessly when the VI runs
  • It breaks as soon as the block diagram is selected
  • This is reproducible in all versions of LabVIEW

I can only speculate why this happens. Unfortunately, this has an impact on this project because users might load classes into memory dynamically (e.g., as part of a plug-in mechanism), which now becomes unreliable because the AllVIs property might return an incomplete set of private data controls, resulting in false positives when checking for interface classes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions