AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Setter mehrfach überschreiben.

Ein Thema von Bjoerk · begonnen am 8. Jun 2015 · letzter Beitrag vom 12. Jun 2015
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#1

Setter mehrfach überschreiben.

  Alt 8. Jun 2015, 16:52
Ich habe 3 Klassen:
Delphi-Quellcode:
  TDingensBase = class
  protected
    function GetTest: string; virtual; abstract;
    procedure SetTest(const Value: string); virtual; abstract;
    property Test: string read GetTest write SetTest;
  end;

  TDingens = class(TDingensBase)
  protected
    FTest: string;
    function GetTest: string; override;
    procedure SetTest(const Value: string); override;
  public
    property Test;
  end;

  TDingensEx = class(TDingens)
  private
    procedure SetTest(const Value: string); override;
  end;
Das seh ich doch richtig, daß man die property Test nicht 2 mal veröffenlichen muß und das für Test von TDingensEx der Setter davon benutzt wird?

Geändert von Bjoerk ( 8. Jun 2015 um 16:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Setter mehrfach überschreiben.

  Alt 8. Jun 2015, 17:37
Korrekt.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Setter mehrfach überschreiben.

  Alt 8. Jun 2015, 18:28
Ok, thanx Stahli. BTW, gibt’s da einen Trick um zu überprüfen, ob man eine Methode vergessen hat zu überschreiben. Wenn man die Methode ohne override einfügt gibt der Compiler ja schön die Warnung (verdeckt Methode der Basisklasse). Aber wenn man die Methode ganz vergessen hat, meckert "er" nicht, man würde im dem Fall ja ggf. die abstrakten verwenden? Ist mir noch nicht passiert. Verschwindet der Wert dann im Nirwana oder krachst dann?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#4

AW: Setter mehrfach überschreiben.

  Alt 8. Jun 2015, 18:33
Property mit Name, aber ohne Typ-Definition:

Man kann auf diese Weise das Property in der Sichbarkeit verschieben (aber immer nur nach oben -> sichtbarer) oder es erweitern/ändern (z.B. das Default oder auch Getter/Setter ändern/hinzufügen).

Siehe TCustomEdit und TEdit.
TCustomEdit implementiert die Grundfunktionen und TEdit setzt nur noch die Sichtbarkeiten. So kann man von TCustomEdit ableiten und muß nicht die Sichtbarkeiten von TEdit übernehmen.


Abstract + Override vergessen = Compilerwarnung, beim erstellen einer Instanz.
siehe z.B. SL := TStrings.Create;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Setter mehrfach überschreiben.

  Alt 8. Jun 2015, 18:33
Wenn Du eine abstrakte Methode aufrufst, bekommst Du eine Fehlermeldung.
Abstrakte Methoden sind also nicht schädlich, aber Du darfst sie halt nicht aufrufen ohne sie zu überschreiben.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Setter mehrfach überschreiben.

  Alt 9. Jun 2015, 13:13
Jetzt bekomm ich ca. 1600 Warnungen wie diese. Ist das normal. Wohl kaum??

[DCC Warnung] uGraphicObjectList.pas(1353): W1020 Instanz von 'TWerkzeug3' mit der abstrakten Methode 'TWerkzeug.GetDimensionAlignRight' wird angelegt
[DCC Warnung] uGraphicObjectList.pas(1353): W1020 Instanz von 'TWerkzeug3' mit der abstrakten Methode 'TWerkzeug.GetPosAlign' wird angelegt
[DCC Warnung] uGraphicObjectList.pas(1353): W1020 Instanz von 'TWerkzeug3' mit der abstrakten Methode 'TWerkzeug.GetPositionAlign' wird angelegt
[DCC Warnung] uGraphicObjectList.pas(1353): W1020 Instanz von 'TWerkzeug3' mit der abstrakten Methode 'TWerkzeug.GetTextAlign' wird angelegt
[DCC Warnung] uGraphicObjectList.pas(1353): W1020 Instanz von 'TWerkzeug3' mit der abstrakten Methode 'TWerkzeug.GetOddHatchPenStyle' wird angelegt
[DCC Warnung] uGraphicObjectList.pas(1353): W1020 Instanz von 'TWerkzeug3' mit der abstrakten Methode 'TWerkzeug.GetEvenHatchPenStyle' wird angelegt
[DCC Warnung] uGraphicObjectList.pas(1353): W1020 Instanz von 'TWerkzeug3' mit der abstrakten Methode 'TWerkzeug.GetSectionTriangleWidth' wird angelegt
[DCC Warnung] uGraphicObjectList.pas(1353): W1020 Instanz von 'TWerkzeug3' mit der abstrakten Methode 'TWerkzeug.GetSectionAlign' wird angelegt
[DCC Warnung] uGraphicObjectList.pas(1353): W1020 Instanz von 'TWerkzeug3' mit der abstrakten Methode 'TWerkzeug.GetSectionFilledTriangle' wird angelegt
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#7

AW: Setter mehrfach überschreiben.

  Alt 9. Jun 2015, 14:10
Siehe Antwort #4, die letzten beiden Zeilen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Setter mehrfach überschreiben.

  Alt 9. Jun 2015, 14:19
Dann lag ich wohl falsch...
Ich dachte, man darf die Methode dann nur nicht aufrufen...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Setter mehrfach überschreiben.

  Alt 9. Jun 2015, 14:29
Ein Override hab ich nicht vergessen. Es ist nur so, daß die einzelnen Klassen, die davon abgeleitet sind, nicht jede Methode bzw. jede Property haben.
Delphi-Quellcode:
unit uWerkzeug;

interface

uses
  SysUtils, Classes, Graphics, Dialogs, Math, VirtualTrees, uIniDataFile,
  uUtils, uRecords, uClasses, uPolygon, uPolygonEx, uPropUtils, uPropArrays, uBewehrung;

// Es gibt
// TWerkzeug, TWerkzeug0, TWerkzeug1, TWerkzeug2, TWerkzeug3:

// TWerkzeug = diese unit;

// TWerkzeug0 = class(TWerkzeug);

// TWerkzeug1 = class(TWerkzeug0);
// TWerkzeug2 = class(TWerkzeug0);
// TWerkzeug3 = class(TWerkzeug0);

// *** Die Nummern hinter den Getters/Setters von TWerkzeug zeigen die Klassen an,
// in denen diese Getter/Setter überschrieben werden.

// *** Die Nummern hinter den Properties von TWerkzeug zeigen die Klassen an,
// in denen diese Props veröffentlich werden.

type
  TWerkzeug = class
  protected
    function GetNode: PVirtualNode; virtual; abstract; // 0;
    function GetTyp: TGraphicTyp; virtual; abstract; // 0;
    function GetEnabled: boolean; virtual; abstract; // 0;
    function GetComment: string; virtual; abstract; // 0;
    function GetCircleRadius: double; virtual; abstract; // 1; // 2; // 3;
    function GetScalemX1: double; virtual; abstract; // 0;
    function GetScalemX2: double; virtual; abstract; // 0;
    function GetScalemY1: double; virtual; abstract; // 0;
    function GetScalemY2: double; virtual; abstract; // 0;
    function GetScalecmSimpleMargin: double; virtual; abstract; // 0;
    function GetScalecmMarginTop: double; virtual; abstract; // 0;
    function GetScalecmMarginBottom: double; virtual; abstract; // 0;
    function GetScalecmMarginLeft: double; virtual; abstract; // 0;
    function GetScalecmMarginRight: double; virtual; abstract; // 0;
    function GetScalemWidth: double; virtual; abstract; // 1; // 2; // 3;
    function GetScalemHeight: double; virtual; abstract; // 1; // 2; // 3;
    function GetScalemWidthX: double; virtual; abstract; // 1;
    function GetScalemHeightY: double; virtual; abstract; // 1;
    function GetScalemLength: double; virtual; abstract; // 1; // 3;
    function GetScalemRadius: double; virtual; abstract; // 1; // 2; // 3;
    function GetLineAngle: double; virtual; abstract; // 1; // 3;
    function GetDesigning: boolean; virtual; abstract; // 0;
    function GetP1: TCadFLoatPoint; virtual; abstract; // 0;
    function GetP2: TCadFLoatPoint; virtual; abstract; // 0;
    function GetFontMode: boolean; virtual; abstract; // 1;
    function GetSelected: boolean; virtual; abstract; // 0;
    function GetSmoothing: boolean; virtual; abstract; // 2;
    function GetAsCirclePie: boolean; virtual; abstract; // 2;
    function GetShowPolygonLines: boolean; virtual; abstract; // 2;
    function GetClosedPolygon: boolean; virtual; abstract; // 2;
    function GetCrossRect: boolean; virtual; abstract; // 2;
    function GetCircleAlpha: double; virtual; abstract; // 0;
    function GetPositionAlpha: double; virtual; abstract; // 1;
    function GetCircleBeta: double; virtual; abstract; // 0;
    function GetArrowA: double; virtual; abstract; // 1;
    function GetArrowB: double; virtual; abstract; // 1;
    function GetDimensionA: double; virtual; abstract; // 1;
    function GetDimensionB: double; virtual; abstract; // 1;
    function GetDimensionVersatz: double; virtual; abstract; // 1;
    function GetPosDiameter: double; virtual; abstract; // 1;
    function GetPosQuadratSize: double; virtual; abstract; // 3;
    function GetScaleCMDistribution: double; virtual; abstract; // 1; // 3;
    function GetOffsetX: double; virtual; abstract; // 1;
    function GetOffsetY: double; virtual; abstract; // 1;
    function GetArrowAlpha: double; virtual; abstract; // 1;
    function GetHatchFrequency: double; virtual; abstract; // 2;
    function GetTextAlpha: double; virtual; abstract; // 1;
    function GetAngle: double; virtual; abstract; // 0;
    function GetArrowAlign: TArrowAlign; virtual; abstract; // 1;
    function GetText: string; virtual; abstract; // 1; // 3;
    function GetCaption: string; virtual; abstract; // 1;
    function GetOwnerText: string; virtual; abstract; // 1;
    function GetSeite: string; virtual; abstract; // 1;
    function GetPenMMWidth: double; virtual; abstract; // 0;
    function GetDimension: TDimensionType; virtual; abstract; // 1;
    function GetDimensionStyle: TDimensionStyle; virtual; abstract; // 1;
    function GetDimensionOrientation: TDimensionOrientation; virtual; abstract; // 1;
    function GetDimensionAlignLeft: TDimensionAlign; virtual; abstract; // 1;
    function GetDimensionAlignRight: TDimensionAlign; virtual; abstract; // 1;
    function GetPosAlign: TPosAlign; virtual; abstract; // 1;
    function GetPositionAlign: TPositionAlign; virtual; abstract; // 1;
    function GetTextAlign: TTextAlign; virtual; abstract; // 1;
    function GetOddHatchPenStyle: TPenStyle; virtual; abstract; // 2;
    function GetEvenHatchPenStyle: TPenStyle; virtual; abstract; // 2;
    function GetSchnittTriangleWidth: double; virtual; abstract; // 1;
    function GetSchnittAlign: TSchnittAlign; virtual; abstract; // 1;
    function GetSchnittFilledTriangle: boolean; virtual; abstract; // 1;
    function GetTextA: string; virtual; abstract; // 1;
    function GetTextB: string; virtual; abstract; // 1;
    function GetHintStyle: TCornerStyle; virtual; abstract; // 1;
    function GetKoteTriangleWidth: double; virtual; abstract; // 1;
    function GetKoteAlign: TSchnittAlign; virtual; abstract; // 1;
    function GetAspectRatio: boolean; virtual; abstract; // 1;
    function GetExtraListEnabled: boolean; virtual; abstract; // 1; // 3;
    function GetTopReinforcement: boolean; virtual; abstract; // 3;
    function GetKoteFilledTriangle: boolean; virtual; abstract; // 1;
    function GetNEckCount: integer; virtual; abstract; // 2;
    function GetHelpPolygonDistribution: integer; virtual; abstract; // 2;
    function GetStabPunktFilled: boolean; virtual; abstract; // 3;
    function GetNEckScalemA: double; virtual; abstract; // 2;
    function GetScalemmFlange: double; virtual; abstract; // 2;
    function GetScalemmThickness: double; virtual; abstract; // 2;
    function GetPropertySelected: boolean; virtual; abstract; // 0;
    function GetPen: TPen; virtual; abstract; // 0;
    function GetFont: TFont; virtual; abstract; // 0;
    function GetBrushColor: TColor; virtual; abstract; // 1; // 2;
    function GetBrushStyle: TBrushStyle; virtual; abstract; // 2;
    function GetPolygon: TPolygon; virtual; abstract; // 2;
    function GetPolygonEx: TPolygonEx; virtual; abstract; // 3;
    function GetDoubleLine: TDoubleLine; virtual; abstract; // 1;
    function GetMetaFile: TMetaFile; virtual; abstract; // 1;
    function GetStl: TStlBewehrung; virtual; abstract; // 3;
    function GetMtl: TMtlBewehrung; virtual; abstract; // 3;
    function GetSnapPoints: TFloatPoints; virtual; abstract; // 0;
    function GetProfil: string; virtual; abstract; // 2;
    function GetScale: TScale; virtual; abstract; // 0;
    function GetBoundRect: TFloatRectEx; virtual; abstract; // 1; // 2; // 3;
    function GetHaveBoundRect: boolean; virtual; abstract; // 1; // 2; // 3;
    function GetProp(Index: TProp): boolean; virtual; abstract; // 0;
    function GetAction(Index: TAction): boolean; virtual; abstract; // 0;
    function GetSimpleMargin: double; virtual; abstract; // 0;
    function GetMargin: TMargin; virtual; abstract; // 0;
    procedure SetNode(const Value: PVirtualNode); virtual; abstract; // 0;
    procedure SetTyp(const Value: TGraphicTyp); virtual; abstract; // 0; // 1; // 2; // 3;
    procedure SetEnabled(const Value: boolean); virtual; abstract; // 0;
    procedure SetComment(const Value: string); virtual; abstract; // 0;
    procedure SetCircleRadius(const Value: double); virtual; abstract; // 1; // 2; // 3;
    procedure SetNewAngle(const Value: double); virtual; abstract; // 0;
    procedure SetScalemX1(const Value: double); virtual; abstract; // 0;
    procedure SetScalemX2(const Value: double); virtual; abstract; // 0;
    procedure SetScalemY1(const Value: double); virtual; abstract; // 0;
    procedure SetScalemY2(const Value: double); virtual; abstract; // 0;
    procedure SetScalecmSimpleMargin(const Value: double); virtual; abstract; // 0;
    procedure SetScalecmMarginTop(const Value: double); virtual; abstract; // 0;
    procedure SetScalecmMarginBottom(const Value: double); virtual; abstract; // 0;
    procedure SetScalecmMarginLeft(const Value: double); virtual; abstract; // 0;
    procedure SetScalecmMarginRight(const Value: double); virtual; abstract; // 0;
    procedure SetScalemWidth(const Value: double); virtual; abstract; // 1; // 2; // 3;
    procedure SetScalemHeight(const Value: double); virtual; abstract; // 1; // 2; // 3;
    procedure SetScalemWidthX(const Value: double); virtual; abstract; // 1;
    procedure SetScalemHeightY(const Value: double); virtual; abstract; // 1;
    procedure SetScalemLength(const Value: double); virtual; abstract; // 1; // 3;
    procedure SetScalemRadius(const Value: double); virtual; abstract; // 1; // 2; // 3;
    procedure SetLineAngle(const Value: double); virtual; abstract; // 1; // 3;
    procedure SetDesigning(const Value: boolean); virtual; abstract; // 0;
    procedure SetFontMode(const Value: boolean); virtual; abstract; // 1;
    procedure SetSmoothing(const Value: boolean); virtual; abstract; // 2;
    procedure SetAsCirclePie(const Value: boolean); virtual; abstract; // 2;
    procedure SetShowPolygonLines(const Value: boolean); virtual; abstract; // 2;
    procedure SetClosedPolygon(const Value: boolean); virtual; abstract; // 2;
    procedure SetCrossRect(const Value: boolean); virtual; abstract; // 2;
    procedure SetCircleAlpha(const Value: double); virtual; abstract; // 0;
    procedure SetPositionAlpha(const Value: double); virtual; abstract; // 1;
    procedure SetCircleBeta(const Value: double); virtual; abstract; // 0;
    procedure SetArrowA(const Value: double); virtual; abstract; // 1;
    procedure SetArrowB(const Value: double); virtual; abstract; // 1;
    procedure SetDimensionA(const Value: double); virtual; abstract; // 1;
    procedure SetDimensionB(const Value: double); virtual; abstract; // 1;
    procedure SetDimensionVersatz(const Value: double); virtual; abstract; // 1;
    procedure SetPosDiameter(const Value: double); virtual; abstract; // 1;
    procedure SetPosQuadratSize(const Value: double); virtual; abstract; // 3;
    procedure SetScaleCMDistribution(const Value: double); virtual; abstract; // 1; // 3;
    procedure SetOffsetX(const Value: double); virtual; abstract; // 1;
    procedure SetOffsetY(const Value: double); virtual; abstract; // 1;
    procedure SetArrowAlpha(const Value: double); virtual; abstract; // 1;
    procedure SetHatchFrequency(const Value: double); virtual; abstract; // 2;
    procedure SetTextAlpha(const Value: double); virtual; abstract; // 1;
    procedure SetAngle(const Value: double); virtual; abstract; // 0;
    procedure SetArrowAlign(const Value: TArrowAlign); virtual; abstract; // 1;
    procedure SetText(const Value: string); virtual; abstract; // 1; // 3;
    procedure SetCaption(const Value: string); virtual; abstract; // 1;
    procedure SetOwnerText(const Value: string); virtual; abstract; // 1;
    procedure SetSeite(const Value: string); virtual; abstract; // 1;
    procedure SetPenMMWidth(const Value: double); virtual; abstract; // 0;
    procedure SetDimension(const Value: TDimensionType); virtual; abstract; // 1;
    procedure SetDimensionStyle(const Value: TDimensionStyle); virtual; abstract; // 1;
    procedure SetDimensionOrientation(const Value: TDimensionOrientation); virtual; abstract; // 1;
    procedure SetDimensionAlignLeft(const Value: TDimensionAlign); virtual; abstract; // 1;
    procedure SetDimensionAlignRight(const Value: TDimensionAlign); virtual; abstract; // 1;
    procedure SetPosAlign(const Value: TPosAlign); virtual; abstract; // 1;
    procedure SetPositionAlign(const Value: TPositionAlign); virtual; abstract; // 1;
    procedure SetTextAlign(const Value: TTextAlign); virtual; abstract; // 1;
    procedure SetOddHatchPenStyle(const Value: TPenStyle); virtual; abstract; // 2;
    procedure SetEvenHatchPenStyle(const Value: TPenStyle); virtual; abstract; // 2;
    procedure SetSchnittTriangleWidth(const Value: double); virtual; abstract; // 1;
    procedure SetSchnittAlign(const Value: TSchnittAlign); virtual; abstract; // 1;
    procedure SetSchnittFilledTriangle(const Value: boolean); virtual; abstract; // 1;
    procedure SetTextA(const Value: string); virtual; abstract; // 1;
    procedure SetTextB(const Value: string); virtual; abstract; // 1;
    procedure SetHintStyle(const Value: TCornerStyle); virtual; abstract; // 1;
    procedure SetKoteTriangleWidth(const Value: double); virtual; abstract; // 1;
    procedure SetKoteAlign(const Value: TSchnittAlign); virtual; abstract; // 1;
    procedure SetAspectRatio(const Value: boolean); virtual; abstract; // 1;
    procedure SetExtraListEnabled(const Value: boolean); virtual; abstract; // 1; // 3;
    procedure SetTopReinforcement(const Value: boolean); virtual; abstract; // 3;
    procedure SetKoteFilledTriangle(const Value: boolean); virtual; abstract; // 1;
    procedure SetNEckCount(const Value: integer); virtual; abstract; // 2;
    procedure SetHelpPolygonDistribution(const Value: integer); virtual; abstract; // 2;
    procedure SetStabPunktFilled(const Value: boolean); virtual; abstract; // 3;
    procedure SetNEckScalemA(const Value: double); virtual; abstract; // 2;
    procedure SetScaleMMFlange(const Value: double); virtual; abstract; // 2;
    procedure SetScaleMMThickness(const Value: double); virtual; abstract; // 2;
    procedure SetPropertySelected(const Value: boolean); virtual; abstract; // 0;
    procedure SetBrushColor(const Value: TColor); virtual; abstract; // 1; // 2;
    procedure SetBrushStyle(const Value: TBrushStyle); virtual; abstract; // 2;
    procedure SetProfil(const Value: string); virtual; abstract; // 2;
    procedure SetScale(const Value: TScale); virtual; abstract; // 0; // 1; // 2; // 3;
  protected
    procedure MouseMove(const MovePt: TFloatPoint); virtual; abstract; // 0;
    procedure MouseMoveEx(const SelectRect: TFloatRectEx); virtual; abstract; // 0;
    function Center: TFloatPoint; virtual; abstract; // 0;
    function CircleCenter: TFloatPoint; virtual; abstract; // 1; // 2; // 3;
    function A: TFloatPoint; virtual; abstract; // 1;
    function B: TFloatPoint; virtual; abstract; // 1;
    function C: TFloatPoint; virtual; abstract; // 1;
    function LoadFromIniFile(Ini: TIniDataFileStream; const Section: string): boolean; virtual; abstract; // 0; // 1; // 2; // 3;
    function SaveToIniFile(Ini: TIniDataFileStream; const Section: string): boolean; virtual; abstract; // 0; // 1; // 2; // 3;
    procedure Assign(Value: TWerkzeug); virtual; abstract; // 0; // 1; // 2; // 3;
    function Compare(Value: TWerkzeug): boolean; virtual; abstract; // 0; // 1; // 2; // 3;
    procedure DrawObject(Canvas: TCanvas; const Plot: TPlotDevice); virtual; abstract; // 1; // 2; // 3;
    procedure DrawRegion(Canvas: TCanvas; const Plot: TPlotDevice); virtual; abstract; // 1; // 2; // 3;
    procedure SetRegion; virtual; abstract; // 1; // 2; // 3;
    procedure SetSnapPoints; virtual; abstract; // 1; // 2; // 3;
    procedure Rotate(const R: TFloatPoint; const Alpha: double); virtual; abstract; // 1; // 2; // 3;
    procedure ShiftXY(const ScalemValueX, ScalemValueY: double); virtual; abstract; // 1; // 2; // 3;
    procedure ShiftUV(const ScalemValueU, ScalemValueV: double); virtual; abstract; // 1; // 2; // 3;
    procedure FlipHorz(const Y: double); virtual; abstract; // 1; // 2; // 3;
    procedure FlipVert(const X: double); virtual; abstract; // 1; // 2; // 3;
    procedure Clear; virtual; abstract; // 0; // 1; // 2; // 3;
    procedure GraphicLoadFromFile(const FileName: string; const ppMM: double); virtual; abstract; // 1;
    procedure AssignGraphic(MF: TMetaFile; const ppMM: double; const Scale: TScale; SnapPoints: TFloatPoints); virtual; abstract; // 1;
    function ClipRectEx: TFloatRectEx; virtual; abstract; // 0;
    function ClipRect: TFloatRect; virtual; abstract; // 0;
    function Diagonal: double; virtual; abstract; // 0;
    function HaveMargin: boolean; virtual; abstract; // 0;
    procedure SetProps; virtual; abstract; // 1; // 2; // 3;
    procedure SetActions; virtual; abstract; // 1; // 2; // 3;
    function HaveTyp(const Value: TGraphicTyp): boolean; virtual; abstract; // 1; // 2; // 3;
    function CurrentTyp: boolean; virtual; abstract; // 1; // 2; // 3;
  protected
    property Node: PVirtualNode read GetNode write SetNode; // (0);
    property Typ: TGraphicTyp read GetTyp write SetTyp; // (0);
    property Enabled: boolean read GetEnabled write SetEnabled; // (0);
    property Comment: string read GetComment write SetComment; // (0);
    property Prop[Index: TProp]: boolean read GetProp; // (0);
    property Action[Index: TAction]: boolean read GetAction; // (0);
    property P1: TCadFLoatPoint read GetP1; // (0);
    property P2: TCadFLoatPoint read GetP2; // (0);
    property Pen: TPen read GetPen; // (0);
    property Font: TFont read GetFont; // (0);
    property Polygon: TPolygon read GetPolygon; // (2);
    property PolygonEx: TPolygonEx read GetPolygonEx; // (3);
    property DoubleLine: TDoubleLine read GetDoubleLine; // (1);
    property MetaFile: TMetaFile read GetMetaFile; // (1);
    property Stl: TStlBewehrung read GetStl; // (3);
    property Mtl: TMtlBewehrung read GetMtl; // (3);
    property SnapPoints: TFloatPoints read GetSnapPoints; // (0);
    property CircleRadius: double read GetCircleRadius write SetCircleRadius; // (1); // (2); // (3);
    property NewAngle: double write SetNewAngle; // (0);
    property ScalemX1: double read GetScalemX1 write SetScalemX1; // (0);
    property ScalemX2: double read GetScalemX2 write SetScalemX2; // (0);
    property ScalemY1: double read GetScalemY1 write SetScalemY1; // (0);
    property ScalemY2: double read GetScalemY2 write SetScalemY2; // (0);
    property ScalecmSimpleMargin: double read GetScalecmSimpleMargin write SetScalecmSimpleMargin; // (0);
    property ScalecmMarginTop: double read GetScalecmMarginTop write SetScalecmMarginTop; // (0);
    property ScalecmMarginBottom: double read GetScalecmMarginBottom write SetScalecmMarginBottom; // (0);
    property ScalecmMarginLeft: double read GetScalecmMarginLeft write SetScalecmMarginLeft; // (0);
    property ScalecmMarginRight: double read GetScalecmMarginRight write SetScalecmMarginRight; // (0);
    property ScalemWidth: double read GetScalemWidth write SetScalemWidth; // (1); // (2); // (3);
    property ScalemHeight: double read GetScalemHeight write SetScalemHeight; // (1); // (2); // (3);
    property ScalemWidthX: double read GetScalemWidthX write SetScalemWidthX; // (1);
    property ScalemHeightY: double read GetScalemHeightY write SetScalemHeightY; // (1);
    property ScalemLength: double read GetScalemLength write SetScalemLength; // (1); // (3);
    property ScalemRadius: double read GetScalemRadius write SetScalemRadius; // (1); // (2); // (3);
    property LineAngle: double read GetLineAngle write SetLineAngle; // (1); // (3);
    property Designing: boolean read GetDesigning write SetDesigning; // (0);
    property FontMode: boolean read GetFontMode write SetFontMode; // (1);
    property Selected: boolean read GetSelected; // (0);
    property Smoothing: boolean read GetSmoothing write SetSmoothing; // (2);
    property AsCirclePie: boolean read GetAsCirclePie write SetAsCirclePie; // (2);
    property ShowPolygonLines: boolean read GetShowPolygonLines write SetShowPolygonLines; // (2);
    property ClosedPolygon: boolean read GetClosedPolygon write SetClosedPolygon; // (2);
    property CrossRect: boolean read GetCrossRect write SetCrossRect; // (2);
    property CircleAlpha: double read GetCircleAlpha write SetCircleAlpha; // (0);
    property PositionAlpha: double read GetPositionAlpha write SetPositionAlpha; // (1);
    property CircleBeta: double read GetCircleBeta write SetCircleBeta; // (0);
    property ArrowA: double read GetArrowA write SetArrowA; // (1);
    property ArrowB: double read GetArrowB write SetArrowB; // (1);
    property DimensionA: double read GetDimensionA write SetDimensionA; // (1);
    property DimensionB: double read GetDimensionB write SetDimensionB; // (1);
    property DimensionVersatz: double read GetDimensionVersatz write SetDimensionVersatz; // (1);
    property PosDiameter: double read GetPosDiameter write SetPosDiameter; // (1);
    property PosQuadratSize: double read GetPosQuadratSize write SetPosQuadratSize; // (3);
    property ScaleCMDistribution: double read GetScaleCMDistribution write SetScaleCMDistribution; // (1); // (3);
    property OffsetX: double read GetOffsetX write SetOffsetX; // (1);
    property OffsetY: double read GetOffsetY write SetOffsetY; // (1);
    property ArrowAlpha: double read GetArrowAlpha write SetArrowAlpha; // (1);
    property HatchFrequency: double read GetHatchFrequency write SetHatchFrequency; // (2);
    property TextAlpha: double read GetTextAlpha write SetTextAlpha; // (1);
    property Angle: double read GetAngle write SetAngle; // (0);
    property ArrowAlign: TArrowAlign read GetArrowAlign write SetArrowAlign; // (1);
    property Text: string read GetText write SetText; // (1); // (3);
    property Caption: string read GetCaption write SetCaption; // (1);
    property OwnerText: string read GetOwnerText write SetOwnerText; // (1);
    property Seite: string read GetSeite write SetSeite; // (1);
    property PenMMWidth: double read GetPenMMWidth write SetPenMMWidth; // (0);
    property Dimension: TDimensionType read GetDimension write SetDimension; // (1);
    property DimensionStyle: TDimensionStyle read GetDimensionStyle write SetDimensionStyle; // (1);
    property DimensionOrientation: TDimensionOrientation read GetDimensionOrientation write SetDimensionOrientation; // (1);
    property DimensionAlignLeft: TDimensionAlign read GetDimensionAlignLeft write SetDimensionAlignLeft; // (1);
    property DimensionAlignRight: TDimensionAlign read GetDimensionAlignRight write SetDimensionAlignRight; // (1);
    property PosAlign: TPosAlign read GetPosAlign write SetPosAlign; // (1);
    property PositionAlign: TPositionAlign read GetPositionAlign write SetPositionAlign; // (1);
    property TextAlign: TTextAlign read GetTextAlign write SetTextAlign; // (1);
    property OddHatchPenStyle: TPenStyle read GetOddHatchPenStyle write SetOddHatchPenStyle; // (2);
    property EvenHatchPenStyle: TPenStyle read GetEvenHatchPenStyle write SetEvenHatchPenStyle; // (2);
    property SchnittTriangleWidth: double read GetSchnittTriangleWidth write SetSchnittTriangleWidth; // (1);
    property SchnittAlign: TSchnittAlign read GetSchnittAlign write SetSchnittAlign; // (1);
    property SchnittFilledTriangle: boolean read GetSchnittFilledTriangle write SetSchnittFilledTriangle; // (1);
    property TextA: string read GetTextA write SetTextA; // (1);
    property TextB: string read GetTextB write SetTextB; // (1);
    property HintStyle: TCornerStyle read GetHintStyle write SetHintStyle; // (1);
    property KoteTriangleWidth: double read GetKoteTriangleWidth write SetKoteTriangleWidth; // (1);
    property KoteAlign: TSchnittAlign read GetKoteAlign write SetKoteAlign; // (1);
    property KoteFilledTriangle: boolean read GetKoteFilledTriangle write SetKoteFilledTriangle; // (1);
    property AspectRatio: boolean read GetAspectRatio write SetAspectRatio; // (1);
    property ExtraListEnabled: boolean read GetExtraListEnabled write SetExtraListEnabled; // (1); // (3);
    property TopReinforcement: boolean read GetTopReinforcement write SetTopReinforcement; // (3);
    property NEckCount: integer read GetNEckCount write SetNEckCount; // (2);
    property HelpPolygonDistribution: integer read GetHelpPolygonDistribution write SetHelpPolygonDistribution; // (2);
    property StabPunktFilled: boolean read GetStabPunktFilled write SetStabPunktFilled; // (3);
    property NEckScalemA: double read GetNEckScalemA write SetNEckScalemA; // (2);
    property ScalemmFlange: double read GetScalemmFlange write SetScalemmFlange; // (2);
    property ScalemmThickness: double read GetScalemmThickness write SetScalemmThickness; // (2);
    property PropertySelected: boolean read GetPropertySelected write SetPropertySelected; // (0);
    property BrushColor: TColor read GetBrushColor write SetBrushColor; // (1); // (2);
    property BrushStyle: TBrushStyle read GetBrushStyle write SetBrushStyle; // (2);
    property Profil: string read GetProfil write SetProfil; // (2);
    property Scale: TScale read GetScale write SetScale; // (0);
    property BoundRect: TFloatRectEx read GetBoundRect; // (1); // (2); // (3);
    property HaveBoundRect: boolean read GetHaveBoundRect; // (1); // (2); // (3);
    property SimpleMargin: double read GetSimpleMargin; // (0);
    property Margin: TMargin read GetMargin; // (0);
  end;

implementation

end.
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#10

AW: Setter mehrfach überschreiben.

  Alt 9. Jun 2015, 14:36
Es ist nur so, daß die einzelnen Klassen, die davon abgeleitet sind, nicht jede Methode bzw. jede Property haben.
Ja, und genau darum erhälst Du die Warnung des Compilers.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz