Jump to content

Yair

Members
  • Posts

    2,870
  • Joined

  • Last visited

  • Days Won

    44

Everything posted by Yair

  1. QUOTE(crelf @ Mar 9 2007, 09:24 PM) Now, where did I see that image before? Ah, http://forums.ni.com/ni/board/message?board.id=BreakPoint&message.id=275#M275' target="_blank">here it is... :laugh: BTW, Dennis' 2000 posts mentioned there are almost 10000 by now, which is 40% of all the posts ever posted on LAVA.
  2. It's a mystery we'll never solve. :laugh: Maybe people think you have a funny name? Maybe Michael puts in the numbers himself and just selects random numbers? Maybe your own views are also counted? Personally, I don't think I noticed the option of sorting by number of views until today. And I got the magic number - 42!
  3. QUOTE(Neville D @ Mar 9 2007, 11:56 PM) If this is a bug, wouldn't that be incorrectly? BTW, this is probably a moot point by now, but any reason not to use the picture VIs? Of course, if you're using other IMAQ features, that would be a good reason.
  4. QUOTE(torekp @ Mar 9 2007, 03:40 PM) I use it. Often, applications need to properly clean up after themselves (close communication references, etc.) and you can do that either by having a manager which will handle this and do garbage collection (usually too complicated and unnecessary) or handle it in the place which will handle the proper shutdown of the application, which would usually be the top-level VI. You should note the explanation (which is probably the main use case) - this was done because full programs are occasionally called as subVIs and if they would be allowed to do this, the application would be terminated when the user ended the subVI call. Since this is not your case, it is probably less relevant for you. As Ton mentioned, you can simply use the VI with an extra input to decide what you want to do.
  5. QUOTE(crelf @ Mar 8 2007, 07:02 PM) Tea. Earl Gray. Hot. http://forums.lavag.org/index.php?act=attach&type=post&id=5156 http://forums.lavag.org/index.php?act=attach&type=post&id=5157 I found both pictures when doing a search and couldn't decide which was funnier.
  6. QUOTE(crelf @ Mar 8 2007, 07:02 PM) Oh dear, you've been spending too much time around those Americans...
  7. I don't have any experience with it. Simply embed an Excel object in an ActiveX container (it should be called "Microsoft Office Spreadsheet" or something similar) and look at the properties and methods it has. I know that the Office class hierarchy can be confusing, but it should be documented in the help for Office.
  8. Search for some LabVIEW tutorials and for "PID".
  9. QUOTE(TiT @ Mar 8 2007, 10:03 AM) 4 bytes = one I32 number = one reference. It sure sounds like you're opening a reference and not closing it. To check if this is a driver issue you can use the same driver and create a simple loop which runs many times and does the open-insert-close cycle. If there is a problem, you should see it even there. If not, can you upload the actual VI whose images you posted?
  10. I don't know if you can manipulate the Excel window like that from another program (you should check out the MSDN for the window functions. You should also check out the winutil32 library from the NI site), but have you considered embedding the spreadsheet in your front panel using an ActiveX container?
  11. QUOTE(didierj @ Mar 7 2007, 12:09 PM) :laugh: QUOTE Has anyone ever tried to wire two sub-vi's on a shaking train with a notebook-mousepad?? No, but I have tried LV coding while being driven up a twisty mountain road. I failed... Good luck.
  12. QUOTE(TiT @ Mar 7 2007, 12:12 PM) Wouldn't that make you Vulcan, not a frog? :laugh: BTW, Michael, I like the new button look. :thumbup: http://forums.lavag.org/index.php?act=attach&type=post&id=5146''>http://forums.lavag.org/index.php?act=attach&type=post&id=5146'>http://forums.lavag.org/index.php?act=attach&type=post&id=5146
  13. QUOTE(Jim Kring @ Mar 6 2007, 05:59 PM) You probably are. :ninja: I don't think a user who attracted negative attention would re-register as another user who's "different but similar" (different name, different Arabic country). They would either register as a much different user (to avoid the same problems) or simply recreate a very similar profile (out of lack of understanding of why they were banned). Maybe all these users are alfa who's back into doing LV work? :thumbdown:
  14. QUOTE(Ami @ Mar 5 2007, 11:49 PM) I haven't tried using the Inline method, but basically, it takes the code from all the subVI, and puts it directly in the calling VI. If you then try to call the subVI dynamically (by reference) it will fail because the subVI no longer exists.
  15. Thanks Jim. This answers at least some of the questions. Some other things that popped to mind: Is the Trunk\Branches\Tags structure really useful for LV? I can't say I fully understood it. Do you include your builds and installers in the repository, store them in a seperate location on the hard drive or simply exclude them from the repository? How about configuration files? I've had the bad habit of saving them under the program's folder, but I'm trying to move to properly making room for them in the APPDATA folder. Should they also be included? And how about the Treat Read only VIs as Locked option? I read in more than one place that it's useful to use this when using SCC, but I can't say I fully understood this yet. In my experience with SVN so far (single user, single computer) the VIs don't need recompiling. Is this something I would want to use? QUOTE(Tomi Maila @ Mar 5 2007, 09:58 PM) When you commit, SVN only stores the differences since the last time you commited. Each revision has all changes saved to a single file. As far as I know, the changes which are saved do not require saving the entire file which was changed, so if you change a small portion of a large file, it will only take a small amount of hard drive space, but I haven't checked this.
  16. My only experience with this has been with LV 7.0 on Windows XP. As mentioned on Info-LV, later versions are more problematic. What I did was this: Copy the National Instruments\Shared\LabVIEW Run-Time\7.0 folder to the drive and rename it "Bin". Place the EXE file in it as well. Place the icon you want for the drive in the root (if you want one) Place the attached Autorun.inf file in the root (remove the VI extension, it was only needed for uploading) and edit it to have the proper values. Everything in curly braces should be replaced. I think you can remove some of those entries, but I haven't found the point. Unfortunately, most flash drives do not support whatever is needed to do proper autorun, so the best you can have is that your application will appear as the default application in the menu that comes up when you plug the drive in. You might be able to get each computer to use it automatically after the first time by using the check mark which usually appears for doing this.
  17. You might wish to start by looking up some LabVIEW tutorials and learning the basic of LV. After that you might want to check out the example finder (Help>Find Examples) and maybe the analysis VIs. If after doing all that you're still having problems, you should post more details about your source data and your desired target data, as well as any code you have written. You might also want to check out the NI forums, which have a much larger user base and which are more appropriate for this level of questions.
  18. QUOTE(TiT @ Mar 5 2007, 03:46 PM) But where will you get your exercise now? :laugh: My favorite use of the merge VI is in a couple of simple VIs I wrote (and posted quite some time ago) and which have a while loop with a stop button and a 100 ms wait and with an event structure with a stop event configured (and put them in the structures palette). These are extremely useful when wanting to do quick tests of something.
  19. We recently got a new Windows Server, with the intent (among other things) of using it to do SCC, since our number of developers has grown and, respectively, the need for a single code base. Following the recommendations here, I decided on SVN with TSVN, but I'm trying to figure out a couple of things which don't seem to be covered by the existing threads - Apache or SVNserve? I installed Apache already, but I can still change it. They both seem to require configuration through text files, so there doesn't seem to be any real difference there (does anyone know of a tool with a GUI for this?), but Apache seems to have an advantage due to the next point. What do I do with new projects? It seems that for each project I have to create an empty folder in the repository area and then explicitly create a new repository. This means that I have to provide at least one of the users with write access to the repository area or log in to the server when creating a new project. This is further complicated by the fact that you can't browse the repositories from the repo browser, so you have to explicitly provide the repository name the first time. The TSVN FAQ says that this is a built-in feature of SVN, so basically the only way to browse repositories is to use a web browser. So what do I do - use a single repository and put all projects in it (sounds ugly) or use some other method (like emailing all the developers when a new repository is created or holding a central listing of all the existing repositories [or both])? In the same area - is there an easy way of creating a check out script or something similar so that I can check out all existing projects to a new computer, or should I leave this mindset and have just the projects I need on each computer? How about the Trunk\Branches\Tags directory structure? In your experience, is that useful for LV projects? If it is, should this be by project (sounds more logical than the alternative)? There are probably some other questions I should ask and which I'm not thinking of, but I'm sure this will do for a start. If anyone has any other useful advice about this topic I'd be delighted to hear it.
  20. QUOTE(TiT @ Mar 5 2007, 11:09 AM) As Chris originally stated, the most common reason for this is opening references without closing them. I can't look at the Insert Data VI at the moment, but it should definitely handle it's own memory internally (I don't remember having any problems with it), so in the code you posted this can happen if one of the other write cases has a T constant in it which stops the loop (it might even be hidden outside the visible case area), or if one of the other cases does something along these lines or it might be caused by some other VI. Using a method like the one I mentioned will ensure that the connection reference handling is constrained to a simple VI and not handled all over the code.
  21. QUOTE(Val Brown @ Mar 4 2007, 10:46 PM) Is it possible your node had the wrong class? Application is the default class and you need the VI class.
  22. QUOTE(Tomi Maila @ Mar 3 2007, 06:28 PM) That's a good one. Is using LV classes what allows you to do this? How serious are these crashes? Using TDs (and even more so complicated TDs) is something that is almost a must for many many projects, so avoiding them is not a real option unless there is some alternative.
  23. A method I like would work like this - change your state machine to obtain the reference to the DB - it should have an Open, Get and Close cases. You use the Open case to feed it the basic settings (path, passwords, etc.) which are then kept in SRs (or you can use your method of globals) and in the Get case you check the validity of the reference. If it is invalid, the VI closes it and calls the Open case by itself. You can then create many VIs which will perform specific functions (List XXX, Update XXX, etc.). Each of these functions starts by calling the "Get" VI and you then use the reference you get with the DB VIs. Personally, I have some additional wrappers to the DB VIs (like an Update Table VI or an extended SQL query VI which fills in some stuff automatically). The key is to use typedefs and have the specific function VIs translate the DB data to your typedefs and vice-versa, so that you are "decoupled" from your DB, to use some jargon . The result of all this is that you can simply place these functions whereever you want and not have to worry about how they get their data. This entire thing, of course, is only really relevant if you have a single DB. If you have more than one, this can still be adapted, but it would be less ideal. In any case, you should avoid opening and closing the connection all the time. It's slower (although if you only need it every 5 seconds that would matter less) and would make debugging harder (if you want to see if the connection reference changed).
  24. Quick thoughts - there is a bar graph example in the example finder, but that has constant labels. You can have your own labels by using cursors and setting the cursor names to be visible or by overlaying an array over the graph and coloring it transparent. You can then control the width and number of elements shown, but the first method sounds nicer.
  25. I haven't had much experience with it, but I have done running an LV exe directly from a USB flash drive with the RTE files on it. If I remember correctly, it involved copying the RT folder and the exe into a "bin" folder on the stick and setting up the autorun dialog to display my application as the default option (that was the closest I could come to autorun). This was with LV 7.0, 8.x might be more problematic. I think I might still have the documentation I wrote for how to do this, and if you want I can search for it in a few days.
×
×
  • Create New...

Important Information

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