From 3d458ea501cec8f506dbc30303eb23214a7fc463 Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Mon, 3 Mar 2003 13:06:57 +0000 Subject: [PATCH] + added --- tests/tbs/tb0451.pp | 66 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 tests/tbs/tb0451.pp diff --git a/tests/tbs/tb0451.pp b/tests/tbs/tb0451.pp new file mode 100644 index 0000000000..3a859ade9e --- /dev/null +++ b/tests/tbs/tb0451.pp @@ -0,0 +1,66 @@ +{ %version=1.1 } + +{$mode delphi} + +{ taken from fpc-devel mailing list, posted by } +{ "Morten Juel Skovrup" } +program tb0451; + +type + TDoubleArray = array of Double; + TTestProp = + record + TestItem : Double; + end; + TTestPropArray = array of TTestProp; + + TTestClass = + class + private + FTestProp: TTestPropArray; + public + constructor Create; + destructor Destroy; override; + property TestProp : TTestPropArray read FTestProp; + end; + +procedure Init(var AnArray : array of Double); +var + i : Integer; +begin + for i:=0 to High(AnArray) do + AnArray[i] := 1; +end; + +var + Test : TDoubleArray; + i : Integer; + TestClass : TTestClass; + +constructor TTestClass.Create; +begin + inherited Create; + SetLength(FTestProp,2); +end; + +destructor TTestClass.Destroy; +begin + Finalize(FTestProp); + inherited Destroy; +end; + +begin + SetLength(Test,5); + Init(Test); //!!! FPC compile error - Delphi +compiles fine... + for i:=0 to High(Test) do + WriteLn(Test[i]); + Finalize(Test); + + TestClass := TTestClass.Create; + with TestClass.TestProp[1] do //!!! FPC stops with runtime-error 201 + TestItem := 2; + WriteLn(TestClass.TestProp[0].TestItem); + WriteLn(TestClass.TestProp[1].TestItem); + TestClass.Free; +end.