ihr habt mir ja sehr gut geholfen bei meine eigenen Komponente TScore.
Es läuft auch alles proma.
Code: Alles auswählen
unit Score;
{$mode ObjFPC}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics,
Dialogs, StdCtrls;
type
TScore = class (TLabel)
private
FOnChange: TNotifyEvent;
Vname: string;
Stand: integer;
Standalt: integer;
procedure SetOnChange(AValue: TNotifyEvent);
public
[Zeile 20} constructor Create(AOwner: TComponent; Besitzer: TForm; Vorname: string);
destructor Destroy; override;
procedure erhoehen(Wert: integer);
Property OnChange:TNotifyEvent read FOnChange write SetOnChange;
function getName: string;
function getStand: integer;
end;
implementation
constructor TScore.Create(AOwner: TComponent; Besitzer: TForm; Vorname: string);
begin
inherited Create(AOwner);
Parent:=Besitzer;
Alignment:=taCenter;
Autosize:=False;
Color:=clNavy;
Font.Color:=clYellow;
Font.Name:='Arial Black';
Font.Size:=16;
Font.Style:=[fsBold];
Height:=32;
Left:=10;
Top:=100;
Transparent:=False;
Visible:=True;
Width:=962;
Vname:=Vorname;
Stand:=0;
Standalt:=0;
end;
destructor TScore.Destroy;
begin
inherited Destroy;
end;
procedure TScore.SetOnChange(AValue: TNotifyEvent);
begin
if FOnChange=AValue then Exit;
FOnChange:=AValue;
end;
procedure TScore.erhoehen(Wert: integer);
begin
Stand:=Stand+Wert;
if Stand <> Standalt then
begin
If Assigned(FOnChange) Then FOnChange(Self);
Standalt:=Stand;
end;
end;
function TScore.getName: string;
begin
Result:=Vname;
end;
function TScore.getStand: integer;
begin
Result:=Stand;
end;
end.
Und ich habe ja gelernt Warnungen wie Fehler zu behandeln.
Projekt kompilieren, Ziel: E:\Lazarus\Komponente\MyComponent.exe: Erfolg, Warnungen: 1
score.pas(20,24) Warning: An inherited method is hidden by "constructor Create(TComponent;TForm;AnsiString);"
Nun meine Frage:
a) was bedeutet diese Warnung
b) Wie kann man diese Warnung beseitigen
Danke für die Hilfe und Gruß
Jürgen