- type
- TMyArray = Array of Integer;
- PMyArray = ^TMyArray;
- TMyClass = class(TPersistent)
- private
- FMyArray: TMyArray;
- published
- Property MyArray: TMyArray read FMyArray write FMyArray;
- public
- Constructor Create;
- end;
- Constructor TMyClass.Create;
- var
- PropInfo: PPropInfo;
- PMyArray: Pointer;
- Data: Variant;
- TestArray: TMyArray;
- Count, i: Integer;
- begin
- inherited Create;
- SetLength(FMyArray, 3);
- FMyArray[0] := 0;
- FMyArray[1] := 1;
- FMyArray[2] := 2;
- PropInfo := GetPropInfo(Self, 'MyArray');
- if PropInfo = nil then Exit;
- Form1.ListBox1.Items.Add(PropInfo^.Name);
- PMyArray := Pointer(GetOrdProp(Self, PropInfo));
- DynArrayToVariant(Data, PMyArray, PropInfo^.PropType^);
- TestArray := TMyArray(Data);
- Form1.ListBox1.Items.Add(IntToStr(Length(TestArray)));
- Destroy;
- end;