I have a Fortran GIS application that under certain circumstances displays a huge amount of geographical information on screen. A data structure contains all the information about what to display and at the appropriate time (WM_PAINT) the program goes through an i = 1,p loop to display it.
If the user zooms out by a linear factor of 2, say, 4 times as much information must be displayed, etc, so it's easy to see how quickly the amount of info to be displayed becomes huge.
Here's the problem: when the amount of info is very large, the display gets about half way through, then hangs briefly, then starts again, and this process goes on indefinitely. I do not think this is a trivial bug in the program code because both the Debug and Release builds work perfectly as long as I run them from Visual Studio, and outside Visual Studio it works fine as long as I zoom in a bit first. Furthermore, if I place a message box in the 1,p loop, doing nothing more than requiring me to click OK, there is no problem - it's just tedious having to click OK up to 30 times.
I presume I have some sort of memory management problem here but I do not know where to begin looking. Any insights or suggestions would be most welcome.
This sounds like you have an issue of a different DLL being loaded when run outside of the Visual Studio IDE.
Try starting a CMD window from the same Intel Parallel Studio version Command Prompt, then run your program from there. If this works, you may have a different version of the Intel Redistributables installed. You can correct this by either editing your environment variables, uninstalling other version/reinstalling compatible version, or launching your application via a shortcut that runs a batch that sets the correct value to an appropriate environment variable.
Got it in one! Thank you so much. I would never have thought of looking there but when I checked I found my "production" version of the program was using DLLs dating from 2007 (CVF stuff), so I didn't even need to run your suggested tests, I just replaced the DLLs with 2018 versions.
Many thanks again.