И делаю им екшин:
Код:
procedure TMainForm.actChDiskExecute(Sender: TObject);
var n : Integer;
begin
if not ( Sender is TToolButton ) then exit;
n := ( Sender as TToolButton ).Tag;
Caption := Drives.GetChar ( n ) + ':\';
SetCurrentDir ( Caption );
actRefresh.Execute;
end;
Как не странно но
Sender is TToolButton возвращает False.
В данном случае Sender is TAction.
Чтобы добраться до кнопки, нужно TAction(Sender).ActionComponent.
И Caption присваивать не в момент нажатия, а в момент создания.