Delphi - problem pri tvorbe komponenty,please Help!
Pavel Vagner
vagnerp
Středa Březen 17 11:51:37 CET 2004
zdravim
nejak jsem se zaseknul pri tvorbe komponenty.Vse bylo OK az kdyz jsem pridal polozku FMark.Kdyz nevytvorim SetMark metodu a zapisuju jen pomoci write FMark,tak je to Ok,jakmile napisu deklaraci SetMark(Value:TMarkKind); tak to zarve :[Error] OwnGraph.pas(48): Unsatisfied forward or external declaration: 'TOwnGraph.setMark. a at do toho cumim jak do toho cumim,tak nic me nenapada,kde je zakopanej pes.Cim dil na to koukam,tak nic nevidim.
Nevidi nekdo,kde je chyba??????A to samy rve kdyz chci napsat zapisovaci metodu pro FXMarginEnable polozku.
'
diky Pavel
Ps:prikladam utrzek kodu,doufam,ze nekde nechybi nejakej end; ci ;
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type TAxisKind = (akX,akY);
type TMarkKind = (mkCircle,mkRect,mkTriangl,mkCross);
type TLine = record
case Integer of
0: (x1,y1,x2,y2:Word );
1: (StartPoint,EndPoint:TPoint);
end;
type TRealItem = class
Data:TPoint;
constructor Create(Value: TPoint);
end;
type TRealList = class(TList)
procedure AddPoint(x,y:Integer);
destructor Destroy; override;
end;
type
TOwnGraph = class(TGraphicControl)
private
FBrush:TBrush;
FMark:TMarkKind;
FPen:TPen;
FXMarginEnable:Boolean;
FYMArginEnable:Boolean;
FXRange:Integer;
FYRange:Integer;
FXStep:Word;
FYStep:Word;
procedure SetMark(Value: TMarkKind );
procedure MarkPoint(x,y:Word;druhosy:TAxisKind);
procedure MakeAxisMarks(osa:Tline;druhosy:TAxisKind;MarkCount:Word;DeltaPix:Word);
{ procedure MakeMark(x, y: Word;znacka:TMarkKind);}
procedure SetPen(Value:TPen);
procedure SetBrush(const Value: TBrush);
procedure SetXRange(Value:Integer);
procedure SetYRange(Value:Integer);
procedure SetXStep(Value:Word);
procedure SetYStep(Value:Word);
procedure StyleChanged(Sender: TObject);
procedure Line(Cara:Tline);
protected
procedure Paint; override;
public
XRatio,YRatio:Word; // umisteni pouze pro testovani
XStepPix,YStepPix:Word; // jinak budou v private
NumXmarks,NumYmarks:Word;
XLength,YLength:Word;
XMinPix,YMinPix,XMaxPix,YMaxPix:Word;
FData:TRealList;
constructor Create(AOwner:TComponent); override;
destructor Destroy; override;
procedure Repaint; override;
procedure XMargins(CntMargins:Word;deltaPix:Word);
procedure YMargins(CntMargins:Word;deltaPix:Word);
published
property Mark:TMarkKind read FMark write SetMarkMark; {!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
property XMarginEnable:Boolean read FXMArginEnable write FXMArginEnable;
property YMarginEnable:Boolean read FYMArginEnable write FYMArginEnable;
property XRange:Integer read FXRange write SetXRange;
property YRange:Integer read FYRange write SetYRange;
property XStep:Word read FXStep write SetXStep;
property YStep:Word read FYStep write SetYStep;
property Brush:TBrush read FBrush write SetBrush;
property Pen:TPen read FPen write SetPen;
property Visible;
property OnClick;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
end;
Další informace o konferenci Hw-list