Jump to content

Cat

Members
  • Posts

    815
  • Joined

  • Last visited

  • Days Won

    15

Posts posted by Cat

  1. To give an example of what Shaun is talking about, I used to use ActiveX to get files in and out of Excel. Everytime MS Office changed or Windows OS changed, I would have to rewrite the ActiveX calls. Either something wasn't working anymore, or even worse, was working *differently*. I finally just told my users they would have to write config files in CSV format, and we've all been much happier ever since.

    • Like 2
  2. Why aren't there many references to design patterns outside of POOP? Because they generally solve problems caused by POOP.

    Well, Shaun, I threw you a soft ball and you lobbed it out of the park. :P

    Seriously, thanks for the comprehensive reply.

    Reading about Architecture Astronauts made me wonder if that's not part of my problem. I know I need to spend more time on upfront design, but at some point my attempts to keep my software generic and reusable have led me off into spending a lot of time getting more and more abstract in my design. And whenever I sit down to code it up, all that I can think is how overly complicated it all is.

    As I've said in the past, I don't sling the computer science lingo. So your point that I'm already using designs is a good one. I just don't generally say to myself, "I think I'll use a Producer/Consumer design pattern here." I say, "I ought to feed this loop that's doing a bunch of stuff on command with a queue in another loop." So thanks for all the links to the right names and algorithms. That's important to know.

  3. There's a newer version? I'd heard that they were working on it, but didn't know it was published. I'd tlak to your local DSM, or maybe even ping some trainers directly (Nancy Hollenback and David Corney spring to mind) - my understanding is that if you can get a minimum number for a course, NI will teach it (hey, that's how Nancy got a week in sunny Sydney about 8 years ago, when she taught me the Advanced Course).

    I've talked to my local DSM, and to Nancy at NIWeek last year. Getting more people to take the advanced courses is the issue. Either that or Nancy just doesn't want to come to hot/humid or cold/rainy DC. :)

    I guess I should ping the DSM again.

    Oh, and the 2nd edition of "LabVIEW: Advanced Programming Techniques" is from 2006. Do you think they're working on a third edition??

  4. C'mon Cat, jump into OOP! The NI OOP course is quite good (based on Endevo's course), and once you "get it", you'll never go back. Otherwise, LabVIEW: Advanced Programming Techniques and LabVIEW for Everyone have some good stuff in them, but you're really limiting yourself by shunning OO.

    If the OOP course was ever offered in the DC area, I would take it (ditto Advanced Architectures).

    I have LabVIEW: Advanced Programming Techniques, but it's the 2001 version. I'll see if I can get ahold of a copy of the newer version.

  5. Hmm..., I'm not sure how much like you will have, at least with the specific term "design pattern," since Gang of Four introduced the term (if not the larger concept) in an Object-Oriented context. In any case, this looks like it might a good place to start: http://en.wikipedia....omputer_science)]http://en.wikipedia....omputer_science)[/url])

    Thanks, I had found the "Design patterns" wiki page, but not the "Design patterns (computer science)" page.

  6. I would really like to find out more about the concept of design patterns. But every time I look at some reference, it's all within the context of OOP. And I don't do OOP ( :o:P ). I can't imagine that no one thought about design patterns before OOP came along or that design patterns aren't possible without OOP.

    Does anyone know of any books, websites, etc out there that talk about specific design patterns, without making the reader wade thru OOP?

  7. The project file is xml. So in the past I have cut and pasted the section.

    I actually got that to work this time. After about 3 tries. But I was hoping there was an easier way.

    Yes, I am a google master.

    You are The Man. :P

    Doesn't appear to be a way, but that makes some sense as there is no guarantee of the same VIs being part of both projects.

    Right, use with caution.

    In my case, I have an installer that pulls executables created in a bunch of different projects. This installer is in one of those projects. I'm in the midst of a big code cleanup effort and thought that it would be better to group all the projects (just the *.lvproj file) into a project of projects, and then put the installer there.

    I finally just ended up copying the project with the installation, deleting all the vis, and adding all the *.lvproj files. That left the original installation there, and more complete than after the xml cut-n-paste.

  8. Is "Read from Text File" actually throwing an error?

    If so, what error is it reporting? How big is the file?

    If not, (sorry if this is obvious) I assume you know you can expand the "text" indicator coming out of "Read from Text File" and right-click on it to make a vertical scrollbar visible? This will allow you to see all the text.

  9. One way to get an idea of the addons you're using in your project in to create an installer, in the "additional installers" section, by default all you need is included - I believe.

    And just to give yourself a warm fuzzy feeling, you can always check it by running your install on some other non-labview-installed machine and seeing what errors you get. I do that with all new installs.

  10. Here's the bottom line from the AE at NI (Kyle, who has been very helpful):

    It appears that there is investigation being done into the TCP stack in LabVIEW, but it's still not clear if this is the cause of the problem. It's still possible that the problem may be the fault of Windows 7 and not LabVIEW. If there will be a fix for this, it will be a part of the normal patch release cycle. This means that any fix will be pushed live in 2012 at the earliest. We have verified, however, that the issue you're seeing only occurs with TCP loopback, and is not present in any other TCP scenarios.

    The important part, I guess, is that this issue shouldn't be affecting "regular" TCP usage. This isn't great for anyone else out there who might be thinking about using TCP to communicate with other applications on the same machine, however.

    Also from Kyle: The R&D folks working on this are very impressed by the amount of information they were able to start with.

    I want to again thank everyone who tested code on various platforms and offered suggestions, so I had all that information to pass on to NI. At this point, the ramdrive is working well, so that's what I'll stick with.

    Cat

  11. That sound stangly familiar to what my better-half says after looking her keys in the car (again). Ben

    Well, I do have to remember my purse. :)

    My car starts beeping at me if I leave the key in it when I get out. And it beeps wildly if I leave the car without turning it off. :oops: (tho, this isn't that difficult to forget to do when there is no engine noise)

  12. This isn't a terribly complex API call, so I doubt you'll need this, but I had a play at it.

    Excellent! I have to have the huge piece of code this will be integrated into working by monday, and will be out of the office until sunday, so I wasn't sure when I was going to find the time to do it. Thank you!

  13. Have you tried using the Windows API? The function GetProcessMemoryInfo is a likely candidate.

    Well, right, tho I would probably use GlobalMemoryStatusEx, since it is overall system free physical memory that I am looking for. It, however, uses kernel32.dll and I'm going to have to keep my fingers crossed that it's going to work on a 64-bit machine (with more than 4GB memory).

    Looks like I'm going to have to dust off my notes on how to code up a Call Library Function node. :book:

  14. I am in dire need of a way to get the available physical memory on a 64-bit computer. I've always used lvwutil32.dll, but obviously that won't work on a 64-bit machine. I thought I had figured out a .NET widget to use for both 32-bit and 64-bit (System.Diagnostics.PerformanceCounter-->Available Physical Memory). It works, but it is sloooooooow. Takes 30 seconds to do what lvutil32.dll would do in a couple seconds. I am admittedly a complete newbie at .NET, so I could be doing something wrong.

    I would love something that will work for both 32/64-bit, but at this point would settle for it just working on a 64-bit machine. Anyone out there have anything?

    Cat

  15. For your entertainment pleasure, I've included the block diagram of my main vi:

    You just need to liberally use "Create SubVI" in logical places.

    I'm generally pretty anal-retentive about the 1 screen BD rule. However, I have one vi that is such a humongous mass of spaghetti code I'm too embarrased to post it. It's about 6 screens. It already has almost 100 subvis and still needs more. At this point I'm looking at just rewriting the whole thing. If something gets that messy visually, there's a good chance it's messy logically, too.

    • Like 1
  16. Nope, simply because there is no <OpenG> symbolic path in LabVIEW. So any code you develop using OpenG, can open up on any computer with OpenG installed without needing to search for the OpenG stuff. By placing OpenG code in <vi.lib> or <user.lib> we can guarantee a smooth experience for the OpenG user (that might not even know it's using OpenG libraries).

    I should have asked a clearer question. Is there an option during install of OpenG that would allow me to put it in vi.lib now, or does it have to install to user.lib? Just wondering if in the short term, while those of you who decide these issues are deciding, I can go ahead and reinstall OpenG to vi.lib where it seems most logical (to me!) for it to be. My guess is the answer is still "no"...

×
×
  • Create New...

Important Information

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