>I really don't want to mess with this. I'd prefer to rectify the problem.
You may have to fiddle with the buffer sizes. When you use SPT, the cursors brought locally are loaded into VFP's data buffers. If the buffer size is exceeded by the size of the data brought in, the overflow is saved to temp files. (The temp file is created automatically, but will be small if the entire cursor fits in the buffer). The buffers can increase in size up to the limit set by SYS(3050), but the buffers don't get flushed or reduced in size automatically. VFP will keep this memory for quick access later. The default buffer sizes are very large, considerably greater than the 28 MB you are seeing. You may be running into default data buffer behavior, and would need to use SYS(3050) if you don't like the default buffer sizes.
If the memory usage of your app increases then levels off, it's probably not a memory leak, but a caching issue.
You could do a quick and dirty test by adding
SYS(3050,1,10000000)
SYS(3050,2,10000000)
to your app startup code, and if the exe stops growing at something a little over 10 MB, then it is a buffer issue.
I hope this helps!
Jim
Jim Saunders
Microsoft
This posting is provided “AS IS”, with no warranties, and confers no rights.