![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Задался вопросом немного больше познать Delphi. Но пока не получается, прошу совета.
С созданием вроди немного разобрался. Создает все нормально по шаблону. А вот как очистить не могу разобраться. Код:
FrameList1:TObjectList; Код:
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 ![]() Последний раз редактировалось MotoArhangel, 14.02.2015 в 20:05. |