当我写它的标题时,当启用运行时主题时,我遇到了由 FTouchManager 引起的 AV 问题。在主窗体上,我有一个带有一个按钮的框架。OnClick 事件调用必须销毁框架的主窗体方法。如果我单击该按钮,我会在“Vcl.Controls”中获得 AV。当我禁用运行时主题时,一切都会正常。我怎么解决这个问题?
提前谢谢你,蒂姆
测试平台: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;
主窗体单元:
procedure TForm1.FormShow(Sender: TObject);
begin
Frame2 := TFrame2.Create(Form2);
end;
procedure TForm1.DestroyFrame;
begin
FreeAndNil(Frame2);
end;