Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Mengentyp in eigener Komponente? (https://www.delphipraxis.net/143091-mengentyp-eigener-komponente.html)

Grolle 9. Nov 2009 19:10


Mengentyp in eigener Komponente?
 
Hallo,

ich komme gerade nicht so recht weiter. Ich habe 2 Komponenten und in beide sollen 2 Mengentypen rein:
Delphi-Quellcode:
typ
  Ttype1 = (Eigenschaft1,Eigenschaft2,Eigenschaft3,Eigenschaft4)

typ
  Ttype2 = (Eigenschaft1,Eigenschaft3,Eigenschaft4)
Die Eigenschaften haben die gleichen Namen, aber type2 eben eine weniger. Diese sollen in 2 verschiedene
Komponenten eingesetzt werden. Delphi meckert aber schon bei der typ-Deklaration. Wie muss ich vorgehen?

Viele Grüße ...

Neutral General 9. Nov 2009 19:12

Re: Mengentyp in eigener Komponente?
 
Du musst so vorgehen:

Hinter das "typ" noch ein "e" dransetzen. ==> "type". :P

Grolle 9. Nov 2009 19:27

Re: Mengentyp in eigener Komponente?
 
ja, ist dran -> Tippfehler ...

himitsu 9. Nov 2009 19:31

Re: Mengentyp in eigener Komponente?
 
jaja, die ; fehlten auch noch, aber egal :angel2:


Ist dir schonmal aufgefallen, daß bei sowas oftmals ein Präfix davor steht?
Delphi-Quellcode:
type
  Ttype1 = (t1Eigenschaft1, t1Eigenschaft2, t1Eigenschaft3, t1Eigenschaft4);
  Ttype2 = (t2Eigenschaft1, t2Eigenschaft3, t2Eigenschaft4);
ja, das ist genau einer der Gründe dafür, weil es sonst Namenskonflikte gibt.

und das man schneller/besser erkennt, wozu dieser Wert gehört
(abgesehn davon, daß es für die Autovervollständigung schön ist ... man gibt das Kürzel ein und dann Strg+Leertaste und schon sieht man alles, was es gibt)

Grolle 9. Nov 2009 19:37

Re: Mengentyp in eigener Komponente?
 
Ist auch egal. Es geht ja nicht um Syntax... Also ist es nicht möglich, 2 Typen mit (fast) gleichen Eigenschaften zu erstellen? Ich kann auch damit leben, dass man einen Typ nimmt und eine Eigenschaft nicht im Objektinspektor anzeigt. Geht das irgendwie?

Viele Grüße ...

uligerhardt 9. Nov 2009 19:53

Re: Mengentyp in eigener Komponente?
 
Zitat:

Zitat von Grolle
Ich kann auch damit leben, dass man einen Typ nimmt und eine Eigenschaft nicht im Objektinspektor anzeigt. Geht das irgendwie?

In der VCL gibt's Folgendes:
Delphi-Quellcode:
type
  TFormBorderStyle = (bsNone, bsSingle, bsSizeable, bsDialog, bsToolWindow,
    bsSizeToolWin);
  TBorderStyle = bsNone..bsSingle;
Vielleicht kommst du mit so etwas Ähnlichem weiter?

himitsus Anmerkung bzgl. des Präfixes würde ich trotzdem berücksichtigen.

Uli.

Grolle 9. Nov 2009 19:58

Re: Mengentyp in eigener Komponente?
 
Hi, danke werde es mal testen.
Zitat:

Zitat von uligerhardt
himitsus Anmerkung bzgl. des Präfixes würde ich trotzdem berücksichtigen.

dessen bin ich mir sehr wohl bewusst. In diesem zugegeben sehr speziellen Fall ist das aber nicht gewünscht.
(Ist eine Eigenschaft in einem visuellen Designer und der muss so und so aussehen :? ) Außer Ihr habt noch nen Tipp,
wie ich solche Eigenschaften "übersetzen" kann - nehm ich gern. :roll:

Vielen Dank schonmal ...

uligerhardt 9. Nov 2009 20:09

Re: Mengentyp in eigener Komponente?
 
Zitat:

Zitat von Grolle
Zitat:

Zitat von uligerhardt
himitsus Anmerkung bzgl. des Präfixes würde ich trotzdem berücksichtigen.

dessen bin ich mir sehr wohl bewusst. In diesem zugegeben sehr speziellen Fall ist das aber nicht gewünscht.
(Ist eine Eigenschaft in einem visuellen Designer und der muss so und so aussehen :? ) Außer Ihr habt noch nen Tipp,
wie ich solche Eigenschaften "übersetzen" kann - nehm ich gern. :roll:

Ein Designer, den du selbst schreibst? Dann hast du doch die Anzeige in der Hand.

Oder meinst du im Objektinspektor in Delphi? Dann könntest du dir einen TPropertyEditor ableiten, wenn du die Präfixe loswerden willst. Aber die meisten anderen Aufzählungstypen aus VCL oder Third-party-Komponenten werden ja auch mit Präfix angezeigt.

Grolle 9. Nov 2009 20:31

Re: Mengentyp in eigener Komponente?
 
Hi,

ich nutze dazu die Designer Komponente von LMD. Diese übernimmt aber die Eigenschaften von Delphi. Die Bezeichner lassen sich übersetzen bzw. umbenennen, aber die Eigenschaften direkt eben nicht, weswegen ich die Namensgebung etwas anpassen muss.

Viele Grüße ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz