clrNONE - alle Bits der 4 Bytes sind mit Einsen gefüllt.
ulong clr - alle Bits von 8 Bytes werden mit Einsen gefüllt.
Ich glaube, hier liegt ein Fehler vor.
1. clrNONE ist eine positive 4-Byte-Zahl, da Alert( long(clrNONE) ) == 4294967295 (wäre sie negativ (Farbzeichen), würde sie ins Minus gehen)
2. Wir haben ihn in SetInteger in long umgewandelt, der Wert konnte sich nicht ändern
3. Warum erhalte ich eine nicht primäre Zahl in SetInteger?
Entweder wird die Farbe innerhalb des Terminals in einen Typ mit Vorzeichen umgewandelt, z. B. int, und wächst dann bei der Umwandlung in along, oder etwas anderes.
Nochmals vielen Dank an Sie alle. Ich bin mir fast sicher, dass die Innenfarbe zur Unterschrift gegossen wird, mit umgekehrtem Guss und Fehler. Nun, es liegt an den Entwicklern, ein gültiges ObjectGetInteger() zu schreiben, es braucht nur ein paar Zeichen: ObjectGetInteger() { return long((uint)internal_clr); }
Комбинатор: Nein, es wird lediglich eine abschließende 0 hinzugefügt.
Eine Zeile oben hinzugefügt - angegeben, um die Länge der Zeile zu kopieren. Es begann zu passen. D.h. es stellt sich heraus, dass der Eingabeparameter count = -1 am Ende eine Null anfügt, während count = StringLen nichts anfügt. Nyuansyk!
Ich habe einen Fehler in meinem Skript, als ich versuchte, es zu lokalisieren, also ist es vorerst umgangen.
Ich glaube, ich habe es gefunden:
Alert:
clr == clrNONE ? false
clrNONE Wert = 4294967295
zurückgegebener Wert = 18446744073709551615
D.h. die Farbe des Objekts auf clrNONE setzen, dann die Farbe des Objekts lesen
die Farbe eines anderen Objekts lesen
Ja, ich danke Ihnen. Ich habe die Namen dort korrigiert, aber der Fehler ist immer noch da.
Setzen Sie das Objekt auf die Farbe clrNONE, lesen Sie dann die Farbe des Objekts und vergleichen Sie sie mit clrNONE - sie stimmen nicht überein.
clrNONE - alle Bits von 4 Bytes sind mit Einsen gefüllt.
ulong clr - alle Bits von 8 Bytes werden mit Einsen gefüllt.
Ja, ich danke Ihnen. Ich habe die Namen dort korrigiert, aber der Fehler ist immer noch da.
In der Tat wird in ObjectGetInteger anstelle von
.
Lösung: Schreiben Sie dann überall x statt x.
clrNONE - alle Bits der 4 Bytes sind mit Einsen gefüllt.
ulong clr - alle Bits von 8 Bytes werden mit Einsen gefüllt.
Ich glaube, hier liegt ein Fehler vor.
1. clrNONE ist eine positive 4-Byte-Zahl, da Alert( long(clrNONE) ) == 4294967295 (wäre sie negativ (Farbzeichen), würde sie ins Minus gehen)
2. Wir haben ihn in SetInteger in long umgewandelt, der Wert konnte sich nicht ändern
3. Warum erhalte ich eine nicht primäre Zahl in SetInteger?
Entweder wird die Farbe innerhalb des Terminals in einen Typ mit Vorzeichen umgewandelt, z. B. int, und wächst dann bei der Umwandlung in along, oder etwas anderes.
Ist dies ein Fehler (unterschiedliche Arrays) oder nicht?
Nein, es wird lediglich eine abschließende 0 hinzugefügt.
Eine Zeile oben hinzugefügt - angegeben, um die Länge der Zeile zu kopieren. Es begann zu passen. D.h. es stellt sich heraus, dass der Eingabeparameter count = -1 am Ende eine Null anfügt, während count = StringLen nichts anfügt. Nyuansyk!