Ascen Posted October 27, 2007 Report Share Posted October 27, 2007 Hello.. I'm a bit lost with several issues about LVOOP, which in general would seem like a fantastic way of doing things. First of all I should note that I come from Java/C background, so my thinking is heavily influenced by that. First of all, using classes by-reference. I came across this NI GOOP tutorial which passes the reference to the class along in order to run the internal system, and to be able to operate on the GUI separately. Deducing from other posts here it uses some toolkit that creates those New etc methods. Since I'm a beginner with LVOOP classes, but not a beginner programmer, I would rather create my classes manually to understand the workings properly. Now, my question is: how to set a class reference as a VI output? And how to get the reference to a certain instance of a class, in the first place? Secondly, there was some notion that building classes into a single executable is a problem if there are subclasses using VIs with same file names. Is this really a show-stopper in 8.2.1, or is there a reliable workaround for it? Executables are definitely needed, although the users can be trusted to the degree that having separately dangling files is not a problem as long as they can be included with the executable. Are there some other snags in using GOOP classes, and what would they be? Quote Link to comment
Norm Kirchner Posted October 27, 2007 Report Share Posted October 27, 2007 Hello and welcome! First before we dig into the details of your questions we need to get some terminology straight (don't feel bad, it's confusing for us to keep straight too) GOOP and LVOOP although similar in ideaology are different in implementation. GOOP is an older, but still quite alive, way of implementing classes by reference LVOOP is 'brand new' and still evolving (read growing pains) way of implementing classes by value (or by wire if that helps make it more clear) So the first path that you need to define is, by path or by value. Now coming from a Textual and reference based OO background you may lean towards GOOP (by-reference) But I would recommend that you force feed LVOOP (by value/by wire) to yourself, but this will also depend on how good you are w/ LV too, but this route needs no toolkits to get started as they are allready native in LV 8.2.1 (go to 8.5 if possible due to advancements in LVOOP interaction) So in closing, you do not need a toolkit for either method of OO within LabVIEW. You should understand how to create both methods from scratch (although the GOOP toolkit is handy). If you are new to LV the learning curve for both methods is going to be steep and treacherous, but keep posting to the forum and we'll help you find the holds on the wall. Good luck Quote Link to comment
Aristos Queue Posted October 27, 2007 Report Share Posted October 27, 2007 This document clarifies the relationship between GOOP and LVOOP. LVOOP FAQ http://zone.ni.com/devzone/cda/tut/p/id/3573 If you look at the examples that ship with LabVIEW, you'll also get a lot of insight into how classes are constructed in LabVIEW. <labview>\examples\lvoop\ Also, launch the LV online help (Help >> Search the LabVIEW Help... ). On the Contents tab, go to Fundamentals >> LabVIEW Object-Oriented Programming. You'll find a wealth of documentation walking you through various aspects. Quote Link to comment
Jan Klasson Posted October 30, 2007 Report Share Posted October 30, 2007 QUOTE(Norm Kirchner @ Oct 26 2007, 06:02 PM) GOOP is an older, but still quite alive, way of implementing classes by reference LVOOP is 'brand new' and still evolving (read growing pains) way of implementing classes by value (or by wire if that helps make it more clear) Correction. GOOP 3 is built as an extension of lvclass so it is not correct to say that it is old. It is in fact very new. Although previous implementations certainly can be regarded as old. Otherwise, I agree that it makes sence looking at what is built-in as a starting point. Jan Klasson Endevo Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.