Delphi-自Rio 10.3.3起如何正确注册自定义图形类

时间:2019-12-27 16:09:58

标签: delphi components registration delphi-10.3-rio timage

因此,我正在开发一种图形库,提供自定义的SVG图像格式,该格式可在TPicture或任何支持图形图像的VCL组件(例如TImage)中使用。从XE7编译器版本开始,我编写并维护了我的库包,并且我的代码向后兼容,直到XE2版本。

为了向IDE声明我的自定义图形格式,我从图形类的initialization部分调用以下代码

Vcl.Graphics.TPicture.RegisterFileFormat('svg', 'Scalable Vector Graphics', TWSVGGraphic);

但是,自上一个RAD Studio 10.3.3 Rio版本以来,这似乎不再起作用。过去我已经遇到过类似的问题,可以找到一个解决方案: Delphi - How to correctly register a graphic class since XE8?

因此,显然自从10.3.3 Rio版本以来,Embarcadero更改了规则。再来一次。自该版本以来,我的图形类不再正确注册。有时是,有时不是。例如,当我第一次打开IDE时,不是。当我尝试在设计时调试程序包时,它就是。当我尝试运行一个项目时,有时候是这样,有时候不是。

有人遇到过类似的问题吗?在最新的编译器版本中,有关initialization部分的规则是否已更改?最后,我的代码到底出了什么问题?

也许,即使经过这么多年,也许我还是不明白如何在Delphi中正确注册图形类。在这种情况下,如果有人可以向我解释如何正确注册图形类,以便以后再也不会遇到此类问题,我将不胜感激。

0 个答案:

没有答案