-
Posts
335 -
Joined
-
Last visited
-
Days Won
13
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by todd
-
Locked Libraries and VIs that do not close
todd replied to John Lokanis's topic in Development Environment (IDE)
That VI matches the guess I made. Yes, I tried server-first and client-first. Turns out it was the server port. I have 2012 on 3365. Yours must be 3364. DETT reports a project reference leak reported in Get Remote Application Reference.vi, and an Application Reference Leak. Ah, you ran it. I have LV2011 on 3364 and 2010 on 3363. -
Locked Libraries and VIs that do not close
todd replied to John Lokanis's topic in Development Environment (IDE)
They don't lock, here. (One reuse VI was missing, by the way.) But when I close the projects, the example VIs don't close. I'm getting an error when closing the client: I ran the 2013 DETT on it. There are two queue ref leaks and four VI leaks, but only when I manually stop the server. -
[CR] Data Broadcasting Library for Actor Framework
todd replied to Stobber's topic in Code Repository (Uncertified)
Thank you for this. Since I'm working on template projects, I used your code firstly to improve my understanding of top-level actor launching and of Actor Core.vi. When the Event Structure's while loop ends, Actor Core's parent might still be running (if the developer makes a mistake and does something other than sending messages to self - see image below). This prevents Last Ack, which hangs the app launcher. Is it "clean" to fix this by sending Stop after the while loop?- 2 replies
-
- actor
- actor framework
-
(and 1 more)
Tagged with:
-
[Ask LAVA] Must Override exists; could Must Implement?
todd replied to JackDunaway's topic in Object-Oriented Programming
Oops - forgot you'd covered that. -
[Ask LAVA] Must Override exists; could Must Implement?
todd replied to JackDunaway's topic in Object-Oriented Programming
I studied hardware, not software, so take this with salt. If you make a toolkit, users with your abilities (meaning high-level) will be able to use it despite the lack of perfection. Users at my end of the skill range will find a way to mess up our code no matter how much you club us over the keyboard and mouse with contracts. What about including a lint-type script in a dashboard that searches for the non-implemented must-implements? -
I've been packaging up all my reuse libraries with VIPM (Free). I want to avoid accidentally modifying those libraries while using them in another project. In a Post-Install VI, I iterate through the list of "Files Installed" and lock then save all .vi, .lvclass and .lvlib files. An up-side is that when I open a reuse VI or class, I know right away by its appearance. What are the down-sides?
-
Example - Convert XML to a LabVIEW Cluster
todd replied to Vincent Wong's topic in Database and File IO
http://thinkinging.com/2008/01/21/using-xml-data-in-labview-is-hard/ which links to: http://thinkinging.com/2008/03/01/using-xml-data-in-labview-just-got-easier/ which links to: http://jki.net/easyxml -
In case you haven't seen it, remember to put ctrl-shift-g, in there: https://decibel.ni.com/content/docs/DOC-12725
-
Programatically distinguish between running and reserved vi's
todd replied to JordanMeyer's topic in LabVIEW General
Does this help?: http://lavag.org/topic/16660-how-to-get-actual-vi-execution-state/?hl=%2Bexecution+%2Bstate -
Erroneous output with the String to 1D Array
todd replied to JKSH's topic in OpenG General Discussions
Multiple lines in the string control end with Line Feed, not End of Line. I agree that it's odd for ignore duplicates to provide different outputs. -
I don't understand the problem. If you want to do something when the Knob value changes, perhaps start with the event structure:
-
<p>Since the version under your avatar says 2011, I provided links to the 2011 version.</p> <p>And the first link is to a rar file. No need to install anything else.</p>
-
Perhaps add the class to the project? You could also look at the source for one of the Actor Framework Message Makers: https://decibel.ni.com/content/thread/13809 https://decibel.ni.com/content/docs/DOC-25451
-
Why can I close the parent VI when the child is modal?
todd replied to twols's topic in User Interface
I don't know. I gave Main.vi something to do, though, and now both VIs stop when closing from the start bar. -
Or keep the enum values in a shift register. Ooh, you could log and play back games, then, Or "undo" and "redo" moves.
-
I agree with hooovahh (including the "doing well" statement. In addition: Avoid duplicating code. In both VIs, there are case statements where both True and False cases write a string to a terminal (or its local). Move the terminal outide the case. I know it's a little thing, but being careful about it now will avoid trouble later. This also applies to creating two "This VI" references, and closing both. Turn off labels for VIs that are obvious, and turn on labels for constants (instead of free labels) like row and column in the event structure. Speaking of the event structure, you could turn those nine cases into one if you present the enums in a cluster, and use cluster-to-array for a 1d solution. Or use a cluster of 9 pic rings for the display, and convert it to enums in the code.
-
What is the DAQ card model number?
-
To make a parent class, or not to?
todd replied to GregFreeman's topic in Object-Oriented Programming
"Spec? This unit IS the spec!" Hardware prototypes, iterating all the way to post-production tweaks of previous widgets. Com pipes can change. Byte format can change. And I need backwards compatibility - old hardware, kind-of-recent firmware, latest LV app test suite, add a new instrument to take the raw temperature instead of using the on-widget processor, ... Every app has a pop-up parameter list with enums so users can choose versions for everything (or INI files for silent selection). Poster-child for DD, in my hardware-based mind. -
To make a parent class, or not to?
todd replied to GregFreeman's topic in Object-Oriented Programming
Add another vote for more code*. I have communications classes (actors, actually), that allow Byte or string messages to happen over a few different kinds of pipes. These get used in more than one project. Instrument-specific command-to-useful-string conversions are performed in their own classes. Yes, lots of code - but extremely useful, in my case. * Actually, I start with the simplest possible architecture for initial learning, then bring up the "better" code on the side. -
I gave a half-answer just to point you to these forums. Looking a little closer: is "Image Buffer Ref" a reference that gets created at run-time?
-
I don't see how this saves memory. If you're using this class strictly ByVal (not branching the HAL.lvclass wire and expecting the DVR contents to be the same on both branches), there are no duplicates of the Config data.
-
Threshold, in range and coerce and number-to-boolean array-to-cluster for display. A little longer way around than how Shaun mentioned. tones.zip
-
My colleagues renovated my cube while I was out of town.
todd replied to crelf's topic in LAVA Lounge
They stole your ceiling!