[continued]
Paul,
The devilry with 1189 parameters is not happening if /check is not used and so this problem is not urgent. More urgent are few others.
I currently move some large code from 32bit to 64 and get few other (mostly minor) problems I never had before or had no chance to catch them as there always was not enough memory with 32bits to check everything. Let's start one by one.
First one is causing 'Run-time error 18: This routine has been entered recursively (-ANSI mode)'. This happens in respond of using slider %^sl with the following callback function when the slider moves and function plotXY plots something at different value of the slider
integer function CB()
common k_CB_Function_IS_Busy
if(k_CB_Function_IS_Busy.eq.1) then
goto 1000
endif
jj= plotXY()
k_CB_Function_IS_Busy = 0
1000 CB=2
end function
As you can see there is special variable k_CB_Function_IS_Busy which prevents the code to plot anything before plotting at the previous position of slider is finished. At this time k_CB_Function_IS_Busy becomes =0 and allows another plot.
But now the crash is happening immediately at the entry into the callback function CB and this mechanism of prevention of overlapping of multiple instances of plotting does not work and is doing that brutal way: crash. I used this mechanism with 32bits very broadly before and do not see any other ways to do that easily.
Or this is happening only in /DEBUG mode to check for possible recursive errors as without /DEBUG all seems work OK? May be to solve this problem the RECURSIVE subroutines have to be used? Here also our Fortran language Nazi pros may help.