Innerfuse Script

PProcedure

Unit: ifs_var.pas
PProcedure is used to store an added function.

Declaration:
type
  PProcedure = ^TProcedure;
  TProcedure = packed record
     FScriptEngine: Pointer;
     Mode: Byte; { 0 = Internal; 1 = RegisteredProc; 2 = RegisteredProc of Object }
     Flags: Word;
     Name,      Decl: string;
     { Spec: RESTYPE PARAM1NAME PARAM1TYPE PARAM2NAME PARAM2TYPE
     an ! before the paramname means is VARIABLE

     an ! before the name means that it's a method (class)
     }

     {$IFNDEF NOCLASSES}ClassType: PTypeRec;{$ENDIF}
     _Ext: Pointer;
     case Byte of        0: (Offset: Longint);
       1: (Proc1: TRegisteredProc; _Ext2: Pointer); // _Ext2 can not be used with Proc2, because Proc2 is already 8 bytes.
       2: (Proc2: TRegisteredProcObject);
   end;