Массив пользовательского класса как свойство

Я пытаюсь использовать массив пользовательского класса в качестве свойства для моего компонента, но проблема в том, что значения не были сохранены в компоненте, что означает, что если я установлю значения, сохраню все и снова открою проект, значения для компонента исчезают ... Мой код выглядит следующим образом:

unit Unit1;

interface

uses  Windows, ExtCtrls,Classes,Controls;

type

  TMyClass=class(TPersistent)
  private
    FName: string;
    FValue: double;
  public
    property Name: string read FName write FName;
    property Value: double read FValue write FValue;
  end;

  TMyComponent= class(TCustomPanel)
  private
    FMyArray: array[0..200] of TMyClass;

    function GetmyArray(Index: Integer): TMyClass;

    procedure SetMyArray(index: Integer; Value: TMyClass);
  public
    property myArray[index: Integer]: TMyClass read GetMyArray write SetMyArray;
  end;

implementation

function TMyComponent.GetmyArray(Index: Integer): TMyClass;
begin
  result:= FmyArray[Index];
end;

procedure TMyComponent.SetMyArray(index: Integer; Value: TMyClass);
begin
  FMyArray[index].FName:= Value.FName;
  FMyArray[index].FValue:= Value.FValue;
end;

end.

Я знаю, что только опубликованные свойства могут быть переданы в потоковом режиме, но проблема в том, что мое свойство является массивом, и его нельзя публиковать ... Предложение, которое я имел, было использоватьDefineProperties() обеспечить пользовательский поток, но я нене вижу, как это сделать с массивом. Другая возможность, о которой я подумал, состояла в том, чтобы модифицировать TMyClass в своего рода класс, родителем которого мог бы быть TMyComponent, как это сделано в TChart, с помощью которого вы можете добавлять к нему различные классы рядов. Но я нене знаю, какой это должен быть класс

TMyClass=class(T???????????)

После этого я мог бы вынуть свойство MyArray, создать TMyClass и добавить его в TMyComponent следующим образом:

MyArray1.parent:= MyComponent1;
MyArray2.parent:= MyComponent2;
...

, Какой из них лучше? Или есть другая идея получше?

Ответы на вопрос(2)

Ваш ответ на вопрос