Я столкнулся с действительно незнакомой ситуацией с неизвестной причиной задержки запуска приложения, так как я впервые использую жесты и GestureManager. (приложение типа VCL)
Кажется, что когда я применяю TGestureManager к свойству Touch.GestureManager формы, когда эта форма вызывается для отображения в первый раз, приложение зависает/задерживается примерно на 5 секунд. Даже если жесты вообще не включены (отмечены). Как только я удаляю свойство Touch.GestureManager из формы, форма немедленно отображается с событием Form.Show. Приложение создает все формы при запуске, поэтому форма уже создана к тому времени, когда я вызываю событие Form.Show.
Сама форма довольно тяжелая (размер разрешения FullHD, на ней размещено довольно много компонентов...), но не показывает никаких проблем со скоростью без использования GestureManager...
До сих пор я мог найти только одну тему в Интернете по этому поводу, но ответ на самом деле не помог (предлагая включить опцию «Планшетный ПК» на ПК. Это уже сделано ...)
Ваше здоровье
Редактировать: В "менее тяжелой" форме (меньше компонентов) задержка немного ниже, но по-прежнему составляет около 2-3 секунд...
Редактировать2-код
Пример, который создает задержку:
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
var
Form1: TForm1;
implementation
{$R *.dfm}
uses Unit2;
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.show;
end;
end.
Вызывает форму2, которая представляет собой чистую форму с 20 объектами TAdvGlassButton на ней (часть пакета компонентов TMS), и GestureManager, который назначается свойству Form2.Touch.GestureManager. Это создает задержку около 2 секунд при нажатии кнопки Button1 (и должна отображаться форма Form2);
form2
, который представляет собой чистую форму с 20 объектами TAdvGlassButton и GestureManager. Пример должен быть чем-то, что мы можем скопировать/вставить, скомпилировать и запустить, чтобы воспроизвести проблему. См. Как создать минимальный, полный и проверяемый пример. - person Ken White   schedule 23.01.2015