استخدام skia و FMXRTL معا في نفس التطبيق 💡

1 Minutes Apr 14, 2024 143 Words

اذا تم استخدامهم معا غالبا ستظهر رسالة الخطأ [dcc32 Fatal Error] F2084 Internal Error: URW8074

الفكرة قائمة على تفعيل الـ  skia قبل كل شيء حتى يتمكن من استبدال الـ render الخاص بـ fmx بـ render الخاص بالـ skia . عندها RTLFixer ستمكن من استخدام هذا الـ render .

  1. قم بتفعيل skia في تطبيقك

Image alt

  1. قم بانشاء هذا الملف واضفه إلى المشروع
unit UseSkia;

interface

Uses
  Skia.FMX;

implementation

initialization

GlobalUseSkia := True;

end.
  1. افتح Project Source

Image alt

  1. قم بتعديله ليصبح مشابه لهذا
program Project1;
uses
  UseSkia in 'UseSkia.pas', // هذا يجب ان يكون اول سطر في uses
  System.StartUpCopy,
  FMX.Forms,
  Skia.FMX, // هذا السطر دائما يجب ان يكون مباشرة بعد FMX.Forms
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
// GlobalUseSkia := True;  // هذا السطر تم الغاءه ونقله إلى SkiaStartup
  Application.BiDiMode := TBiDiMode.bdRightToLeft;
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

الان يمكنك اضافة مكون RTLFixer إلى المشروع ومتابعة البرمجة