@Michael.Johnson wrote:
I have a CIN which has the code divided betwee the CINRun() function, a number of other functions & a #included .C file. I want to put some error handling into my CIN, so if an error occurs I want execution to return from the CIN to LabVIEW immediately... however, my error handling is currently done in one of the other functions, and may be called from CINRun,
functions, or the #included .C file. Is there any neat/handy/nice way of universally/globally breaking out of or bombing out of the CIN if the error handling code gets called?
You seem to want to do structured ecxeption handling. This however is something only really supported by C++ and other object oriented languages. Standard C can do that only with quite some header macro magic and in general is done in a way, patented by Borland, if I remember correctly. To make things more complicated, writing CINs in C++ is not supported by LabVIEW and requires quite some knowledge about your specific compiler environment and linker to get it right on your own, and no NI won't support C++ creation of CINs.
You will prabably have to modify your C code quite a bit to get it the way you want. Considering that you will have to make more or less involved changes to your C code anyhow, I would recommend you look into creating a shared library instead and calling that through the Call Library Node. CINs are from the past and support for them will be getting less and less with time as it adds almost no advantages to shared libraries anymore and has some disadvantages in comparison, such as proprietary solution, difficult to support and possible compatibility issues in the future.
Rolf Kalbermatter