Development and Deployment Practices

cancel
Showing results for 
Search instead for 
Did you mean: 

Configuration Editor Framework (CEF)

@Styrum 

 

2nd DeferpanUpdts should be set to False, once the change is completed. 

Regarding redrawing, have you delete the REPO class Menuoptions.vi from "new" structure that I've pointed out before? 

 

And question from me: 

Does anyone know how to choose implementation on the class we want to use? What I want to do is to use cRIOREPO.lvclass:Customview.vi, but LV uses the NISE_CEF_Hierarchy...CustomView.vi...

 

 

image.png

0 Kudos
Message 51 of 60
(309 Views)

@

Of course, I removed that call. It is not the culprit though. Well, at least as far as not updating the menu bar area of the control panel window is concerned. So far I resorted to
FP.Open with State=Minimized and then again FP.Open with State=Standard.
This works most of the time but even after doing this I sometimes get a fully black menu bar. Then, when I click on the place in it where "File" is supposed to be, that item does show up normally (black on grey) and works while the rest of the menu bar remains black. Then I have to minimize and restore the CP window again for the rest of the menu bar to become displayed correctly, i.e. in grey color, not black. I think this is an obvious LabVIEW bug related to dynamic menu manipulation, not specifically the CEF's problem. The worst part is it is intermittent. Sometimes the new menu bar is displayed correctly right away.
0 Kudos
Message 52 of 60
(291 Views)

Hi,

 

during some testing of the CEF Configuration Editor Sample Project I have noticed the following error occuring when removing elements from the tree structure (see also attached png file):

 

Error 1000 occured at Invoke Node in NISE_CEF_TreeControl.lvlib: LoadUIStandardEvents.vi-> Advanced Configuration Tool.lvlib: Configuration Tool Main.vi "

The VI in not in a state compatible with this operation

 

cef_error_1000.png

Since I am just using the sample project and simply add or remove elements the issue seems to come from the framework itself and is not caused by custom code.

 

Does anyone have the same experience and/or has found a solution?

 

Best

Dennis

Message 53 of 60
(184 Views)

Yes, I ran into this too. The worst part is that it's intermittent, i.e. happens only sometimes but quite often.

0 Kudos
Message 54 of 60
(170 Views)

I think the UI VI in the subpanel just doesn't get enough time to get aborted before being manipulated further in that LoadNodeUIStandardEvents.vi sometimes. I suspect that it is the Run VI invoke node in the very end that throws that error if the UI VI it tries to run is still running. You can set control values while a VI is running. So, all those invoke nodes won't throw an error. Anyways, we can simply first make sure (wait) until the aborted UI VI is indeed aborted (idle) before doing everything else to it.

Message 55 of 60
(147 Views)

Oops! It says right there in your screenshot that it is Abort VI method that failed, which means that it tried to abort a VI that is not running at top level! Does it mean, the Execution.State property node can be lying to us?!

0 Kudos
Message 56 of 60
(138 Views)

Abort VI Method

Short Name: Abort VI

Requires: Base Development System

Class: VI Methods

To Use: Create a method.

Aborts the execution of a top-level VI.

This method returns error 1000 if you call it on a subVI. Otherwise, this method is similar to pressing the Abort Execution button on the toolbar.

 

So, does this method sometimes consider the UI VI in the subpanel a SubVI, not a top level VI?

0 Kudos
Message 57 of 60
(137 Views)

Hi,

 

thanks for sharing your ideas styrum. I am also not quiet sure why the Abort VI method returns the error since this behaviour seems to be pretty random. It does not really matter how fast you perform an action on the tree structure. After manipulating the tree for a while the error will eventually appear. 

0 Kudos
Message 58 of 60
(102 Views)

The question is whether one can fix this or whether it is just an issue of the framework itself and one basically has to accept it

0 Kudos
Message 59 of 60
(75 Views)

Hi DennisBoris, 

   CEF is open source, so you can fix the issue. To do this is first create a issue: https://github.com/NISystemsEngineering/CEF/issues

Once the issue is created you can fork the code, make your fix and them make a pull request. 

Best Regards

 

Benjamin C
Principal Systems Engineer // CLA // CLED
0 Kudos
Message 60 of 60
(56 Views)