>>I'd be VERY wary to work with anything keeping _HLock()ed strings around in general OOP code, as this at least makes you vulnerable to side effects differing on task, machine and settings - if those are so spread in memory as to disable creation of a new large bitmap, your program will work on - but without Rushmore support.
Main use for me would be comparing/grabbing ascii values out of moderate-length strings. You can do it using LIKE or Substr() but both clearly carry lots of checking and other baggage- not least because they have to work on fields as well as variables. _HLock and/or excessive passing of variables presumably can be avoided by shifting the whole string into your own memory space though you need to clean up afterwards in that case...
"... 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