Tech Tip: Why referencing a pointer to a local variable doesn't work
PRODUCT: 4D | VERSION: | PLATFORM: Mac & Win
Published On: July 23, 2002
Compatibility: 6.5.x , 6.7.x, and 6.8.x
Platforms: Windows and Mac OS
A local variable does not exist at a fixed memory location. It exists in a type of memory called a Stack. A stack is defined as a place in which temporary values are stored. The elements or values in the stack can be moved from one location to another within the stack. Since 4D makes frequent changes to the stack, the value may no longer exist in its original location, causing the pointer to lose its referencing target.
Valid pointer referencing:
vPointer:=->ProcessVariable
or
vPointer:=-><>InterProcessVariable
Invalid pointer referencing:
vPointer:=->$LocalVariable