04-25-2007 02:00 PM
04-25-2007 03:06 PM - edited 04-25-2007 03:06 PM
Don't you be knocking my ada.
Can you run the ada in debug and trap the error any better? Constraint errors are most commonly caused by array out of bounds. C will let this happen. Ada catches it. That would be my first area to check.
You could also put in an exception handling block in your ada so that it does not bomb off. My guess is that you would then see your panel with controls drawn up until the point of exception (like seeing 3 out of 9 controls or whatever).
Message Edited by scomack on 04-25-2007 03:07 PM
Message Edited by scomack on 04-25-2007 03:07 PM
04-26-2007 06:39 AM
Ok, sorry "Ada is the best!" "I love Ada!". There, happy now ?!
I have an Ada constraint error trap wrapping the call into the DLL. I use the Ada debugger to single-step this call. The routine in the DLL simply loads and displays my .UIR panel, then starts the user interface. I put statements in the DLL to write to a DOS window between each of these steps, so I can see where the error occurs. The DLL runs the LoadPanel routine successfully but when the DisplayPanel procedure runs, program control is returned directly to the Ada with constraint error raised. The CVI code never completes the call to DisplayPanel because I never see my subsequent debug statement print to the DOS window. I see my .UIR panel frame flash and then disappear, thats it.
Is there any insight into how the DisplayPanel library routine runs? How I might be voilating an array boundary here?
Thanks for your help scomack, I appreciate your efforts.
-Twitch
04-27-2007 10:43 AM
04-27-2007 12:45 PM
Hi Patrick-
Yes, I'm using LoadPanelEx, thanks for contributing.
I've actually made some progress here. It turns out that if I use a .UIR file with "Classic" controls, I don't get the error. If I use any of the newer style controls (ones that have 3-dimensional shading) I see the error. I've found that this applies to GenericPopup message boxes also, where the command buttons are the new shaded type. I need to replace them with my own interfaces using Classis command buttons to get it to work.
I'm in the process of reproducing my .UIR panels to use all classic controls and have so far been successful. Its painful and tedious but at least I think I'll have something that will work.
If anyone has any insight into why this might be happening, I'd sure like to hear it!
-Twitch
04-27-2007 01:26 PM