AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Von Delphi 2010 auf XE5: Zahl außerhalb des gültigen Bereichs
Thema durchsuchen
Ansicht
Themen-Optionen

Von Delphi 2010 auf XE5: Zahl außerhalb des gültigen Bereichs

Ein Thema von hberdel · begonnen am 1. Mai 2014 · letzter Beitrag vom 2. Mai 2014
Antwort Antwort
hberdel

Registriert seit: 1. Feb 2003
Ort: Darmstadt, Provence, Südspanien
31 Beiträge
 
Delphi XE5 Professional
 
#1

Von Delphi 2010 auf XE5: Zahl außerhalb des gültigen Bereichs

  Alt 1. Mai 2014, 20:53
Hallo,
ich bin von Delphi 2010 auf XE5 umgestiegen. WIN 7 / 64 bit, BDE (noch). Es gibt in meinem Programm eine Auswertung die unter Delphi 2010 funktioniert, unter XE5 aber zur Laufzeit mit einer Fehlermeldung aufwartet: Zahl außerhalb des gültigen Bereichs. Ich habe darin eine Variable als Extended deklariert und gefunden, dass dieser Typ unter XE5 nur mit der Directive {$EXTENDEDCOMPATIBILITY ON} funktioniert. Bei mir leider nicht! Wo genau müsste ich das {$X+} genau hinschreiben? Oder muss ich einen anderen Datentyp nehmen? Double geht auch nicht.

Ich habe den Extended-Typ jetzt herausgenommen und durch Integer ersetzt. Der Fehler ist nicht weg ...

Danke für Eure Tipps.

Harald

Geändert von hberdel ( 1. Mai 2014 um 21:48 Uhr) Grund: Neue Erkenntnisse
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: Von Delphi 2010 auf XE5: Zahl außerhalb des gültigen Bereichs

  Alt 1. Mai 2014, 21:59
Wie groß ist denn die Zahl?

In Double passt ja immerhin eine 308-stellige Dezimalzahl. (mit 16 signifikanten Stellen an der Spitze)


Extended gibt es praktisch nicht mehr ... es ist wird jetzt nur noch FPU-intern verwendet, aber extern gibt es eigentlich nur noch Single und Double.
Extended als Typ blieb zwar vorhanden (damit alte Codes noch "funktionieren"), aber standardmäßig ist das jetzt nur noch ein Alias für Double.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 1. Mai 2014 um 22:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#3

AW: Von Delphi 2010 auf XE5: Zahl außerhalb des gültigen Bereichs

  Alt 1. Mai 2014, 21:59
Die Direktive {$EXTENDEDCOMPATIBILITY ON} ist nur für 64-Bit Compilate relevant, die du aber wegen der BDE nicht verwenden kannst. Daran wird es wohl nicht liegen. Ich vermute, du suchst noch an der falschen Stelle.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
hberdel

Registriert seit: 1. Feb 2003
Ort: Darmstadt, Provence, Südspanien
31 Beiträge
 
Delphi XE5 Professional
 
#4

AW: Von Delphi 2010 auf XE5: Zahl außerhalb des gültigen Bereichs

  Alt 2. Mai 2014, 12:37
Danke für Eure Antworten. Ich bin leider nicht mehr sehr geübt und mache nur ab und zu kleine Änderungen oder Erweiterungen an meinem Proggy. Was ich nun glaube herausgefunden zu haben ist, dass die nachstehende Zeile mit den Query-Values der Verursacher ist.

FData.FinStandQYMieteAnd_aP.Value := FData.MieteAndereQYMiete.Value * 0.85;

Gibt Euch das eine Idee?

Gruß Harald
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

AW: Von Delphi 2010 auf XE5: Zahl außerhalb des gültigen Bereichs

  Alt 2. Mai 2014, 13:11
Was sagt der Debugger oder weißt du es auch so .... Welchen Wert hat MieteAndereQYMiete?

Und wie ist FinStandQYMieteAnd_aP in der Datenbank definiert?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
hberdel

Registriert seit: 1. Feb 2003
Ort: Darmstadt, Provence, Südspanien
31 Beiträge
 
Delphi XE5 Professional
 
#6

AW: Von Delphi 2010 auf XE5: Zahl außerhalb des gültigen Bereichs

  Alt 2. Mai 2014, 15:07
Hallo himitsu,
die Daten in dieser Tabelle sind in der BDE alle als BCD mit Größe 8 definiert. Der Wert liegt bei allen zwischen 0 und etwa 60000.
z.B. 60.948,4 für FData.FinStandQYMieteAnd_aP.Value

Um es nochmal zu betonen: Unter Delphi 2010 funktioniert das problemlos. Ich habe noch beide IDE's (2010 und XE3) auf dem Rechner.

Gruß Harald
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Von Delphi 2010 auf XE5: Zahl außerhalb des gültigen Bereichs

  Alt 2. Mai 2014, 15:29
Was spricht dagegen deine "und mache nur ab und zu kleine Änderungen oder Erweiterungen an meinem Proggy" weiter mit D2010 zu machen?

Die BDE ist nunmal steinalt und wenn durch neuere Delphi-Versionen die BDE schrittweise kaputt geht - na und!
Dafür ist sie schon ca. 15 Jahre abgekündigt und Emba hat besseres zu fixen als noch weiter unnötig Zeit mit der BDE zu verbringen.

Also wenn du XEx verwenden willst: Schmeiß endlich die BDE raus oder bleib bei D2010!
Windows Vista - Eine neue Erfahrung in Fehlern.
  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 19:59 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