My array of 36 doubles is initialized at program start by writing a 
valid value to each and every one of the 52 cells (Note that I wrote to 
52 cells, but the array was only 36 in size!)

That worked fine and has done so for about a year!
Range Checking is off for speed purposes. I could turn it on, but may 
forget to turn it off later, and I do need quite a lot of real-time 
power elsewhere.
(The array in question is, on the other hand, only accessed once a 
second or so.)

The error occured at close down, however, NOT during writing to any 
one of those 16 non-existing cells..

Yes, the question is somewhat retoric now, that I have solved the 
problem, but I (and others?) may still learn something from this.
Why do I not get an error during a write to an illegal memory 
location, but only get it maybe hours later when I try to free up the 
same (or some other?) location?

I know, memory may be assigned in chunks of 4 kB at a time, which 
could have something to do with it.

New variables have been added, that may conflict with the actual 
location of those additional 16 cells.
And after initialization, by the way, the x-tra cells never come into 
use again!
I only use up to 30.

Now that I think about it, I seem to remember seing something like 
this before in other applications. (Writing to beyond max array 
locations --> some strange behavior, but no run-time error, or at least 
not until later.)

This time I did debug my way through some of the CPU code. The actual 
error popped up after a reRaise of some kind.
_______________________________________________
Delphi mailing list -> [email protected]
http://www.elists.org/mailman/listinfo/delphi

Reply via email to