AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Konstantenausdruck verletzt untere Grenzen
Thema durchsuchen
Ansicht
Themen-Optionen

Konstantenausdruck verletzt untere Grenzen

Ein Thema von DelphiSourcer · begonnen am 5. Nov 2005 · letzter Beitrag vom 2. Jun 2007
Antwort Antwort
DelphiSourcer

Registriert seit: 7. Feb 2005
43 Beiträge
 
Delphi 2006 Professional
 
#1

Konstantenausdruck verletzt untere Grenzen

  Alt 5. Nov 2005, 17:43
Hallo!

Delphi-Quellcode:
  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);
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??????

Was will mir der Compiler hier sagen?

Delphi Sourcer
  Mit Zitat antworten Zitat
Benutzerbild von x000x
x000x

Registriert seit: 21. Jan 2004
Ort: Bei Hamburg
308 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Konstantenausdruck verletzt untere Grenzen

  Alt 5. Nov 2005, 18:03
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...
Peter
-= Gruss Peter =-
-= alias x000x =-
  Mit Zitat antworten Zitat
DelphiSourcer

Registriert seit: 7. Feb 2005
43 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Konstantenausdruck verletzt untere Grenzen

  Alt 5. Nov 2005, 23:29
Halloooo x000x!

Ich danke Dir wie verrückt. Werde meinen Quelltext entsprechend ändern!

Schönes Wochenende wünscht Dir

Delphi Sourcer
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Konstantenausdruck verletzt untere Grenzen

  Alt 2. Jun 2007, 22:37
ist es denn nicht besser gleich den entsprechenden wertebreich, nämlich int64, zu verwenden anstatt den typ zu casten?
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Konstantenausdruck verletzt untere Grenzen

  Alt 2. Jun 2007, 22:41
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?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Konstantenausdruck verletzt untere Grenzen

  Alt 2. Jun 2007, 22:46
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?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz