tarrconstr15.pp 615 B

123456789101112131415161718192021222324252627282930
  1. { %OPT = -gh }
  2. program tarrconstr15;
  3. {$mode objfpc}{$H+}
  4. procedure CheckArray(Actual, Expected: array of String; Code: LongInt);
  5. var
  6. i: SizeInt;
  7. begin
  8. if Length(Actual) <> Length(Expected) then
  9. Halt(Code);
  10. for i := 0 to High(Actual) do
  11. if Actual[i] <> Expected[i] then
  12. Halt(Code);
  13. end;
  14. var
  15. arr: array[0..3] of String;
  16. i: SizeInt;
  17. begin
  18. HaltOnNotReleased := True;
  19. arr := ['Alpha', 'Beta', 'Gamma', 'Delta'];
  20. CheckArray(arr, ['Alpha', 'Beta', 'Gamma', 'Delta'], 1);
  21. { ensure that everything is freed correctly }
  22. for i := Low(arr) to High(arr) do
  23. UniqueString(arr[i]);
  24. end.