Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   EConvertError Delphi 6 Prof. (https://www.delphipraxis.net/198690-econverterror-delphi-6-prof.html)

kdf 23. Nov 2018 18:09

EConvertError Delphi 6 Prof.
 
Hallo,

kann mir jemand sagen, wie ich diesen Fehler lokalisieren kann?

Im Projekt ist eine Exception der Klasse EConvertError aufgetreten. Meldung "4B030000' ist kein gültiger Integerwert'.

Der Fehler tritt nach einem Update von IBO 4.8 auf 5.9.9 auf wenn eine bestimmte IB_Query geöffnet wird. Beim 2. Start ist die Meldung nicht mehr da. Wenn das Programm nicht aus der IDE gestartet wird, ist die Meldung auch nicht da.

Gruß
K.-D.

p80286 23. Nov 2018 19:16

AW: EConvertError Delphi 6 Prof.
 
Zitat:

Zitat von kdf (Beitrag 1418976)
Der Fehler tritt nach einem Update von IBO 4.8 auf 5.9.9 auf wenn eine bestimmte IB_Query geöffnet wird.

Dann wäre es vielleicht gut uns den entsprechenden Sourcecode zu zeigen?

Gruß
K-H

DP-Maintenance 23. Nov 2018 20:23

Dieses Thema wurde am "23. Nov 2018, 21:23 Uhr" von "Luckie" aus dem Forum "Algorithmen, Datenstrukturen und Klassendesign" in das Forum "Object-Pascal / Delphi-Language" verschoben.

kdf 23. Nov 2018 20:45

AW: EConvertError Delphi 6 Prof.
 
Hallo,
es funktioniert jetzt wieder, die Ursache ist mir nicht ganz klar.

Hier ist einmal die IB_Cursor CAuftragSumme

SELECT
SUM(AUF2_SOLLMENGE) AS SUM_SOLLMENGE,
SUM(AUF2_ISTMENGE) AS SUM_ISTMENGE,
SUM(AUF2_GESAMTPREIS) AS SUM_GESAMTPREIS
FROM T_AUFTRAG2
WHERE (AUF2_REF = :REF) AND (AUF2_STATUS = :STATUS)

und die IB_Cursor CAufSumme

SELECT SUM(LAG2_MENGE)-SUM(LAG2_ENTNAHME) AS LAG2_GESAMT
FROM T_LAGER2
WHERE LAG2_AUFTRAGNR=:AUF


procedure TDM1.AuftragSumme(Sender:TObject);
begin
//exit;
CAuftragSumme.Close;
CAuftragSumme.ParamByName('REF').Assign(DM1.QAuftr ag.FieldByName('AUF_ID'));
CAuftragSumme.ParamByName('STATUS').Assign(DM1.QAu ftrag2.FieldByName('AUF2_STATUS'));
If CAuftragSumme.Prepared then CAuftragSumme.Unprepare;
CAuftragSumme.Prepare;
CAuftragSumme.First;
CAufSumme.Close;
CAufSumme.ParamByName('AUF').Assign(DM1.QAuftrag.F ieldByName('AUF_AUFTRAGNR'));
If CAufSumme.Prepared then CAufSumme.Unprepare;
CAufSumme.Prepare;
CAufSumme.First;
end;

Das war wahrscheinlich ein Initialisierungsfehler in :REF, bzw. AUF_ID. AUF_ID ist Integer. Ich habe die P AuftragSumme zunächst auskommentiert (exit). Der Fehler trat dann nicht mehr auf. Nachdem ich dann exit auskommentiert habe, kam es nicht mehr zu dem Fehler.

Funktioniert jetzt. Besser wäre es, ich wüßte auch warum.

K.-D.


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