delphi – 发布的属性未在Object Inspector中显示

我的环境:Windows 7 Pro(32位)上的RadStudio XE4.

Difference between property and function or procedures

在上面的Q和A中,有一个回复说
“更具体地说,如果使用Delphi IDE进行编程,您将看到已发布的属性(-yies)将显示在Object Inspector中”.

我试过这个.

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;

我希望在Object Inspector的“property”选项卡中有“SampleProp1”.但我没有那个.

相反,我在[Delphi Class Exploroer]“窗口中有”SampleProp1“.

我是否在Object Inspector中拥有已发布的属性是不正确的?

解决方法

Object Inspector仅显示在设计时包中向IDE注册的属性.你还没有这样做.

因此,您可以将表单包含在设计时包中,并通过调用RegisterCustomModule进行注册.但是,如果您的表单在您的应用程序中处于活动开发状态,这可能会非常不方便.您可能会发现自己在设计时包和应用程序之间反复失去同步.

应用表单范围行为更改的另一种方法是创建一个可以放在表单上的非可视组件.这种方法的优点是您可以将表单更改为您的内容,而不是与您的设计时组件不同步.

相关文章

 从网上看到《Delphi API HOOK完全说明》这篇文章,基本上都...
  从网上看到《Delphi API HOOK完全说明》这篇文章,基本上...
ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c+&#x...
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和ED...
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的...