zoukankan      html  css  js  c++  java
  • [笔记] 升級到 Delphi 10.2 Tokyo 笔记

    升級到 Delphi 10.2 Tokyo 笔记:

    • 更新 Xcode 8.3 & iOS 10.3 测试:
    • 类型 TULargeInteger 需改用 ULARGE_INTEGER
    • MapView 载图已支持(iOS & Android):
      • 不用改:FMX.Maps.Android.pas
      • 不用改:FMX.Maps.iOS.pas
    • Android 无法载入 GIF 问题已修正:https://quality.embarcadero.com/browse/RSP-11327
      • 不用改:FMX.Graphics.Android.pas
    • THTTPClient.BeginGet 回传类型改变:
      • // Delphi 10.1.2 Berlin
        var HTTPResponse: IHTTPResponse;
        HTTPResponse:= HTTPClient1.BeginGet(...);
        
        // Delphi 10.2 Tokyo
        var AsyncResult: IAsyncResult;
        AsyncResult := HTTPClient1.BeginGet(...);
    • 已修正:https://quality.embarcadero.com/browse/RSP-12693
      左:Delphi 10.1.2 Berlin
      右:Delphi 10.2 Tokyo
    • Android 平台,启动已没有黑屏,之前使用的黑屏处理方法,可以不再需要使用了。
    • 线程绘图测试:Test Multi Thread Bitmap
      http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Multi-Threading_for_TBitmap,_TCanvas,_and_TContext3D

    • 问题:FMX 使用 TPopup :
      • 放一个 TEdit,运行时点入这个 Edit 没有游标?
      • 放一个 TMemo.ReadOnly = True 会弹出键盘?
    • ID: 30781 已修正)
      问题:TMessageManager.DefaultManager.SubscribeToMessage 没作用了?(实测只有 Android 平台有问题,其它平台没问题)
      • 按 button1 ,并不会到 test
      • 感谢 swish 提示,因为:Android 下 OnIdle 事件不会被正常触发造成的,可以自己调用下 WakeMainThread 就能触发一次 OnIdle
    • ID: 30781 已修正)
      问题:使用 AddObject 造成重影问题(移动平台 Android & iOS 才有问题,Windows & macOS 测试没问题)
      • 第一步: 使用 Rectangle1.AddObject(SubRectangle);
      • 第二步: 使用 Rectangle2.AddObject(SubRectangle);
      • 再反覆第一步,第二步,造成重影及卡顿?
      • 官方QC:https://quality.embarcadero.com/browse/RSP-17663
      • 测试工程:[测试]10.2_重影问题.zip
      • 修正方法:
        将 FMX.Controls.pas 复制到自己的工程目录下,再修改如下:
        procedure TStyledControl.SetNewScene(AScene: IScene);
        var
          OldScene: IScene;
        begin
          OldScene := FScene;
          inherited SetNewScene(AScene);
          if not (csDestroying in ComponentState) and (OldScene <> AScene) and (not IsUpdating)  then
        {---> KillResourceLink; // 删除代码
        {+++>}NeedStyleLookup; // 加入代码:移动平台重影问题,改回 Delphi 10.1.2 Berlin 代码,暂时修正 by Aone
        end;
    • 问题:如果修改官方源码 FMX.Types.pas 会造成无法编译 macOS 平台(其它平台正常),错误如下:
    • ID: 30781 已修正)
      问题:TTabControl 加二页,第一页放 TText,第二页放 TColorPanel,真机运行后,点第二页,无法立即显示第二页内容,需要再点一下,才会显示。(Android 有问题 iOS 测试没问题)
      测试APK:[BUG]TabControl切页无法即时显示.apk
      测试工程:[BUG]TabControl切页无法即时显示.zip
      官方QC:https://quality.embarcadero.com/browse/RSP-17738
    • 问题:(Delphi 10.1.2 正常)
      场景一:在 TRectangle 里放一个 TButton(需要设置 ModalResult=mrOk),点 Button 后将 Rectangle 由主窗 RemoveObject 后出错
      场景二:如果一个 Frame 里有一个关闭按钮,按下后关闭(使用 Frame.Parent := nil; 或 RemoveObject )就会出错

      测试工程:[BUG]TestRemoveObjectScene.zip
      修正方法:关键问题是在 ModalResult = mrOk,只要不设置 Button.ModalResult 就不会出错了(另外也可参考 10.1.2 的 FMX.Controls.pas 内 TControl.SetNewScene(AScene: IScene) 函数)
      官方QC:https://quality.embarcadero.com/browse/RSP-17741
    • ID: 30781 已修正)
      问题:Android 开启相簿(使用官方例子),闪退?
      官方例子:http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Taking_Pictures_Using_FireMonkey_Interfaces
    • 问题:在 Linux 平台,uses System.Zip 会出错?
      官方QC:https://quality.embarcadero.com/browse/RSP-17811
      解决方案:安装 sudo apt-get install joe wget p7zip-full curl build-essential zlib1g-dev libcurl4-gnutls-dev
    • ID: 30781 已修正)
      问题:Android 平台使用 TControl.MakeScreenshot 若有文字,截图后,文字会变成黑块。
    • ...

    参考:

  • 相关阅读:
    php面向对象开发的学习
    我的php感悟
    说说面向对象
    session,上传文件
    PHP构造函数的用法分析
    生成图片
    上传文件
    fetch
    ajax2
    ajax1
  • 原文地址:https://www.cnblogs.com/onechen/p/6598843.html
Copyright © 2011-2022 走看看