LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How is it possible to get list of VIs from executable?

Hi!

Simple question.
I have executable (builded with LabVIEW, of course).
In LabVIEW 8.0.1 - based application I able to get list of VI inside of executable (with ..\LabVIEW 8.x\vi.lib\Utility\libraryn.llb\Get VI Library.vi)
But if application was builded with LabVIEW 8.2 it seems to be impossible, because error 13 occurred (file is not a resource file).
How is it possible to get list of all VIs from executable which was generated with LabVIEW 8.2?
I do not prefer to build application with llb.
Theoretically I can "convert" exe to llb, and then get list of VIs, but this is "undocumented" way and not preferred.
Any other (better) ideas how to do this?

best regards,

Andrey.
0 Kudos
Message 1 of 4
(3,185 Views)

I don't think you can.

The EXE format was changed (it's not an LLB anymore), so I think you basically have to build your EXE with an LLB.

Other options would be to list all the VIs in memory (not good if you have dynamically called VIs) or maybe trying to see if you can extract the names of the VIs by reading the binary data of the executable, but that sounds like a very messy solution.


___________________
Try to take over the world!
0 Kudos
Message 2 of 4
(3,165 Views)

Hi Andrey;

Just happened to be browsing for a different problem, but an alternative method (assuming I understood the question correctly) may be to use the "List Folder" vi to create a list of all VIs contained within your .exe application.  From this list, you could further use a "Match Pattern" vi to do further sorting.

For example, if any constructed VIs contained the phrase "SubVI" within the file name, use "Current VI Path" followed by a single "Strip Path" (to eliminate the active VI name), use a "List Folder" to extract the vi names contained within the .exe, and match pattern for something like "*SubVI.vi" to get a listing of all VIs with the phrase "SubVI.vi" in the file name.

Hope it helps.

DJH

0 Kudos
Message 3 of 4
(3,122 Views)

Thank you, Hannamon, but this method working properly prior LabVIEW 8.2. With application which was generated with LV8.2 List Folder doesn't return nothing.

Just for explanation, problem is more complicated. I must create application, which will call external VIs from LLBs. So, I needed list of VIs which are already inside of app first for removing some garbage from LLBs, and second, for "re-linking" LLBs to the VIs in executable instead of <vi.lib>, <user.lib>, etc.

Anyway problem already solved (with compiling exe + destination as LLB).

Andrey.

 

0 Kudos
Message 4 of 4
(3,117 Views)