Einzelnen Beitrag anzeigen

sveni2211

Registriert seit: 22. Dez 2006
Ort: Friedrichroda
38 Beiträge
 
#1

const <name> : <datentyp> = <wert> und cas

  Alt 23. Jul 2008, 20:48
Hallo.

Ich verwende Delphi 7 und habe folgendes Problem.

Wenn ich eine Konstante von einem bestimmten Typ erzeugen will, muss ich in der Definition von const ja den Datentypen angeben.
Verwende ich diesen in einem case of behauptet Delphi, die Konstante sei nicht konstant. Das ist natürlich etwas sinnfrei. Den Compiler- Schalter für zuweisbare Konstanten habe ich aus. Damit sollten meine Konstanten doch wohl wirklich konstant sein. Der Compiler läßt sich davon leider nicht überzeugen.
Ich will eine Konstante vom Typ Byte erzeugen. Lasse ich die Typangabe weg, macht mir Delpi immer shortint draus. Das will ich aber nicht. Kann ich das CASE irgendwie überreden, meinen konstante Konstante als konstant anzusehen?

Hintergrund ist, dass diese Konstante (verschiedenen Typen) zu einem Netzwerk- Handshaking gehören. Darum will ich alle Typen wirklich fest definieren. Ich bin mir nämlich nicht sicher, dass Delphi den Datentype BYTE, der übertragen werden soll, vergrößert, weil Shortint ja negativ sein kann.


Wie ist das eigentlich, wenn das Programm auf verschiedenen Rechnern ausgeführt wird. Kann ich mich da eigentlich darauf verlassen, dass die Datentypenlängen immer die selben sind, wenn ich dem Compiler die Vergabe überlasse (eben z.B. nur schreibe const <name> = <wert>), oder kann das z.B. auf einem 64 Bit Win zu einem längeren Datentypen führen als unter XP 32 Bit?
  Mit Zitat antworten Zitat