Delphi 10.2 非官方補丁合集
http://blog.qdac.cc/?p=4485
FMXObject和TFORM的釋放都變成異步了。雖然能保證是在主線程中釋放,但是Windows部分的線程同步方法是依賴消息的,所以我在單元反初始化的時候釋放一些對象,有時會觸發異常。
把Forms單元拷貝出來,改成同步的就沒問題了。
估計這個特性加的草率了,WIN32部分沒考慮清楚。不過也可以作為一個特性,以后WIN32開發的時候注意一下。
我改的是
function TCommonCustomForm.Close: TCloseAction;
case Result of
TCloseAction.caHide:
Hide;
TCloseAction.caFree:
begin
{$IFDEF MSWINDOWS}
free;
{$ELSE}
TThread.CurrentThread.ForceQueue(nil,
procedure begin
Free;
end);
{$ENDIF}
end;
TCloseAction.caMinimize:
WindowState := TWindowState.wsMinimized;
end;
改了之后發現在Windows關閉程序是的異常就沒有了。
但似乎我應該是后面再做FMX程序的時候避免在單元的finalization種釋放窗口和線程對象
http://bbs.2ccc.com/topic.asp?topicid=530981
東京版其實解決了一個很煩人的Bug,就是在PC上,使用默認渲染模式時,如果用了自定義的Style,很多控件會出現邊框線,東京版沒有這個問題了。
但是10.0版時也沒有這個問題的……呵呵
新版本 安卓底層大改。所以很多舊 BUG 沒了。
產生了幾個新 BUG,但是 新 BUG,總比修改掉的 BUG 少。
另外,一貫性的,iOS 會出一些兼容性問題。蘋果經常改要求,改策略。
EMB 自然需要時間來跟上。等 HOTFIX 吧。