>>But don't you have to lock the string(handle?) in memory first as you have to do for repeated calls in Fll ?
>>AFAIR this exempts it from normal garbage processing, don't you open a backdoor to memory leaks?
Don't know though delighted to be educated! I anticipated the string should be static in memory like C's array of characters if you're only peek()ing, though I take your point if garbage collection could quietly reposition the string- in which case you'd need strpeek() to read the string start every time.
I suspect that Rick's anticipated performance gain includes allocation of memory external to VFP's housekeeping so you can process quickly with persistent pointers and minimal re-reading of start positions or error check or other overhead, then restore the result to VFP variable space if necessary.
"... They ne'er cared for us
yet: suffer us to famish, and their store-houses
crammed with grain; make edicts for usury, to
support usurers; repeal daily any wholesome act
established against the rich, and provide more
piercing statutes daily, to chain up and restrain
the poor. If the wars eat us not up, they will; and
there's all the love they bear us."
-- Shakespeare: Coriolanus, Act 1, scene 1