Autor Beitrag
Flamefire
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Sa 20.10.07 13:18 
Ich will eine Kompo erstellen die von TGauge abgeleitet ist
hier der erste teil des codes:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
unit clGauge;

interface

uses
  SysUtils, Classes, Controls, Gauges,Graphics,Windows;

type
  TGradientOrientation = (goVertical, goHorizontal);

  TPixelRec = packed record
    case Boolean of
      true:  (Color: TColor);
      false: (r, g, b, Reserved: Byte);
  end;
  TclGauge = class(TGauge)
  private
    { Private-Deklarationen }
    FForeColor: TColor;
    FBackColor: TColor;
    FForeColor2: TColor;
    FBackColor2: TColor;
    procedure PaintAsBar(AnImage: TBitmap; PaintRect: TRect); override;
    procedure SetForeColor(Value: TColor); override;
    procedure SetBackColor(Value: TColor); override;
    procedure SetForeColor2(Value: TColor);
    procedure SetBackColor2(Value: TColor);
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
  published
    { Published-Deklarationen }
    property ForeColor: TColor read FForeColor write SetForeColor default clBlack;
    property ForeColor2: TColor read FForeColor write SetForeColor2 default clBlack;
    property BackColor: TColor read FBackColor write SetBackColor default clWhite;
    property BackColor2: TColor read FBackColor write SetBackColor2 default clWhite;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Beispiele', [TclGauge]);
end;


aber ich kriege einen fehler, dass die Methode PaintasBar nicht in der Basisklasse gefunden wurde
wenn ich das override entferne kann ich in meinen prozeduren nicht auf die eigenschaften der tgauge zugreifen

ist meine erste Kompo bin also noch unerfahren
hab ich was falsch verstanden oder wo ist mein fehler?
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Di 06.11.07 18:51 
deine Paint-Methode hat erst mal nichts mit den Eigenschaften zu tun. Und wenn diese Methode nicht in der Basisklasse gefunden wurde, dann kannst du sie ja natürlich auch nicht überschreiben. Wenn du aber trotzdem die Paint-Methode verwenden willst (was natürlich klar ist), dann musst du nach Rechtsreibfehlern im Methodenbezeichner suchen. Was anderes kann es gar nicht sein. Oder diese Methode wurde nicht als protected oder public deklariert.