AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit Bereichsüberprüfung

Ein Thema von heiopei · begonnen am 14. Okt 2007 · letzter Beitrag vom 19. Okt 2007
Antwort Antwort
heiopei
(Gast)

n/a Beiträge
 
#1

Re: Probleme mit Bereichsüberprüfung

  Alt 19. Okt 2007, 14:10
Hallo,
ich glaub, ich hab das Problem gelöst

Ausgehend von folgendem Code

Delphi-Quellcode:
const
  HI = 1234567;
  LO = -1234567;
var
  tmp: Double;
  res: Integer;
begin
  tmp := AlterWert / Skalierung;
  if tmp < LO then
    res := LO
  else
  if tmp > HI then
    res := HI
  else
    res := Round(tmp);
end;
habe ich durch try-and-error für den Konstantenwert "Lo" rausgefunden, dass genau vom Wechsel zw.
268435228 ($FFFFF1C) zu 268435229 ($FFFFF1D) der voher beschriebene Bluescreen auftritt!!!

Für HI ist der Wert High(Integer) möglich, allerdings werden dann beim zeichnen der Funktion für große x z.T. senkrechte Streifen gezeichnet (Die Streifen verschwinden erst für einen Wert der etwa |Lo| beträgt).

Daraus folgere ich, dass Windows intern eine Grenze von $7FFFFFF, bzw. - $FFFFF1D festgelegt hat!!!

Mein Code war also im Grunde genommen völlig korrekt, außer dass ich die falsche Negativ-Grenze verwendet habe

Naja, wieder mal was gelernt

Ich kann mir diesen krummen Wert zwar nicht erklären, aber was solls,

bis denne,
heiopei

PS:
Zitat:
Afair nutzt Polyline in Delphi doch TPoint und die wiederrum ShortInts und somit max. 16384 als Koordinatenwert.
In der OH steht, dass TPoint aus zwei Longint-Variablen besteht, also im endeffekt aus zwei Integer-Variablen -> -2^31 bis 2^31-1
  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 22:36 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