![]() |
Konstantenausdruck verletzt untere Grenzen
Hallo!
Delphi-Quellcode:
Die Warnung tritt bei den Konstanten CW_USEDEFAULT auf. Warum verletzt der Konstantenausdruck untere Grenzen. CW_USEDEFAULT ist doch eine in der Unit Windows vordefinierte Konstante und CreateWindowEx ist eine ganz normale API Funktion??????
FHandle := Windows.CreateWindowEx(
0, 'TestApp', 'Main Window', FWindowStyle, CW_USEDEFAULT, // horizontale Position CW_USEDEFAULT, // vertikale Position CW_USEDEFAULT, // Breite CW_USEDEFAULT, // Höhe ParentHandle, 0, MainInstance, Self); Was will mir der Compiler hier sagen? Delphi Sourcer |
Re: Konstantenausdruck verletzt untere Grenzen
Moin moin,
die funktion erwartet an den Stellen die Übergabeparameter als Integer. Der Wertebereich von integer geht von -2147483648 bis 2147483647... Die Konstante CW_USEDEFAULT steht für $80000000 = 2147483648, sprich, sie liegt nicht mehr im Bereich eines Integers. Mit Integer(CW_USEDEFAULT) wird die Warnung verschwinden... |
Re: Konstantenausdruck verletzt untere Grenzen
Halloooo x000x!
Ich danke Dir wie verrückt. Werde meinen Quelltext entsprechend ändern! Schönes Wochenende wünscht Dir Delphi Sourcer |
Re: Konstantenausdruck verletzt untere Grenzen
ist es denn nicht besser gleich den entsprechenden wertebreich, nämlich int64, zu verwenden anstatt den typ zu casten?
|
Re: Konstantenausdruck verletzt untere Grenzen
Nein, weil diese Funktion einen Integer erwartet und keinen Int64? Und weil das sowieso sinnlos ist, weil man diesen größeren Bereich gar nicht braucht?
|
Re: Konstantenausdruck verletzt untere Grenzen
ok in diesem fall.
ich habe gerade den fall das ich { IShellFolder.GetAttributesOf flags } aus der unit shlObj.pas in einer function übergebe. da wäre doch dann int64 angebracht als datentyp oder? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz