Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Vergleich mit Set


FinnO - Fr 21.01.11 12:14
Titel: Vergleich mit Set
Moin,

irgendwie hatte ich heute den mysteriösen Fehler, dass bei einem Vergleich wie diesem:


Delphi-Quelltext
1:
if x in [1.. 10000then                    


grundsätzlich False herauskam, wenn x >= 233 war. Woran kann das liegen?

LG


bummi - Fr 21.01.11 12:26

A limitation on sets is that they can hold up to 255 elements.
http://delphi.about.com/od/beginners/a/delphi_set_type.htm


FinnO - Fr 21.01.11 20:40

gut, so weit war ich auch schon. Nur, Warum 233?

LG :)


Marc. - Fr 21.01.11 20:54

user profile iconFinnO hat folgendes geschrieben Zum zitierten Posting springen:
gut, so weit war ich auch schon. Nur, Warum 233?

Das erinnert mich an diese [http://www.delphipraxis.net/335290-post8.html] Diskussion.
Der In-Operator kann scheinbar nur mit 1 Byte großen Typen umgehen. ;)


BenBE - Fr 21.01.11 21:08

user profile iconMarc. hat folgendes geschrieben Zum zitierten Posting springen:
Der In-Operator kann scheinbar nur mit 1 Byte großen Typen umgehen. ;)

256-Bit großen Typen, sprich 32 Byte.

Und warum 233?
Wird sicherlich das Ergebnis des undefinierten Verhaltens sein. Sollte Borland mal ne Fehlermeldung für in den Compiler einbauen, oder das mal zumindest auf Word vergrößern. Naja, oder beides.


Marc. - Fr 21.01.11 21:23

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconMarc. hat folgendes geschrieben Zum zitierten Posting springen:
Der In-Operator kann scheinbar nur mit 1 Byte großen Typen umgehen. ;)

256-Bit großen Typen, sprich 32 Byte.

Damit hat der Mod in der DP Nonsense geschrieben und ich zu schnell und zu blauäugig gepostet. :P