Кто-нибудь знает как решить эту проблему?
Была одна статья по этому поводу в Delphi Magazine, Issue 19, март 1997, которая объясняла эту проблему.
Вот мой переработанный вариант обхода ошибки:
unit Foobar; interface type TfrmFoobar = class(TForm);procedure DoRestore(Sender: TObject);procedure FormCreate(Sender: TObject);private{ Private declarations }public{ Public declarations }end; implementation procedure TfrmUVChannel.FormCreate(Sender: TObject); begin //Устанавливаем временный обработчик события восстановления формы приложенияApplication.OnRestore := DoRestore;Application.Minimize;end; procedure TfrmFoobar.DoRestore(Sender: TObject); begin Application.ShowMainForm := True;//Восстанавливаем приложениеPerform(wm_SysCommand, sc_Restore, 0);//Гарантируем правильную перерисовку всех компонентовShow;//Убираем временного обработчика события чтобы не вызывался в будущемApplication.OnRestore := nil;end; initialization //Здесь прячем минимизированную главную формуApplication.ShowMainForm := False; end. |
[000271]