{$MODE DELPHI} {$DEFINE CAUSE_ERROR} type TArray = array of T; TRecord = record end; TWrapper = class strict private {$IFDEF CAUSE_ERROR} FRecords: TArray; {$ELSE} FRecords: array of TRecord; {$ENDIF} public constructor Create; end; constructor TWrapper.Create; begin SetLength(FRecords, 1); with FRecords[0] do; // FRecords[0].x:=1; end; begin TWrapper.Create.Free; end.