Hello,
Your method exactly the same (but in your case you must find all instances of IMAQ Dispose and isolate all of them. With my method this must be performed only once)
It was just idea. Before I've got the same trouble (sporadically crashed IMAQ functions, but it was other functions - sometimes IMAQ FundEdges, ParticleFilter and so on...) It happened with 6.1 (or 6.0.1). In my application a lot of images was created and disposed dynamically. So after isolating IMAQ Dispose this problem with crashes goes away. (When you don't calling IMAQ Dispose, then imaqes don't removed. When IMAQ Create called again with the same name, then existing image returned - so you have no memory leak in this case). When with isolating IMAQ D
ispose problem was solved, then I had reorganized my code for creating images pool only once by start and then IMAQ Dispose was "uncommented" and called only by the end of application. With IMAQ Vision 7 this problem not present. (Now I working only with IMAQ Vision 7).
I'm not sure, that you have same trouble, but may be...
In any case best way for solution - reduce application step by step up to simple example (where problem exists). Then you can ask for support National Instruments.
Other possible ideas for your problem:
- may be you have done with upgrade from IMAQ Vision 5 to 6. Be sure that NIVision.dll and NIVisSvc.dll was overwritten with version 6 (you can control this in Windows Explorer).
- if you using your own dlls, then may be your dlls write information outside of arrays, or images, then memory can be damaged, and, as result other part of code crashed.