>>>I just did a quick test in the Command Window:
>>>lcBig = SPACE( 16000000 )
>>>lcBig = lcBig + SPACE( 16000000 )
>>>By my count I grew it to 31 * 16000000. Trying to add another 16000000 spaces made VFP crash with a C5 (VFP9 SP2 7423).
>
>
>lcString = REPLICATE("1234567890",1500000)
>lcString = lcString + REPLICATE("1234567890",1000000)
>? LEN(lcString)
>
string handling on a byte basis in vfp just to use older machines sounds like a bad strategy.
take a hint from Java/C# as garbage collected languages and create your StringBuffer/StringBuilder analogue.
For proof of Concept pipe into file (will be faster with large strings even if slower "medium" than a simplistic memory string)
and then decide if you implement
a stacked version adding bytes always to short strings which in turn land in an Array, File, Object or simple String
via OS function to memory based files,
hack together some FLL in C to give you a StringFoxer ;-)
or implement in the Winsock part in C#/Java and call back into fox for the needed stuff.
Old HW can be XP/W2K - anything older warrants special pay rates like for Cobol guys (hinting to check tota cost)
regards
thomas
update: Greg has given very similar advice. For the stepwise approach you will probably land at steps around 10kBytes.
Don't forget to manually garbage collect in between to have slower overall but more predictable runtimes.