lazarus/components/lazdebuggers/lazdebuggerfpgdbmi/test/TestApps/TestWatchesUnitArray.pas
2014-05-11 14:59:56 +00:00

1288 lines
42 KiB
ObjectPascal

unit TestWatchesUnitArray; // Array and Pointer
{$mode objfpc}{$H+}{$NOTES off}
interface
uses sysutils, types;
type
TArrayClass1 = class;
TArrayRec = packed record
FieldInt1, FieldInt2: Integer;
FieldDynInt1: array of Integer;
FieldStatInt1: array [4..9] of Integer;
FieldByte1: Byte;
end;
TArrayRec2 = packed record
FieldByte1, FieldByte2, FieldByte3: Byte;
end;
TArrayDynInt = array of Integer;
TArrayDynClass = array of TArrayClass1;
TArrayDynRec = array of TArrayRec;
TArrayDynRec2 = array of TArrayRec2;
TArrayDynDynInt = array of array of Integer;
TArrayDynDynClass = array of array of TArrayClass1;
TArrayDynDynRec = array of array of TArrayRec;
TArrayDynStatInt = array of array [1..5] of Integer;
TArrayDynStatClass = array of array [1..5] of TArrayClass1;
TArrayDynStatRec = array of array [1..5] of TArrayRec;
TArrayStatInt = array [-2..5] of Integer;
TArrayStatClass = array [-2..5] of TArrayClass1;
TArrayStatRec = array [-2..5] of TArrayRec;
TArrayStatStatInt = array [-9..-5] of array [1..3] of Integer;
TArrayStatStatClass = array [-9..-5] of array [1..3] of TArrayClass1;
TArrayStatStatRec = array [-9..-5] of array [1..3] of TArrayRec;
TArrayStatDynInt = array [-9..-5] of array of Integer;
TArrayStatDynClass = array [-9..-5] of array of TArrayClass1;
TArrayStatDynRec = array [-9..-5] of array of TArrayRec;
PArrayDynInt = ^TArrayDynInt;
PArrayDynClass = ^TArrayDynClass;
PArrayDynRec = ^TArrayDynRec;
PArrayDynRec2 = ^TArrayDynRec2;
PArrayDynDynInt = ^TArrayDynDynInt;
PArrayDynDynClass = ^TArrayDynDynClass;
PArrayDynDynRec = ^TArrayDynDynRec;
PArrayDynStatInt = ^TArrayDynStatInt;
PArrayDynStatClass = ^TArrayDynStatClass;
PArrayDynStatRec = ^TArrayDynStatRec;
PArrayStatInt = ^TArrayStatInt;
PArrayStatClass = ^TArrayStatClass;
PArrayStatRec = ^TArrayStatRec;
PArrayStatStatInt = ^TArrayStatStatInt;
PArrayStatStatClass = ^TArrayStatStatClass;
PArrayStatStatRec = ^TArrayStatStatRec;
PArrayStatDynInt = ^TArrayStatDynInt;
PArrayStatDynClass = ^TArrayStatDynClass;
PArrayStatDynRec = ^TArrayStatDynRec;
PInteger = ^Integer;
PPInteger = ^PInteger;
PWord = ^Word;
PPWord = ^PWord;
// TYPES fol param
TArrayStatIntParam1 = array [4..9] of Integer;
TArrayStatIntParam2 = array [-4..9] of Integer;
PArrayStatIntParam1 = ^TArrayStatIntParam1;
PArrayStatIntParam2 = ^TArrayStatIntParam2;
PPointer = ^Pointer;
{ TArrayClass1 }
TArrayClass1 = class
public
Field_Int1, Field_Int2: Integer;
Field_DynAInt1: array of Integer; // SetLength(Field_DynAInt1, 5);
Field_StatAInt1: array [4..9] of Integer;
Field_StatAInt2: array [-4..9] of Integer;
Field_DynInt1, Field_DynInt2: TArrayDynInt; // SetLength(Field_DynInt1,20);
Field_DynClass1: TArrayDynClass;
Field_DynRec1: TArrayDynRec;
Field_DynRec2: array of TArrayRec2;
Field_DynDynInt1: TArrayDynDynInt;
Field_DynDynClass1: TArrayDynDynClass;
Field_DynDynRec1: TArrayDynDynRec;
Field_DynStatInt1: TArrayDynStatInt;
Field_DynStatClass1: TArrayDynStatClass;
Field_DynStatRec1: TArrayDynStatRec;
Field_StatInt1: TArrayStatInt;
Field_StatClass1: TArrayStatClass;
Field_StatRec1: TArrayStatRec;
Field_StatStatInt1: TArrayStatStatInt;
Field_StatStatClass1: TArrayStatStatClass;
Field_StatStatRec1: TArrayStatStatRec;
Field_StatDynInt1: TArrayStatDynInt;
Field_StatDynClass1: TArrayStatDynClass;
Field_StatDynRec1: TArrayStatDynRec;
Field_IntPointer: PInteger;
Field_WordPointer: PWord;
Field_Pointer: Pointer;
// Pointer
Field_PDynAInt1: PArrayDynInt;
Field_PStatAInt1: PArrayStatIntParam1;
Field_PStatAInt2: PArrayStatIntParam2;
Field_PDynInt1, Field_PDynInt2: PArrayDynInt;
Field_PDynClass1: PArrayDynClass;
Field_PDynRec1: PArrayDynRec;
Field_PDynRec2: PArrayDynRec2;
Field_PDynDynInt1: PArrayDynDynInt;
Field_PDynDynClass1: PArrayDynDynClass;
Field_PDynDynRec1: PArrayDynDynRec;
Field_PDynStatInt1: PArrayDynStatInt;
Field_PDynStatClass1: PArrayDynStatClass;
Field_PDynStatRec1: PArrayDynStatRec;
Field_PStatInt1: PArrayStatInt;
Field_PStatClass1: PArrayStatClass;
Field_PStatRec1: PArrayStatRec;
Field_PStatStatInt1: PArrayStatStatInt;
Field_PStatStatClass1: PArrayStatStatClass;
Field_PStatStatRec1: PArrayStatStatRec;
Field_PStatDynInt1: PArrayStatDynInt;
Field_PStatDynClass1: PArrayStatDynClass;
Field_PStatDynRec1: PArrayStatDynRec;
Field_PIntPointer: PPInteger;
Field_PWordPointer: PPWord;
Field_PPointer: PPointer;
procedure Test1Method(
Arg_DynAInt1: array of Integer;
Arg_StatAInt1: TArrayStatIntParam1;
Arg_StatAInt2: TArrayStatIntParam2;
Arg_DynInt1, Arg_DynInt2: TArrayDynInt;
Arg_DynClass1: TArrayDynClass;
Arg_DynRec1: TArrayDynRec;
Arg_DynRec2: array of TArrayRec2;
Arg_DynDynInt1: TArrayDynDynInt;
Arg_DynDynClass1: TArrayDynDynClass;
Arg_DynDynRec1: TArrayDynDynRec;
Arg_DynStatInt1: TArrayDynStatInt;
Arg_DynStatClass1: TArrayDynStatClass;
Arg_DynStatRec1: TArrayDynStatRec;
Arg_StatInt1: TArrayStatInt;
Arg_StatClass1: TArrayStatClass;
Arg_StatRec1: TArrayStatRec;
Arg_StatStatInt1: TArrayStatStatInt;
Arg_StatStatClass1: TArrayStatStatClass;
Arg_StatStatRec1: TArrayStatStatRec;
Arg_StatDynInt1: TArrayStatDynInt;
Arg_StatDynClass1: TArrayStatDynClass;
Arg_StatDynRec1: TArrayStatDynRec;
Arg_IntPointer: PInteger;
Arg_WordPointer: PWord;
Arg_Pointer: Pointer;
// Pointer
Arg_PDynAInt1: PArrayDynInt;
Arg_PStatAInt1: PArrayStatIntParam1;
Arg_PStatAInt2: PArrayStatIntParam2;
Arg_PDynInt1, Arg_PDynInt2: PArrayDynInt;
Arg_PDynClass1: PArrayDynClass;
Arg_PDynRec1: PArrayDynRec;
Arg_PDynRec2: PArrayDynRec2;
Arg_PDynDynInt1: PArrayDynDynInt;
Arg_PDynDynClass1: PArrayDynDynClass;
Arg_PDynDynRec1: PArrayDynDynRec;
Arg_PDynStatInt1: PArrayDynStatInt;
Arg_PDynStatClass1: PArrayDynStatClass;
Arg_PDynStatRec1: PArrayDynStatRec;
Arg_PStatInt1: PArrayStatInt;
Arg_PStatClass1: PArrayStatClass;
Arg_PStatRec1: PArrayStatRec;
Arg_PStatStatInt1: PArrayStatStatInt;
Arg_PStatStatClass1: PArrayStatStatClass;
Arg_PStatStatRec1: PArrayStatStatRec;
Arg_PStatDynInt1: PArrayStatDynInt;
Arg_PStatDynClass1: PArrayStatDynClass;
Arg_PStatDynRec1: PArrayStatDynRec;
Arg_PIntPointer: PPInteger;
Arg_PWordPointer: PPWord;
Arg_PPointer: PPointer;
var VArg_DynAInt1: array of Integer;
var VArg_StatAInt1: TArrayStatIntParam1;
var VArg_StatAInt2: TArrayStatIntParam2;
var VArg_DynInt1, VArg_DynInt2: TArrayDynInt;
var VArg_DynClass1: TArrayDynClass;
var VArg_DynRec1: TArrayDynRec;
var VArg_DynRec2: array of TArrayRec2;
var VArg_DynDynInt1: TArrayDynDynInt;
var VArg_DynDynClass1: TArrayDynDynClass;
var VArg_DynDynRec1: TArrayDynDynRec;
var VArg_DynStatInt1: TArrayDynStatInt;
var VArg_DynStatClass1: TArrayDynStatClass;
var VArg_DynStatRec1: TArrayDynStatRec;
var VArg_StatInt1: TArrayStatInt;
var VArg_StatClass1: TArrayStatClass;
var VArg_StatRec1: TArrayStatRec;
var VArg_StatStatInt1: TArrayStatStatInt;
var VArg_StatStatClass1: TArrayStatStatClass;
var VArg_StatStatRec1: TArrayStatStatRec;
var VArg_StatDynInt1: TArrayStatDynInt;
var VArg_StatDynClass1: TArrayStatDynClass;
var VArg_StatDynRec1: TArrayStatDynRec;
var VArg_IntPointer: PInteger;
var VArg_WordPointer: PWord;
var VArg_Pointer: Pointer;
// Pointer
var VArg_PDynAInt1: PArrayDynInt;
var VArg_PStatAInt1: PArrayStatIntParam1;
var VArg_PStatAInt2: PArrayStatIntParam2;
var VArg_PDynInt1, VArg_PDynInt2: PArrayDynInt;
var VArg_PDynClass1: PArrayDynClass;
var VArg_PDynRec1: PArrayDynRec;
var VArg_PDynRec2: PArrayDynRec2;
var VArg_PDynDynInt1: PArrayDynDynInt;
var VArg_PDynDynClass1: PArrayDynDynClass;
var VArg_PDynDynRec1: PArrayDynDynRec;
var VArg_PDynStatInt1: PArrayDynStatInt;
var VArg_PDynStatClass1: PArrayDynStatClass;
var VArg_PDynStatRec1: PArrayDynStatRec;
var VArg_PStatInt1: PArrayStatInt;
var VArg_PStatClass1: PArrayStatClass;
var VArg_PStatRec1: PArrayStatRec;
var VArg_PStatStatInt1: PArrayStatStatInt;
var VArg_PStatStatClass1: PArrayStatStatClass;
var VArg_PStatStatRec1: PArrayStatStatRec;
var VArg_PStatDynInt1: PArrayStatDynInt;
var VArg_PStatDynClass1: PArrayStatDynClass;
var VArg_PStatDynRec1: PArrayStatDynRec;
var VArg_PIntPointer: PPInteger;
var VArg_PWordPointer: PPWord;
var VArg_PPointer: PPointer
);
end;
var
ArrayGlob_DynAInt1: array of Integer;
ArrayGlob_StatAInt1: array [4..9] of Integer;
ArrayGlob_StatAInt2: array [-4..9] of Integer;
ArrayGlob_DynInt1, ArrayGlob_DynInt2: TArrayDynInt;
ArrayGlob_DynClass1: TArrayDynClass;
ArrayGlob_DynRec1: TArrayDynRec;
ArrayGlob_DynRec2: array of TArrayRec2;
ArrayGlob_DynDynInt1: TArrayDynDynInt;
ArrayGlob_DynDynClass1: TArrayDynDynClass;
ArrayGlob_DynDynRec1: TArrayDynDynRec;
ArrayGlob_DynStatInt1: TArrayDynStatInt;
ArrayGlob_DynStatClass1: TArrayDynStatClass;
ArrayGlob_DynStatRec1: TArrayDynStatRec;
ArrayGlob_StatInt1: TArrayStatInt;
ArrayGlob_StatClass1: TArrayStatClass;
ArrayGlob_StatRec1: TArrayStatRec;
ArrayGlob_StatStatInt1: TArrayStatStatInt;
ArrayGlob_StatStatClass1: TArrayStatStatClass;
ArrayGlob_StatStatRec1: TArrayStatStatRec;
ArrayGlob_StatDynInt1: TArrayStatDynInt;
ArrayGlob_StatDynClass1: TArrayStatDynClass;
ArrayGlob_StatDynRec1: TArrayStatDynRec;
ArrayGlob_IntPointer: PInteger;
ArrayGlob_WordPointer: PWord;
ArrayGlob_Pointer: Pointer;
// Pointer
ArrayGlob_PDynAInt1: PArrayDynInt;
ArrayGlob_PStatAInt1: PArrayStatIntParam1;
ArrayGlob_PStatAInt2: PArrayStatIntParam2;
ArrayGlob_PDynInt1, ArrayGlob_PDynInt2: PArrayDynInt;
ArrayGlob_PDynClass1: PArrayDynClass;
ArrayGlob_PDynRec1: PArrayDynRec;
ArrayGlob_PDynRec2: PArrayDynRec2;
ArrayGlob_PDynDynInt1: PArrayDynDynInt;
ArrayGlob_PDynDynClass1: PArrayDynDynClass;
ArrayGlob_PDynDynRec1: PArrayDynDynRec;
ArrayGlob_PDynStatInt1: PArrayDynStatInt;
ArrayGlob_PDynStatClass1: PArrayDynStatClass;
ArrayGlob_PDynStatRec1: PArrayDynStatRec;
ArrayGlob_PStatInt1: PArrayStatInt;
ArrayGlob_PStatClass1: PArrayStatClass;
ArrayGlob_PStatRec1: PArrayStatRec;
ArrayGlob_PStatStatInt1: PArrayStatStatInt;
ArrayGlob_PStatStatClass1: PArrayStatStatClass;
ArrayGlob_PStatStatRec1: PArrayStatStatRec;
ArrayGlob_PStatDynInt1: PArrayStatDynInt;
ArrayGlob_PStatDynClass1: PArrayStatDynClass;
ArrayGlob_PStatDynRec1: PArrayStatDynRec;
ArrayGlob_PIntPointer: PPInteger;
ArrayGlob_PWordPointer: PPWord;
ArrayGlob_PPointer: PPointer;
// copy of Pointers, to be used as Var Param
ArrayGlob_P2DynAInt1: PArrayDynInt;
ArrayGlob_P2StatAInt1: PArrayStatIntParam1;
ArrayGlob_P2StatAInt2: PArrayStatIntParam2;
ArrayGlob_P2DynInt1, ArrayGlob_P2DynInt2: PArrayDynInt;
ArrayGlob_P2DynClass1: PArrayDynClass;
ArrayGlob_P2DynRec1: PArrayDynRec;
ArrayGlob_P2DynRec2: PArrayDynRec2;
ArrayGlob_P2DynDynInt1: PArrayDynDynInt;
ArrayGlob_P2DynDynClass1: PArrayDynDynClass;
ArrayGlob_P2DynDynRec1: PArrayDynDynRec;
ArrayGlob_P2DynStatInt1: PArrayDynStatInt;
ArrayGlob_P2DynStatClass1: PArrayDynStatClass;
ArrayGlob_P2DynStatRec1: PArrayDynStatRec;
ArrayGlob_P2StatInt1: PArrayStatInt;
ArrayGlob_P2StatClass1: PArrayStatClass;
ArrayGlob_P2StatRec1: PArrayStatRec;
ArrayGlob_P2StatStatInt1: PArrayStatStatInt;
ArrayGlob_P2StatStatClass1: PArrayStatStatClass;
ArrayGlob_P2StatStatRec1: PArrayStatStatRec;
ArrayGlob_P2StatDynInt1: PArrayStatDynInt;
ArrayGlob_P2StatDynClass1: PArrayStatDynClass;
ArrayGlob_P2StatDynRec1: PArrayStatDynRec;
ArrayGlob_P2IntPointer: PPInteger;
ArrayGlob_P2WordPointer: PPWord;
ArrayGlob_P2Pointer: PPointer;
// dummy, ensure "pointer" is in debug info
ArrayGlob_DummyPointer: Pointer;
ArrayGlob_DummyPInteger: PInteger;
ArrayAdd0, ArrayAdd1, ArrayAdd2, ArraySub1, ArraySub2 : Int64;
procedure Test1;
implementation
{ TArrayClass1 }
procedure TArrayClass1.Test1Method(Arg_DynAInt1: array of Integer;
Arg_StatAInt1: TArrayStatIntParam1; Arg_StatAInt2: TArrayStatIntParam2; Arg_DynInt1,
Arg_DynInt2: TArrayDynInt; Arg_DynClass1: TArrayDynClass; Arg_DynRec1: TArrayDynRec;
Arg_DynRec2: array of TArrayRec2; Arg_DynDynInt1: TArrayDynDynInt;
Arg_DynDynClass1: TArrayDynDynClass; Arg_DynDynRec1: TArrayDynDynRec;
Arg_DynStatInt1: TArrayDynStatInt; Arg_DynStatClass1: TArrayDynStatClass;
Arg_DynStatRec1: TArrayDynStatRec; Arg_StatInt1: TArrayStatInt;
Arg_StatClass1: TArrayStatClass; Arg_StatRec1: TArrayStatRec;
Arg_StatStatInt1: TArrayStatStatInt; Arg_StatStatClass1: TArrayStatStatClass;
Arg_StatStatRec1: TArrayStatStatRec; Arg_StatDynInt1: TArrayStatDynInt;
Arg_StatDynClass1: TArrayStatDynClass; Arg_StatDynRec1: TArrayStatDynRec;
Arg_IntPointer: PInteger; Arg_WordPointer: PWord; Arg_Pointer: Pointer;
Arg_PDynAInt1: PArrayDynInt; Arg_PStatAInt1: PArrayStatIntParam1;
Arg_PStatAInt2: PArrayStatIntParam2; Arg_PDynInt1, Arg_PDynInt2: PArrayDynInt;
Arg_PDynClass1: PArrayDynClass; Arg_PDynRec1: PArrayDynRec; Arg_PDynRec2: PArrayDynRec2;
Arg_PDynDynInt1: PArrayDynDynInt; Arg_PDynDynClass1: PArrayDynDynClass;
Arg_PDynDynRec1: PArrayDynDynRec; Arg_PDynStatInt1: PArrayDynStatInt;
Arg_PDynStatClass1: PArrayDynStatClass; Arg_PDynStatRec1: PArrayDynStatRec;
Arg_PStatInt1: PArrayStatInt; Arg_PStatClass1: PArrayStatClass;
Arg_PStatRec1: PArrayStatRec; Arg_PStatStatInt1: PArrayStatStatInt;
Arg_PStatStatClass1: PArrayStatStatClass; Arg_PStatStatRec1: PArrayStatStatRec;
Arg_PStatDynInt1: PArrayStatDynInt; Arg_PStatDynClass1: PArrayStatDynClass;
Arg_PStatDynRec1: PArrayStatDynRec; Arg_PIntPointer: PPInteger; Arg_PWordPointer: PPWord;
Arg_PPointer: PPointer; var VArg_DynAInt1: array of Integer;
var VArg_StatAInt1: TArrayStatIntParam1; var VArg_StatAInt2: TArrayStatIntParam2;
var VArg_DynInt1, VArg_DynInt2: TArrayDynInt; var VArg_DynClass1: TArrayDynClass;
var VArg_DynRec1: TArrayDynRec; var VArg_DynRec2: array of TArrayRec2;
var VArg_DynDynInt1: TArrayDynDynInt; var VArg_DynDynClass1: TArrayDynDynClass;
var VArg_DynDynRec1: TArrayDynDynRec; var VArg_DynStatInt1: TArrayDynStatInt;
var VArg_DynStatClass1: TArrayDynStatClass; var VArg_DynStatRec1: TArrayDynStatRec;
var VArg_StatInt1: TArrayStatInt; var VArg_StatClass1: TArrayStatClass;
var VArg_StatRec1: TArrayStatRec; var VArg_StatStatInt1: TArrayStatStatInt;
var VArg_StatStatClass1: TArrayStatStatClass; var VArg_StatStatRec1: TArrayStatStatRec;
var VArg_StatDynInt1: TArrayStatDynInt; var VArg_StatDynClass1: TArrayStatDynClass;
var VArg_StatDynRec1: TArrayStatDynRec; var VArg_IntPointer: PInteger;
var VArg_WordPointer: PWord; var VArg_Pointer: Pointer; var VArg_PDynAInt1: PArrayDynInt;
var VArg_PStatAInt1: PArrayStatIntParam1; var VArg_PStatAInt2: PArrayStatIntParam2;
var VArg_PDynInt1, VArg_PDynInt2: PArrayDynInt; var VArg_PDynClass1: PArrayDynClass;
var VArg_PDynRec1: PArrayDynRec; var VArg_PDynRec2: PArrayDynRec2;
var VArg_PDynDynInt1: PArrayDynDynInt; var VArg_PDynDynClass1: PArrayDynDynClass;
var VArg_PDynDynRec1: PArrayDynDynRec; var VArg_PDynStatInt1: PArrayDynStatInt;
var VArg_PDynStatClass1: PArrayDynStatClass; var VArg_PDynStatRec1: PArrayDynStatRec;
var VArg_PStatInt1: PArrayStatInt; var VArg_PStatClass1: PArrayStatClass;
var VArg_PStatRec1: PArrayStatRec; var VArg_PStatStatInt1: PArrayStatStatInt;
var VArg_PStatStatClass1: PArrayStatStatClass; var VArg_PStatStatRec1: PArrayStatStatRec;
var VArg_PStatDynInt1: PArrayStatDynInt; var VArg_PStatDynClass1: PArrayStatDynClass;
var VArg_PStatDynRec1: PArrayStatDynRec; var VArg_PIntPointer: PPInteger;
var VArg_PWordPointer: PPWord; var VArg_PPointer: PPointer);
var
Local_DynAInt1: array of Integer;
Local_StatAInt1: array [4..9] of Integer;
Local_StatAInt2: array [-4..9] of Integer;
Local_DynInt1, Local_DynInt2: TArrayDynInt;
Local_DynClass1: TArrayDynClass;
Local_DynRec1: TArrayDynRec;
Local_DynRec2: array of TArrayRec2;
Local_DynDynInt1: TArrayDynDynInt;
Local_DynDynClass1: TArrayDynDynClass;
Local_DynDynRec1: TArrayDynDynRec;
Local_DynStatInt1: TArrayDynStatInt;
Local_DynStatClass1: TArrayDynStatClass;
Local_DynStatRec1: TArrayDynStatRec;
Local_StatInt1: TArrayStatInt;
Local_StatClass1: TArrayStatClass;
Local_StatRec1: TArrayStatRec;
Local_StatStatInt1: TArrayStatStatInt;
Local_StatStatClass1: TArrayStatStatClass;
Local_StatStatRec1: TArrayStatStatRec;
Local_StatDynInt1: TArrayStatDynInt;
Local_StatDynClass1: TArrayStatDynClass;
Local_StatDynRec1: TArrayStatDynRec;
Local_IntPointer: PInteger;
Local_WordPointer: PWord;
Local_Pointer: Pointer;
// Pointer
Local_PDynAInt1: PArrayDynInt;
Local_PStatAInt1: PArrayStatIntParam1;
Local_PStatAInt2: PArrayStatIntParam2;
Local_PDynInt1, Local_PDynInt2: PArrayDynInt;
Local_PDynClass1: PArrayDynClass;
Local_PDynRec1: PArrayDynRec;
Local_PDynRec2: PArrayDynRec2;
Local_PDynDynInt1: PArrayDynDynInt;
Local_PDynDynClass1: PArrayDynDynClass;
Local_PDynDynRec1: PArrayDynDynRec;
Local_PDynStatInt1: PArrayDynStatInt;
Local_PDynStatClass1: PArrayDynStatClass;
Local_PDynStatRec1: PArrayDynStatRec;
Local_PStatInt1: PArrayStatInt;
Local_PStatClass1: PArrayStatClass;
Local_PStatRec1: PArrayStatRec;
Local_PStatStatInt1: PArrayStatStatInt;
Local_PStatStatClass1: PArrayStatStatClass;
Local_PStatStatRec1: PArrayStatStatRec;
Local_PStatDynInt1: PArrayStatDynInt;
Local_PStatDynClass1: PArrayStatDynClass;
Local_PStatDynRec1: PArrayStatDynRec;
Local_PIntPointer: PPInteger;
Local_PWordPointer: PPWord;
Local_PPointer: PPointer;
begin
{%region Fields }
SetLength(Field_DynAInt1, 5);
Field_DynAInt1[0] := 100;
Field_DynAInt1[1] := 101;
Field_DynAInt1[2] := 102;
Field_DynAInt1[3] := 103;
Field_DynAInt1[4] := 104;
Field_StatAInt1[4] := 6600;
Field_StatAInt1[5] := 6601;
Field_StatAInt1[6] := 6602;
Field_StatAInt1[7] := 6603;
Field_StatAInt1[8] := 6604;
Field_StatAInt1[9] := 6699;
Field_StatAInt2[-4] := 3300;
Field_StatAInt2[-3] := 3301;
Field_StatAInt2[-2] := 3302;
Field_StatAInt2[-1] := 3303;
Field_StatAInt2[0] := 3304;
Field_StatAInt2[1] := 3305;
SetLength(Field_DynInt1,20);
Field_DynInt1[0] := 5511;
Field_DynInt1[1] := 5512;
Field_DynInt1[2] := 5513;
Field_DynInt1[3] := 5514;
Field_DynInt1[4] := -5511;
Field_DynInt1[19] := 5500;
Field_DynInt2 := nil;
Field_IntPointer := @Field_DynInt1[2];
Field_WordPointer := @Field_DynInt1[2];
Field_Pointer := @Field_DynInt1[2];
SetLength(Field_DynClass1, 6);
Field_DynClass1[0] := TArrayClass1.Create;
Field_DynClass1[0].Field_Int1 := 98700;
Field_DynClass1[0].Field_Int2 := 98701;
SetLength(Field_DynClass1[0].Field_DynAInt1, 2);
Field_DynClass1[0].Field_DynAInt1[0] := 9900;
Field_DynClass1[0].Field_DynAInt1[1] := 9901;
Field_DynClass1[1] := TArrayClass1.Create;
Field_DynClass1[1].Field_Int1 := 88700;
Field_DynClass1[1].Field_Int2 := 88701;
SetLength(Field_DynClass1[1].Field_DynAInt1, 2);
Field_DynClass1[1].Field_DynAInt1[0] := 8900;
Field_DynClass1[1].Field_DynAInt1[1] := 8901;
Field_DynClass1[2] := TArrayClass1.Create;
Field_DynClass1[2].Field_Int1 := 78700;
Field_DynClass1[2].Field_Int2 := 78701;
SetLength(Field_DynClass1[2].Field_DynAInt1, 3);
Field_DynClass1[2].Field_DynAInt1[0] := 7900;
Field_DynClass1[2].Field_DynAInt1[1] := 7901;
Field_DynClass1[2].Field_DynAInt1[2] := 7902;
SetLength(Field_DynRec1, 7);
Field_DynRec1[0].FieldInt1 := 200;
Field_DynRec1[0].FieldInt2 := 201;
Field_DynRec1[1].FieldInt1 := 210;
Field_DynRec1[1].FieldInt2 := 211;
Field_DynRec1[2].FieldInt1 := 220;
Field_DynRec1[2].FieldInt2 := 221;
SetLength(Field_DynRec2, 7);
Field_DynRec2[0].FieldByte1 := 200;
Field_DynRec2[0].FieldByte2 := 201;
Field_DynRec2[1].FieldByte1 := 210;
Field_DynRec2[1].FieldByte2 := 211;
Field_DynRec2[2].FieldByte1 := 220;
Field_DynRec2[2].FieldByte2 := 221;
SetLength(Field_DynDynInt1, 5,3);
SetLength(Field_DynDynInt1[0], 2);
Field_DynDynInt1[0][0] := 1000;
Field_DynDynInt1[0][1] := 1001;
//Field_DynDynInt1[0][2] := 1002;
Field_DynDynInt1[1][0] := 1010;
Field_DynDynInt1[1][1] := 1011;
Field_DynDynInt1[1][2] := 1012;
Field_DynDynInt1[2][0] := 1020;
Field_DynDynInt1[2][1] := 1021;
Field_DynDynInt1[2][2] := 1022;
Field_DynDynInt1[3][0] := 1;
Field_DynDynInt1[3][1] := 2;
Field_DynDynInt1[3][2] := 1;
SetLength(Field_DynDynClass1, 5,2);
Field_DynDynClass1[0,0] := TArrayClass1.Create;
Field_DynDynClass1[0][0].Field_Int1 := 5000;
Field_DynDynClass1[0,1] := TArrayClass1.Create;
Field_DynDynClass1[0][1].Field_Int1 := 5001;
Field_DynDynClass1[1,0] := nil;
Field_DynDynClass1[1,1] := TArrayClass1.Create;
Field_DynDynClass1[1][1].Field_Int1 := 5011;
Field_DynDynClass1[2,0] := nil;
Field_DynDynClass1[2,1] := nil;
SetLength(Field_DynDynRec1, 5,6);
SetLength(Field_DynStatInt1, 3);
SetLength(Field_DynStatClass1, 4);
SetLength(Field_DynStatRec1, 5);
//SetLength(Field_StatInt1, );
//SetLength(Field_StatClass1, );
//SetLength(Field_StatRec1, );
//SetLength(Field_StatStatInt1, );
Field_StatStatInt1[-9, 1] := 4091;
Field_StatStatInt1[-9, 2] := 4092;
Field_StatStatInt1[-9, 3] := 4093;
Field_StatStatInt1[-8, 1] := 4081;
Field_StatStatInt1[-8, 2] := 4082;
Field_StatStatInt1[-8, 3] := 4083;
Field_StatStatInt1[-7, 1] := 4071;
Field_StatStatInt1[-7, 2] := 4072;
Field_StatStatInt1[-7, 3] := 4073;
//SetLength(Field_StatStatClass1, );
//SetLength(Field_StatStatRec1, );
SetLength(Field_StatDynInt1[-9], 3);
SetLength(Field_StatDynClass1[-9], 3);
SetLength(Field_StatDynRec1[-9], 3);
// Pointer
Field_PDynAInt1 := @Field_DynAInt1;
Field_PStatAInt1 := @Field_StatAInt1;
Field_PStatAInt2 := @Field_StatAInt2;
Field_PDynInt1 := @Field_DynInt1;
Field_PDynInt2 := @Field_DynInt2;
Field_PDynClass1 := @Field_DynClass1;
Field_PDynRec1 := @Field_DynRec1;
Field_PDynRec2 := @Field_DynRec2;
Field_PDynDynInt1 := @Field_DynDynInt1;
Field_PDynDynClass1 := @Field_DynDynClass1;
Field_PDynDynRec1 := @Field_DynDynRec1;
Field_PDynStatInt1 := @Field_DynStatInt1;
Field_PDynStatClass1 := @Field_DynStatClass1;
Field_PDynStatRec1 := @Field_DynStatRec1;
Field_PStatInt1 := @Field_StatInt1;
Field_PStatClass1 := @Field_StatClass1;
Field_PStatRec1 := @Field_StatRec1;
Field_PStatStatInt1 := @Field_StatStatInt1;
Field_PStatStatClass1 := @Field_StatStatClass1;
Field_PStatStatRec1 := @Field_StatStatRec1;
Field_PStatDynInt1 := @Field_StatDynInt1;
Field_PStatDynClass1 := @Field_StatDynClass1;
Field_PStatDynRec1 := @Field_StatDynRec1;
Field_PIntPointer := @Field_IntPointer;
Field_PWordPointer := @Field_WordPointer;
Field_PPointer := @Field_Pointer;
{%endregion Fields }
{%region Local }
SetLength(Local_DynAInt1, 5);
Local_DynAInt1[0] := 100;
Local_DynAInt1[1] := 101;
Local_DynAInt1[2] := 102;
Local_DynAInt1[3] := 103;
Local_DynAInt1[4] := 104;
Local_StatAInt1[4] := 6600;
Local_StatAInt1[5] := 6601;
Local_StatAInt1[6] := 6602;
Local_StatAInt1[7] := 6603;
Local_StatAInt1[8] := 6604;
Local_StatAInt1[9] := 6699;
Local_StatAInt2[-4] := 3300;
Local_StatAInt2[-3] := 3301;
Local_StatAInt2[-2] := 3302;
Local_StatAInt2[-1] := 3303;
Local_StatAInt2[0] := 3304;
Local_StatAInt2[1] := 3305;
SetLength(Local_DynInt1,20);
Local_DynInt1[0] := 5511;
Local_DynInt1[1] := 5512;
Local_DynInt1[2] := 5513;
Local_DynInt1[3] := 5514;
Local_DynInt1[4] := -5511;
Local_DynInt1[19] := 5500;
Local_DynInt2 := nil;
Local_IntPointer := @Local_DynInt1[2];
Local_WordPointer := @Local_DynInt1[2];
Local_Pointer := @Local_DynInt1[2];
SetLength(Local_DynClass1, 6);
Local_DynClass1[0] := TArrayClass1.Create;
Local_DynClass1[0].Field_Int1 := 98700;
Local_DynClass1[0].Field_Int2 := 98701;
SetLength(Local_DynClass1[0].Field_DynAInt1, 2);
Local_DynClass1[0].Field_DynAInt1[0] := 9900;
Local_DynClass1[0].Field_DynAInt1[1] := 9901;
Local_DynClass1[1] := TArrayClass1.Create;
Local_DynClass1[1].Field_Int1 := 88700;
Local_DynClass1[1].Field_Int2 := 88701;
SetLength(Local_DynClass1[1].Field_DynAInt1, 2);
Local_DynClass1[1].Field_DynAInt1[0] := 8900;
Local_DynClass1[1].Field_DynAInt1[1] := 8901;
Local_DynClass1[2] := TArrayClass1.Create;
Local_DynClass1[2].Field_Int1 := 78700;
Local_DynClass1[2].Field_Int2 := 78701;
SetLength(Local_DynClass1[2].Field_DynAInt1, 3);
Local_DynClass1[2].Field_DynAInt1[0] := 7900;
Local_DynClass1[2].Field_DynAInt1[1] := 7901;
Local_DynClass1[2].Field_DynAInt1[2] := 7902;
SetLength(Local_DynRec1, 7);
Local_DynRec1[0].FieldInt1 := 200;
Local_DynRec1[0].FieldInt2 := 201;
Local_DynRec1[1].FieldInt1 := 210;
Local_DynRec1[1].FieldInt2 := 211;
Local_DynRec1[2].FieldInt1 := 220;
Local_DynRec1[2].FieldInt2 := 221;
SetLength(Local_DynRec2, 7);
Local_DynRec2[0].FieldByte1 := 200;
Local_DynRec2[0].FieldByte2 := 201;
Local_DynRec2[1].FieldByte1 := 210;
Local_DynRec2[1].FieldByte2 := 211;
Local_DynRec2[2].FieldByte1 := 220;
Local_DynRec2[2].FieldByte2 := 221;
SetLength(Local_DynDynInt1, 5,3);
SetLength(Local_DynDynInt1[0], 2);
Local_DynDynInt1[0][0] := 1000;
Local_DynDynInt1[0][1] := 1001;
//Local_DynDynInt1[0][2] := 1002;
Local_DynDynInt1[1][0] := 1010;
Local_DynDynInt1[1][1] := 1011;
Local_DynDynInt1[1][2] := 1012;
Local_DynDynInt1[2][0] := 1020;
Local_DynDynInt1[2][1] := 1021;
Local_DynDynInt1[2][2] := 1022;
Local_DynDynInt1[3][0] := 1;
Local_DynDynInt1[3][1] := 2;
Local_DynDynInt1[3][2] := 1;
SetLength(Local_DynDynClass1, 5,2);
Local_DynDynClass1[0,0] := TArrayClass1.Create;
Local_DynDynClass1[0][0].Field_Int1 := 5000;
Local_DynDynClass1[0,1] := TArrayClass1.Create;
Local_DynDynClass1[0][1].Field_Int1 := 5001;
Local_DynDynClass1[1,0] := nil;
Local_DynDynClass1[1,1] := TArrayClass1.Create;
Local_DynDynClass1[1][1].Field_Int1 := 5011;
Local_DynDynClass1[2,0] := nil;
Local_DynDynClass1[2,1] := nil;
SetLength(Local_DynDynRec1, 5,6);
SetLength(Local_DynStatInt1, 3);
SetLength(Local_DynStatClass1, 4);
SetLength(Local_DynStatRec1, 5);
//SetLength(Local_StatInt1, );
//SetLength(Local_StatClass1, );
//SetLength(Local_StatRec1, );
//SetLength(Local_StatStatInt1, );
Local_StatStatInt1[-9, 1] := 4091;
Local_StatStatInt1[-9, 2] := 4092;
Local_StatStatInt1[-9, 3] := 4093;
Local_StatStatInt1[-8, 1] := 4081;
Local_StatStatInt1[-8, 2] := 4082;
Local_StatStatInt1[-8, 3] := 4083;
Local_StatStatInt1[-7, 1] := 4071;
Local_StatStatInt1[-7, 2] := 4072;
Local_StatStatInt1[-7, 3] := 4073;
//SetLength(Local_StatStatClass1, );
//SetLength(Local_StatStatRec1, );
SetLength(Local_StatDynInt1[-9], 3);
SetLength(Local_StatDynClass1[-9], 3);
SetLength(Local_StatDynRec1[-9], 3);
// Pointer
Local_PDynAInt1 := @Local_DynAInt1;
Local_PStatAInt1 := @Local_StatAInt1;
Local_PStatAInt2 := @Local_StatAInt2;
Local_PDynInt1 := @Local_DynInt1;
Local_PDynInt2 := @Local_DynInt2;
Local_PDynClass1 := @Local_DynClass1;
Local_PDynRec1 := @Local_DynRec1;
Local_PDynRec2 := @Local_DynRec2;
Local_PDynDynInt1 := @Local_DynDynInt1;
Local_PDynDynClass1 := @Local_DynDynClass1;
Local_PDynDynRec1 := @Local_DynDynRec1;
Local_PDynStatInt1 := @Local_DynStatInt1;
Local_PDynStatClass1 := @Local_DynStatClass1;
Local_PDynStatRec1 := @Local_DynStatRec1;
Local_PStatInt1 := @Local_StatInt1;
Local_PStatClass1 := @Local_StatClass1;
Local_PStatRec1 := @Local_StatRec1;
Local_PStatStatInt1 := @Local_StatStatInt1;
Local_PStatStatClass1 := @Local_StatStatClass1;
Local_PStatStatRec1 := @Local_StatStatRec1;
Local_PStatDynInt1 := @Local_StatDynInt1;
Local_PStatDynClass1 := @Local_StatDynClass1;
Local_PStatDynRec1 := @Local_StatDynRec1;
Local_PIntPointer := @Local_IntPointer;
Local_PWordPointer := @Local_WordPointer;
Local_PPointer := @Local_Pointer;
{%endregion Local }
{%region ARG }
// Pointer
Arg_PDynAInt1 := @Arg_DynAInt1;
Arg_PStatAInt1 := @Arg_StatAInt1;
Arg_PStatAInt2 := @Arg_StatAInt2;
Arg_PDynInt1 := @Arg_DynInt1;
Arg_PDynInt2 := @Arg_DynInt2;
Arg_PDynClass1 := @Arg_DynClass1;
Arg_PDynRec1 := @Arg_DynRec1;
Arg_PDynRec2 := @Arg_DynRec2;
Arg_PDynDynInt1 := @Arg_DynDynInt1;
Arg_PDynDynClass1 := @Arg_DynDynClass1;
Arg_PDynDynRec1 := @Arg_DynDynRec1;
Arg_PDynStatInt1 := @Arg_DynStatInt1;
Arg_PDynStatClass1 := @Arg_DynStatClass1;
Arg_PDynStatRec1 := @Arg_DynStatRec1;
Arg_PStatInt1 := @Arg_StatInt1;
Arg_PStatClass1 := @Arg_StatClass1;
Arg_PStatRec1 := @Arg_StatRec1;
Arg_PStatStatInt1 := @Arg_StatStatInt1;
Arg_PStatStatClass1 := @Arg_StatStatClass1;
Arg_PStatStatRec1 := @Arg_StatStatRec1;
Arg_PStatDynInt1 := @Arg_StatDynInt1;
Arg_PStatDynClass1 := @Arg_StatDynClass1;
Arg_PStatDynRec1 := @Arg_StatDynRec1;
Arg_PIntPointer := @Arg_IntPointer;
Arg_PWordPointer := @Arg_WordPointer;
Arg_PPointer := @Arg_Pointer;
{%endregion ARG}
{%region ARG }
// Pointer
VArg_PDynAInt1 := @VArg_DynAInt1;
VArg_PStatAInt1 := @VArg_StatAInt1;
VArg_PStatAInt2 := @VArg_StatAInt2;
VArg_PDynInt1 := @VArg_DynInt1;
VArg_PDynInt2 := @VArg_DynInt2;
VArg_PDynClass1 := @VArg_DynClass1;
VArg_PDynRec1 := @VArg_DynRec1;
VArg_PDynRec2 := @VArg_DynRec2;
VArg_PDynDynInt1 := @VArg_DynDynInt1;
VArg_PDynDynClass1 := @VArg_DynDynClass1;
VArg_PDynDynRec1 := @VArg_DynDynRec1;
VArg_PDynStatInt1 := @VArg_DynStatInt1;
VArg_PDynStatClass1 := @VArg_DynStatClass1;
VArg_PDynStatRec1 := @VArg_DynStatRec1;
VArg_PStatInt1 := @VArg_StatInt1;
VArg_PStatClass1 := @VArg_StatClass1;
VArg_PStatRec1 := @VArg_StatRec1;
VArg_PStatStatInt1 := @VArg_StatStatInt1;
VArg_PStatStatClass1 := @VArg_StatStatClass1;
VArg_PStatStatRec1 := @VArg_StatStatRec1;
VArg_PStatDynInt1 := @VArg_StatDynInt1;
VArg_PStatDynClass1 := @VArg_StatDynClass1;
VArg_PStatDynRec1 := @VArg_StatDynRec1;
VArg_PIntPointer := @VArg_IntPointer;
VArg_PWordPointer := @VArg_WordPointer;
VArg_PPointer := @VArg_Pointer;
{%endregion ARG}
ArrayGlob_DynInt1[9] := -5511; // BREAK
end;
procedure Test1;
var
ArrayClass1: TArrayClass1;
begin
{%region ArrayGlob }
SetLength(ArrayGlob_DynAInt1, 5);
ArrayGlob_DynAInt1[0] := 100;
ArrayGlob_DynAInt1[1] := 101;
ArrayGlob_DynAInt1[2] := 102;
ArrayGlob_DynAInt1[3] := 103;
ArrayGlob_DynAInt1[4] := 104;
ArrayGlob_StatAInt1[4] := 6600;
ArrayGlob_StatAInt1[5] := 6601;
ArrayGlob_StatAInt1[6] := 6602;
ArrayGlob_StatAInt1[7] := 6603;
ArrayGlob_StatAInt1[8] := 6604;
ArrayGlob_StatAInt1[9] := 6699;
ArrayGlob_StatAInt2[-4] := 3300;
ArrayGlob_StatAInt2[-3] := 3301;
ArrayGlob_StatAInt2[-2] := 3302;
ArrayGlob_StatAInt2[-1] := 3303;
ArrayGlob_StatAInt2[0] := 3304;
ArrayGlob_StatAInt2[1] := 3305;
SetLength(ArrayGlob_DynInt1,20);
ArrayGlob_DynInt1[0] := 5511;
ArrayGlob_DynInt1[1] := 5512;
ArrayGlob_DynInt1[2] := 5513;
ArrayGlob_DynInt1[3] := 5514;
ArrayGlob_DynInt1[4] := -5511;
ArrayGlob_DynInt1[19] := 5500;
ArrayGlob_DynInt2 := nil;
ArrayGlob_IntPointer := @ArrayGlob_DynInt1[2];
ArrayGlob_WordPointer := @ArrayGlob_DynInt1[2];
ArrayGlob_Pointer := @ArrayGlob_DynInt1[2];
SetLength(ArrayGlob_DynClass1, 6);
ArrayGlob_DynClass1[0] := TArrayClass1.Create;
ArrayGlob_DynClass1[0].Field_Int1 := 98700;
ArrayGlob_DynClass1[0].Field_Int2 := 98701;
SetLength(ArrayGlob_DynClass1[0].Field_DynAInt1, 2);
ArrayGlob_DynClass1[0].Field_DynAInt1[0] := 9900;
ArrayGlob_DynClass1[0].Field_DynAInt1[1] := 9901;
ArrayGlob_DynClass1[1] := TArrayClass1.Create;
ArrayGlob_DynClass1[1].Field_Int1 := 88700;
ArrayGlob_DynClass1[1].Field_Int2 := 88701;
SetLength(ArrayGlob_DynClass1[1].Field_DynAInt1, 2);
ArrayGlob_DynClass1[1].Field_DynAInt1[0] := 8900;
ArrayGlob_DynClass1[1].Field_DynAInt1[1] := 8901;
ArrayGlob_DynClass1[2] := TArrayClass1.Create;
ArrayGlob_DynClass1[2].Field_Int1 := 78700;
ArrayGlob_DynClass1[2].Field_Int2 := 78701;
SetLength(ArrayGlob_DynClass1[2].Field_DynAInt1, 3);
ArrayGlob_DynClass1[2].Field_DynAInt1[0] := 7900;
ArrayGlob_DynClass1[2].Field_DynAInt1[1] := 7901;
ArrayGlob_DynClass1[2].Field_DynAInt1[2] := 7902;
SetLength(ArrayGlob_DynRec1, 7);
ArrayGlob_DynRec1[0].FieldInt1 := 200;
ArrayGlob_DynRec1[0].FieldInt2 := 201;
ArrayGlob_DynRec1[1].FieldInt1 := 210;
ArrayGlob_DynRec1[1].FieldInt2 := 211;
ArrayGlob_DynRec1[2].FieldInt1 := 220;
ArrayGlob_DynRec1[2].FieldInt2 := 221;
SetLength(ArrayGlob_DynRec2, 7);
ArrayGlob_DynRec2[0].FieldByte1 := 200;
ArrayGlob_DynRec2[0].FieldByte2 := 201;
ArrayGlob_DynRec2[1].FieldByte1 := 210;
ArrayGlob_DynRec2[1].FieldByte2 := 211;
ArrayGlob_DynRec2[2].FieldByte1 := 220;
ArrayGlob_DynRec2[2].FieldByte2 := 221;
SetLength(ArrayGlob_DynDynInt1, 5,3);
SetLength(ArrayGlob_DynDynInt1[0], 2);
ArrayGlob_DynDynInt1[0][0] := 1000;
ArrayGlob_DynDynInt1[0][1] := 1001;
//ArrayGlob_DynDynInt1[0][2] := 1002;
ArrayGlob_DynDynInt1[1][0] := 1010;
ArrayGlob_DynDynInt1[1][1] := 1011;
ArrayGlob_DynDynInt1[1][2] := 1012;
ArrayGlob_DynDynInt1[2][0] := 1020;
ArrayGlob_DynDynInt1[2][1] := 1021;
ArrayGlob_DynDynInt1[2][2] := 1022;
ArrayGlob_DynDynInt1[3][0] := 1;
ArrayGlob_DynDynInt1[3][1] := 2;
ArrayGlob_DynDynInt1[3][2] := 1;
SetLength(ArrayGlob_DynDynClass1, 5,2);
ArrayGlob_DynDynClass1[0,0] := TArrayClass1.Create;
ArrayGlob_DynDynClass1[0][0].Field_Int1 := 5000;
ArrayGlob_DynDynClass1[0,1] := TArrayClass1.Create;
ArrayGlob_DynDynClass1[0][1].Field_Int1 := 5001;
ArrayGlob_DynDynClass1[1,0] := nil;
ArrayGlob_DynDynClass1[1,1] := TArrayClass1.Create;
ArrayGlob_DynDynClass1[1][1].Field_Int1 := 5011;
ArrayGlob_DynDynClass1[2,0] := nil;
ArrayGlob_DynDynClass1[2,1] := nil;
SetLength(ArrayGlob_DynDynRec1, 5,6);
SetLength(ArrayGlob_DynStatInt1, 3);
SetLength(ArrayGlob_DynStatClass1, 4);
SetLength(ArrayGlob_DynStatRec1, 5);
//SetLength(ArrayGlob_StatInt1, );
//SetLength(ArrayGlob_StatClass1, );
//SetLength(ArrayGlob_StatRec1, );
//SetLength(ArrayGlob_StatStatInt1, );
ArrayGlob_StatStatInt1[-9, 1] := 4091;
ArrayGlob_StatStatInt1[-9, 2] := 4092;
ArrayGlob_StatStatInt1[-9, 3] := 4093;
ArrayGlob_StatStatInt1[-8, 1] := 4081;
ArrayGlob_StatStatInt1[-8, 2] := 4082;
ArrayGlob_StatStatInt1[-8, 3] := 4083;
ArrayGlob_StatStatInt1[-7, 1] := 4071;
ArrayGlob_StatStatInt1[-7, 2] := 4072;
ArrayGlob_StatStatInt1[-7, 3] := 4073;
//SetLength(ArrayGlob_StatStatClass1, );
//SetLength(ArrayGlob_StatStatRec1, );
SetLength(ArrayGlob_StatDynInt1[-9], 3);
SetLength(ArrayGlob_StatDynClass1[-9], 3);
SetLength(ArrayGlob_StatDynRec1[-9], 3);
// Pointer
ArrayGlob_PDynAInt1 := @ArrayGlob_DynAInt1;
ArrayGlob_PStatAInt1 := @ArrayGlob_StatAInt1;
ArrayGlob_PStatAInt2 := @ArrayGlob_StatAInt2;
ArrayGlob_PDynInt1 := @ArrayGlob_DynInt1;
ArrayGlob_PDynInt2 := @ArrayGlob_DynInt2;
ArrayGlob_PDynClass1 := @ArrayGlob_DynClass1;
ArrayGlob_PDynRec1 := @ArrayGlob_DynRec1;
ArrayGlob_PDynRec2 := @ArrayGlob_DynRec2;
ArrayGlob_PDynDynInt1 := @ArrayGlob_DynDynInt1;
ArrayGlob_PDynDynClass1 := @ArrayGlob_DynDynClass1;
ArrayGlob_PDynDynRec1 := @ArrayGlob_DynDynRec1;
ArrayGlob_PDynStatInt1 := @ArrayGlob_DynStatInt1;
ArrayGlob_PDynStatClass1 := @ArrayGlob_DynStatClass1;
ArrayGlob_PDynStatRec1 := @ArrayGlob_DynStatRec1;
ArrayGlob_PStatInt1 := @ArrayGlob_StatInt1;
ArrayGlob_PStatClass1 := @ArrayGlob_StatClass1;
ArrayGlob_PStatRec1 := @ArrayGlob_StatRec1;
ArrayGlob_PStatStatInt1 := @ArrayGlob_StatStatInt1;
ArrayGlob_PStatStatClass1 := @ArrayGlob_StatStatClass1;
ArrayGlob_PStatStatRec1 := @ArrayGlob_StatStatRec1;
ArrayGlob_PStatDynInt1 := @ArrayGlob_StatDynInt1;
ArrayGlob_PStatDynClass1 := @ArrayGlob_StatDynClass1;
ArrayGlob_PStatDynRec1 := @ArrayGlob_StatDynRec1;
ArrayGlob_PIntPointer := @ArrayGlob_IntPointer;
ArrayGlob_PWordPointer := @ArrayGlob_WordPointer;
ArrayGlob_PPointer := @ArrayGlob_Pointer;
{%endregion ArrayGlob }
// copy for var param
ArrayGlob_P2DynAInt1 := ArrayGlob_PDynAInt1;
ArrayGlob_P2StatAInt1 := ArrayGlob_PStatAInt1;
ArrayGlob_P2StatAInt2 := ArrayGlob_PStatAInt2;
ArrayGlob_P2DynInt1 := ArrayGlob_PDynInt1;
ArrayGlob_P2DynInt2 := ArrayGlob_PDynInt2;
ArrayGlob_P2DynClass1 := ArrayGlob_PDynClass1;
ArrayGlob_P2DynRec1 := ArrayGlob_PDynRec1;
ArrayGlob_P2DynRec2 := ArrayGlob_PDynRec2;
ArrayGlob_P2DynDynInt1 := ArrayGlob_PDynDynInt1;
ArrayGlob_P2DynDynClass1 := ArrayGlob_PDynDynClass1;
ArrayGlob_P2DynDynRec1 := ArrayGlob_PDynDynRec1;
ArrayGlob_P2DynStatInt1 := ArrayGlob_PDynStatInt1;
ArrayGlob_P2DynStatClass1 := ArrayGlob_PDynStatClass1;
ArrayGlob_P2DynStatRec1 := ArrayGlob_PDynStatRec1;
ArrayGlob_P2StatInt1 := ArrayGlob_PStatInt1;
ArrayGlob_P2StatClass1 := ArrayGlob_PStatClass1;
ArrayGlob_P2StatRec1 := ArrayGlob_PStatRec1;
ArrayGlob_P2StatStatInt1 := ArrayGlob_PStatStatInt1;
ArrayGlob_P2StatStatClass1 := ArrayGlob_PStatStatClass1;
ArrayGlob_P2StatStatRec1 := ArrayGlob_PStatStatRec1;
ArrayGlob_P2StatDynInt1 := ArrayGlob_PStatDynInt1;
ArrayGlob_P2StatDynClass1 := ArrayGlob_PStatDynClass1;
ArrayGlob_P2StatDynRec1 := ArrayGlob_PStatDynRec1;
ArrayGlob_P2IntPointer := ArrayGlob_PIntPointer;
ArrayGlob_P2WordPointer := ArrayGlob_PWordPointer;
ArrayGlob_P2Pointer := ArrayGlob_PPointer;
ArrayAdd0 := 0;
ArrayAdd1 := 1;
ArrayAdd2 := 2;
ArraySub1 := -1;
ArraySub2 := -2;
ArrayClass1 := TArrayClass1.Create;
ArrayClass1.Test1Method(
ArrayGlob_DynAInt1,
ArrayGlob_StatAInt1,
ArrayGlob_StatAInt2,
ArrayGlob_DynInt1, ArrayGlob_DynInt2,
ArrayGlob_DynClass1,
ArrayGlob_DynRec1,
ArrayGlob_DynRec2,
ArrayGlob_DynDynInt1,
ArrayGlob_DynDynClass1,
ArrayGlob_DynDynRec1,
ArrayGlob_DynStatInt1,
ArrayGlob_DynStatClass1,
ArrayGlob_DynStatRec1,
ArrayGlob_StatInt1,
ArrayGlob_StatClass1,
ArrayGlob_StatRec1,
ArrayGlob_StatStatInt1,
ArrayGlob_StatStatClass1,
ArrayGlob_StatStatRec1,
ArrayGlob_StatDynInt1,
ArrayGlob_StatDynClass1,
ArrayGlob_StatDynRec1,
ArrayGlob_IntPointer,
ArrayGlob_WordPointer,
ArrayGlob_Pointer,
// Pointer
ArrayGlob_PDynAInt1,
ArrayGlob_PStatAInt1,
ArrayGlob_PStatAInt2,
ArrayGlob_PDynInt1,
ArrayGlob_PDynInt2,
ArrayGlob_PDynClass1,
ArrayGlob_PDynRec1,
ArrayGlob_PDynRec2,
ArrayGlob_PDynDynInt1,
ArrayGlob_PDynDynClass1,
ArrayGlob_PDynDynRec1,
ArrayGlob_PDynStatInt1,
ArrayGlob_PDynStatClass1,
ArrayGlob_PDynStatRec1,
ArrayGlob_PStatInt1,
ArrayGlob_PStatClass1,
ArrayGlob_PStatRec1,
ArrayGlob_PStatStatInt1,
ArrayGlob_PStatStatClass1,
ArrayGlob_PStatStatRec1,
ArrayGlob_PStatDynInt1,
ArrayGlob_PStatDynClass1,
ArrayGlob_PStatDynRec1,
ArrayGlob_PIntPointer,
ArrayGlob_PWordPointer,
ArrayGlob_PPointer,
// VAR
ArrayGlob_DynAInt1,
ArrayGlob_StatAInt1,
ArrayGlob_StatAInt2,
ArrayGlob_DynInt1, ArrayGlob_DynInt2,
ArrayGlob_DynClass1,
ArrayGlob_DynRec1,
ArrayGlob_DynRec2,
ArrayGlob_DynDynInt1,
ArrayGlob_DynDynClass1,
ArrayGlob_DynDynRec1,
ArrayGlob_DynStatInt1,
ArrayGlob_DynStatClass1,
ArrayGlob_DynStatRec1,
ArrayGlob_StatInt1,
ArrayGlob_StatClass1,
ArrayGlob_StatRec1,
ArrayGlob_StatStatInt1,
ArrayGlob_StatStatClass1,
ArrayGlob_StatStatRec1,
ArrayGlob_StatDynInt1,
ArrayGlob_StatDynClass1,
ArrayGlob_StatDynRec1,
ArrayGlob_IntPointer,
ArrayGlob_WordPointer,
ArrayGlob_Pointer,
// Pointer
ArrayGlob_P2DynAInt1,
ArrayGlob_P2StatAInt1,
ArrayGlob_P2StatAInt2,
ArrayGlob_P2DynInt1,
ArrayGlob_P2DynInt2,
ArrayGlob_P2DynClass1,
ArrayGlob_P2DynRec1,
ArrayGlob_P2DynRec2,
ArrayGlob_P2DynDynInt1,
ArrayGlob_P2DynDynClass1,
ArrayGlob_P2DynDynRec1,
ArrayGlob_P2DynStatInt1,
ArrayGlob_P2DynStatClass1,
ArrayGlob_P2DynStatRec1,
ArrayGlob_P2StatInt1,
ArrayGlob_P2StatClass1,
ArrayGlob_P2StatRec1,
ArrayGlob_P2StatStatInt1,
ArrayGlob_P2StatStatClass1,
ArrayGlob_P2StatStatRec1,
ArrayGlob_P2StatDynInt1,
ArrayGlob_P2StatDynClass1,
ArrayGlob_P2StatDynRec1,
ArrayGlob_P2IntPointer,
ArrayGlob_P2WordPointer,
ArrayGlob_P2Pointer
);
end;
end.