Seite 1 von 1

Keine Warnung bei mehrfacher Zuweisung mit Global?

Verfasst: 18.07.2015 21:29
von Sven

Code: Alles auswählen

Global.q a
Global.l a

Global.l b
Global.q b

a = Pow(2, 31) + 1
b = Pow(2, 31) + 1

Debug a  ;ergibt 2147483649
Debug b  ;ergibt -2147483648
Mir ist aufgefallen, daß bei mehrfacher Zuweisung verschiedener Typen zu einer Variable mittels Global keine Warnung erfolgt.

Normalerweise meckert der Compiler ja, wenn eine Variable bereits anders definiert ist. Ich habe es gemerkt, weil meine ElapsedMilliseconds übergelaufen sind, da ich die Variable einmal als Long und einmal als Quad zugewiesen hatte.

Re: Keine Warnung bei mehrfacher Zuweisung mit Global?

Verfasst: 18.07.2015 22:45
von STARGÅTE
Das ist durchaus sehr komisch.
Selbst mit EnableExplizit kommt keine Meldung.

Ist scheinbar auch nur bei Global so.
Das er bei mehrfacher Declaration nicht meckert ist ja ok, aber bei verschiedenen Typen sollte er es schon machen.

Re: Keine Warnung bei mehrfacher Zuweisung mit Global?

Verfasst: 18.07.2015 23:21
von helpy
Mit einer anderen Schreibweise erscheint eine entsprechende Fehlermeldung:

Code: Alles auswählen

Global a.q
Global a.l

Global b.l
Global b.q

a = Pow(2, 31) + 1
b = Pow(2, 31) + 1

Debug a  ;ergibt 2147483649
Debug b	 ;ergibt -2147483648

Re: Keine Warnung bei mehrfacher Zuweisung mit Global?

Verfasst: 18.07.2015 23:28
von Sven
Bei Define wird grundsätzlich gemeckert.

Und bei Global wird gemeckert, wenn man es so schreibt:

Code: Alles auswählen

Global a.q
Global a.l