Val Brown
-
Posts
754 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by Val Brown
-
-
QUOTE(Michael_Aivaliotis @ Apr 30 2007, 06:26 PM)
I don't mind working on this however, the requirements seem vague. The XControl should not actually implement any of the functionality. XControls are mainly for UI implementations. What does your data type look like? You say you want Stop, Play, Pause but you can just as easily assemble this inside a cluster typedef. One thing I can think of is a Play button that after being pressed, turns into a pause button. I think we should work on the requirements first:- Must have a Play, Pause, FF, FR button
- Play button will turn to pause after it's pressed.
- Should have a progress indicator. Progress of what? Music?
Yes, I agree -- and here's where I see the lack of value in using an XControl. Now I'm NOT asking for all of the following functionality to be included in a posted example but I am pointing out that -- at least as far as I'm concerned -- there are shortcomings to using XControls in real world, deployed code. I HOPE the shortcomings that I see relate more to my own lack of familiarity with XControls but....
So if I talk about my own project -- as an example -- my code currently has:
Record, Play, Stop, Eject/Load, Fast Forward, Fast Rewind, GoToBeginning, GoToEnd, Nudge buttons (left and right to advance/reverse one "step" in the file), Progress Bar of file being played (with drageable indicator of current position that, when dragged, sets current position to its position), Elapsed Time, Remaining Time.
Now to me it's easier to architect all of that NOT in an XControl but in the "older" architectures of QMH or ESM using typedefs, etc.
- Must have a Play, Pause, FF, FR button
-
QUOTE(Aristos Queue @ Apr 29 2007, 06:03 PM)
So, Adam, your post made me go do some digging across the Internet. An interesting dig. ;-) You said this raised a new critique of OOP, so I had to go see what was up.Yes, "newly discovered" not JUST discovered for the first time.
But, unlike two of the other comments posted in this thread, I think this is a fundamental issue that both reveals the power of OOP but also points out how it can become an exercise in OOPs!
Language is context bound, not hierarchical. It is community-based as well as in it is determined by and determinative of (over time) its own use within a community of users. There is a "within-timeness" to it, as the Existential-Phenomenological thinkers would put it and that "within-timeness" is not quite synonomous with what we do when "versioning" code.
So to put all of this briefly, the point IMO is that the Requirements "stage" and process is the place in which the "language of use" is first developed (and ongoing refined) by those will use the deployed system of code as well as those who will code it. Actually developing a useable OOP architecture means -- among other things -- that the "lived complexity" of the tasks imagined by the users, was able to be reduced to a functional hierarchy -- even when it actually involves a much more complex structure.
It is this later part that makes the overall architecting and coding process SO interesting, because there's lots of "slip and slide" in mapping the lived complexity of/for the users into the hierarchical constructing favored by OPP so as to maximize reusability, simplicity of construction and straightforward debugging, etc.
And, yes, I have a background in philosophy so it's easy for me to "slip into" that world.
-
QUOTE(crelf @ Apr 30 2007, 05:43 PM)
Yes, that's what I'm asking for as well so I do hope that someone will submit an example they have developed.
-
QUOTE(tcplomp @ Apr 30 2007, 06:17 AM)
Yes it is kind of dissapointing only one XControl made it into the Code Repository. [/plug]The way you do it now is very good to change into an XControl! because it is already event driven!
And what do you mean by CD drive control panel?
Ton
"CD drive" means CD-ROM so I would like to see an example of an XControl that would involve all of the "transport" controls of a typical CD-ROM control program - something like a media player's Stop, Play, Pause, etc...
-
A recent thread has raised the issue of example code illustrating the use of new features of LV8x, in particular the topic of XControls was mentioned. In that vein -- and FWIW -- I have yet to see a complete example of an XControl that implements, for instance, the functionality of a CD drive transport control panel. I mention this example because:
1. Such an instance would be a generally useful example.
2. The idea of such an instance has been mentioned in several other venues.
3. I haven't (yet) seen one -- and perhaps I've missed it so apologies in advance if one already exists and is available.
4. It SEEMS LIKE it should be a "really good thing" to use an XControl for this.
5. But, despite #4, I find myself returning to using "older controls" in a Queued Messaged Handler or Event State Machine architecture.
Now perhaps it's just that I'm used to "old school" LV code, perhaps I'm just not enough "up to speed" on XControl features to get it to work well. But regardless of any of that, I still think it might be a good example -- if someone else has one.
And, in any event, this is my contribution (albeit very, very small) to trying to keep a positive focus here. I've found LAVA to be very valuable and am glad that it's here. I hope to be able to be of help to others as well.
-
QUOTE(crelf @ Apr 22 2007, 10:00 AM)
You shure gotta a purdy mouth there boy - you use your tongue purdier than a ten dollar whore...(extra credit: name those movies)
Perhaps what we're all asking for here is (dare I say it?) a rating system for individual posts? (OK Chris, you've said it, now step back and enjoy the show...)
Deliverance.
-
QUOTE(John Rouse @ Apr 20 2007, 10:51 AM)
Appreciate the article and the series Tomi,I like the examples.
The pictoral way of representing classes is nice for learning concepts.
I agree, esp in the context of LV which is such a VISUAL experience. I was always struck by how NON-VISUAL the experience was with Visual Studio -- it really was just a hyperlinked Text Editor with supporting utilities. Now that was helpful in many ways but it really wasn't -- IMO -- a truly VISUAL interface/experience.
The more visual the process, the easier and more seamless it becomes for me -- and that's esp true in re: to "classes" as that's a term/word that just never "fit" well for me with what it was supposed to be representing.
-
QUOTE(Jim Kring @ Apr 13 2007, 11:37 AM)
John,We are entering a world where the definition of "computer", "user", "software", and "operating system" are becoming blurred due to our highly connected, networked world. http://en.wikipedia.org/wiki/Virtualization' target="_blank">Virtualization makes computers more like software and multi-cores (and multi-processors) makes the definition of "1 computer/user" rather meaningless.
The bottom line is that things are changing very rapidly and software that works today, probably won't work well in few months, without patches and upgrades. Software as a service is really the direction that everything is heading. let me rephrase that, software as a service (sold in various units of value to the customer) will completely replace software as a product. I'm sorry if you don't like that, but you had better get used to it.
[uPDATE] the software service providers that provide the best service to their customers and treat them well will win (I hope).
-Jim
Jim is right on target about this. SW is definitely transforming into a service and leaving behind almost all of the "trappings" of its having been seen as a product. And there really isn't any way around this -- it's not just a MS "evil empire" disease being spread maliciously, this is the way it is (and actually has been IMO) in the unix, Mac and other OSs. Why do you think we have continuous updating occuring across ALL platforms? Contrast what happens in SW with something like your car. SW undergoes a major update and you download it over the net, perhaps with or without a charge depending on how "major" it is. Let's say through, that the Fuel Injection system on your car is "updated" ("improved") -- you definitely pay for that product as well as for the installation. The idea that, since you bought the car you ought to just "get" the update, is a really interesting one, esp when what we are considering to be the "product" is actually a collection of services (read "properties" and "methods") that allow us to perform services on various HW platforms.
It really is about transitioning the understanding of what software IS...
-
QUOTE(lavezza @ Apr 12 2007, 09:08 PM)
First, you only need to run simulation.msi if you installed 8.2.1 over 8.2. If you uninstalled 8.2 first (or never had it installed), you won't need to run simulation.msi. Second, not running simulation.msi won't stop 8.2.1 from running. Only certain functions are affected. See http://digital.ni.com/public.nsf/allkb/C4B6EF55C6948A27862572B30068BF91' target="_blank">Installing LabVIEW 8.2.1 On Top of LabVIEW 8.2 Causes Broken VIs and LibrariesI ran simulation.msi from "C:\National Instruments Downloads\LabVIEW\8.2.1\Products\LabVIEW_Simulation_Core_Shared\simulation.msi" which is the directory that gets created when you run LabVIEW_821.exe.
OK. Thanks for the info. I've gone ahead and run simulation.msi.
-
-
QUOTE(lavezza @ Apr 12 2007, 05:54 PM)
My group switched divisions in our company on January 1st. It looks like one of the things that got screwed up during the transfer was our SSP. It has lapsed. Well, there are bug fixes in 8.2.1 that we really need so I downloaded the installer and installed it. Remember, there is no difference between the evaluation installer and the regular installer now, features activate based on the license.ftp://ftp.ni.com/evaluation/labview/pc/labview_821.exe''>ftp://ftp.ni.com/evaluation/labview/pc/labview_821.exe' target="_blank">ftp://ftp.ni.com/evaluation/labview/pc/labview_821.exe
I found that, not only did I NOT need to run simulator.msi, when I tried to run it, I got an error. Do you have a valid URL from which I can download it? I'm currently traveling and so don't have my installation CDs with me and want to make certain -- if possible -- that my installation is up to date.
-
QUOTE(SciWare @ Apr 12 2007, 05:01 PM)
I just spoke to my rep, the only way for me to upgrade is to purchase a 1 year SSP. Gone are the days when you just payed 800 bux or so to upgrade your version of LV to the latest, and bug fixes were free. The good side is that within the year 8.5 will be out so I'll automaticaly get that.I'm just a little sore at NI for forcing me to go with this just for a bug fix.
I need another shandy to sooth my throat which is sore and calloused from swearing.
It's not "...just for a bug fix" -- as you've said, you're also getting the next major update, viz to 8.5.
-
QUOTE(Pablo Bleyer @ Apr 12 2007, 01:35 PM)
I don't know if it is just me, but 8.2.1 is behaving far more unstable that 8.2, at least on one of my machines. IIRC I had one or two crashes with 8.2. Since I installed 8.2.1 this week, some minutes ago it just crashed for the 5th time. This has happened on different applications, however I am working with big data files and LV was usually using more than 500MB of memory then. Maybe that was the reason? I'm glad that 8.2.1 fixed some annoying GUI property update issues, though.Regards.
I haven't seen this behavior and I've done some very, very large builds.
-
I've had no problems at all, including no problems with building applications, including older, legacy projects.
-
QUOTE(Louis Manfredi @ Apr 10 2007, 03:33 PM)
Hi Folks:I'm having problems with a Active X CW 3D graph control. Its kind of embarrassing-- I suspect I've had and solved this problem before, but I can't for the life of me remember how.
My Vi works fine in the development environment.
As an .exe on the development environment machine, the program also runs fine.
Copying the .exe to a computer which has another, previously installed application I've written using the 3D control also runs fine.
But when I create an installer, and attempt to install the program on a new machine which has never had any LV applications installed on it previously, the VI does not work properly. I get the message: "Error loading Control. A newer vesion needed. The default settings for the control will be used." The control then does not appear on the front panel, although as far as I can tell the VI otherwiser runs properly.
Right now I'm running version 7.1.1-- Since I had a bad time going to 8.0, I'm holding out till I'm through with this project on going up to 8.2.1
Much thanks in advance to whoever points out what is probably a pretty silly error on my part...
Best Regards, Louis
The CW3DGRPH.OCX control needs to be updated to the latest version. I don't have the reference for this on the NI site but I'm sure a quick browse will retrieve it for you. By default that component is copied to
c:\windows\system32
and then registered.
-
QUOTE(Tomi Maila @ Apr 10 2007, 12:07 PM)
OK, anyone got a download source for simulation.msi? I don't have my original LV install CDs with me while traveling.
-
QUOTE(i2dx @ Apr 10 2007, 11:03 AM)
thanks for the linkIf we are completely uptodate with 8.20 -- including all toolkits -- and then download the labview_821.exe file and double-click on it, the update will be correct?
I'm on SSP but am traveling and so, if I can do this while on the road, it would be great.
-
QUOTE(Dirk J. @ Mar 30 2007, 02:02 AM)
or this underestimated tool...I use LV2 globals a lot -- both with for loops and while loops -- depending on the rest of the VI involved. I haven't thought about actually testing both structures, my assumption was that they were equivalent c/c++ code "underneath" so it's interesting to see the benchmarking.
But it is because I use them a lot that I have concerns about the feedback node approach -- it seems like a lot of extra wiring to do, esp if you have a number of such variables within a single VI. On the other hand, one could pass around a cluster (of the separate variables) but then there's the overhead of the unbundle/bundle operations as those values are read and modified during run-time.
-
QUOTE(Darren @ Apr 2 2007, 09:12 PM)
The way I get around this issue is to create a typedef cluster containing control references to any control I wish to programmatically manipulate within my application. I bundle by name all my control references during code initialization, then unbundle the references whenever I need them in other places in my VI. If I need any of these references in a subVI, the typedef cluster is on the conpane of the subVI so I can unbundle the reference(s) I need within the subVI. Since it's a typedef, I can add control references to it as I develop code. This avoids any array searching for references and makes the code very fast.This is the approach I take in all my UI VIs (i.e., any app where I will be programmatically modifying UI elements).
-D
Can you post some example code to illustrate this? That would be a really great help for those trying to follow what you're describing.
-
QUOTE(i2dx @ Jan 11 2006, 04:57 AM)
there is a new version of my ADO-Toolkit availiable. I made it for LabVIEW 8, because the "date time" cluster contains now a new element for fractional seconds. I don't use fractional seconds, but i wanted to get rid of the warnings and coercion dots ;-). There have been many improvements since my first post here, especially the documentation.http://forums.lavag.org/index.php?act=attach&type=post&id=1933''>http://forums.lavag.org/index.php?act=attach&type=post&id=1933'>http://forums.lavag.org/index.php?act=attach&type=post&id=1933
Is this ADO_Tool.LV80.zip still the latest version? I'm using LV8.2.
-
QUOTE(Jim Kring @ Mar 10 2007, 10:57 AM)
Maybe your question and assumption are related...Yes, well that's partly why I was asking, esp since another post indicated that -- except for LVOOP "intensive" operations -- v8.2.1 already seems pretty robust. I would guess that means pretty robust in XP but ??? in Vista...
-
-
QUOTE(Donald @ Oct 5 2006, 02:50 AM)
I can confirm that one of the answers on the NI LabVIEW certification exam is "Functional Global"...Lv Punk thx also for the shortcut to the mails of Stephen Mercer. Very good explanation why they changed the Obtain Queue primitive.
FWIW, I prefer Funtional Global partly because it's sort of the only Global that is really "functional" instead of dysfunctional...
LV2 is historically correct but not very helpful and the others, well, I guess I just don't like them, again FWIW.
-
QUOTE(yen @ Mar 4 2007, 01:07 PM)
Is it possible your node had the wrong class?Application is the default class and you need the VI class.
That was the curious thing for me. I had the VI class, not the Application class. But, who knows what I actually did. Afterall there are some who would say I have no class. ;-)
XControl example
in LabVIEW General
Posted
QUOTE(Michael_Aivaliotis @ Apr 30 2007, 06:56 PM)
Actually I'm NOT describing the complete application -- just the UI for the complete application. Now perhaps that's part of my problem -- I'm (still) separating UI from the process(es) that the UI controls. So, from that perspective, I see the possibility of an array of just such UIs (perhaps implemented as an XControl) with the user being able to select a "look and feel" by selecting amongst that array. This aspect of the question relates to another thread I started about "skinnable" interfaces. Could an array of XControls be used to "skin" different interfaces? Seems to be that, theoretically at least, that could/should be possible.
And, yes, I have used property nodes to customize a UI -- MULTIPLE property nodes to dynamically customize a very, very complex UI. My understanding, and I may be incorrect, is that an XControl might be able to handle the messaging aspect of just such a UI. Then it would be a reusable component for interfacing to CD-ROMs, or DVD players or....could even be used as a front end to an array of instruments (if that metaphor made sense to the relevant users) with the message that "Fast Foward" button has been pressed being, perhaps mapped to "Use Next Available Instrument" or whatever.
I'll be very interested in your presentation but may not be at NI Week. Hopefully it will (ultimately) be made available via LAVA.
QUOTE(crelf @ Apr 30 2007, 06:58 PM)
Thanks! These are useable in a distro?