I have a derived class with published section. However, the keyword published is not recognized by the compiler and anything below it. I am not sure what I am doing wrong.
Here is the class:
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;
I can't seem to find answer online regarding this issue. I thought it should have worked as it is written. Compiler keeps saying "Colon ':' expected" for each line with property keyword following the line property MinText:string16 read fMinText write SetMinText;
Any help will be appreciated. Thank you.
There is nothing like 'published' in .NET, so that code make no sense at all. To increase visibility you need to override that element with the new visibility. All details for the visibility options are explained here: http://wiki.oxygenelanguage.com/en/Class_Member_Visibility_Levels