Изправен съм пред наистина непозната ситуация с неизвестна причина за забавяне на изпълнението на приложението, тъй като за първи път използвам жестове и GestureManager. (приложение тип VCL)
Изглежда, че когато прилагам TGestureManager към свойството Touch.GestureManager на формуляр, когато този формуляр се извика да се покаже за първи път, се прави замразяване/закъснение на приложението от приблизително 5 секунди. Дори ако изобщо няма активирани (маркирани) жестове. Веднага след като премахна свойството Touch.GestureManager от формуляра, формулярът се показва незабавно със събитие Form.Show. Приложението създава всички формуляри при стартиране, така че формулярът вече е създаден до момента, в който извикам събитие Form.Show.
Самата форма е доста тежка (размер на FullHD резолюция, с доста компоненти, поставени върху нея...), но не показва никакви проблеми със скоростта без използване на GestureManager...
Досега успях да намеря само една тема в мрежата по този въпрос, но отговорът не беше особено полезен (предлага се да се включи опцията „Tablet PC“ на компютър. Това вече е направено...)
наздраве
Редактиране: При „по-малко тежка“ форма (по-малко компоненти в нея), забавянето е малко по-ниско, въпреки това около 2-3 секунди...
Edit2-code
Пример, който създава забавяне:
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.
Извиква form2, който е чиста форма с 20 обекта TAdvGlassButton върху него (част от TMS Component pack) и GestureManager, който е присвоен на свойството Form2.Touch.GestureManager. Това създава около 2 секунди забавяне, когато се натисне Button1 (и трябва да се покаже Form2);
form2
, който е чист формуляр с 20 обекта TAdvGlassButton върху него и GestureManager. Пример трябва да бъде нещо, което можем да копираме/поставим, компилираме и стартираме, за да възпроизведем проблема. Вижте Как да създадете минимален, пълен и проверим пример. - person Ken White   schedule 23.01.2015