AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Verständisfrage zu Komponentenvererbung von Typen
Thema durchsuchen
Ansicht
Themen-Optionen

Verständisfrage zu Komponentenvererbung von Typen

Ein Thema von BAMatze · begonnen am 17. Jun 2009 · letzter Beitrag vom 17. Jun 2009
Antwort Antwort
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, 09: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
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Verständisfrage zu Komponentenvererbung von Typen

  Alt 17. Jun 2009, 09:57
Du musst die Unit, in der ZtposGanzzahl deklariert ist, in der Unit eingebunden haben, wo du das benutzt. Wenn du jetzt eine Komponente in Unit A hast und eine andere Komponente in Unit B diese verwendet, dann hast du vermutlich dort wo du die Komponente aus Unit B benutzt auch nur Unit B eingebunden. Die Deklaration steht aber in Unit A, also musst du die auch einbinden.

// EDIT:
Wenn du die Komponente aufs Formular legst, werden AFAIK die für die im Objektinspektor sichtbaren (published) Propertys nötigen Units automatisch eingebunden. Ganz genau weiß ich da gerade nicht was da alles passiert.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
BAMatze

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

Re: Verständisfrage zu Komponentenvererbung von Typen

  Alt 17. Jun 2009, 10:03
Jup das war es schon. Danke dir
2. Account Sero
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:59 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