Jump to content

klessm1

Members
  • Posts

    88
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by klessm1

  1. I have noticed that when you call the LabVIEW developement environment using ActiveX it will only open a reference to the last used version of LabVIEW. Is there a simple way to call the version you want. I can think of two ways, but they are not very pretty. One is to open the version of LabVIEW using the call exe function before calling the ActiveX open (haven't tried this, so I don't know if it will work). The other is to update the registry so the ActiveX call thinks the last LabVIEW opened was the one that you want. Isn't there a simple way out there? The target application I am thinking of using this functionality are tools that can save vi's in any version, but the entire tool is written in only one version. It would be an EXE that calls out to the LabVIEW development environment using ActiveX for the save. Thanks for any inputs.
  2. Thanks for replying. I did find one that is quite usefull by digging into some of the code for the executable builder. One of the vi's in there that calls a LabVIEW function turns LLB caching on and off. I found the function call and guessed the input to be a number (zero for off and one for on), and it worked. The function was called "RTSetArchiveCache" and is usefull when programatically saving multiple files to an LLB. Saves lots of time especially when the LLB gets large. I have pretty much given up on the rest of the stuff. If you don't know or can't guess the inputs and outputs, then it is pretty much a waste of time.
  3. Kind of depends on what OS you are running. If you are running windows you can check all of the windows that are open (they don't have to be visible). Each of the windows will have a name, so you can search for the executable you are looking for. You will need to call GetDesktopWindow function in user32.dll to get the handle of the desktop, then call GetWindow in user32.dll and get the child window of the desktop. Get the name of the window using the GetWindowTextA call to user32.dll. Get the next window by calling GetWindow again, but this time pass it the get next window constant. Loop on that until you run out of "next" windows. You can also parse out visible windows by calling the IsWindowVisible function in user32.dll. All of the function calls can be looked up on the microsoft devlopers website.
  4. I noticed that you can do a call library function by specifying LabVIEW as the dll (uses LabVIEW.exe in the labview development environment). 8.2 has the nice little wizard for creating vi wrappers that call the dll, but it only gives access to 179 functions out of 1015 when the extcode.h file is specified as the header file. Does anyone know if a different header file exists, or if these functions are explained anywhere? Most of the functions are already LabVIEW primitives, but some are not. The configure call library function still lists all of the functions, but you don't know the interface.
  5. Use OpenG's Builder application www.openg.org. It allows you to rename each module of your application. That is what I use for building my application and LLB plugin's for my large system software architectures. I name each module uniquely so I can release each one stand alone without effecting the other modules. I usually leave out the vi.lib and distribute the whole thing with my software. I leave it in the LabVIEW directory and just point to the libdir to the LabVIEW directory in my executable's INI file. You can do this without renaming though. If all of the names are the same (and the code matches), the vi that is called in your plugin will be the one loaded first (probably in the executable). If you want to seperate the memory space you can also create a new application reference and open the plugin vi's into that (see vi scripting forum for more information). I do not know of a way to assign a version number for an llb though. I don't believe there is one. They finally added that for LabVIEW EXE's. I usually write installations using SMS installer that will put the version in the registry for me and displays it in a custom "add remove program" application. If I am not sounding very focused that is because of all the :beer: I drank tonight. Hope this helps.
  6. LabVIEW internet toolkit includes an XML tools so you can write whatever you want. You can also use Microsofts XML parser if you don't want to purchase the internet toolkit. See attached how to use it in a very basic fashion. This one just parses, doesn't write. Good luck. Download File:post-2966-1145750064.vi
  7. The reason they do not have to pass in a type when converting to a string is because a string is the default type to convert to. If you need to convert to anything else, you have to pass in the type. To convert form string to a number you pass in the string on the input and a number into the type (any number...all it needs is the type of the data, it doesn't use the value).
  8. I use the APIViewer to get all of prototypes I use for windows functions. I agree that it is not too much fun trying to find the function you need on msdn. I had at one time found a page on msdn that listed all of the functions plus you could search them by functional group which helped. Unfortunatly I cannot find that page, nor do I have the bookmark. I might have deleted it becuase they got rid of it and restructured. I also used allapi.net when I first started searching for windows functions. It is ok, but they stopped supporting the site in 2002.
  9. I have actually spoken to Wyatt a couple of times on VISTA tool improvements. I also met with VIE (Minn office) this last week with Filipe Altoe to try and get my manager to see the light in using UML to define requireements and design and how that leads to easier code development for large scale projects. Filipe informed me that you guys are using a UML tool by Artisan to create your designs. I faintly remember hearing about Endevo's UML editor a long time ago (probably in an LTR issue). Here is a question for MikaelH: Does the Endevo tool force UML 2.0 specifications like some of the other commercial tools? Is there any literature on it (I haven't searched Endevo's website or anything)? Is there any evaluation phase?
  10. Are there any tools out there or are there any plans by OpenG to create an open source tool to convert UML models to GOOP classes? Is NI maybe working on this? They could probably sell a tool like this...I would use it. Maybe if NI came out with a version of GOOP in a future rev of LabVIEW they could sell the UML to GOOP toolkit that works with their version of GOOP. It would be much better if it was open source however as the tool could be optimized and features could be added quickly.
  11. I think what made this site so great was that it wasn't run by NI. The freedom allowed in this site was awesome! Even though there will be less freedom, we may get better visibility on our questions by NI which is a positive. It is probably a very good business decision by Michael. When you develop something as great as this website you should be compensated for your hard work. Bravo for putting together an excellent forum. :thumbup:
  12. Now that I have thought about it a little, there may be a way for me to implement a solution without making the shortcuts to the menu items. In the tools I am working with, the user has the option to log into a database of their choice so the checkin and checkout tools know right away what database they are working in. This tool is running all the time keeping the database connection in memory so I could possibly trap keystrokes within that application, find the top vi window and open the checkout, checkin, or add tool. This solution might work for me, but I don't think it is feasible for other tools. The ultimate solution is to get the update from NI for shortcuts for custom tools menu items...and options for tool bar buttons.
  13. Is there a way to make a keyboard shortcut to tool applications that are in the Tools menu in the LabVIEW development environment. This would make checking in and out of an SCC with custom tools much faster if you didn't have to mouse down to the correct application in the Tools menu. What would be even better is to have a keyboard shortcut and the ability to create buttons for the toolbar like you can in Microsoft applications. Maybe that needs to go into the wish list unless anyone know how to do it. Thanks
  14. You are using an alias for VISA. These must be setup in the alias file and you must have the VISA runtime engine installed if you want it to run from an EXE. I ran into this same problem about a month ago. The alias file should be at "C:\VXIpnp\WinNT\NIvisa\Visaconf.ini" if you have the VISA runtime engine installed. In this file you must identify the aliases. See http://digital.ni.com/public.nsf/allkb/D26...6256F1F00661A49 for more information.
  15. Attached is a doc that explains how to arrange LabVIEW data types to pass them as a struct. Download File:post-2966-1137640539.doc
  16. I noticed a couple of drawbacks with the DQ3 syle of GOOP. One was that there is no way to find all of your active objects. You have to remember them somewhere else and get them. The current templates could be updated with a LV2 style global to remember all of the names and corresponding queues. They could then be created, retrieved, and removed from this repository. The other thing I noticed was that the -1 timeout would timeout right away during the DQ3Class_getDataToModify.vi. I think this was just overlooked? Good ideas! :thumbup: Nice to see new ways to perform GOOP.
  17. I'll have to ask our IT guys about that one. Thanks.
  18. It is true that part of the issue we are trying to solve is a configuration management issue. If all we had to do is setup a production test system the task would not be as bad. We look at providing solutions for production manufacturing first, maintenance group second, and development group third. When test systems are down due to hardware issues, the maintenance group needs the flexibility to easily fix the machines. These systems are all over the world, so to fix these systems we proxy into them and help the engineers there debug the issues. Without a network link, this would be impossible. It is not possible at this time to break this link. The facilities do not have the expertise. What you have been talking about is XP embedded, which is one of the OS options we are looking at in addition to RTOS and Linux. Basically a cut down version of XP with all of the stuff we don
  19. The main cost I am looking at is that the developers will have to have a license for LabVIEW for Windows (legacy systems) and LabVIEW for Linux. This is not a small cost. :thumbdown: The hardware like you said is no big deal. Also, I am also thinking about reusability. Can you recompile code between LV for Linux and LV for Windows? Even if you can, it still is not true reusability because you will have to have two different sets of code. It would be a pain to try to have to sync up both sets of code all of the time. What I like about RT is that all the code doesn't have to be duplicated in our SCC system. Also, what about LV FPGA? I didn't see any FPGA modules in the supported hardware list (maybe I missed them). We are currently using LV FPGA on a current project and may go to it on this project to replace USB, RS232, and the parallel port that is used in our custom test head. If it does support FPGA then that would be great. Thanks for the information.
  20. We haven't decided to go to RT yet, and will probably still look at Linux. I have heard that it is easier to go from windows LV to RT than to Linux. Haven't checked it out for myself yet though. The only main issue I see with going to Linux is that every developer will have to have a Linux station instead of being able to develop on a windows PC (which they currently have) and on LabVIEW for Windows (which they already own).
  21. Have you tried to compile it using CTL+SHIFT+Run button and then saving it? Don't know if it will work but it is worth a try.
  22. klessm1

    VI hierarchy

    If you know the ini settings you can get to the "Read Linker Info from file" method under the APP class. This is very very fast, however I do not know if it will give you the vi's in the order you want them. Like PJM said though, the delay is probably more in the tree control update than the hierarchy list function.
  23. I have never tried to remove a service, but you can set an executable to be ran at un-installation time of an application. That is if you mean un-installing it using add remove programs. The application needs a couple of entries in the registry in the "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrenVersion\Uninstall" key. You need a key under this directory with the DisplayName and UninstallString Values like in the attached pic. The DisplayName is what is displayed in add remove programs, and the UninstallString is what is executed when you choose Remove.
×
×
  • Create New...

Important Information

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