-
Posts
835 -
Joined
-
Last visited
-
Days Won
49
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by MikaelH
-
-
QUOTE(BrokenArrow @ Jan 21 2008, 12:42 PM)
The way I've done this has been to write a date stamp to a binary file, which can be deeply embedded in other binary "junk" so that the file is quasi-encrypted. This file is the date of installation + n time. Then just have the program look at that file and compare it to the current date to see if the "trial" period (n time) has elapsed.Hi
I solved it like this:
1) I start by generating a Hardware specific key.
-You can use the window GUI if you're running on a windows platform, this could be done via the registry VIs.
-You can use the modify date of the LabVIEW.exe file, this will be the date you installed LabVIEW and 99.999% unique.
2) I created a small perl web-page that is connected to a mysql database.
And then to activate the trail period, my LV application queries the web-page like this: www.mysite.com/CheckTrail.pl?HwKey=A75BE32F90115
The web page checks the database if this Hardware Key, already has activated it or not and return 0 or 1 that LabVIEW reads back.
Cheers,
Mikael
-
Nice code!
I had to put a small delay between the the dll call and the Clipboard.Get Image node go get it working,
otherwise I got the previous Clipboard image.
//Mikael
-
Hi
I have a scenario that I actually have to use this VI.
It is three test cases that take on hour each to run.
Every test case collects lot of measurement data first and just before they finish they calculate some results from the measurements.
Since LabVIEW don’t know if this VI will be running again, it doesn’t free the allocated buffers for all my measurements.
So when I get to the last test case I run out of memory.
Cheers,
Mikael
-
-
-
-
Thanks Justin
Did you download the vi.lib.zip file?
ftp://ftp.ni.com/outgoing/vi.lib.zip
It's no longer there
//Mikael
-
Hi
I've created a executable and it works fine.
My application is using a lvlib-file with 2 classes, one public and one private. This library is located in the user.lib.
When I create an executable I have to start with adding the library in the SourceFile-option as Always Include, otherwise it won't work.
This step seams to be a bug, do YOU agree?
After this the executable is created fine and works just great.
If I count the Files under my EXE-file folder I get 15 files.
Now it's time to do an installer, and that works without any problem.
So I run the setup file, and assume all 15 files will be copied into the "Program Files\<App Folder>", but only 13 files are added.
And of cause when I try to run the executable it starts to search for the missing files.
The files missing (that wasn't copied) is named like this:
1) Storage.lvlib:MySql.lvclass:StartTransaction.vi (This is the Private class)
2) Storage.lvlib:Storage.lvclass:StartTransaction.vi (This is the Public class)
Any Ideas why?
Also the Project View to Destination View looks a bit strange.
The files are NOT the same on the different sides .
Cheers,
Mikael
-
I have an idea, come to Australia and order it here; I got my 3 versions from between 3 days to 1 week :-)
But it could also be so that they have stopped shipping LV 8.5, and waiting for the next release….you never know
//Mikael
-
I have had problems with Keithleys GPIB driver, but no problem using NI's USB to GPIB cable.
Remove all GPIB card uninstall all drivers and just install NIs USB-GPIB cabel, that should work.
//Mikael
-
I have had problems with Keithleys GPIB driver, but no problem using NI's USB to GPIB cable.
Remove all GPIB card uninstall all drivers and just install NIs USB-GPIB cabel, that should work.
//Mikael
-
-
-
QUOTE(aka @ Nov 18 2007, 01:56 AM)
http://lavag.org/old_files/monthly_11_2007/post-941-1195418765.png' target="_blank">
Cheers,
Mikael
-
QUOTE(hugh @ Nov 15 2007, 06:41 AM)
I have software that I want to be selling to customers how easily can someone take an exe that is installed on their computer and reverse engineer it to see the algorithms in my codeYou can extract all VIs from the executable very easy, but of cause you access see the block diagram (since it's not included)
But you can see the hierarchy of you VIs and if you haven't renamed the VIs name and modified the icons, you could get a quite good idea how the code is constructed.
But to understand the algorithm you use, you have to look into the compiled code in every VI and understand it. And only NI has the capability to do that.
So I would say your code it really safe.
Cheers
Mikael
-
-
-
QUOTE(MRedRaider @ Oct 25 2007, 02:22 AM)
IF .NET is not installed:I solve this by running a batch file after the installation.
REM First check if version 2 of the DotNet framework is installeddir %windir%\Microsoft.NET\Framework\v* /B | find "v2.0"IF not errorlevel=1 GOTO DotNet2ExistsREM Version 2 was NOT installed so lets check i version 3 is installed thendir %windir%\Microsoft.NET\Framework\v* /B | find "v3.0"IF not errorlevel=1 GOTO DotNet2ExistsREM Not even version 3 was installed, then we need to install the version 2 anyway. Echo Installing .NET Framework 2.0 c: cd %1 dotnetfx.exe GOTO TheEnd :DotNet2Exists ECHO Dot Net version 2 or 3 exists allready :TheEnd
-
One think you shouldn't do, is to have the VI hierarchy window open while loading large application, since it seams to take lot of time for LabVIEW to constantly update the VI hierarchy window.
--Mikael--
-
QUOTE(robijn @ Oct 19 2007, 09:32 PM)
Hey that's a nice idea ! Up to now we need to do this pooling and starting instances ourselves... It's like a for loop but executed in parallel !That "thing" inside the structure should it indicate the number of the current thread# ? The same as N in a for loop.
Joris
I thought more maybe more like an ThreadNo that goes from 0 to n-1, where n is the maximum number of tread you allow LabVIEW to start for the mulit tasking structure.
//Micke
-
Hi
Most of my test and measurement application runs in sequence, so if I have X number of devices under tests (DUTs), I run the test on them in sequence.
Like this:
When I need to improve the speed I might split the DUTs into different for loops like this:
But this is not scalable. So I would like to see a new structure in LabVIEW than handle multi-tasking. So my application always takes advantage of the number of core the CPU(s) has.
It might look something like this:
The new structure might need some inputs to decide maximum number of threads, and maybe if a dedicated CPU should be used (like the timed while loop).
But the difficult part for NI would probably be a good way of debugging a structure like this, if you select "Step into Multi-tasking structure".
Cheers,
Mikael
-
There are other things Japanese are good at, here is one example:
-
Do you mean something like this?
Download File:post-941-1192017454.vi
I didn't replace it with a tree control, since I don't think it's a simple tree control.
Instead I just made it a bit nicer
//Mikael
-
Hi Ad
Sorry for not coming back to you until now.
I tried to run the conversion application on your classes, but a GoopDebug class seams to be missing, and some other VIs.
But I disconnected the GOOPDebug class reference from its typedef (this way I could run the application without errors), and could convert the 2 classes very easy.
Download File:post-941-1192014888.zip
I've attached the converted classes into a 8.5 project here.
This conversion was made using GDS 2.0, which will be available for you all this or next week :-)
BTW In the community edition of version 2, the EndevoGOOP3 classes will be available as well.
Cheers,
Mikael
Program Expiration Period
in Application Builder, Installers and code distribution
Posted
QUOTE(Kyuubi™ @ Jan 21 2008, 06:54 PM)
Hi
I meant the Windows GUID not GUI in my last post ;-)
You can do this:
http://lavag.org/old_files/monthly_01_2008/post-941-1200997564.png' target="_blank">
You can also parse the result of the system call "ipconfig /all" to get your MAC address.
//Mikael