![]() |
2 Case Anweisungen in einem Variant-Record?
Guten Morgen DPler,
Ich benötige einen Varianten-Record mit mehreren CASE-Anweisungen. Bis jetzt habe ich versucht einfach 2 CASE Anweisungen in einen Record zu Packen, jedoch sagt mir der Delphi Compiler das die Abfrage Variable der 2. CASE-Anweisung nicht deklariert sei. In diesem Record möchte ich insgesamt 11 verschiedene Objekttypen differenzieren können. Zum besseren Verständnis füge ich hier mal meine Record ein:
Delphi-Quellcode:
In der Delphi Hilfe steht nichts darüber drin, dass die Anzahl der CASE-Anweisungen in einem Variant-Record beschränkt ist. Ansonsten habe ich bei einer ersten spontanen Suche auch nichts dazu gefunden.
type TObjectSet = set of 0 .. 10;
type TrtModelItem = record Case WithEdit: Boolean Of True: (Edit: TPbFloatEdit); False: (); Case ObjectType: TObjectSet Of 0: (Stream: TPbStream); . . . 10: (Output: TPbOutputUnit); end; Falls jemand eine Idee hat wie das ganze funktionieren kann oder eine alternative zu einem Record hat bin ich natürlich auch für etwas neues offen. Mfg azrael |
Re: 2 Case Anweisungen in einem Variant-Record?
sowas geht unter Delphi nicht
einzige Lösung, leg die CASE jeweil in eigene Untertypen aus und kombinier es dann
Delphi-Quellcode:
type TObjectSet = set of 0 .. 10;
type TrtModelItemEdit = record Case WithEdit: Boolean Of True: (Edit: TPbFloatEdit); False: (); end; TrtModelItem = record Edit: TrtModelItemEdit; Case ObjectType: TObjectSet Of 0: (Stream: TPbStream); ... 10: (Output: TPbOutputUnit); end; |
Re: 2 Case Anweisungen in einem Variant-Record?
Danke für die Idee. Macht zwar Optisch nicht ganz so viel her, funktioniert aber. Schön das sowas hier so schnell geht.
|
Re: 2 Case Anweisungen in einem Variant-Record?
Bitte :angel:
Hätt mir da aber auch eine andere Lösung gewünscht, ein CASE-Statment ist in Records leider immer an letzer Stelle und man kann auch keine anderen Felder dahinter anlegen. :? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 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-2025 by Thomas Breitkreuz