06-02-2021 03:30 AM
VI file suddenly does not open.
When i try to open it, the following message appears.
"Labview: Failed to load dynamic library because of missing external symbols or dependencies, or because of an ainvalid file format.
The file 'main.vi' could not be loaded.
Can I recover this vi file? plz help.
06-02-2021 03:50 AM
There is a list of things that could be causing this error to appear here - https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P70sSAC&l=en-GB
I get the same error too. The VI is lacking some data necessary to open. I see that there are some symbols in the control names that could be in another language. Does the installation of LabVIEW on this computer have the correct language version and libraries? It might be a missing font issue.
Many Thanks,
Riley
06-02-2021 04:03 AM
I think it's not a font issue, because i used this VI file many times on this computer.
I force quit Labview once, and it has been like this since then.
I tried to open it on another computer, but it doesn't work.
Is there no way anymore?
06-02-2021 05:51 AM
06-02-2021 06:11 AM
Open "main.vi" with Notepad and look at it. It's not a VI anymore, it's a csv file now. Somehow you overwrote the VI with numeric data.
06-02-2021 07:43 AM - edited 06-02-2021 07:44 AM
@paul_cardinale wrote:
Open "main.vi" with Notepad and look at it. It's not a VI anymore, it's a csv file now. Somehow you overwrote the VI with numeric data.
Uh-oh, a malformed path, I guess. I can envision forgetting to strip the filename from the path and... oops. (Not sure why you would be saving a file to the same path as your VI, though.) Let's say you forget to strip the filename from the path, and whatever generates your file name bombs and returns an empty string...
06-02-2021 10:47 AM
@billko wrote:
@paul_cardinale wrote:
Open "main.vi" with Notepad and look at it. It's not a VI anymore, it's a csv file now. Somehow you overwrote the VI with numeric data.
Uh-oh, a malformed path, I guess. I can envision forgetting to strip the filename from the path and... oops. (Not sure why you would be saving a file to the same path as your VI, though.) Let's say you forget to strip the filename from the path, and whatever generates your file name bombs and returns an empty string...
My general rules for relative paths:
1. VI paths should be based on Current VI's Path or the lvlibp directory.
2. Configuration file paths should be based on Application Directory.
3. Logged data should be in a Public Documents folder.
I do these in order to keep compatibility between the development environment and an executable. I put logged data in a Public Documents folder so that I know I can write to it and anybody on the computer can access it.