It may be an issue that the calculation VI is creating a new array each time it is executed. This can be an issue on RT systems and possibly on a PDA as well. I made a few simple changes to the calculation VI and your VI to use shift registers so that the arrays can reuse the allocated space instead of reallocating new memory after each iteration. Hopefully, you will see an improvement. (sorry the diagram is so messy)
Well that is unfortunate that it did not resolve the issue. Here are a few more questions:
Wow, there seems to be another issue that is causing this problem other than your memory management. At this point, I can give you some things to try but they would only be troubleshooting ideas to help you locate the problem.
Troubleshooting Ideas ( try only one at a time and see if it makes a difference)
Other than these tips, we will have to see if NI can reproduce this issue and provide more details.
We made a consoult in NI, and because of a link they send to me "LabVIEW 8.2.1 Touch Panel Module for Windows CE Known Issues" -- Changes from 8.2
a.. Reentrant Call Library Nodes no longer produce memory leaks.
I decide to unistall everithing (Labview TPC and PDA modul) and install the new version, Labview 8.2.1 and Touch Panel Modul 8.2.1. Then I run my application for about 15hs. and the program memory stabilized in 7344K. I also proved whith the example vi with the same resoult, so I guess my problem is solved.
Thank You for your help,
Fantastic! I am glad that you were able to get it to work.
Also, thank you for posting the information about the issue and what NI did to resolve it.
I have my 0,02$ about this big unsolved problem.
See the my attachment code which in every call of subvi1 task manager is showing growth on 8...12 KB. No external dlls, no ODBC, no TCP, almost nothing - but growth is!
If I correctly do it this code than why I see the growth?
Moreover I want to ask for a long time is anybody here who did big projects which worked in 24/7 mode at least 6 months???
I often remember words of my old colleague that said simply: LabVIEW is only for students and for learning of programming (again for students) and 8/5 applications only, 24/7 projects necessary to do only under *NIX OSes and only C language or similar to it where every bit is under control. Even something I think that really at this forum one such inveterate students-veterans sit. Excuse me.
Current93, your code doesn't leak. You allocate new and more memory every time, that's why it grows.
In C it'd be similar to:
wHandler = new int;
If you do that every time you'll get a new int* every time. Just like your program shows.