Задался вопросом немного больше познать Delphi. Но пока не получается, прошу совета.
С созданием вроди немного разобрался. Создает все нормально по шаблону. А вот как очистить не могу разобраться.
Сама функция добавления табов
Код:
function TForm1._CreateFrame(Index:integer; CreateTab:Boolean=True):TFrame1;
var
tabs:TTabSheet;
frame:TFrame1;
begin
if (CreateTab) then begin
tabs := TTabSheet.Create(Self);
tabs.PageControl := PageControl1;
tabs.Name := 'tsTabs' + IntToStr(Index);
tabs.Caption := 'Tabs ' + IntToStr(Index);
tabs.Visible := True;
tabs.TabVisible := True;
end
else tabs := PageControl1.Pages[Index];
frame := TFrame1.Create(Self);
frame.Name := 'frInfo' + IntToStr(Index);
frame.Parent := tabs;
frame.Align := alClient;
Result := frame;
FrameList1.Add(frame);
end;
Создаем список фреймов и создаем фрейм.
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
FrameList1:= TObjectList.Create();
_CreateFrame(0, False);
end;
Заполняем данными
Код:
procedure TForm1.FrameAddInfo;
var
i:Integer;
frame:TFrInfo;
begin
//Компонент. В итоге содержит список.
Info1.Active := True;
frame := TFrInfo(FrameList1.Items[0]);
//заполняем фрем данными(едиты)
addinformation(frame);
//пробегаемся по всему списку что предстоит добавить
for i := 1 to (Info1.ObjectsCount - 1) do begin
//новая вкладка
frame := _CreateFrame(i, True);
PageControl1.ActivePageIndex := i;
//указываем индекс
Info1.ObjectsIndex := i+1;
//заполняем фрем данными(едиты)
addinformation(frame);
end;
PageControl1.ActivePage := tsTabs0;
end;
В процессе создается несколько табов, которые в итоге необходимо очистить и создать заново. В идеале используя другой фрейм.
Как я понимаю необходимо очистить FrameList1 и TTabSheet. Пытался, вроди очищает по крайней мере визуально, но при создании новых, после очистки, выдает ошибку. Может быть на первоначальном этапе ошибка или все же в завершении?
Решено Не правильно очищал список объектов было Free, а надо Clear

Жаль что совета не услышал.