Forum: Object-Pascal / Delphi-Language
Delphi
by alzaimar,
9. Jul 2008
Hi Guido, der Verdacht ist mir dann auch gekommen, das da ein kleines Misverständnis vorliegt. In der Tat wollte ich nur melden, das Delphi sich hier merkwürdig unorthogonal verhält. Da man aber nie fremden Code die Schuld geben soll, habe ich mich einfach hingestellt und gewartet, das mir Eier ins Gesicht fliegen. Sind aber nicht. Insofern scheint hier wirklich ein Bug bzw. eine Ungenauigkeit...
Forum: Object-Pascal / Delphi-Language
Delphi
by alzaimar,
9. Jul 2008
Guido, ich weiss nicht, was Du mir beweisen oder erklären willst. Ich weiss sehr wohl, was Variants sind, wie sie definiert sind und wo der Unterschied zwischen einem 'unassigned' und einem 'null' Wert sind. Steht ja auch so im Sourcecode von Variants.pas.
Ich kann auch Variants vergleichen, die mit unterschiedlichen Datentypen gefüllt sind, sofern der stärkere Datentyp in den Schwächeren...
Forum: Object-Pascal / Delphi-Language
Delphi
by alzaimar,
8. Jul 2008
Ich bin davon ausgegangen, das ein Variant 'unassigned', 'Null' oder einen echten Wert haben kann. Ich kann diese Zustände jedenfalls setzen und ausgeben bzw. anzeigen. Wenn nun eine Variable einen Wert X annehmen kann, muss ich auch auf gleichheit prüfen können. Und wenn zwei Variablen unterschiedliche Werte haben, dann muss eine Prüfung auf Gleichheit misslingen. Das ist rein mathematisch...
Forum: Object-Pascal / Delphi-Language
Delphi
by alzaimar,
8. Jul 2008
Äh, ich habe UP2 bei mir drauf, dachte ich zumindest ... Ach egal, der Workaround von iKilledKenny funktioniert.
Forum: Object-Pascal / Delphi-Language
Delphi
by alzaimar,
8. Jul 2008
Ahoj,
so sehe ich das auch, nur ist der Bug schon seit 317 Jahren im System. Der Fehler liegt in der schlampigen Programmierung der VarCompareSimple: Dort wird aus Unassigned einfach der korrespondierende 0-Wert des zweiten Variants. Hier müsste man vorher prüfen, ob entweder die linke oder die rechte Seite 'UnAssigned' ist und dann sofort False liefern, denn ein Vergleich mit unassigned...
Forum: Object-Pascal / Delphi-Language
Delphi
by alzaimar,
8. Jul 2008
Hi,
ich arbeite mal wieder mit Variants und dabei kriege ich wegen folgendem Bug ne Krise:
Var
v : Variant;
begin
v := 0;
if v = Unassigned then ShowMessage('Delphi ist (Del)phies');