Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
Delphi 12 Athens
|
AW: Systemlautstärke ändern
14. Jun 2011, 00:07
GetMute ... BOOL ist aktuell (unter 32 Bit) ein LongBool und kein Boolean/ByteBool.
Windows nutzt einen Bool-Typen, von der größe eines Integer, wärend Delphi den kleinsmöglichen Vollbytetypen nutzt, also ein Byte.
Mit etwas Glück überschreibst du dir da ein paar wichtige Daten.
Ach ja, Boolean und ByteBool sind zwar leich groß, aber von der Definition der Werte her, sind sie unterschiedlich.
False ist immer 0
True bei Boolean ist eine 1, also die Konstante True,
wärend es beim ByteBool/WordBool/LongBool ein -1 ist.
Bei der Abfrage ist es aber überall ein <>0.
PS: Das ist auch der Grund, warum if b = true then
ein fataler Fehler sein kann.
$2B or not $2B
Geändert von himitsu (14. Jun 2011 um 00:12 Uhr)
|