hallo,
ich habe mehrere Klassen, die ähnlich der folgenden aufgebaut sind:
Delphi-Quellcode:
unit Klasse_Rect;
interface
uses
Classes, Contnrs, SysUtils, Graphics, ExtCtrls, Funktionen;
//const
type
TRectFeld =
class (TObject)
private
{ Private-Deklarationen }
//interne Variablen
FRectZaehler : Integer;
//fixe Daten
FLeft : Integer;
FTop : Integer;
FHeight : Integer;
FWidth : Integer;
FPenWidth : Integer;
FFarbe : TColor;
FMaskFaktoren : TMaskFaktoren;
//variable Daten
//
public
{ Public-Deklarationen }
constructor Create;
destructor Destroy;
procedure CreateInMaske(Maske: TPanel);
published
{ Published-Deklarationen }
property PenWidth : Integer
read FPenWidth
write FPenWidth;
property Farbe : TColor
read FFarbe
write FFarbe;
property MaskFaktoren : TMaskFaktoren
read FMaskFaktoren
write FMaskFaktoren;
property Left : Integer
read FLeft
write FLeft;
property Top : Integer
read FTop
write FTop;
property Height : Integer
read FHeight
write FHeight;
property Width : Integer
read FWidth
write FWidth;
end;
{ Aufrufe }
implementation
//----------------------------------------------------------------------------//
//-----------------------------------PRIVATE----------------------------------//
//-----------------------------------PUBLIC-----------------------------------//
constructor TRectFeld.Create;
begin
inherited Create;
//Variablen beschreiben
FRectZaehler := 0;
end;
destructor TRectFeld.Destroy;
begin
//interne Variablen freigeben
inherited Destroy;
end;
procedure TRectFeld.CreateInMaske(Maske: TPanel);
var
Dummy_Rect: TShape;
begin
//Zähler hochzählen
inc(FRectZaehler);
//Rect erzeugen
Dummy_Rect := TShape.Create(Maske);
with Dummy_Rect
do
begin
//feste Werte
Parent := Maske;
Enabled := true;
Visible := true;
Brush.Style := bsClear;
Name := SysUtils.Format('
Rect_%d', [FRectZaehler]);
Left := GroessenFaktor(MaskFaktoren.MaskFaktor_Height, FLeft);
Top := GroessenFaktor(MaskFaktoren.MaskFaktor_Height, FTop);
Width := GroessenFaktor(MaskFaktoren.MaskFaktor_Height, FWidth);
Height := GroessenFaktor(MaskFaktoren.MaskFaktor_Height, FHeight);
Pen.Color := FFarbe;
Pen.Width := FPenWidth;
//Ereignisse
end;
end;
//----------------------------------------------------------------------------//
end.
Wenn ich nun diese Klasse erzeuge, dann möcht ich jeder Instanz einen definierten Namen geben.
Ich hätt das gerne genau so, wie es z. B. bei einem Button ist (Button1, Button2, Button_Hugo,...)
Nur ein Button ist eine Komponente. Aber kann man das auch für Klassen machen?
Wieso das ganze: Ich möchte die einzeln erstellen Klassen mit deren Namen in einer Liste speichern
und später dann über den namen auf die Klassen zugreifen.