GDS(Goop Development Suite)

cancel
Showing results for 
Search instead for 
Did you mean: 

Error dialogue launched by CLASS_GetAttributes.vi

Solved!
Go to solution

This is the utility CLASS_GetAttributes.viGetAttr.gif

 

If the object reference is invalid, the In Place Element Structure launches error 1556. Error output terminals are not connected; thus, an Error dialogue pops up.

 

Templates belonging to older versions of the GOOP Development Suite had automatic error handling disabled. So, the dialogue did not appear. Modern versions have enabled automatic error handling.

 

What is the motivation for such a change?

 

To be frank the pop-up is annoying and seems unnecessary. The same error, 1556, is launched at the bottom Case Structure and can be handled in the following code using project-specific solutions. Isn’t it enough?

 

I would say, the following structure could be used instead:

 

GetAttrModif.png

 

The hidden case is obviously the same:

 

GetAttrModifErrCase.gif

_____________________________________
www.azinterface.net - Interface-based multiple inheritance for LabVIEW OOP
0 Kudos
Message 1 of 10
(2,615 Views)
Solution
Accepted by _Y_

Sorry, the automatic error handling should be turned off.
I'll fix that in the next build

0 Kudos
Message 2 of 10
(2,573 Views)

Hmm, I couldn't find any of the latest GetAttribute VIs having the automatic error handling ON.
Did you test the latest version? (Under the untested versions)

0 Kudos
Message 3 of 10
(2,565 Views)

BTW the new templates uses a DVR constant instead of the local variable when type casting the DVR ref numerical value.
This is much faster 🙂

0 Kudos
Message 4 of 10
(2,563 Views)

@MikaelH wrote:

Hmm, I couldn't find any of the latest GetAttribute VIs having the automatic error handling ON.
Did you test the latest version? (Under the untested versions)


These are my installations:

 

Computer 1:

LabVIEW 2021  32-bit 1.2.86.149 Automatic error handling enabled

Version1.2.72 is the last available in http://opengds.github.io/ 

I don't remember where did I get 1.2.86

Computer 2:

LabVIEW 2015  32-bit 1.1.87.94  Automatic error handling disabled 

LabVIEW 2020  64-bit 1.2.72.135 Automatic error handling enabled 

LabVIEW 2023  64-bit 1.2.72.135 Automatic error handling enabled 

By the way, JKI Package Manager does not show the new GOOP installed in LabVIEW 2020  or LabVIEW 2023 while the package is installed and works well. The PM shows the old package in LabVIEW 2015.

Would it help to check more computers?

_____________________________________
www.azinterface.net - Interface-based multiple inheritance for LabVIEW OOP
0 Kudos
Message 5 of 10
(2,513 Views)

I installed new (untested) version and created a class:

 

Computer 2:

LabVIEW 2021  32-bit 1.3.7.159 Automatic error handling enabled 

_____________________________________
www.azinterface.net - Interface-based multiple inheritance for LabVIEW OOP
0 Kudos
Message 6 of 10
(2,479 Views)

Thanks for the info.

l'll keep digging
Can you send me the generated class.

0 Kudos
Message 7 of 10
(2,471 Views)
Solution
Accepted by _Y_

Seems the problem is in LabVIEW settings. If I deselect LabVIEW Option Enable error handling in new VIs, the automatic error handling is disabled in members of newly created class:

 

Tools > Oprtions... > Block Diagram > Error Handling > Enable error handling in new VIs

Remove selection then restart LabVIEW

 

It seems LabVIEW applies this setting when cloning templates. Could it be prevented for utils?

 

I attach the class but there is probably no need in it any more.

 

 

_____________________________________
www.azinterface.net - Interface-based multiple inheritance for LabVIEW OOP
0 Kudos
Message 8 of 10
(2,458 Views)

Sure the tool can change that.
Whoever wants it to be turned on in the first place 😁

0 Kudos
Message 9 of 10
(2,451 Views)

I don't think it is a good behavior. Directory utils keeps VI-s that are not supposed to be changed. Thus, user-defined setting should not be applicable here.

 

By the way, the combination of LabVIEW 2015  32-bit and GOOP 1.1.87.94 keeps the automatic error handling disabled independently on settings in the LabVIEW environment. So, the behavior was changed at some point.

_____________________________________
www.azinterface.net - Interface-based multiple inheritance for LabVIEW OOP
0 Kudos
Message 10 of 10
(2,426 Views)