Firemonkey:将资源从资源添加到内存并使用它

Sky*_*Sky 9 delphi fonts firemonkey delphi-xe5

VCL,我可以从资源加载一个字体而不保存它我可以从内存中使用它.

这是我使用的代码,它适用于VCL:

procedure TForm1.Button1Click(Sender: TObject);
var
   ResStream  : tResourceStream;
   FontsCount : DWORD;
begin
   ResStream  := tResourceStream.Create(hInstance, 'MyResourceName', RT_RCDATA);
   winapi.windows.AddFontMemResourceEx(ResStream.Memory, ResStream.Size, nil, @FontsCount);
   ResStream.Free();
   button1.Font.name := 'MySavedFontNameInResource';
end;
Run Code Online (Sandbox Code Playgroud)

在Firemonkey我刚改变button1.Font.name,button1.Font.family但不幸的是字体没有改变.所以我认为这段代码与firemonkey不兼容.

那么在Firemonkey中,如何从资源加载字体并将其临时保存到内存并直接从那里使用?

更新:

我看到这些页面:在firemonkey中安装字体,如何使用外部字体?

根据Ed先生的回答,似乎FMX中没有解决这个问题的方法.但也许我们可以加载字体,如果我们在运行应用程序之前安装它.我几乎尝试了一切,但我仍然无法加载字体.

use*_*444 1

New Delphi 中还有 StylesSettings.ssFamily :布尔属性,必须设置为 False 才能使自定义字体系列正常工作。大小、样式和字体颜色也是如此。