-
Posts
1,991 -
Joined
-
Last visited
-
Days Won
38
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by Ton Plomp
-
-
Here is a generic about VI that I created a while back. It is not perfect but gets the job done. It uses the same .net technique.you would think that NI would be able to incorporate this into LV.
NI has some time (since february) a knowledge base entrie on this item:
Ton
-
Hi,
I've project for subVI library in user.lib directory which is written with LabVIEW 8.0. I'd like to keep LabVIEW 8.0 as the main development environment for this toolkit but I'd also like to use the toolkit with LabVIEW 8.2. The problem I have is that if I just copy all the project files to user.lib directory under LabVIEW 8.2 directory and recomplie VIs, the recompilation also recompiles some files under my LabVIEW 8.0 user.lib and the project won't work under LabVIEW 8.0 any more.
My project contains several libraries (lvlib), several hundreds of VIs within these libraries, some tools for internal use outside these libraries, some DLLs, multiple mnu files, help files, html files, build specifications etc. All of the files are managed using LabVIEW project.
Any help how to properly move a project under user.lib to newer LabVIEW version...
-jimi-
What you should do is temperarily remove the 8.0 folder to a place where LV 8.2 can't find the VI's, this will force 8.2 to look into it's own 8.2 user.lib. After that you should be able to copy the 8.0 folder back. But better safe than sorry make a backup of both folder's.
A good way to test this is making the 8.0 folder read only. 8.2 will than bother you with saving of several items.
Ton
-
Should I be concerned when I mass compile a toolkit in LV 8.2 (the internet toolkit BTW), and get this message (among others)?
This means (A) that nothing has been done to the toolkit to update it for 8.2, and (B) that there is unneeded code inside VIs in the toolkit.
Hmmmmm
Jaegen
(A) is correct (B) isn't
A:
It only means that the G-Code was correct and still is correct (you don't rewrite your VI's from scratch I think with a new LV environment?), the down side is that the internet server is way old
B:
LV 8.x has the ability to compile VI's with errors. This was done by ignoring cases which are controlled by a BD constant, the cases that will never executed are removed from the compiled code (an enhancement of the diagram disable structure)
A problem arose here. What if you had some VI's in a not executed state which you wanted to call dynamically (thus by name), in LV 7 and prior these would be loaded into memory and could be called by name. Now in LV 8 the BD constant is replaced by an invisible FP control, making the compiler think that the case could be executed.
So to maintain compatibility with the prior version the code is changed.
Ton
-
Can't understand how that works. Can you attach the code or give some more details? I mean what class is that?
-
Now in LV 8.2 you get a message about the saving of the root.mnu, it looks like it is moved from menus\default\root.mnu to personal\LV data\8.2\pallettes\menus\default\root.mnu
I'm not sure what is happening but maybe you can create a new root.mnu in you personal folder which has everything you want?
Ton
-
Hello Michael,
I've done something the other way around, use the project to structure my hard-drive, the only thing is that it is not fool proof (VI's missing references etc....)
If I remember I'll try to dig the code monday and post it.
You can use a .NET event that is triggered when some items are added to a folder (their was a discussion on forums.ni.com on this subject some weeks ago)
Ton
-
>> range=[]:1 Warning: Colon operands must be real scalars. range = Empty matrix: 1-by-0
Apparently, it prints a warning to the console but otherwise continues execution with a type of empty matrix as the range result.
I'm not sure if that is the result I want (a bug being ignored). But I think NI will improve the mathscript node step by step and eventually will cover these things.
Ton
-
The 8.20 exe builder allows setting of a version number. Is there any way to access this programmatically within a built app? I tried the App version property but it returns the LV version.
I use this code:
Found it on the NI-ftp site and modified it a bit, the down side is that it uses .NET doesn't work on all computers.
Ton
-
Nice! :thumbup:
I did not know that either.
PJM
So that means no more shift register!!
Ton
-
Hello guys,
I have many computers acquiring datas, and I need to read and write these datas from a single ethernet hard drive (LaCie 500 GB, FAT32).
On a Mac G5 with LV8, once the ethernet drive is mounted in the finder, I try to read a simple config (or text or binary...) file in labview, but I get an open/create/replace file code 10 error.
I've got the same behavior with a file located on a PC hard drive (mounted in the Finder too), but I don't have any problem with a file on a Mac hard drive.
It works when I try the same from a PC with LV8. For me, all this tells it's related to smb/cifs stuffs...
I tried manual path entries like : "file://Volumes/GRESSENSGRP;U676-BACKUP/Datas/file.txt", etc... but nothing works. I didn't find the same problem in the forums...
Any idea ?
thanks
Boris
First I have no experience with Mac/finder.
Error 10 is a duplicate path error, I've only seen these when copying a file into it's own, or creating an existing folder. Maybe it is an access rights thing. A quick test might be a VI with only an open file vi, this will launch a browser so you can open the file, if this still give an error (and you can open the file with another application) it might be a bug.
Ton
-
array of size 2147483647
Hi Stan,
your VI doesn't open well on my machine but I think this is totally normal, you are creating an array of 2 G datapoints. With just normal U16 datatype you need a memory of 4 GB, for standard floating points (DBL) you need 16 GB memoryspace (timestamp 32 GB). The reason LV stops and not creates a 'normal' error is because the memory managemend is violated, it could be that LV just executes and want to allocate the memory, your OS is handling that (and can create extra memory on disk.
What if LV continued and you didn't check for an error (even more the standard way to initiliaze an array has no error output then the function of your program was totally unreliable.
Ton
-
I want want to check out the project file...i noticed that if i modify the project by creating a new VI, it ask if i want to check out the projetc...so i believe my problem is solved, even if my question remains unanswered...
You have to select the
Project:******.lvproj
line, this will give you the reaction you want!
Ton
-
Does anyone have seen this behaviour (app.kind=invalid)?
Ton
With Darren's Nugget I've confirmed that the VI is loaded into the exe but there is still an invalid app
Ton
-
Am i missing something,
Yes, in the project window you have to select the files you want to check in / out and right click OR use the Tools\Source Control\Check In (or Out)
This is usefull for checking in a lot of files.
Ton
-
In my case it's a security issue (exe can be executed by the file dialog), but after some test even when you remove the *.* from the file pattern, you can type it by your self and got all the file listed
Hi Dany,
in my opinion a user who knows how to execute an executable from the file browser knows how to run an executable in another way. Or are you disabling the windows key, ctrl-alt-del, ctrl-esc? Might it be possible to create a user account with almost no rights just to run your program? Maybe you can use the .net browser and run that one as a low-righted user?
Ton
-
Are you calling the exe using System Exec or are you calling the top level directly?
Is this what you're doing? If not, it might help you.
Hi All,
I'm working with AartJan on this issue and ran into a rather strange item.
Let me describe what I do:
-I set the INI settings of the LabVIEW executable I want to connect to
-I launch the exe
-I try to connect to the VI server inside the exe (this will fail sometimes with error 68 connection refused)
-I load a normal VI (not in the exe) into the executable application instance
In the VI loaded via VI server I try to determine which application instance I'm in. I do this with the following code
properties:
App.Name
App.Kind
The VI does not return a name (or error), but the app.kind is invalid. I have never seen this before but the same code inside the executable runs normal, and the development VI that loads the app. instance and this vi reports the correct items...
Does anyone have seen this behaviour (app.kind=invalid)?
Ton
-
I'm just curious to why you are uninstalling 8.0. The ability to have several LV versions and change between them at will, is probably one of the really strong things about LV. I have 6.1, 7.0, 7.1.1, 8.0.1 and 8.2 on the same PC.
My private laptop is kind of limited of diskspace (and at work I have complete set of 7.0 throught 8.2)
7.1 is very usefull when you are using scripting.
Ton
-
Hi Dave,
I don't really understand what your problem is but I think it bothers you that in a build program the 'about' menu is about LabVIEW and not your program?
This is a trick you can use to always use the same about window. If you use a 'about.vi' in your build (dynamically loaded) the builder will couple the 'about...' menu with this VI link (a bit old bit it should work)
Ton
-
I think i've found a good way to deal with the afterprobe.
I had some code that was buggy, but it was too big to 'highlight' the code. Put a breakpoint before execution of this part and one after. At hitting the first breakpoint started 'afterprobing' and examined the code at the second breakpoint, remove afterprobe and continue as normal. In this way I was able to get a 'screenshot' of some code and how it works without filling my screen with tens of probes or creating an extensive logfile.
Ton
-
Is there an advantage to creating and using subvi's rather than wiring your entire code into one VI.
Hi Packstove,
their is no speed advantage, calling a subvi will cause some overhead (6 usec if I recall) However it will give you the option to do something programmers like:
more with less work!
You can use the same code over and over again. And problems are easier to track (if done right).
Ton
-
Unfortunately this is typical behavior of a file dialog box in Windows.
Labview appears to only access the standard file dialog. When using things
such as the Visual Studio environments, the "All Files" can be removed as you
have access to more lower level functions.
I think there is a way to bypass the windows dialog. There is as far as I know an option to use a crossplatform file-dialog, I suppose this one don't have that option. Another thing would be looking for a .NET class that will handle the case.
Unfortunately I can't test it right now because I'm uninstalling 8.0 and installing 8.2
[Edit:]Found it, it is an option in Tools>Options>Envirenment>Use native File dialogs[/edit]
Ton
-
-
Hello t2rock,
Unfortunately I can't see what country your from but if you are using a non-english have a look here
Ton
-
Christian Altenbach has offered part of the solution:
I've modified this a bit.
Download File:post-2399-1156958417.vi
Ton
It even can be generalized if i've only got the time....
XControl & .NET Framework
in Application Design & Architecture
Posted
Maybe some sub-panels with VI's where the BD is removed?
Or use a good framework with sub-vis where the more advanced stuff is done.
Ton