Jump to content

Justin Goeres

Members
  • Posts

    691
  • Joined

  • Last visited

  • Days Won

    10

Posts posted by Justin Goeres

  1. QUOTE(lavezza @ Aug 27 2007, 11:12 AM)

    Well, it's nice to get it to work consistently. Unfortunately, it would be consistently wrong (at least based on the way we think it should work). We've already written a work around for this particular VI, but it would be nice if it worked the way we all think it should.

    Fair enough, but I'll take consistent, with a workaround over random chance any day, even if it's not what I think is "correct" :).

    I would also be interested to hear if the behavior is different on platforms other than Windows.

  2. QUOTE(lavezza @ Aug 27 2007, 09:20 AM)

    I've attached a VI that I'd like everyone to run.

    Test machine is a Dell Inspiron 9300 laptop under WindowsXP (Dog only knows which updates).

    LabVIEW 8.5: "Listbox value: 2"

    LabVIEW 8.2.1: "Listbox value: 2"

    LabVIEW 7.1.1: "Listbox value: 2"

    My recollection is that there were some issues in the past with the timing of front panel terminal values in relation to Value Change events, but I don't remember what version(s) they existed in. That's the reason why I always use the NewVal terminal in a Value Change. That doesn't exactly apply to your situation, but it's similar.

  3. Now I know what Kara will be telling me to stop singing for the next few days.

    Also, I saw this the other day and it reminded me of when I used to use Global Variables everywhere.

    <embed src="http://www.metacafe.com/fplayer/772271/kittens_coca_cola_box.swf" width="400" height="345" wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"> </embed><br><font size = 1><a href="http://www.metacafe.com/watch/772271/kittens_coca_cola_box/'>http://www.metacafe.com/watch/772271/kittens_coca_cola_box/">Kittens-Coca Cola Box</a> - <a href="http://www.metacafe.com/">Watch more funny videos here</a></font>

  4. QUOTE(Guillaume Lessard @ Aug 24 2007, 12:57 PM)

    Yes, but part of the (perceived) problem with LVOOP is that people who (think they) are familiar with OO see it and exclaim, "But that's not OOP! I want it by reference!" If LVOOP as designed doesn't "look enough like" OOP the way lots of developers expect to see it, isn't that really just a semantic problem?

    QUOTE(Guillaume Lessard @ Aug 24 2007, 12:57 PM)

    Val, have you even looked at LabVOOP? It's Dataflow! It's Objects! It's unique! It's, well, LabVOOP.

    It's all those things, but at its most basic: it's Clusters. Same old same old, with a little of the new.

    QUOTE(Guillaume Lessard @ Aug 24 2007, 12:57 PM)

    I'm pretty sure LabVOOP did more to "alienate" and "disenfranchise"
    the users most familiar with OOP
    than any other group. Getting them to rally around it has obviously been a problem...

    The real problem, I think, is that there are 1000 slightly different, and conflicting, ideas about exactly what it means for something to be OOP. For some people, a critical component of an OOP implementation is that it's by-reference. LVOOP isn't (natively), so for those people the entire idea never gets off square one. But that's throwing the baby out with the bathwater.

    I guess everyone is entitled to their personal crusades (Dog knows I have mine :angry: ), but after a year of LVOOP, I like it. I have to go back to LV711 on occasion, and it's jarring because my by-value objects are missing.

  5. I'm finally getting around to using the 3d Picture Control for something "serious," and I feel like I'm running up against a bit of a learning curve. There are two things I'd like to do, and I feel like they should be easy:

    (1) I would like to show a set of XYZ coordinate axes on my 3d Picture Control to show where {0,0,0} is, and which way the unit vectors point. Is there some way to do this easily, or do I have to build them out of 3d object primitives?

    (2) I'm confused by the ModelView Matrix and Projection Matrix properties. What I would like to do is reset the camera view to a certain position when the user clicks a "Reset Camera" button. It seems like one of these should work (and I'm familiar with orthogonal transformations, thank you very much ;) ), but I seem to be getting unexpected results.

    Thanks!

  6. QUOTE(tum @ Aug 22 2007, 09:46 PM)

    How to return value to DOS again?

    I want to use it as function it mean we can insert agrument and recieve answer from program.

    Do you mean that you're trying to write a console app in LabVIEW? (I.e. a program you run from the command line (with arguments) that returns its output to stdout.)

    That's an issue I've been meaning to look into for a while, but have never found the time to do so.

  7. As I mentioned at NIWeek, I use it in every one of my projects now. There are a few reasons for this:

    • I forced myself to start doing that a few months ago and "got used" to it.
    • I have not found the time to use/purchase any of the by-ref GOOP stuff in 8.2 or later, so LVOOP is my best option for object behavior.
    • I desperately want to believe that AQ and the rest of the LabVIEW team were onto something (as opposed to simply on something) when they created it.
    • I really like the way I organize my code when I use it.

    I completely agree with Jim's and PJM's sentiments, but those are things that I've either learned to live with or have structured my workflow around.

    That's not to say there aren't drawbacks. My ImageMagick library, for instance, throws errors if I try to build it into an application. I can't for the life of me figure out why, or how to fix it, and for now I've given up. If I had a library that large for a customer project and it did that, I would throw my laptop through the window :throwpc: . The solution has been to do frequent interim builds of all my software in the hopes of at least catching whatever disease the library caught. (Note that this is a good behavior to have learned anyway :lightbulb: )

    Likewise with the "whole class breaks on one broken VI" thing. I live with that, kind of like how we all learned long ago to live with the concept of the Run arrow breaking on any error in the associated VI hierarchy. It requires slightly more attention to detail than I'd like sometimes, and some judicious use of the Diagram Disable at other times, but I get by.

    1 Thing I Hate About LVOOP: Not being able to have name collisions among unrelated class members in built apps (unless this changed in LV85? I haven't checked.). If I can have two VIs in two different (unrelated) classes both called "Set Value" (or something equally ubiquitous) in the Development Environment, I should damb well be able to build an app out of them. Honestly, if I'd known about that lovable little feature before I started using LVOOP, I might not have started. And then you wouldn't have me as such a big LVOOP fan ;). It's a game of inches, I tell ya.

  8. QUOTE(Ich @ Aug 20 2007, 02:30 AM)

    In general, yes, but only if you're on Windows.

    From the LabVIEW Help....

    QUOTE(MATLAB Script Node (Windows, Not in Base Package))

    Calls the MATLAB
    software to execute scripts. You must have a licensed copy of the MATLAB software version 6.5 or later installed on your computer to use MATLAB script nodes because the script nodes invoke the MATLAB software script server to execute scripts written in the MATLAB language syntax. Because LabVIEW uses ActiveX technology to implement MATLAB script nodes, they are available only on Windows.

  9. OK, it looks like the above site has finally recovered from all the attention it was receiving the past few days. However, the export functions don't work. I had to use screengrabs for everything.

    Nonetheless, this is a fairly decent likeness of me (after I added appropriate clothes):

    http://forums.lavag.org/index.php?act=attach&type=post&id=6462

    http://forums.lavag.org/index.php?act=attach&type=post&id=6463

    http://forums.lavag.org/index.php?act=attach&type=post&id=6464

  10. With the all the recent distractions of Real Life (what's this wedding ring doing on my finger???) I've let my NIWeek hotel reservation slide and slide and slide until.... now.

    I've booked a room at the Omni for myself, but it occurred to me that other people traveling independently, like me, to NIWeek might benefit from doubling up on rooms, either to be closer to the Convention Center, or to save money, or both.

    So, does anyone out there have a room to share, or need a room? If so, post here!

    NOTE: I cannot personally vouch for the personal care or grooming habits of any LAVA members. In fact, I'd probably bet against them if I had to ;).

  11. I am developing an application (on Windows) that communicates with an industrial I/O network. The driver for the interface to this network allows me to poll the network for new messages, but I can also create an event (using the Windows API CreateEvent function) and register to have that event signalled when new data is available.

    This thread at the NI forums led me to use the WaitForSingleObject function to wait for the event to be set. Everything seemed to be on the way to success, until I ran some test code.

    It turns out that WaitForSingleObject blocks the entire LabVIEW process (menus/mouseclicks/rest of block diagram/etc.). I can't even, for instance, start one top-level VI running, then start another top-level one that calls WaitForSingleObject, because the WaitForSingleObject blocks everything! Switching the top-level VIs to different execution systems didn't alleviate the problem, either.

    Since the entire point of using these events is to enable parallel execution (which LabVIEW is normally pretty good at ;)), I'm kind of exasperated. Basically, I just need the WaitForSingleObject to not block the rest of my code.

    Does anyone here have any advice/experience with this? I can think of some rather complicated things to try (involving the application builder), but wanted to ask here before (or while) I go plunging wildly ahead with those.

  12. QUOTE(alfa @ Jun 20 2007, 03:32 AM)

    before they had bullets the prostitutes were using stones against wise people(I said that not a Chinese).

    I, for one, am interested in learning more about these armed prostitutes, so that I might avoid them if possible.

  13. QUOTE(Gary Rubin @ Jun 19 2007, 11:57 AM)

    Welcome to the wonderful, wacky world of regular expressions.

    ^ means "whatever matches this regular expression has to be located at the beginning of the string"

    . means "match any character"

    + means "match whatever is before this, 1 or more times"

    (it works just like the http://zone.ni.com/reference/en-XX/help/371361B-01/glang/match_pattern/' target="_blank">Match Pattern function.)

    So ^.+ literally means "match any number of characters (but at least one), located at the beginning of a string." Practically, if I'm not mistaken it will match anything except an empty string. The result is that the suggested search will find all the Description fields that are non-empty.

    I think you could probably get by with just .+ as well. I don't think the ^ really adds anything in this case.

    The dialog doesn't exactly make it clear that the suggested settings will search Tips and not just Descriptions, but they do.

  14. QUOTE(h1voltage @ Jun 18 2007, 02:03 PM)

    ImageMagick, which you can access using the LVOOP ImageMagick Interface library in the Code Repository reads & writes (& scales, etc.) SVG data, although I had to update to the latest version (6.3.4-Q16) to get SVG handling to work (I'm not the only one):

    http://forums.lavag.org/index.php?act=attach&type=post&id=6145

    However, that just gets it into a picture contol (or a file of a different format). I'm not sure that helps you real directly.

    EDIT: The screenshot shows a "-resize 750" on the block diagram, but the front panel shows a "-resize 500". That's because the two screenshots aren't from the same run :headbang:

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.