AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Firebird BigInt - Fehler bei Bereichsüberprüfung
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird BigInt - Fehler bei Bereichsüberprüfung

Ein Thema von Perlsau · begonnen am 4. Mär 2012 · letzter Beitrag vom 5. Mär 2012
Antwort Antwort
Benutzerbild von himitsu
himitsu
Online

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

AW: Firebird BigInt - Fehler bei Bereichsüberprüfung

  Alt 4. Mär 2012, 15:35
Delphi-Referenz durchsuchenTField.AsLargeInt
.AsVariant nicht, aber es gäbe noch ein ein .Value

Du scheinst ja einer der Wenigen zu sein, welcher die Bereichsüberprüfung in den Projektoptionen auch mal aktiviert hat.
Denn sonst wäre der Fehler wohl nicht so schnell aufgefallen.



Tipp:
Gib das nächste mal Dset_Datei.FieldByName('DATEIGROESSE').As ein und schau was dir die Autovervollständigung so alles anbietet,
vorallen welche Datentypen die angebotenen Dinge haben und such dir dort etwas Passendes raus.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 4. Mär 2012 um 15:40 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: Firebird BigInt - Fehler bei Bereichsüberprüfung

  Alt 4. Mär 2012, 16:04
Gibt es bei FibPlus-Dataset leider nicht

.AsVariant nicht, aber es gäbe noch ein ein .Value
Die Version mit .AsVariant läuft gerade durch, er hat's gleich

Du scheinst ja einer der Wenigen zu sein, welcher die Bereichsüberprüfung in den Projektoptionen auch mal aktiviert hat. Denn sonst wäre der Fehler wohl nicht so schnell aufgefallen.
Keine Ahnung, wie viele Leute die Überprüfungen einschalten, ich mache das in den Debug-Einstellungen immer. Wird am Ende mit Release-Einstellung kompiliert, sind die Überprüfungen natürlich deaktiviert. So sollte man es wohl auch machen, es sei denn, man interessiert sich nicht für Laufzeitfehler ...

Tipp: Gib das nächste mal Dset_Datei.FieldByName('DATEIGROESSE').As ein und schau was dir die Autovervollständigung so alles anbietet, vorallen welche Datentypen die angebotenen Dinge haben und such dir dort etwas Passendes raus.
Danke, aber ich arbeite immer mit Autovervollständigung, schon allein, weil's schneller geht und Fehler vermeiden hilft.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Firebird BigInt - Fehler bei Bereichsüberprüfung

  Alt 4. Mär 2012, 16:43
Nja, der Variant ist ein Typ, welcher unter Anderem einen Int64 enthalten kann, also ist das eine gute Lösung.
Abgesehn von der "unnötigen" Formatkonvertierung, falls es doch einen passenden nativen Weg gäbe.

Gibt es bei FibPlus-Dataset leider nicht
Gut, ich hätte erwartet, daß die auch auf TDataSet und damit auf TField aufsetzen. Kenn TpFIBDataSet allerding nicht.
Aber wenn dem nicht so ist.

Keine Ahnung, wie viele Leute die Überprüfungen einschalten,
Genug Probleme / Threads in der DP wären von selbst aufgefallen/gelöst, wenn mehr sowas machen würden.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: Firebird BigInt - Fehler bei Bereichsüberprüfung

  Alt 4. Mär 2012, 16:55
Nja, der Variant ist ein Typ, welcher unter Anderem einen Int64 enthalten kann, also ist das eine gute Lösung.
Scheint auch zu funktionieren. Ergebnis kann ich aber erst sehen, wenn meine Anwendung die ganze 1,5 Terrabyte-Platte gescant hat, sonst müßte ich den Suchlauf abbrechen, und das möchte ich nicht. (Ich lieg eh gleich in der Wanne, bis dahin dürfte er durch sein ...)

Abgesehn von der "unnötigen" Formatkonvertierung, falls es doch einen passenden nativen Weg gäbe.
Die Formatkonfertierung stört mich im Augenblick weniger, es ist ja eh nur ein Testprogramm ...
Mir kam auch noch in den Sinn, einen String zu verwenden (unsaubere Lösung, ich weiß) oder mittels SQL-Statement zuzuweisen.

Gibt es bei FibPlus-Dataset leider nicht
Gut, ich hätte erwartet, daß die auch auf TDataSet und damit auf TField aufsetzen. Kenn TpFIBDataSet allerding nicht.
Aber wenn dem nicht so ist.
Ja, ich bin auch überrascht, da die Firma mit Firebird-Kompatibilität wirbt und dann sowas! Weißt du, ob das Dataset von AnyDac einen LargInt-Parameter kennt?

Keine Ahnung, wie viele Leute die Überprüfungen einschalten,
Genug Probleme / Threads in der DP wären von selbst aufgefallen/gelöst, wenn mehr sowas machen würden.
Daher siehst du mich auch selten hier oder in den anderen Foren Fragen stellen – das meiste fällt mir selbst auf wie z.B. heute mittag der versehentliche Zuweisungsversuch eines Strings an ein als Integer deklariertes Feld Da gab's eine Zugriffsverletzung, und ich mußte erstmal Stück für Stück meinen Code durchackern, bis ich's gefunden hatte ...
  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 14:15 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