为什么在我的表单上发布的事件没有显示在编辑器中

Why does a published event on my form not show in the editor

我已将已发布的事件添加到我的主窗体中,希望它会显示在编辑器中,但它没有。 是我做错了什么,还是事实并非如此?

THIFISongEndEvent = procedure(Sender: TObject; EstimatedEndTime: TDateTime) of object;

  TMain = class(TForm)
[...]
  published
    property OnSongEnd: THIFISongEndEvent read FOnSongEnd write SetOnSongEnd;

编辑:添加代码

仅当这些组件在 design-time 包中注册时,TComponent 后代的已发布属性才在对象检查器中可见。否则,您甚至无法将组件拖放到窗体上。

由于窗体通常是在窗体设计器中设计的,它们可能没有为 design-time 注册,因此对象无法知道它们添加在基础 TForm 属性之上的已发布属性检查员.