Если удалить последнею вкладку все работает отлично, а если удалить любую другую предыдущие вкладки по index теряют TObject внутри TabSheet то есть больше нельзя скопировать вставить текст обратиться к SynEdit по имени и т.п.
Видео с воспроизведение ошибки https://youtu.be/VtExS2W8oWs
Проект с ошибкой https://drive.google.com/open?id=1pltuC ... wCePR7vxef
Еще раз:
Есть 10 вкладок с редактором, удаляем вкладку 7, остается 9 вкладок, вкладка 1,2,3,4,5,6 остаются рабочими, вкладки 7,8,9 вызывают ошибку!
Создаю
- Код: Выделить всё
var
Tab: TTabSheet;
rSynEdit: TSynEdit;
....................................................................
Tab := TTabSheet.Create(self);
Tab.PageControl := PageControl1;
Tab.Caption := TabCaption;
Tab.PageControl.ActivePage := Tab;
rSynEdit := TSynEdit.Create(Tab);
rSynEdit.Parent := Tab;
rSynEdit.Align := alClient;
rSynEdit.Name := 'syed' + IntToStr(PageControl1.PageCount);
Удаляю
- Код: Выделить всё
procedure TForm1.MenuItem16Click(Sender: TObject);
begin
PageControl1.ActivePage.Free;
end;
Добавлено спустя 1 час 34 минуты 42 секунды:
Вот ответ помогли на зарубежном форуме
if (ActiveControl is TSynEdit) then TSynEdit(ActiveControl).CopyToClipboard;