FB II COMPILER
Know about handles of text
I think the "valid" format of a text handle depends on its context. In most cases I know of (for example, the handle to a block which contains an edit field's text), there is no length information contained with the text (there's no need for it, since the Memory Manager always keeps track of every handle's block length). A "ZTXT" block--which is something used only within FB and is not a generic "Mac thing"--starts with 2 bytes of length information, but that's the only such example I know of. A "Pascal string," which is the type held in FB string variables, begins with a single byte of length information. A Pascal string is not necessarily stored in a handle-type block.
thePointer& = PEEK LONG(myHandle&)
thePointer& = [myHandle&]
The only thing to remember is that the Memory Manager has control of the 4-byte area of memory that myHandle& points to, and may change its contents (this happens when the Memory Manager needs to relocate the block). If that happens, any copy that you made previously of the block's pointer (as in thePointer&) is no longer valid. That's why you usually want to "lock" the block before getting the pointer; locking the block keeps it from moving.