![]() |
Delphi-Version: 5
in D5 unbekanntes TYPE-Konstrukt
Hallo *,
ich möchte eine Source aus D10 nach D5 übertragen. Dabei bin ich auf folgendes Konstrukt in einer TYPE-Section gestoßen, das in D5 nicht bekannt ist. CredentialUse = (cuInbound = SECPKG_CRED_INBOUND, cuOutbound = SECPKG_CRED_OUTBOUND, cuBoth = SECPKG_CRED_BOTH) ; Ich habe keine Ahnung was das ist. Gefunden habe ich, daß SECPKG_CRED_INBOUND etc. Systemkonstanten sind. CONST SECPKG_CRED_INBOUND = $00000001; SECPKG_CRED_OUTBOUND = $00000002; SECPKG_CRED_BOTH = $00000003; SECPKG_CRED_DEFAULT = $00000004; SECPKG_CRED_RESERVED = $F0000000; Kann man (ich) das obige Statement in D5 nachbilden? Für jeden Hinweis bin ich dankbar. :stupid: Matthias |
AW: in D5 unbekanntes TYPE-Konstrukt
Meckert der Compiler über die Syntax mit dem "=" in der Typdefinition oder findet er einfach SECPKG_CRED_INBOUND et al. nicht? Die Syntax sollte per se auch in D5 funktionieren, das ist eine Ergänzung der orginalen enumeration types um verschiedene Windows-API Konstrukte (C/C++ enums) als Delphi enumerated types darstellen zu können. Das ging schon in Delphi 1 wenn mich mein Vergessnis nicht täuscht. Vermutlich enthält die D5 windows-unit aber einfach diese Konstanten und das zugehörige API nicht, das gabs vermutlich noch garnicht in der Windows-Version, für die D5 ausgelegt war.
|
AW: in D5 unbekanntes TYPE-Konstrukt
Normal sind bei einem ENUM die Felder durchnummeriert, von 0 bis ...
Hier sind es Felder vordefinierten Werten. (via
Delphi-Quellcode:
zugewiessen, aus anderen Konstanten)
=
Alternativ kann man auch mit Dummy-Feldern auffüllen.
Delphi-Quellcode:
type MyEnum = (Null, One, Two, Three, Four);
was Folgendem entspricht
Delphi-Quellcode:
type MyEnum = (Null=0, One=1, Two=2, Three=3, Four=4);
Nun machen wir mal eine Lücke rein:
Delphi-Quellcode:
type MyEnum = (Null, One, Three, Four);
Delphi-Quellcode:
type MyEnum = (Null=0, One=1, Three=2, Four=3);
aber da oben ja die Namen und Werte verschoben sind, verschieben wir nun manull einen Wert
Delphi-Quellcode:
(die 3 verschoben und danach wird wieder normal mit +1 weitergezählt)
type MyEnum = (Null, One, Three=3, Four);
oder
Delphi-Quellcode:
type MyEnum = (Null=0, One=1, Three=3, Four=4);
oder eben mit einem Dummy-Feld auffüllen
Delphi-Quellcode:
type MyEnum = (Null, One, _DUMMY_, Three, Four);
Delphi-Quellcode:
type CredentialUse = (_cu0, cuInbound, cuOutbound, cuBoth);
|
AW: in D5 unbekanntes TYPE-Konstrukt
vielen herzlichen Dank für beide Antworten.
@himitsu: ich glaube ich habe es verstanden :-D dies ist sicher die richtige Lösung: type CredentialUse = (_cu0, cuInbound, cuOutbound, cuBoth); eine Zuweisung eines Wertes wie MyEnum = (Null=0,... ist in D5 jedoch nicht möglich. :x |
AW: in D5 unbekanntes TYPE-Konstrukt
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 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