>Running System Monitor at this point shows that Allocated Memory = 70mb! So
>I'm assuming that physical memory is exhausted and we're heavily into
>virtual memory (i.e. disk swap file).
>
>The class in question has a slew of class arrays which get reDIMENSIONED
>for every record processed, and I'm suspecting that may be related to the
>problem. I've already checked the obvious things like # of temp files, etc.
>
>Any ideas, or suggestions would be welcome.
For one, I've used arrays a lot, but then, I've never used them on such
a large scale. Probably redimensioning arrays behaves like resizing the
strings, i.e. leaves memory holes. I've never found any tech doc on the
subject of garbage collection in any version of Fox - just a little note
saying that it gets done in the background.
One thing may help (maybe?) - try releasing the arrays before
redimensioning, or using normal arrays instead of class arrays... if I
got you right - is it dimensioned properties, or arrays of objects?. In
the latter case, maybe you should set the arrays to .null. values to
release the objects referenced in the arrays before redimensioning
(and/or releasing) the arrays.
See, this is pure guesswork, since I know literally nothing of the
mechanism of memory allocation and deallocation which takes place when
an object gets created and released. From your 70 meg story, it seems
that lots of objects never get released, probably until the routine
which created them exits. I think there's a lot of trial/error cycles
ahead of you.