Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Fragwürdige Meldung: E2003 ...is not a valid integer value (https://www.delphipraxis.net/150428-fragwuerdige-meldung-e2003-not-valid-integer-value.html)

onkelthom 16. Apr 2010 10:58


Fragwürdige Meldung: E2003 ...is not a valid integer value
 
Hallo,

Ewigkeiten läuft mein Programm stabil.
Nachdem ich jetzt von Interbase auf Firebird 2.1 (IBOJects) umgestellt habe, komme ich aus einer Prozedur nicht mehr raus.
Egal welchen Programmteil ich heraus nehmen, es verbleibt immer die Fehlermeldung:

Erste Gelegenheit für Exception bei $75729617. Exception-Klasse EConvertError mit Meldung ''' is not a valid integer value'


Alle als Integer deklarierten Variablen haben im Debugger numerische Werte.
Er bricht mit diesem Fehler jetzt selbst bei Dingen ab wie: WindowState:=wsMaximized;

Ich habe das Gefühl, dass meine Recordsets aus irgendeinem Grund leer sind, obwohl
- in der BDE sehe ich die Daten
- beim ersten Programmstart sehe ich auch Daten

Wahrscheinlich gehe ich mit den IBObjects Komponenten falsch um, aber ich weiss nicht an welcher Stelle :wall:

Ein Versuch ist:
Delphi-Quellcode:
TIBOQuery.SQL.Clear;
TIBOQuery.SQL.text := 'select * from tabelle';
TIBOQuery.Open;
Ein anderer Versuch war:
Delphi-Quellcode:
TIBOQuery.Close;
TIBOQuery.SQL.Clear;
TIBOQuery.SQL.Add('select * from tabelle');
TIBOQuery.Open;

Ich hab keinen Rat mehr :wiejetzt:

Wäre schön, wenn von Euch einer ne Idee hat.

Gruß
Thomas

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]

DeddyH 16. Apr 2010 11:15

Re: Fragwürdige Meldung: E2003 ...is not a valid integer val
 
Hast Du irgendwo ein IntToStr oder sowas im Code? Ansonsten hilft noch Durchsteppen (was bei großen Datenmengen allerdings ein wenig dauern kann) und schauen, an welcher Stelle die Exception auftritt.

hoika 16. Apr 2010 11:20

Re: Fragwürdige Meldung: E2003 ...is not a valid integer val
 
Hallo,

ohne Testprogramm ist es schwierig.

Zitat:

komme ich aus einer Prozedur nicht mehr raus.
Zeig die Prozedur.

Zitat:

Ein Versuch ist:
TIBOQuery.SQL.Clear;
TIBOQuery.SQL.text := 'select * from tabelle';
Das SQL.Clear ist hier nicht notwendig.
Das brauchst du nur wenn du SQL.Add nimmst.

Aber:
TIBOQuery ? das ist
Heisst die Variable wirklich so ?


Heiko

onkelthom 16. Apr 2010 11:32

Re: Fragwürdige Meldung: E2003 ...is not a valid integer val
 
Zitat:

Zitat von hoika
Hallo,

ohne Testprogramm ist es schwierig.

i know :-(
Aber es ist echt egal was ich raus nehme, er fliegt immer auf diese Exception drauf...
Halt auch bei einem WindowState:=wsMaximized; und das hat ja nicht mehr wirklich viel mit dem Datasource zu tun :wall:


Zitat:

Aber:
TIBOQuery ? das ist
Heisst die Variable wirklich so ?
Heiko
Neee - natürlich nicht ;-)
Hab´s nur für´s Forum so benannt um gleich die Objekte mit geben zu können ;-)

onkelthom 16. Apr 2010 11:36

Re: Fragwürdige Meldung: E2003 ...is not a valid integer val
 
Hab jetzt mal 3 Zeilen angehangen, die ausreichen für diese blöde Eception:

Delphi-Quellcode:
    IBOQeuery1.Close;
    IBOQeuery1.SQL.text := 'select * from vw_adressen';
    IBOQeuery1.Open;
In der Prozedur ist jetzt NIX anderes mehr drin...

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]

hoika 16. Apr 2010 11:57

Re: Fragwürdige Meldung: E2003 ...is not a valid integer val
 
Hallo,

IBOQeuery1 -> IBOQuery1 ;)

Kommt die Exception beim Open ?
Schau mal nach, ob es eine neuere Version von IBObjects gibt.


Ne, dann ist wohl in Delphi was zerschossen.

Was ist, wenn du ein komplett neues Projekt anlegst ?


Zurück zum letzten System-Wiederherstellungspunkt.


Heiko

SirThornberry 16. Apr 2010 12:04

Re: Fragwürdige Meldung: E2003 ...is not a valid integer val
 
Wenn es selbst beim setzen des Windowstate passiert vermute ich das es ein Thread ist der im Hintergrund läuft und nur zufällig der Hauptthread dann gerade bei eintsprechender Anweisung ist. Ich würde einfach mal bei Auftreten des Fehler den Stack anschauen wo die verschiedenen Threads hängen.

onkelthom 16. Apr 2010 12:32

Re: Fragwürdige Meldung: E2003 ...is not a valid integer val
 
Zitat:

Zitat von SirThornberry
Wenn es selbst beim setzen des Windowstate passiert vermute ich das es ein Thread ist der im Hintergrund läuft und nur zufällig der Hauptthread dann gerade bei eintsprechender Anweisung ist. Ich würde einfach mal bei Auftreten des Fehler den Stack anschauen wo die verschiedenen Threads hängen.

Das hört sich nicht schlecht an, zumal er nach dem Fehler die Daten liefert.
Aber ehrlich gesagt überforderst Du mich mit der Umsetzung ein wenig :gruebel:
Kannst Du mir die Umsetzung bitte für blöde erklären erklären ?

onkelthom 19. Apr 2010 13:35

Re: Fragwürdige Meldung: E2003 ...is not a valid integer val
 
Nach viiielen nervigen Stunden, hab ich´s jetzt gefunden :bounce1: :witch: :dancer2:
Einfacher als angedacht, aber erst Mal finden.
Für die Nachwelt hier die Lösung:

Es lag an einem an die Datasource gebundenen DBEdit und am Recordset.
Am Recordset war die Eigenschaft "Prepared Edits" auf true gesetzt.
Damit ist es in eine leere Zeile gesprungen und hatte keine ID für das DBEDit.
Die ID´s vergeb ich erst in der Datenbank...

Trotzdem DANKE an alle die mich angestossen haben !

Gruß
Thomas


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:37 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