version 2003
PA_GetPointerVariable (pointer; index) PA_Variable
Parameter | Type | Description | |
pointer | PA_Pointer | The 4D pointer | |
index | long * | Index if the pointer points to an array element | |
Function result | PA_Variable | The variable pointed to by the pointer |
Description
The routine PA_GetPointerVariable returns the variable pointed to by pointer. If pointer is a pointer to an array element, it sets *index to the number of this element.
NOTE
4th Dimension pointers are not standard C pointers. They are structures that tell 4D what kind of data they reference: a table, a field, or a variable (process or interprocess).
Since a pointer does not have the same definition and use in interpreted and compiled mode, the developer should use the accessors of this API.
You can use PA_GetPointerKind to determine what kind of pointer the4Dptr is.
Example
Get a longint array pointed to by pointer:
PA_Variable array; long ignore; /* . . . */ if ( PA_GetPointerKind( a4Dptr ) == ePK_PointerToVariable ) { array = PA_GetPointerVariable( a4Dptr, &ignore ); if ( PA_GetVariableKind( array ) == eVK_ArrayLongint ) { /* . . . code using array . . . */ } }
See Also
PA_GetPointerKind, PA_GetPointerParameter, PA_GetPointerTableField, PA_GetPointerValue.
Error Handling
Use PA_GetLastError to see if an error occurred (Other pointer accessors do not touch PA_GetLastError).