LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Build your EXE on day one, and keep it working

[note: cross-posted to LAVA]

I have just posted a new article on my blog:Do you have any experience on the subject or even horror stories about having to build an EXE at the very last minute? Please share them with us.

Thanks,

-Jim
Message 1 of 4
(2,847 Views)
This is excellent advice! 

I think I'm going to have to try harder to apply continous integration techniques in my own projects.


Patrick Allen
---------------------
Patrick Allen: FunctionalityUnlimited.ca
0 Kudos
Message 2 of 4
(2,833 Views)
Here is my horror story:
 
I've been working on a project on and off for about a year.  The final product is to be an executable.  Everything went along fine, I got the main vi to work perfectly.  At the end of the main vi, there is a home made function that will detrmine if the file being run is an exe, and if it is, it terminates the program.  If the file being run is a vi, the front panel stays up so I can look at the indicators, errors, etc.  I had put this 'Exit if EXE" home made function in one of subiv's by accident.  Of course when I run from Labview, everything is fine.  When I finally compiled into an exe, the program would shut down before it was finished.  I chased this around for two days until I found the culprit in the subvi, which was off the screen so I couldn't see it without scrolling to the end.  The worst part was that this happened during the middle of an official validation.  I had to stop the validation process, change the software, hold a code review, recompile, and start the validation all over again.  Had I followed the advice given, I would have discovered the problem before it went for validation.  It would have saved me headaches and embarassment.
- tbob

Inventor of the WORM Global
0 Kudos
Message 3 of 4
(2,813 Views)
Typical horror stories are often caused by paths. Every beginner had this problem. Make a 200 VI's program, build an exe, and then all the paths relative to the vi don't work. My latest project is a Linux application, build under Windows. The typical path problems are multiplied by 10. Parsing .exe on the application name doesn't work. Appending paths with constants with \ in it doesn't work. Etc. Thankfully I have some experience, or this would surely be a horror story.


My worse problem was related to ActiveX. Before LabVIEW had a tree control, I used the MS TreeVIEW control. Unfortunately, ActiveX don't work in LabVIEW on clean laptops. The TreeVIEW control itself wasn't installed, so I had to make LabVIEW code to install the ActiveX component. It still didn't work. LabVIEW didn't allow any ActiveX control to be inserted. It turned out that when you install Word (and uninstall it) it does work. But the executable still didn't work. After hours of testing I found out you had to include 2 LabVIEW dll's in the builder. I found out about this on Friday, while I needed to deliver on Monday...


Recent horror stories are about LV8.0. This list is endless. Memory leaks, sudden crashes, hanging code without any reason... Fortunately, 8.2 didn't take very long...


Once I was working on an offshore project. About 40% was working reasonably well. Then one day, I was told I had to deliver the project the next day. And that I had to deliver it in Malaysia (I live in Netherlands). When I came there, the computer room didn't have air-conditioning (45degC), lightning or a floor! My "desk" was a tiny plate that came out of a 19" rack. My keyboard was a 8" one. When I needed to fix a bug, I had to make a request to get power. Half year later, I came back to copy the new code... It worked instantly. It took me 30 seconds to install, and 2 days for the required loop testing. My old code was never used. I know for sure, because it didn't do anything useful!


Regards,


Wiebe.
0 Kudos
Message 4 of 4
(2,767 Views)