Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi try...except funktioniert in RAD2007 nicht (https://www.delphipraxis.net/109630-try-except-funktioniert-rad2007-nicht.html)

EccoBravo 4. Mär 2008 21:09


try...except funktioniert in RAD2007 nicht
 
Hallo,

will Fehler bei einer StrToFloat Funktion mit einer try...except Schleife in einem Unit eines RAD Studio 2007-Programmes abfangen.
Diese try...except Schleife funktioniert aber nicht.

SysUtils habe ich in der uses der Unit eingetragen.

Es handelt sich hierbei um ein altes Delphi7 Programm, dass ich heute in RAD Studio 2007 übernommen habe.
In Delphi7 hat alles funktionieert.

Hat jemand eine Idee?

Danke

E. B.

alias5000 4. Mär 2008 21:11

Re: try...except funktioniert in RAD2007 nicht
 
was genau funktioniert nicht und wann tritt der Fehler auf?

mkinzler 4. Mär 2008 21:12

Re: try...except funktioniert in RAD2007 nicht
 
Meinst du innerhalb der IDE? In der Grundeinstellung von D7 war das genauso.
BTW besser TryStrToFloat() verwenden

Nuclear-Ping 4. Mär 2008 21:12

Re: try...except funktioniert in RAD2007 nicht
 
Code?

Christian Seehase 4. Mär 2008 21:13

Re: try...except funktioniert in RAD2007 nicht
 
Moin E.B.,

zunächst mal: try/except ist keine Schleife ;-)

Und jetzt mal die übliche Frage (meine Kristallkugel sagt mir, dass das Problem darin besteht, dass innerhalb der IDE eine Exception angezeigt wird):
Tritt das Problem innerhalb der IDE auf, oder auch, wenn Du das Programm so aufrufst?

EccoBravo 4. Mär 2008 21:27

Re: try...except funktioniert in RAD2007 nicht
 
Hallo allerseits,

natürlich ist try...except keine Schleife (müde, spät...)

interessant,
das Problem tritt nur innerhalb der IDE auf,
wenn ich die Exe so starte, geht es

Der Code ist angehangen
Config_Laden dient nur dazu, daß alle meine Programme das "richtige" und "falsche" Komma laden (wegen verschiedner Ländereinstellungen)
(In der EB_Config sind auch alle anderen allgemeinen Einstellungen meiner Progamme enthalten, sozusage eine gemeinsame Schnittstelle von allen eigenen Progammen)

Delphi-Quellcode:
uses ...SysUtils...;
...
procedure Config_Laden;
var
    FConfig: TIniFile;
begin
    FConfig := TIniFile.Create('C:\EB_SETUP\EB_Config.dat');
    Komma := FConfig.ReadString('Komma', 'Komma', EmptyStr);
    nichtKomma := FConfig.ReadString('Komma', 'nichtKomma', EmptyStr);
    FConfig.Free;
end;
...
// hier der ProblemCode
function StrToFloaten(s: string): single;
var
    p, l: integer;
    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
begin
    if s <> '' then
    begin
        try
            StrToFloaten := StrToFloat(s);
        except
            begin
                p := pos(nichtKomma, s);
                l := Length(s);
                if p <> 0 then
                    s := copy(s, 1, p - 1) + Komma + copy(s, p + 1, l - p);
                StrToFloaten := StrToFloat(s);
            end;
        end;
    end
    else
        StrToFloaten := 0;
end;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
In den Projectoptions/Compilereinstellungen habe ich nichts gefunden

Ich danke für Hilfe

E. B.

mkinzler 4. Mär 2008 21:40

Re: try...except funktioniert in RAD2007 nicht
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wie schon oben geschrieben sind die TryStrTo<Typ> Konvertierungsfunktionen den Exception-werfenden Versionen vorzuziehen.
Ansonsten kann man die Exceptions innerhalb der IDE für die einzelnen Exception-Typen abschalten.

sirius 4. Mär 2008 21:41

Re: try...except funktioniert in RAD2007 nicht
 
Das ist so gewollt. Der Debugger informiert dich trotzdem, dass eine Exception aufgetreten ist. Das ist eben nur im Debug-Mode so. Trotzdem läuft nach dem kleinen Fenster dein Programm so weiter, wie du es willst: Im Except-Block.

Und Due kannst dieses Verhalten in den Projketoptionen teilweise oder ganz ausschalten. Du kannst es auch für einzelne Units abstellen. Ganz nach belieben.

EccoBravo 4. Mär 2008 21:44

Re: try...except funktioniert in RAD2007 nicht
 
wo kann ich die Exceptions in der IDE abschalten?

sirius 4. Mär 2008 21:45

Re: try...except funktioniert in RAD2007 nicht
 
Zitat:

Zitat von EccoBravo
wo kann ich die Exceptions in der IDE abschalten?

Siehe Edit von mkinzler.

aber sie werden dir fehlen, wenn du gleich alle abschaltest :zwinker:

Edit: In Delphi 7 gehst du unter "Tools" --> "Debuger-Optionen"


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 Uhr.
Seite 1 von 2  1 2      

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