12-14-2023 05:22 AM - edited 12-14-2023 05:25 AM
At least for test builds, always disable the "Allow future versions of the Runtime to load this application" checkbox! It's in many cases more trouble than any advantage and for testing purposes absolutely useless anyways.
As to static VI references in static VI referenced VIs, I never tried that but it is clearly not the problem here. The VIs are apparently directly included as subVIs. And at least the Fit Window to largest Dec.vi is as far as I remember not a Polymorphic VI, so that should also not be a possible problem.
12-14-2023 05:52 AM
Just because I see it in the screenshot: Does 'Generate build log file' reveal some hints?
12-14-2023 07:04 AM
@JB wrote:
As a first step, I was just hoping that someone else had experienced this problem, which is why I didn't give any more details about the application. Even if I doubt that they are really useful, here are a few :
- several hundred VIs
- some are called dynamically
- many are reentrant (asynchronous control of 4 test stations on an assembly line)- self-made QMH framework
- DAQmx, NI-XNET (LIN), CANopen, Modbus
- JKI State Machine, LabVIEW State Diagram, Enhanced State Diagram
Our applications are for internal use only. Apart from the fact that this is the first application I've developed with LV21 and the first use of Enhanced State Diagram for one state machine, it's not very different from the previous ones in terms of structure and hierarchy.
Compared with others, the executable seems rather large (60MB). ALL the VIs and ALL the ctls are missing.
Same part of code in the development environment :
If no-one has had to deal with this problem, I'd have no choice but to make bits of applications to try and identify the cause of the problem.
Thanks for the info. It's just enough for a super sleuth to add comments. I was always a fan of Velma Dinkley.
You stated that all controls are missing but...I see type def'd constants so at least those controls are in the build. (You also have several enum constants that are not type def'd! This is bad)
The missing OpenG vi is the next clue.. OpenG installs in a version specific <LabVIEW> folder. Jinkies! A Clue!
The third red box contains what appears to be mutation code generated by a save for previous process.
So, second try ...~~~~Oh 8-Ball, did some developer backsave the main vi breaking all the links to the desired LabVIEW Development IDE version specific depenants? ~~~~
It appears likely. (And someone is not going to be happy about it)
12-14-2023 08:23 AM - edited 12-14-2023 08:33 AM
@JÞB wrote:
@JB wrote:
As a first step, I was just hoping that someone else had experienced this problem, which is why I didn't give any more details about the application. Even if I doubt that they are really useful, here are a few :
- several hundred VIs
- some are called dynamically
- many are reentrant (asynchronous control of 4 test stations on an assembly line)- self-made QMH framework
- DAQmx, NI-XNET (LIN), CANopen, Modbus
- JKI State Machine, LabVIEW State Diagram, Enhanced State Diagram
Our applications are for internal use only. Apart from the fact that this is the first application I've developed with LV21 and the first use of Enhanced State Diagram for one state machine, it's not very different from the previous ones in terms of structure and hierarchy.
Compared with others, the executable seems rather large (60MB). ALL the VIs and ALL the ctls are missing.
Same part of code in the development environment :
If no-one has had to deal with this problem, I'd have no choice but to make bits of applications to try and identify the cause of the problem.
Thanks for the info. It's just enough for a super sleuth to add comments. I was always a fan of Velma Dinkley.
You stated that all controls are missing but...I see type def'd constants so at least those controls are in the build. (You also have several enum constants that are not type def'd! This is bad)
The missing OpenG vi is the next clue.. OpenG installs in a version specific <LabVIEW> folder. Jinkies! A Clue!
The third red box contains what appears to be mutation code generated by a save for previous process.
So, second try ...~~~~Oh 8-Ball, did some developer backsave the main vi breaking all the links to the desired LabVIEW Development IDE version specific depenants? ~~~~
It appears likely. (And someone is not going to be happy about it)
"You stated that all controls are missing but...I see type def'd constants so at least those controls are in the build."
Yes, good point. But most are missing.
"(You also have several enum constants that are not type def'd! This is bad)"
All these constants are automatically generated by NI's State Diagram Toolkit and can't be edited otherwise by modifying the states with the editor of this toolkit.
"The missing OpenG vi is the next clue.. OpenG installs in a version specific <LabVIEW> folder. Jinkies! A Clue!"
Like any other packages, even our own libraries which we manage with VIPM Pro, OpenG is installed for every used LV version. A self-made tool is used to display the hierarchy of the projects in a tree indicator and to save it to a spreadsheet file. This is quite useful to check the dependencies. From vi.lib, user.lib and specific to the project, ALL VIs are missing in the executable.
"The third red box contains what appears to be mutation code generated by a save for previous process."
This is also part of NI's State Diagram Toolkit.
"So, second try ...~~~~Oh 8-Ball, did some developer backsave the main vi breaking all the links to the desired LabVIEW Development IDE version specific depenants? ~~~~
It appears likely. (And someone is not going to be happy about it)"
This isn't the case. The application runs in development mode and all the dependencies have been checked with our tool.
Thank you for your time.
12-14-2023 08:29 AM - edited 12-14-2023 08:29 AM
@UliB wrote:
Just because I see it in the screenshot: Does 'Generate build log file' reveal some hints?
Thank you for the hint.
The log lists the >2300 VIs/ctls of the projets and says that the application builder is very happy with his job.
Unfortunately, this won't help.
12-14-2023 09:16 AM
The fact that no vi can be found seems to be related to their common root path. Is there something unusual in the exe name or path?
12-14-2023 09:45 AM
@pincpanter wrote:
The fact that no vi can be found seems to be related to their common root path. Is there something unusual in the exe name or path?
Unfortunately not. Thank you for the hint.
12-14-2023 09:56 AM
Just to test, what happens if you check Use LabVIEW 8.x file layout in the build specifications Advanced tab?
12-14-2023 10:16 AM - edited 12-14-2023 10:17 AM
Important upgrade.
As no-one else has encountered this problem, I've just started investigating.
It finally took a few minutes to identify the source. If it's obvious, it's extremely annoying!
By performing a basic example, it appears that with LV21, the LabVIEW State Diagram Toolkit still works in development mode but not as an executable.
Over the years, our team has developed a significant number of VIs based on this toolkit and we are therefore facing a major problem with LV21.
Unfortunately, as mentioned on the download page of the enhanced state machine editor, there is currently no way to migrate state machines between the two versions of the toolkit. A major investment to rewrite the VIs concerned - some with machines with numerous states and transitions - seems inevitable. As the new editor has a few bugs, the question will arise as to whether it might not be preferable to abandon these NI toolkits.
If any of you are using this toolkit with LV21 and have managed to run an executable, please let me know.
If you're interested, I will post a ZIP of my basic example showing the problem. It obviously requires the installation of the toolkits.
Many thanks to everyone who tried to help me.