Autor |
Beitrag |
TmpDir
      
Beiträge: 53
Erhaltene Danke: 3
Win7HP Win8.1 Deb/Ubuntu
C# [Delphi 6 Pro, Delphi 2005 PE, TurboDelphi PE]
|
Verfasst: Mi 22.03.06 21:57
Hi,
ich wollte gerne in einem Modul alle möglichen Werte eines Enumerated Typs in einer Listbox darstellen. (So wie beim Designtime Property Editor die Dropdown Liste).
Wie kann man also die Standard Property Editoren dafür zweckentfremden?
mfg
_________________ repeat until
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mi 22.03.06 22:28
Dazu brauchst Du die Typinfo dieses Enum-Typs.
Ein Beispiel, wie das geht, gibt's in der OIncProcs.pas von Omorphia:
Delphi-Quelltext 1:
| Function EnumValueToStr(AValue: Integer; ATypeInfo: PTypeInfo): String; |
Aufgerufen wird die Funktion so hier:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| var S: String; E: SomeFooEnum; begin S := EnumValueToStr(Ord(E), TypeInfo(SomeFooEnum)); end; |
Wie das für alle Elemente des Typs geht, kannst Du Dir sicherlich aus besagtem Source entnehmen.
MfG,
BenBE.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
TmpDir 
      
Beiträge: 53
Erhaltene Danke: 3
Win7HP Win8.1 Deb/Ubuntu
C# [Delphi 6 Pro, Delphi 2005 PE, TurboDelphi PE]
|
Verfasst: Mi 22.03.06 23:16
Erstmal Danke für die schnelle Antwort.
Kann es sein das bei einer Delphi 6 Pro Version die DCU/PAS Datei "TypeInfo" nicht dabei ist???
Ich kann nämlich in meiner uses clause typeinfo nicht deklarieren. Und eine entsprechende Datei ist nicht vorhanden.
mfg
_________________ repeat until
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mi 22.03.06 23:29
Versuch's mal mit der Unit TypInfo (ohne das E).
Das war in der Unit kein Schreibfehler, sondern ist so  Hängt mit Namenskonflikten zusammen, weil TypeInfo eine Funktion der Compiler-Magic ist. Der Source sollte unter D6 (mit unseren Units) fehlerfrei laufen; wenn nicht, einfach bescheidgeben.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
TmpDir 
      
Beiträge: 53
Erhaltene Danke: 3
Win7HP Win8.1 Deb/Ubuntu
C# [Delphi 6 Pro, Delphi 2005 PE, TurboDelphi PE]
|
Verfasst: Do 23.03.06 00:16
|
|
|