Как написать опубликованный раздел класса с ключевым словом «Свойство» в Delphi Prism? - PullRequest
0 голосов
/ 09 ноября 2011

У меня есть производный класс с опубликованным разделом.Тем не менее, опубликованное ключевое слово не распознается компилятором и чем-либо ниже.Я не уверен, что я делаю неправильно.

Вот класс:

TTrendChart = class(Panel)
private
  fCount:integer;
  fColors:array[0..7] of Color;
  fNames:array[0..7] of string;
  fMinText:string;
  fMaxText:string;
  fShowNames:Boolean;
  fMaxTextWidth:integer;
  data:ArrayList;
  Indexer:integer;
  chartRect:Rectangle;
  fWidth:integer;
  fHeight:integer;
  firstTime:Boolean;
  method  GetColors(Index:integer):Color;
  method  SetColors(Index:integer; const value :Color);
  method  GetNames(Index:integer):string;
  method  SetNames(Index:integer; const value: string);
  method  SetCount(const value : integer);
  method  rShowNames(const value : Boolean);
  method  SetMaxText(const value:string);
  method  SetMinText(const value:string);
  method  RecalcChartRect;
protected
  method  Resize; override;
  method  Paint; override;
public
  constructor (AOwner : TComponent); override;
  //destructor Destroy; override;
  method  PlotPoints(p1,p2,p3,p4,p5,p6,p7,p8:real);
  method  ClearChart;
  method  Print;
  property TrendColors[Index1:integer]: TColor read GetColors write SetColors;
  property TrendNames[index1:integer]: string read GetNames write SetNames;
published
  property TrendCount: Integer read fCount write SetCount default 8;
  property ShowNames: Boolean read fShowNames write rShowNames default true;
  property MaxText:string16 read fMaxText write SetMaxText;
  property MinText:string16 read fMinText write SetMinText;
  property Align;
  property Alignment;
  property BevelInner;
  property BevelOuter;
  property BevelWidth;
  property DragCursor;
  property DragMode;
  property Enabled;
  property Caption;
  property Color;
  property Ctl3D;
  property Font;
  property Locked;
  property ParentColor;
  property ParentCtl3D;
  property ParentFont;
  property ParentShowHint;
  property PopupMenu;
  property ShowHint;
  property TabOrder;
  property TabStop;
  property Visible;

  property Click;
  property DblClick;
  property DragDrop;
  property DragOver;
  property EndDrag;
  property Enter;
  property Exit;
  property MouseDown;
  property MouseUp;
  property MouseMove;
  property Resize;
end;

Не могу найти ответ в Интернете по этому вопросу.Я думал, что это должно работать так, как написано.Компилятор продолжает говорить «Двоеточие»: «ожидается» для каждой строки с ключевым словом свойства после строки свойство MinText: string16 read fMinText write SetMinText;

Любая помощь будетоценили.Спасибо.

Ответы [ 2 ]

1 голос
/ 18 ноября 2011

В .NET нет ничего подобного «опубликованному», так что код вообще не имеет смысла.Чтобы увеличить видимость, вам нужно переопределить этот элемент с новой видимостью.Все детали для параметров видимости объяснены здесь: http://wiki.oxygenelanguage.com/en/Class_Member_Visibility_Levels

0 голосов
/ 09 ноября 2011

В Delphi, когда вы определяете свойство, вы должны дать ему имя и тип:

property Resize: Boolean;
...