Hatte das auch mal, und bin an ein Problem gestoßen: Falls das der Tab selektiert ist, auf dem sich der Schließen-Button befindet, dann klappt das nicht so wirklich.
Embarcadero im QP so:
Wir wollen nicht, dass so etwas geht, weil das das gegen unsere Design-Philosophie verstößt.
Trotzdem dann mit TTask hinbekommen...
Hier der Weg, wie es gemacht werden sollte:
Delphi-Quellcode:
TTask.Run(
procedure
begin
TThread.Synchronize(nil,
procedure
begin
TabItem1.DisposeOf;
if TabControl1.TabIndex>TabControl1.TabCount-1
then TabControl1.TabIndex:=TabControl1.TabCount-1
end);
end);