Description
Locks a BASIC+ variable, so that its data does not move in memory. Used in conjunction with GetPointer.
Syntax
LockVariable variable As VARIABLE_TYPE
Caution: In the syntax for LockVariable, VARIABLE_TYPE is not quoted, although it is a literal. VARIABLE_TYPE should not be quoted. Quoting this parameter will cause compiling errors and unpredictable results.
Parameters
LockVariable has the following parameters.
Parameter | Description |
---|---|
Variable | A BASIC+ variable name. The name cannot be an expression. |
VARIABLE_TYPE | Specifies the type of data referenced by variable. |
LockVariable is required because garbage collection is OpenInsight can move values. If the return value from GetPointer() is being assigned to a variable, LockVariable the variable first before passing it to GetPointer. Always make sure that a variable locked with LockVariable is released with UnlockVariable.
Data Types
The following table shows C data types and the corresponding OpenInsight Engine-level data types.
C data type | OpenEngine-level Data Type |
---|---|
Char | String. |
Byte, Ubyte | Long. |
Short, Ushort | Long. |
Long | Long. |
Float | Double. |
Double | Double. |
LPVoid | Long. |
LPChar | String. |
LPByte, LPUByte | Long. |
LPShort, LPUShort | Long. |
LPLong | Long. |
LPDouble | Double. |