属性已发布但未在对象检视器中显示

7

我的环境:Windows 7专业版(32位),RadStudio XE4。

属性和函数或过程的区别

在上面的问答中,有一个回复说:“更具体地说,如果您使用Delphi IDE进行编程,则会发现发布的属性(-y+ies)将显示在对象检查器中。”

我尝试了一下。

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type
  TForm1 = class(TForm)
  private
    FSampleProp1: Integer;
    function GetSampleProp1(): Integer;
    procedure SetSampleProp1(val: Integer);
    { Private declaration }
  published
    { Private declaration }
    property SampleProp1: Integer read GetSampleProp1 write SetSampleProp1;
  end;

我原本期望在“属性”选项卡中的对象检视器中有“SampleProp1”。但是我没有找到它。
相反,在[Delphi类浏览器]窗口中找到了“SampleProp1”。
我应该在对象检视器中找到发布的属性吗?这是不正确的吗?

6
只有在您自己设计一个组件并将该组件安装到您的IDE中时,才适用此方法。仅向表单添加属性是无法解决问题的... - whosrdaddy
非常感谢您的回复。因此,对于自制组件,我可以在对象检查器中看到属性。 - sevenOfNine
6
这篇文章可能很有用:向窗体和数据模块添加已发布属性。 - bummi
1
@bummi:应该发布为答案。 - Remy Lebeau
1
@bummin:感谢您的文章。 - sevenOfNine
1个回答

5
对象检查器仅显示在设计时包中已注册IDE的属性。您尚未完成此操作。
因此,您可以将表单包含在设计时包中,并通过调用RegisterCustomModule将其注册。但是,如果您的表单正在应用程序中积极开发,则可能会非常不方便。您可能会发现自己在设计时包和应用程序之间反复失去同步。
另一种应用形式范围行为更改的方法是创建一个非可视组件,您可以将其放在表单上。这种方法的优点是,您可以随心所欲地更改表单而不必担心与设计时组件不同步。

1
@ Heffernan:不,我现在不需要进一步的帮助。谢谢你的关心。 - sevenOfNine

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接