Я только что обнаружил странную ошибку в моем приложении Delphi. Когда я запускаю приложение, на панели задач отображается значок, но я должен нажать на него, чтобы отобразилась форма. Установив точку останова в событии OnShow, я обнаружил, что событие OnShow вызывается, когда я нажимаю на значок на панели задач.
Кроме того, когда я использую Hide;
, форма скрывается, но значок панели задач не исчезает, однако, когда я нажимаю на нее, форма снова не отображается (что является точкой, но значок панели задач не предполагается быть там, когда спрятан).
Вот источник моего файла проекта, на случай, если это может иметь какое-то отношение к нему:
var
PreviousHandle : THandle;
begin
PreviousHandle := FindWindow('TfrmMain',APP_CAPTION);
if PreviousHandle = 0 then
Begin
Application.Initialize;
// So my Log and Mainform can overlap each other
Application.MainFormOnTaskbar := False;
Application.Title := 'MyApp';
Application.CreateForm(TfrmMain, frmMain);
Application.CreateForm(TfrmLog, frmLog);
Application.Run;
End else
begin
SetForegroundWindow(PreviousHandle);
end;
end.
Я также попытался отключить мой движок Skinning, который тоже не помог.