LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Facade VI opens dirty

Yes I've tried mass compiling.  When it finishes it asks me to save the Facade VI in question, and it still opens dirty thereafter.  Do you have an email I can send my code to?

--
Tim Elsey
LabVIEW 2010, 2012
Certified LabVIEW Architect
0 Kudos
Message 11 of 23
(199 Views)

Interesting results. When I resave your XControl it immediately becomes corrupted. Going to make some adjustments and see what is causing this, it might be related.

Product Support Engineer
National Instruments
0 Kudos
Message 12 of 23
(186 Views)

Are you setting the state changed boolean in the Display State Change event as well? This event is fired when the control is loaded (even though the documentation for it does not say that it does).


___________________
Try to take over the world!
0 Kudos
Message 13 of 23
(175 Views)

 


@tst wrote:

Are you setting the state changed boolean in the Display State Change event as well? This event is fired when the control is loaded (even though the documentation for it does not say that it does).


Nope

 

--
Tim Elsey
LabVIEW 2010, 2012
Certified LabVIEW Architect
0 Kudos
Message 14 of 23
(167 Views)

Hi Tim,

 

I wanted to let you know that I am currently looking into the situation with James.  We'll keep you updated on our findings.

Che T.
Applications Engineer
National Instruments
0 Kudos
Message 15 of 23
(152 Views)

 


@che T. wrote:

Hi Tim,

 

I wanted to let you know that I am currently looking into the situation with James.  We'll keep you updated on our findings.


 

Thank you very much. 

 

Have you guys read the readme I included in the .zip file?  What I'm getting at is have you encountered this issue?

--
Tim Elsey
LabVIEW 2010, 2012
Certified LabVIEW Architect
0 Kudos
Message 16 of 23
(140 Views)

we're getting a cpp issue, but not that particular issue. Have you ever got a crash on something called filelinkref.cpp with this project?

Product Support Engineer
National Instruments
0 Kudos
Message 17 of 23
(133 Views)

That doesn't sound familiar.  It's always been the one I mentioned as far as I can remember.

--
Tim Elsey
LabVIEW 2010, 2012
Certified LabVIEW Architect
0 Kudos
Message 18 of 23
(129 Views)

Okay, it turns out the cpp issue I was running into was unrelated to your problem. However, I have found a different known issue than before. It appears that LabVIEW also calls the Panel Resize and Pane Size events upon loading the front panel of a VI that hosts an XControl if those events are also configured in the Facade VI.  This causes LabVIEW to mark the top level VI with a "dirty dot" indicating it needs to be resaved if the State Changed boolean of the Facade VI is set to true in that event.  This means that each time the host VI is opened, the top level VI is marked with a dirty dot and the user is prompted to save the VI upon closing it. 

 

The workaround:

Filter the Panel Resize event by comparing Old Bounds to New Bounds and if they are equal, skip execution of any code in the Panel Resize event.

 

I'm not 100% sure that this is what is occuring in your case but it certainly seems suspect, and is a known issue that has not been fixed yet.

Product Support Engineer
National Instruments
0 Kudos
Message 19 of 23
(122 Views)

 


@James D wrote:

Okay, it turns out the cpp issue I was running into was unrelated to your problem. However, I have found a different known issue than before. It appears that LabVIEW also calls the Panel Resize and Pane Size events upon loading the front panel of a VI that hosts an XControl if those events are also configured in the Facade VI.  This causes LabVIEW to mark the top level VI with a "dirty dot" indicating it needs to be resaved if the State Changed boolean of the Facade VI is set to true in that event.  This means that each time the host VI is opened, the top level VI is marked with a dirty dot and the user is prompted to save the VI upon closing it. 

 

The workaround:

Filter the Panel Resize event by comparing Old Bounds to New Bounds and if they are equal, skip execution of any code in the Panel Resize event.

 

I'm not 100% sure that this is what is occuring in your case but it certainly seems suspect, and is a known issue that has not been fixed yet.


The Panel Resize event is firing (as well as the data change event)  and when I add the workaround I mentioned earlier it stops opening dirty.  However, I find it odd that it only marks the other facade vi dirty, but not any other VI it is on, or any other VI the top level xcontrol is on.  That is to say, my issue seems inherently different than this issue I mentioned in my first post.

 

--
Tim Elsey
LabVIEW 2010, 2012
Certified LabVIEW Architect
0 Kudos
Message 20 of 23
(116 Views)