Einzelnen Beitrag anzeigen

BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#1

Verständisfrage zu Komponentenvererbung von Typen

  Alt 17. Jun 2009, 08:53
Hallo und Guten Morgen an alle DP´ler,

Mal eine kleine Verständnisfrage zu meinen Komponenten. Weiß auch nicht ob die Überschrift so passend gewählt ist, bin gern bereit dies natürlich anzupassen, wenn dies gewünscht wird.
Mein Problem ist nun, dass ich eine Komponente habe, bei der ich einen Zahlentyp vorgeben kann (auch als Property freigegeben):

Delphi-Quellcode:
type TZahltyp = (ZtGanzzahl, ZtposGanzzahl, ZtGleitkommazahl, ZtposGleitkommazahl);

Type TLabZahlEdit = Class(TWinControl)
  private
    ...
    procedure SetZahlTyp(cWert: TZahlTyp);
    function GetZahltyp: TZahltyp;
    ...
  protected
    ...
  published
    ....
    property Zahltyp: TZahltyp read GetZahltyp write SetZahltyp;
    ...
  public
    constructor create(AOwner: TComponent); override;
    destructor destroy;
end;
Dies funzt auch wunderbar, wenn ich die Komponente im Package installiert habe, kann ich zwischen den Zahltypen im Objektinspektor auswählen. Wenn ich allerdings diese Komponente in einer anderen Komponente dynamisch erzeuge und dort der erzeugten Komponenten einen Zahlentyp übergeben will, ala:

    DynamischErzeugteKomponente.Zahltyp := ZtposGanzzahl; Wird mir gesagt, dass ZtposGanzzahl ein unbekannter Bezeichner ist. Auch wenn ich in der neuen Komponente die Typendeklaration wie in der vorherigen Komponente vornehmen kommt ein Fehler (ala AlteKomponente.Zahltyp ungleich NeueKomponente.Zahltyp). Ich denke ich habe nur irgendwo diese Deklaration vergessen anzugeben und deswegen diesen Ärger. Kann mir jemand sagen, wo ich die Typ-Deklaration korrekter Weise angeben muss, damit ich die Fehlermeldung vermeiden kann?

Vielen Dank
BAMatze
2. Account Sero
  Mit Zitat antworten Zitat