Jump to content

Finding Suspend When Called


Recommended Posts

I sent this in as a tech support issue, but I am posting it here for tips and/or comment:

QUOTE

We have a large application with multiple developers, and we ship the code with our product, which runs 24x7x365. If any VI or subVI instance is set to "Suspend When Called" (SWC) and the panel is not included in the build, then the built application will put up a "Null Window" dialog box, even if debugging is not enabled.

We can actually search the VI hierarchy for VIs with SWC set, and check this before building (this is the kind of thing the App Builder should do for you!!!), but there is no way to check that a subvi instance does not have this setting enabled in the subvi's popup menu.

It is very easy to leave this on by accident and forget about it, and have this setting end up in the build. If the VI is not used frequently, then it's possible that it won't show up during testing, but having an unplanned dialog box come up will cause major problems. It's basically a showstopper.

Obviously if there is a way to find or disable this in my exe's I would like to know, but if I am correct that there is no way, I would like to try to get this prioritized for a future release.

From an overall view, it is important that LabVIEW make it very difficult to have unexpected dialog boxes produced by a built executable.

Link to comment

I agree...it seems to me we should turn off this setting for subVIs in a built EXE. I made sure the App Builder team is aware of this thread. For now, you can use the attached VI Analyzer Test (saved in 8.6) to detect this situation in your VIs before you build an EXE. Place this LLB in [LabVIEW Data]\VI Analyzer Tests, then launch Tools > VI Analyzer > Analyze VIs and the SubVI Suspend When Called test will be one of the tests you can run. Note that in LabVIEW 8.6, you do not need to have the VI Analyzer Toolkit installed in order to run tests...the UI and Engine for the VI Analyzer are now part of core LabVIEW...the toolkit now consists of the toolkit's original test suite and the VI-based analysis API.

Let me know if you have any questions,

-D

Link to comment

QUOTE (Darren @ Sep 9 2008, 12:11 PM)

I agree...it seems to me we should turn off this setting for subVIs in a built EXE. I made sure the App Builder team is aware of this thread. For now, you can use the attached VI Analyzer Test (saved in 8.6) to detect this situation in your VIs before you build an EXE. Place this LLB in [LabVIEW Data]\VI Analyzer Tests, then launch Tools > VI Analyzer > Analyze VIs and the SubVI Suspend When Called test will be one of the tests you can run. Note that in LabVIEW 8.6, you do not need to have the VI Analyzer Toolkit installed in order to run tests...the UI and Engine for the VI Analyzer are now part of core LabVIEW...the toolkit now consists of the toolkit's original test suite and the VI-based analysis API.

Let me know if you have any questions,

-D

I guess it's possible that some misguided soul will design suspend-when-called into a built executable as a lame way of interacting with the user. I also heard (on LAVA) that debugging a built EXE works if you run a computer with the development system installed, though I haven't tried it. So it seems like there should be a possibility to get SWC to work in a built EXE, but you should have to jump through some hoops to make it happen rather than being on by default.

Thanks for the heads up about the analyzer. I will definitely add that to our pre-build check as we migrate to 8.6.

Jason

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.