Les Objets Dynamiques

La version 13.03.16 de FlashPascal introduit la notion d'objet dynamique.

Un objet dynamique ne possède pas de déclaration, et est vu par le compilateur comme un Variant. Il se déclare par la syntaxe suivante :
[membre1 : valeur1; membre2 : valeur2; ...].

L'exemple FlashMine utilise une matrice qu'il a fallut déclarer comme ceci :

type
  TMatrix = class
    matrixType: string;
    x,y,w,h   : Double;
    r         : Double;
    constructor Create;
  end;
  
constructor TMatrix.Create;
begin
  matrixType := 'box';
  x := -4.5;
  y := -4.5;
  w := 6;
  h := 6;
  r := 0;
end;

var
  Matrix: TMatrix;
begin
  Matrix := TMatrix.Create;
end;
Toute cette déclaration peut être remplacée par la syntaxe des objets dynamiques.

var
  Matrix: Variant;
begin
  Matrix := [matrixType: 'box'; x:-4.5; y:-4.5; w:6; h:6; r:0];
end;