Jea*_*ond 8 delphi components timage registration delphi-10.3-rio
所以我正在开发一个图形库,提供一个自定义的 SVG 图像格式,可以在 TPicture 或任何支持图形图像的 VCL 组件中使用,例如 TImage。我从 XE7 编译器版本开始编写和维护我的库包,我的代码向后兼容直到 XE2 版本。
为了向 IDE 声明我的自定义图形格式,我从initialization我的图形类部分调用以下代码
Vcl.Graphics.TPicture.RegisterFileFormat('svg', 'Scalable Vector Graphics', TWSVGGraphic);
Run Code Online (Sandbox Code Playgroud)
然而,自上一个 RAD Studio 10.3.3 Rio 版本以来,这似乎不再有效。我过去已经遇到过类似的问题,为此我可以找到解决方案: Delphi - How to correct register a graphics class since XE8?
因此,显然 Embarcadero 更改了自 10.3.3 Rio 版本以来的规则。再来一次。自此版本以来,我的图形类不再正确注册。有时是,有时不是。例如,当我第一次打开我的 IDE 时,它不是。当我尝试在设计时调试我的包时,它是。当我尝试运行一个项目时,有时是,有时不是。
有人遇到过类似的问题吗?initialization在最新的编译器版本中,有关该部分的规则是否有所更改?最后,我的代码到底有什么问题?
或者,即使经过这么多年,我仍然不明白如何在 Delphi 中正确注册图形类。在这种情况下,如果有人可以向我解释如何正确注册图形类,我将不胜感激,以便将来不再遇到此类问题。