11-22-2006 02:19 AM
11-22-2006 04:55 AM
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.
11-30-2006 04:58 AM
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
11-30-2006 05:18 AM
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.