Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   NAN Error nach Windows Update (https://www.delphipraxis.net/202389-nan-error-nach-windows-update.html)

stalkingwolf 29. Okt 2019 14:15

Delphi-Version: XE4

NAN Error nach Windows Update
 
Es gibt hier von 2010 einen Thread https://www.delphipraxis.net/151702-...h-0-nan-2.html
Aber das kann es bei uns nicht sein. Kunden von uns haben Windows Updates eingespielt und nun werfen unsere Programm ( nicht immer aber mehrmals am Tag ), den Fehler NAN ist kein gültiger Fließkommawert aus.
Programme die schon länger beim Kunden sind und kein Update erhalten haben.

Wir haben nun innerhalb einer Woche 3 kunden welche das Problem mehrmals am Tag haben und angeblich die Programme von uns komplett beenden müssen, damit es wieder funktioniert.

Dabei ist es scheinbar egal ob das Programm mit Delphi 6, XE4 oder Berlin kompiliert wurde.

Mavarik 29. Okt 2019 14:22

AW: NAN Error nach Windows Update
 
MaskEdits?

Mavarik

stalkingwolf 29. Okt 2019 14:35

AW: NAN Error nach Windows Update
 
Die Frage ist ob wie MaskEdit Felder benutzen?
Falls ja, dann nein das benutzen wir nicht.

hoika 29. Okt 2019 15:09

AW: NAN Error nach Windows Update
 
Hallo,
MadExcept benutzen, um beim Kunden den Fehler zu finden.
Besser wäre es aber, den Fehler selber nachstellen zu können.

Der schöne Günther 29. Okt 2019 16:28

AW: NAN Error nach Windows Update
 
Ist das nicht verwandt mit dem Problem wie z.B. Druckertreiber (oder andere Dinge die von der eigenen Anwendung verwendet werden) die FPU-Einstellungen des Prozesses ändern und nicht wieder auf Delphi-Eigenart zurückstellen wenn sie fertig sind?

stalkingwolf 29. Okt 2019 16:39

AW: NAN Error nach Windows Update
 
Das stand in dem anderen Thread.

Laut unserem Kunden würde das neustarten des Programmes das Problem lösen.
Mad Except wäre eine Idee.

Luckie 29. Okt 2019 17:57

AW: NAN Error nach Windows Update
 
Hat das Update eventuell das Dezimaltrennzeichen geändert und euer Programm kommt damit nicht klar?

stalkingwolf 30. Okt 2019 07:28

AW: NAN Error nach Windows Update
 
Zitat:

Zitat von Luckie (Beitrag 1450448)
Hat das Update eventuell das Dezimaltrennzeichen geändert und euer Programm kommt damit nicht klar?

Nein hat es nicht. Unser Programm kommt aber eh damit klar, da wir auch Kunden in der Schweiz haben.

Der Fehler tritt auch nur sporadisch pro PC auf, wenn der Fehler da ist, behebt nur das neu starten des Programmes den Fehler.
Andere PCs mit dem gleichen Programm auf den gleichen Datensatz haben kein Problem, aber es kann 1h auf dem gleichen PC, der gleiche Fehler auftreten.

Alle PCs haben eins gemeinsam. Es sind Windows 10 PCs mit dem neuesten Update.

Bei einem Kunden müsste ich nach den Druckern fragen, aber die haben eine Kooperation mit Canon und nicht HP.

stalkingwolf 30. Okt 2019 16:09

AW: NAN Error nach Windows Update
 
Ok das Problem ist relativ simpel, hat aber definitiv was mit dem neuesten Windows Update ( scheinbar für alle Windows Versionen ) zu tun.

Und zwar ist nach einem .navigate auf der TWebBrowser danach das Exception Handling im Eimer.
Das passiert sogar mit alten Windows/IE Versionen, wenn auf der Seite ein Fehler auftritt. 403, Script Error usw.
Aber mit den neuen gepatchten Windows Versionen reicht ein about:blank

Code:
procedure TForm1.Button1Click(Sender: TObject);
var a,b: real;
begin

    webbrowser.Navigate('about:blank');
 // webbrowser.Navigate('http://www.google.de');
    try
            a:= 100;
            b:= 100;
            a:= a / (100 - b);
            showmessage(format('<%.2f> <%.2f>',[a,b]));
    except
        // a := 0;
        // on e:EZeroDivide do showmessage('EZeroDevide');
        on E : Exception do
            ShowMessage(E.ClassName+' error raised, with message : '+E.Message);
    end;
end;
Resultat ist keine Exception und in A steht INF.
In ein paar anderen Konstellationen kann auch NAN drin stehen.

Edit : System.Set8087CW(Default8087CW); nach .navigate aktiviert das Handling wieder.

Edit2 : 100% kann man sich auf das Set doch nicht verlassen und letztendlich ist das Problem auch das sich einige bei uns das Leben einfach gemacht haben und mit try/except eine Div durch 0 abzufangen :-) Die sauberste Variante ist natürlich das abfangen ob durch 0 dividiert wird.

TurboMagic 30. Okt 2019 17:02

AW: NAN Error nach Windows Update
 
Kannst du das Problem mit dem verstellten x87 Modus bitte in Quality.embarcadero.com erfassen?
Evtl. können die ja etwas tun und es wird auch für die internationale Community besser sichtbar.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:30 Uhr.
Seite 1 von 2  1 2      

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