Innerfuse Pascal Script
Unit: ifs_var.pas

PIFVariant

PIFVariant is used to store all variables used in the script engine.

Type:
PIfVariant = ^TCajVariant; PCajVariant = PIfVariant; TIfVariant = packed record
  VType: PTypeRec;
  Flags: Byte;
  CV_Str: string;
  case Word of
    CSV_UByte: (CV_UByte: TCSV_UByte);
    CSV_SByte: (CV_SByte: TCSV_SByte);
    CSV_Char: (CV_Char: TCSV_Char);
    CSV_UInt16: (CV_UInt16: TCSV_UInt16);
    CSV_SInt16: (CV_SInt16: TCSV_SInt16);
    CSV_UInt32: (CV_UInt32: TCSV_UInt32);
    CSV_SInt32: (CV_SInt32: TCSV_SInt32);
    CSV_String: ();
    CSV_Real: (CV_Real: Real);
    CSV_Single: (CV_Single: Single);
    CSV_Double: (CV_Double: Double);
    CSV_Extended: (CV_Extended: Extended);
    CSV_Comp: (CV_Comp: Comp);
    CSV_Bool: (CV_Bool: Boolean);
    CSV_Var: (CV_Var: PIFVariant);
    CSV_Array: (CV_ArrItems: TifList);
    CSV_Record: (CV_RecItems: TifList);
    CSV_Class: (CV_Class: PCreatedClass);
    CSV_ClassRef: (Cv_ClassRef: PTypeRec);
    CSV_Property: (CV_Self, Cv_PropRead, CV_PropWrite: Pointer; CV_PropFlags: Word);
    CSV_Internal: (Cv_Int1,CV_Int2: Pointer);
    CSV_ProcVariable: (Cv_Proc: PProcedure{$IFNDEF NOCLASSES};Cv_ProcSelf: PCreatedClass{$ENDIF});
    CSV_Special: (CV_Spec: Byte);
    CSV_ExternalObject: (CV_ExternalObject: PCreatedCustomObject);
    CSV_ExternalObjectProperty: (CV_ExtObj: Pointer; CV_PropertyNo: Longint);
    CSV_Variant: (CV_Variant: PIfVariant);!
end;
TCajVariant = TIfVariant;

Copyright (c) 2001 by Carlo Kok
last update: 24-11-01