Здравствуйте, Silvero, Вы писали:
S>Доброго времени суток!
S>Может кто сталкивался с такой проблемой: форма со стилем границ типа bsNone иногда (не на всех машинах) при запуске не появляется в taskbar'е. Обнаружил сие после того как пытался ету форму спрятать — она из таскбара не исчезала, т.е. при нажатии кнопки "hide to tray" форма вдруг вылезала на таскбаре, где и оставалась, а сама с desktop'а пропадала.
S>Конкретно вопросы такие:
S>1. чем обусловлено отсутствие формы в таскбаре?
S>2. как с етим бороться?
S>Заранее, спасибо.
Я так и не понял в чем проблема и чего нужно добиться. Спрятять форму с таск бара или разобраться почему иногда ее там не видно
Маленькое обьяснение:
В таск баре показывается не твоя форма (не важно что вы там выставили), а окно приложения. Это такое себе окошечко которое не видно, но оно есть (прям как суслик

). Добраться к этому окну можна через Application.Handle — это оно и есть.
Так вот если спрятать это окно то с таск бара оно исчезнет.
ShowWindow (Application.Handle, SW_HIDE)
Есть и другой способ спрятать его — забрать у окна стиль WS_EX_APPWINDOW
SetWindowLong (Application.Handle, GetWindowLong (Application.Handle, GWL_EXSTYLE) and not WS_EX_APPWINDOW)
Этот способ также позволяет показать форму в таск баре.
SetWindowLong (Application.Handle, GetWindowLong (Application.Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW)
Но, как правило, на своих формах пишут код подобный этому (перекрываем CreateParams):
procedure TTaskBarForm.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
Params.WndParent := 0;
end;
Вам остается посмотреть: что же в дебрях Вашего кода делается на подобии примеров предложенных мной

(возможно не полный набор)