07-23-2013 06:56 AM
So here's the situation: I wrote an XControl using an external library (camera control functions). The control works as it should work. So I use it in a VI and save this file. Reopening the file causes the front panel to freeze. Why? When I restart labview after it ultimately crashed and place the xcontrol in a new VI it works like a charm again - but saving and reopening it leads to freeze and crash again. In an attempt to debug I deleted all the external VIs from my XControl, believing this to be the problem. Its completely empty now, but still the freezing and crashing. What could be the problem?
Kai
07-24-2013 05:32 PM
1) What version of LabVIEW are you using?
2) If I remember correctly, different things happen when you load a saved XControl on a VI than when that XControl is first dropped. Check out what could be happening in your Init VI.
3) Another good possibility is that your xControl is not closing a reference or some resource when you close the VI that is is on. Opening the VI again, then causes a problem when again trying to access that resource.
You say this XControl is completely empty now? Does a brand new XControl do the same thing?
07-24-2013 08:15 PM
Did you follow all the instructions in the facade VI especially how the outer loop is supposed to exit? Maybe your xcontrol never completes?
07-25-2013 05:47 AM
Thank you for your input! I appreciate it very much.
To Chris:
1) Version 12, 32 Bit
2) Here is my init vi:
As you can see, this is still default. I have not changed a thing. Maybe I should?
3) This could be the case! How can I prevent this, if it is the case? Other XControls work fine. I will try a minimal experiment.
To Altenbach: I tried to follow the instructions. Heres my facade timeout. Maybe the need to be more in there:
One last thing. When loading the facade.vi it told me the following:
Vi was expected under "C:\Program Files\Andor SOLIS\Drivers\Examples\LabVIEW\System Files\user.lib\atmcd32d_internal.llb\Error Code Handler.vi", but was loaded from "Z:\Kai\xcamera\MicroscopeControlPanel_64bit_06042012_newroomPalmSet Folder\Program Files\National Instruments\LabVIEW 2010\user.lib\atmcd64d_internal.llb\Error Code Handler.vi"
The first is the local machine, the second is an (access restricted) external drive. How can you EXPECT a source at one place, but load it from another? I will try to change that....it is definitely a possible error source.
Thank you!
07-25-2013 07:32 AM
What LabVIEW means when it "expected" a VI from someplace is that that is where the VI was located when the calling VI was last saved.
This message indicates that LabVIEW appears to have found the correct VI, but it was in a different place on your computer than it last "remembered" it to be.
If you want to force LabVIEW to load it from a certain location, you can often open up the VI that you want to be loaded. Opening the VI will force LabVIEW to load it into memory and LabVIEW can only have one VI of the same name open in the same context.
If you get a conflict error when you do this, cancel the load, find where the incorrect VI is located and do a right-click>replace with the correct VI. This will replace all instances in memory.
07-26-2013 10:40 AM
Well,
I fixed that. You mentioned that the loading process of a saved XControl is something different then placing it entirely new. Since my empty XControl is still freezing, I think it might have to do with the loading of the libraries. Where could I look up the specifics of this problem?
Greetings