-
Posts
1,964 -
Joined
-
Last visited
-
Days Won
171
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by drjdpowell
-
SIMPLE Object Based Framework
drjdpowell replied to SebastienM's topic in Object-Oriented Programming
Also cross-posted here, where AQ responds. -
I got a PM from the user, Venkatesh.C.S, and we found that the issue was only on LabVIEW 2014. No problem on 2013. I'm not working with 2014 yet so I haven’t followed up. Venkatesh consulted NI tech support, I think, but they hadn’t yet responded.
-
3d picture Text not showing up under semi-transparent object
drjdpowell replied to drjdpowell's topic in User Interface
Yes, that was it. Thanks. Though it’s still amazing the amount of blind trial and error it takes to use the 3D picture control. -
3d picture Text not showing up under semi-transparent object
drjdpowell posted a topic in User Interface
Anyone an expert in the (complex, poorly-documented) 3D picture control? I am using Text to label an axis (see image) inside a semitransparent open cylinder (actually a mesh with texture). The axis (made of boxes) shows up through the cylinder wall, but the Text does not. See how 7", 8" and 9" show up, but 10" and higher don't. I cannot figure out why, or how to fix this. Any ideas? -
Implicit vs. Explicit Property Node: Performance Difference?
drjdpowell replied to mplynch's topic in LabVIEW General
No. Those are static references that don’t need to be closed (closing them does nothing, so don’t bother closing them). You can tell if a reference is static by probing it to see if it changes on each call (if it doesn’t, it’s static). -
Preserving run-time class with cluster of objects
drjdpowell replied to CharlesB's topic in Object-Oriented Programming
I made the request for it to work for Variants, which would include the cluster support CharlesB wants, and also support mixed clusters of objects and primitive types. -
I like Mercurial much better than SVN. Or rather, I like “TortoiseHg Workbenchâ€. But I've not really used either much more than as a backup system.
-
Preserving run-time class with cluster of objects
drjdpowell replied to CharlesB's topic in Object-Oriented Programming
I’m afraid the "terminal thralling†(as NI calls it) only works on LVOOP objects directly. Not even arrays of objects, which is what I would particularly like. BTW, “Preserve Run-Time Type" is usually not necessary, as the compiler can trace the object identity through the subVI. Only if the output type could change, do you consider forcing it not to with “Preserve Run-Time Typeâ€. -
Here’s a quick example of the cluster method. I did disabling of the string, hiding unused clusters, and also added some colour based on string length. LabVIEW 2013. Cluster View into Array.zip
-
This will work with very large numbers of elements, if you keep the full set of data as an array and only write the visible portion of the array into clusters (where there need only be 50 clusters to fill the screen). Use a separate vertical slider whose Value Changed event triggers a rewrite of a subarray of data into the clusters, complete with disabling selected controls. One can also change colours or other attributes this way.
-
But libraries don’t need to just be a good capability to have for the very advanced programmer who has learned to use them carefully “when neededâ€. Libraries could be broadly useful at a range of ability levels and for a wide variety of things.
-
But these aren’t real dependancies. "A calls B which calls C†is a dependency of A on C. “A calls B which is in the same library as X, which calls Y, which is in a library that also has Z, which calls C†is not. I have no interest in managing false dependancies introduced by lvlibs.
-
Suggestion: can the event structure just compare New Value to Old Value and ignore if they are the same? That will filter all duplicates. BTW, if I were doing this from scratch I would have the 3rd party app set a single (hidden) “Message†control, that would be a cluster of desired control name and control value. The “brat†would pool for new messages and then do Value(signaling) on the named control (which it would lookup in a list created at initialization of all the available controls).
-
Efficient (Semi) Large Array Data Set Manipulation
drjdpowell replied to PJM_labview's topic in LabVIEW General
I don’t have 2014 and can’t open your VI, but my first thoughts are to type cast the U64 array to an I16 array then do a FOR loop over the number of lines to do the chopping. Why is this data not in I16 in the first place, BTW? -
Named queue vs feedback node global queue
drjdpowell replied to infinitenothing's topic in Application Design & Architecture
Note that a named queue can have multiple independent references to the same queue, while the non-reentrant subVI contains only a single reference. -
Local means the same application instance, so separate projects in the same LabVIEW should be remote. Though there is probably some sharing going, on given what hooovahh posted.
- 2 replies
-
- 1
-
- register for events
- documentation
-
(and 2 more)
Tagged with:
-
Should I change the stupid name of “Messenging"
drjdpowell replied to drjdpowell's topic in LabVIEW General
Hi monzue, “Messenger Library†is currently working it’s way through the Tools Network system. That, and a bunch of other tasks, are distracting me from your pm, but I’ll get back to you. -
I (not AF, but similar) set the subpanel option “Allow User to Open Block Diagramâ€. Then I open the block diagram from the subpanel, once the actor’s FP is loaded into it. Even when the actor leaves the subpanel the diagram stays open (this is a bit strange, since I have open block diagrams with no front panel open). Much more convenient that having to use breakpoints.
-
Most likely because you are not wrapping your INSERTs in a “BEGIN†and “COMMITâ€, so they are all separate transaction. Each transaction requires verified writing to disk (to ensure no corruption if the computer losses power), and as hard disks only spin at 50-100 Hz you can only get 10-30 transactions/second. Execute BEGIN before the INSERTs and COMMIT after, then you have only one transaction. See the Examples (Search SQLite in the example finder) to see how this is done. In the latest version of the package (coming out soon) I’ve added “BEGIN†and “COMMIT†subVIs to make this easier. — James Note for other readers: this package is now available on the LabVEIW Tools Network as "SQLite Libraryâ€.
-
UI to handle overview of 8 sites with subpanels
drjdpowell replied to stgranger's topic in User Interface
You can. You must have done something wrong and be attempting to put the same instance in the second subpanel. -
Your Xcontrols instances go idle when you unlock the XControl, thus destroying all their owned references just like any other VI going idle. So I wouldn’t worry about a leak.
-
What do you call a 1 element buffer?
drjdpowell replied to Aristos Queue's topic in Application Design & Architecture
Off topic: Came across the concept of a zero-element queue the other day. Enqueue blocks until another process calls Dequeue, and then they both execute at the same time, passing the element across. -
Should I change the stupid name of “Messenging"
drjdpowell replied to drjdpowell's topic in LabVIEW General
I’m thinking “Messenger Libraryâ€. Inventive, but I don’t want inventive, I want obvious. -
Should I change the stupid name of “Messenging"
drjdpowell replied to drjdpowell's topic in LabVIEW General
I mean the “root loop†needed to do an asynchronous call that is blocked by the User having a menu open. I personally have had little problem debugging shared reentrant actors. I just send them a message to show their front panel. I can even then add probes and restart the program to observe the startup behavior, as the same clone is always reused. No breakpoints needed. But there is a learning curve to this, which I’d rather eliminate by making it possible to have non reentrant actors. -
Should I change the stupid name of “Messenging"
drjdpowell replied to drjdpowell's topic in LabVIEW General
Simplify it to GLUE, as in “I built my application using GLUE."