Danke Himitsu für die schnelle Hilfe:
Ich seh den Wald vor lauter Bäume nicht, hab gar nicht so genau auf die Groß- und Kleinschreibung beim String geachtet (Tabsheet1 / TabSheet1)
Wieder was zu gelernt.
Jetzt hab ich nur noch ein Problem, dass sich der Index verschiebt. Ich wollte den angeklickten Tab auf Visible:= false setzen, funktioniert bis zum letzten Tab, der dann Tabsheet1 wird, obwohl der Name Tabsheet3 ist.
procedure TfrmMain.UmDestroyControl(var msg: TMessage);
var ClickedTab: String;
begin
clickedTab:=TComponent(msg.LParam).Owner.GetNamePa th;
if clickedTab = 'TabSheet1' then TabSheet1.TabVisible:=false;
if clickedTab = 'TabSheet2' then TabSheet2.TabVisible:=false;
if clickedTab = 'TabSheet3' then TabSheet3.TabVisible:=false;
ReCalculateButtonPositions;
end;
Ich dachte es wäre etwas einfacher, den angeklickten Tab auf Visible:=false setzen und bei Bedarf wieder aktivieren. Aber es müsste Caption des Tabs ermittelt werden und nach der Caption und nicht nach Index den Tab schließen bzw. deaktivieren.
Vielleicht stehts du mir mit etwas Unterstützung zur Seite.
LG Harry