Как я написал в заголовке, у меня проблема с AV, вызванная FTouchManager, когда включены темы во время выполнения. На главной форме у меня есть рамка с одной кнопкой. Событие OnClick вызывает метод основной формы, который должен уничтожить фрейм. Если я нажму на эту кнопку, я получу AV в «Vcl.Controls». Когда я отключу темы выполнения, все будет работать нормально. Как я могу решить эту проблему?
Заранее спасибо, Тим
Протестировано на: Delphi XE3, XE6 Платформа: Win32
Vcl.Controls:
procedure TWinControl.WndProc(var Message: TMessage);
...
WM_MOUSEFIRST..WM_MOUSELAST:
with FTouchManager do
if (GestureEngine <> nil) and (efMouseEvents in GestureEngine.Flags) then // <-- here I get AV error because FTouchManager = nil
GestureEngine.Notification(Message);
...
end;
Блок кадра:
constructor TFrame2.Create(AOwner: TWinControl);
begin
inherited Create(AOwner);
Parent := AOwner;
end;
destructor TFrame2.Destroy;
begin
Parent := nil;
inherited;
end;
procedure TFrame2.Button1Click(Sender: TObject);
begin
Form1.DestroyFrame;
end;
MainFormUnit:
procedure TForm1.FormShow(Sender: TObject);
begin
Frame2 := TFrame2.Create(Form2);
end;
procedure TForm1.DestroyFrame;
begin
FreeAndNil(Frame2);
end;