GDS(Goop Development Suite)

cancel
Showing results for 
Search instead for 
Did you mean: 

Goop Example Code?

I have been creating classes and coding "labview native style" for a few years now, but this GOOP stuff has me completely overwhelmed.  My problem is that I am an electrical engineer and not a computer scientist.

I really want to separate my user interface from my application processes (like in Jorgen's tutorial white paper found at the NI site)  and I really want the power of using references to objects without having to pass the whole object around.

So what I need is some actual working code (Like the counter example in the Active Object video) that I can use to get the big picture.  It would be nice if the installation came with some example code from the tutorials and the videos.. 

Does anyone have any links to good code examples made with GOOP?

Thanks!

0 Kudos
Message 1 of 9
(12,576 Views)

Overwhelmed by GOOP? Relax and take a look at http://jki.net/state-machine-objects!

0 Kudos
Message 2 of 9
(11,591 Views)

Thank you Whitenoiz:

But I do not think this is what I am looking for at all.  I am quite experienced at creating state machines in LV.

What draws me to GOOP is the ability to easily access objects by reference rather than passing the entire object around.  I like the object creation tools so far, and I want to be able to more easily separate my UI from the application code.  (this is what I really want an example of, where the UI is NOT the main vi but is a subvi and stands alone.

One question i have is if creating user events, labview style is still the best method of passing events, commands, and parameters to GOOP objects or is there a better method.

0 Kudos
Message 3 of 9
(11,591 Views)

argolds wrote:

 

Thank you Whitenoiz:

 

But I do not think this is what I am looking for at all.  I am quite experienced at creating state machines in LV.

 

What draws me to GOOP is the ability to easily access objects by reference rather than passing the entire object around.  I like the object creation tools so far, and I want to be able to more easily separate my UI from the application code.  (this is what I really want an example of, where the UI is NOT the main vi but is a subvi and stands alone.

 

One question i have is if creating user events, labview style is still the best method of passing events, commands, and parameters to GOOP objects or is there a better method.

 

The following blogpost shows a way to wrap by value classes in a QMH, you could continue to use the classes that you are already familiar with and use the QMH as a wrapper that gives you an API to communicate with your classes that is neither by val nor by reference. Check it out:

 

http://delacor.com/hal-in-your-dqmh-2/

For an opportunity to learn from experienced developers / entrepeneurs (Steve, Joerg, and Brian amongst them):
Check out DSH Pragmatic Software Development Workshop!

DQMH Lead Architect * DQMH Trusted Advisor * Certified LabVIEW Architect * Certified LabVIEW Embedded Developer * Certified Professional Instructor * LabVIEW Champion * Code Janitor

Have you been nice to future you?
0 Kudos
Message 4 of 9
(11,591 Views)

You have 2 design patterns added here:

https://decibel.ni.com/content/thread/8112?tstart=30

0 Kudos
Message 5 of 9
(11,591 Views)

Thank you Fabiola:

I have been following this up with Chris Roebuck and got him to port the demo to LV2014 for me.

I have now installed DQMH and am learning about it using the HAL demo (which is close to what I want to do).  However I really am looking for GOOP examples because I want to pass references rather than objects around.

But neither QMH nor DQMH templates are based on GOOP, or use references to pass objects (as far as I can see  at first glance).

So, the question is will using the QMH/DQMH templates stop me from using the GOOP methodology?   Perhaps the templates can be thought of as pattern, but I would need to re-create the classes GOOP style?

What do readers think?

0 Kudos
Message 6 of 9
(11,591 Views)

What is your definition of GOOP? How are you "passing references"?

By ref:

You can wrap objects in a DVR. Or your objects can contain DVRs.

http://www.ni.com/white-paper/9386/en/

0 Kudos
Message 7 of 9
(11,591 Views)

The command example seems to have a number of dependencies that I do not have installed.

I tend to try not to load up my LV with too many dependencies due to issues with chasing revisions and sharing code.  If someone tries to get me to use their code with too many dependencies, I generally say thanks but no thanks...  the closer to vanilla LV, in my book, the better.  I didn't always think this way.

0 Kudos
Message 8 of 9
(11,591 Views)

GOOP as in the name of this entire forum:  GDS by Symbio (formally Endrego).  It uses DVR and does alot of pretty helpful stuff...

0 Kudos
Message 9 of 9
(11,591 Views)