PA_GetVariable

4D - Documentation   Français   English   German   4D Plugin API, Command Theme List   4D Plugin API, Command Alphabetical List   Back   Previous   Next

version 2003


PA_GetVariable (vName) PA_Variable

ParameterTypeDescription
vNamechar *Name of process/interprocess variable to access
Function resultPA_VariableValue of the variable whose name is vName

Description

The routine PA_GetVariable returns the content of the variable whose name is passed in vName.

To get the content of an interprocess variable, vName must start by the interprocess sign ("<>" under Windows or the diamond under MacOS)

If the 4D Plug-in attempts to access a non-existing variable, the PA_Variable data structure returned with a type = eVK_Undefined (this can be get by the PA_GetVariableKind routine) and PA_GetLastError returns eER_NoErr.

NOTE:

Depending on default settings and on previous calls to PA_UsePStrings or PA_UseCStrings, vName must be a Pascal or a C string.

IMPORTANT NOTE:

For Text, Picture, and BLOB, remember that the handles to the data of those structures belong to 4th Dimension. Do not dispose of it or call PA_ClearVariable.

Examples

(1) Checking the kind of a variable.

   // We are waiting for a longint variable
   PA_Variable   aVar;
   aVar = PA_GetVariable("\pmyPrivateVar"); // using Pstring on a Mac
   if(PA_GetVariableKind(aVar) != eVK_Longint)
      PA_Alert("\pI expected a long integer variable");

(2) Get the value of a system variable (OK).

   char GetOK ()
   {
      PA_Variable   ok;
      char      okValue = (char) 0;
      
   // Note that in interpreted mode, OK may be undefined
      ok = PA_GetVariable("OK"); // using C strings on Windows

      if(PA_GetLastError() == eER_NoErr)
      {
         switch (PA_GetVariableKind(ok))
         {
            case eVK_Real:
               if (PA_GetRealVariable(ok) != 0.0 )
                  okValue = 1;
               break;
            case eVK_Longint:
               if (PA_GetLongintVariable(ok) != 0)
                  okValue = 1;
               break;
         }
      }
      
      return okValue;
   }

See Also

PA_GetVariableKind.

Error Handling

Use PA_GetLastError to see if an error occurred.


4D - Documentation   Français   English   German   4D Plugin API, Command Theme List   4D Plugin API, Command Alphabetical List   Back   Previous   Next