Jump to content

Aitor Solar

Members
  • Posts

    259
  • Joined

  • Last visited

  • Days Won

    1

Aitor Solar last won the day on October 27 2014

Aitor Solar had the most liked content!

Profile Information

  • Gender
    Not Telling

LabVIEW Information

  • Version
    LabVIEW 2012
  • Since
    2001

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Aitor Solar's Achievements

Newbie

Newbie (1/14)

4

Reputation

  1. True, "sc create" and "sc config" are very useful commands to register your app as a service, and don't demand to reboot the machine Regards, Aitor
  2. I've using for years the "anyservice.dll" way described in http://forums.ni.com/t5/LabVIEW/running-labview-program-as-system-service/td-p/878148 and it works great. Unfortunately, original Chen's post seems to be gone, but basically you call asynchronously the DispatchService call in that DLL, and in turn when OS needs them it calls methods BeginService and EndService in a server.dll you provide . You can put the code you need in those two methods, I usually just take the EndService to close my application. Then register your exe as a service (thtrough "sc create" command, for example) and it's done. Regards, Aitor
  3. Well, recently I've been working with a class that does a lot of simple tasks, but a sub-group of them have become increasingly complex and sensitive. Now I would like to further isolate that set of properties from the rest of the class VIs to be sure no old and forgotten code messes it all. I'm going to add a new class inside the old class and move the critical fields to it, but that will force me to implement some encapsulation in the original class (to allow the external code call those methods). Your suggestion would be a step in simplifying the problem, but what I'd really need is a "this field can only be modified by this subset of VIs". Saludos, Aitor
  4. Thank both of you, it seems logical when you think of it, but I had always thought that leaving that wire unconnected was exactly the same as using "localhost" . Saludos, Aitor
  5. Hi, people. I've found a surprising behavior in the TCP Open Connection VI. Simply put, if you open a TCP connection from LabVIEW to another application in the same computer, using the "TCP Open Connection.vi", and you don't wire anything to the address input, connection works ok. But if then you unplug the ethernet cable from the machine, your connection will be closed in a few seconds (the OS, I'm guessing). Now, if you explicitly use as address "localhost" or 127.0.0.1 in that VI, the TCP connection will survive any plugging / unplugging of the ethernet cable. Moreover, if you start the connection with cable unplugged, the connection will survive any further plug/unplug even if you didn't explicitly set it to localhost. This on Windows XP at least. You can easily test this behavior with the Simple Data Client.vi and Simple Data Server.vi examples found on LV. Run as they are provided and unplug the cable: ok. Disconnect the address wire on de client, repeat process and get error 66 in a few seconds. Saludos, Aitor
  6. You can also prepare your own XML and send it through the "Write Response.vi". Just configure the method VI output type to Stream instead of Terminal. I think this is the best solution as you can format the XML just the way you need, and avoid all that "name - value" tags. Saludos, Aitor
  7. Here you are. The "read characters from file" primitive has been automatically replaced with open - read - close VIs. Saludos, Aitor Open_Data_File_7_1.vi
  8. Right-click in the Register Event Callback node (put the mouse over the "VI Ref" input) and select "Create Callback VI". Et voilá Saludos, Aitor
  9. Well, this seems to work, though you'll need to transform the string into an U32 (the string is the hex value of the reference number). Saludos, Aitor
  10. If you still want to test the variant type before trying the variant casting, the 6th byte in the typedesc will tell you the refnum type (value 7 is for ActiveX Automation references). Though I do agree the other way is probably faster. Saludos, Aitor
  11. 1,739 downloads

    Copyright © 2007, Aitor Solar All rights reserved. Author: Aitor Solar --see readme file for contact information. Description: This is an application for creation and management of XNodes. The program allows to open or create XNodes, to add or remove abilities and to easily access the ability VIs. It's prepared for all the LV82 abilities. Dependancies: The application requires the Internet Toolkit for LabVIEW 8.2 Change Log: 1.5.2: Added managament of the XNode icon. 1.5.0: Added descriptions for the XNode (read/write) and the abilities (only read). 1.4.3: Now, removing an ability also disconnects the VI from the XNode Library. Solved the "absolute path" bug. 1.4.0: Initial release in the Repository Code
  12. Name: XNode Manager Submitter: LAVA 1.0 Content Submitted: 03 Jul 2009 File Updated: 03 Jul 2009 Category: XNodes LabVIEW Version: 8.2 Version: 1.5.2 License Type: BSD (Most common) Potentially make this available on the VI Package Network?: Yes Copyright © 2007, Aitor Solar All rights reserved. Author: Aitor Solar --see readme file for contact information. Description: This is an application for creation and management of XNodes. The program allows to open or create XNodes, to add or remove abilities and to easily access the ability VIs. It's prepared for all the LV82 abilities. Dependancies: The application requires the Internet Toolkit for LabVIEW 8.2 Change Log: 1.5.2: Added managament of the XNode icon. 1.5.0: Added descriptions for the XNode (read/write) and the abilities (only read). 1.4.3: Now, removing an ability also disconnects the VI from the XNode Library. Solved the "absolute path" bug. 1.4.0: Initial release in the Repository Code Click here to download this file
  13. QUOTE (tilli @ Feb 25 2009, 01:36 PM) Great, but I would advise to use "Fract/Exp String to number" instead, is much faster than "Scan value". Saludos, Aitor EDIT: Oops, and nicolasB has been faster than me
  14. Probably the easiest solution is to typecast the user event reference into a user event reference with the name you want. Saludos, Aitor
×
×
  • Create New...

Important Information

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