![]() |
UNION in C++ -> Delphi?
Hallo
habe hier ein Deklarationsproblem. Wie bekommen diese C-Union nach Delphi?
Code:
Diese Umsetzung erzeugt nur Fehlermeldungen:
typedef union {
[case(VSS_OBJECT_SNAPSHOT)] VSS_SNAPSHOT_PROP Snap; [case(VSS_OBJECT_PROVIDER)] VSS_PROVIDER_PROP Prov; } VSS_OBJECT_UNION;
Delphi-Quellcode:
Warum?
VSS_OBJECT_UNION = packed record
case Integer of 3 : (Snap : VSS_OBJECT_SNAPSHOT); //VSS_OBJECT_SNAPSHOT 4 : (Prov : VSS_PROVIDER_PROP); //VSS_OBJECT_PROVIDER end; end; Vielen Dank für Tipps unf Hinweise Alter Mann |
Re: UNION in C++ -> Delphi?
Muss es nicht so heißen:
Delphi-Quellcode:
[EDIT]Unter Berücksuchtigung von guinnes' Beitrag angepasst.[/EDIT]
VSS_OBJECT_UNION = packed record
case Integer of 3 : (Snap : VSS_SNAPSHOT_PROP); // Hier 4 : (Prov : VSS_PROVIDER_PROP); end; // end; |
Re: UNION in C++ -> Delphi?
Das 2. End ist zuviel ( Case in Records benötigen kein End )
Delphi-Quellcode:
VSS_OBJECT_SNAPSHOT = Integer;
VSS_PROVIDER_PROP = Pointer; VSS_OBJECT_UNION = packed record case Integer of 3 : (Snap : VSS_OBJECT_SNAPSHOT); //VSS_OBJECT_SNAPSHOT 4 : (Prov : VSS_PROVIDER_PROP); //VSS_OBJECT_PROVIDER end; |
Re: UNION in C++ -> Delphi?
Hi,
schnelle Antwort, aber beide nicht die Lösung. Die Meldungen lauten: Zitat:
Viele Grüße |
Re: UNION in C++ -> Delphi?
Dann muss dein Fehler vor dem zitieren Text liegen. Schreib mal direkt davor "type" und versuche es noch mal.
Delphi-Quellcode:
lässt sich jedenfalls problemlos übersetzen.
type
VSS_OBJECT_SNAPSHOT = Integer; VSS_PROVIDER_PROP = Pointer; VSS_OBJECT_UNION = packed record case Integer of 3 : (Snap : VSS_OBJECT_SNAPSHOT); //VSS_OBJECT_SNAPSHOT 4 : (Prov : VSS_PROVIDER_PROP); //VSS_OBJECT_PROVIDER end; |
Re: UNION in C++ -> Delphi?
Ich denke nach wie vor, dass es so heißen müsse:
Delphi-Quellcode:
const
VSS_OBJECT_SNAPSHOT = 3; VSS_OBJECT_PROVIDER = 4; type VSS_SNAPSHOT_PROP = XYZ; VSS_PROVIDER_PROP = UVW; VSS_OBJECT_UNION = packed record case Integer of VSS_OBJECT_SNAPSHOT: (Snap : VSS_SNAPSHOT_PROP); // <- VSS_SNAPSHOT_PROP VSS_OBJECT_PROVIDER: (Prov : VSS_PROVIDER_PROP); end; |
Re: UNION in C++ -> Delphi?
Hallo,
also folgendes geht
Delphi-Quellcode:
type
TRec = packed record case Integer of 3: (i: Integer); 4: (d: Double); end;
Delphi-Quellcode:
Wie ist denn
type
TRec = record case Integer of 0: (i: Integer; j: Integer); 1: (d: Double); end; VSS_SNAPSHOT_PROP und VSS_PROVIDER_PROP definiert ?? Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 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