Autor Beitrag
Yacoon
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 72



BeitragVerfasst: Fr 11.03.05 13:56 
Hi zusammen,

mein Delphi7 Pro hat nen Schuss weg. Wenn ich die Anwendung mit dem Debugger starte und im Programm eine Exception auftritt, wird diese auch angezeigt, aber wenn ich die kompilierte EXE ohne Debugger starte bleibt das Programm einfach stehen.

Beispiel:

StrToInt('Test');

Das gibt normalerweise eine Exception, führe ich den Code aber ohne Debugger aus, bleibt das Programm einfach stehen.
Das ist zienlich sche****. Ich gehe davon aus, dass mein Compiler falsch konfiguriert ist, aber ich weiss nicht an welchem Schalter das liegen könnte.

Kann mir da jemand helfen?
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Fr 11.03.05 13:59 
Was in Projekt\Optionen oder Tools\Debugger umgestellt?

AXMD
Yacoon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 72



BeitragVerfasst: Fr 11.03.05 14:11 
Nein, nicht das ich wüsste, deswegen bin ich ja auch in bissel ratlos.
Ich habe mal die Einstellungen vom Linker und Kompiler dazugepackt.
Vielleicht siehst du was.
Einloggen, um Attachments anzusehen!
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Fr 11.03.05 14:14 
Nö, seh ich nichts :gruebel: Seltsam. Was passiert, wenn du das Programm aus der Delphi-IDE heraus startest?

AXMD

PS.: Könntest du vielleicht noch einen Screenshot von Tools\Debuggeroptionen machen?
Yacoon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 72



BeitragVerfasst: Fr 11.03.05 14:18 
Wenn ich es aus der Delphi IDE mit dem Debugger starte ist alles in Ordnung, dann erhalte ich die Exceptions, aber wenn ich das Programm so starte dann eben nicht .

Anbei noch mal Tools/Debugger
Einloggen, um Attachments anzusehen!
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Fr 11.03.05 14:22 
user profile iconYacoon hat folgendes geschrieben:
Wenn ich es aus der Delphi IDE mit dem Debugger starte ist alles in Ordnung, dann erhalte ich die Exceptions, aber wenn ich das Programm so starte dann eben nicht .

Exceptions werden NUR angezeigt wenn Du Dein Programm aus der IDE heraus gestartet hast. Das war schon immer so.

Reagiere einfach auf die Exception:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
Try
  StrToInt('Test'); 
Except
  { Fehlermeldung oder so anzeigen. }
End;
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Fr 11.03.05 14:26 
user profile iconTino hat folgendes geschrieben:
user profile iconYacoon hat folgendes geschrieben:
Wenn ich es aus der Delphi IDE mit dem Debugger starte ist alles in Ordnung, dann erhalte ich die Exceptions, aber wenn ich das Programm so starte dann eben nicht .

Exceptions werden NUR angezeigt wenn Du Dein Programm aus der IDE heraus gestartet hast. Das war schon immer so.


Das schon, Tino, aber nicht, dass das Programm bei so einem Fehler einfach einfriert.

AXMD
Yacoon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 72



BeitragVerfasst: Fr 11.03.05 14:28 
user profile iconTino hat folgendes geschrieben:
user profile iconYacoon hat folgendes geschrieben:
Wenn ich es aus der Delphi IDE mit dem Debugger starte ist alles in Ordnung, dann erhalte ich die Exceptions, aber wenn ich das Programm so starte dann eben nicht .

Exceptions werden NUR angezeigt wenn Du Dein Programm aus der IDE heraus gestartet hast. Das war schon immer so.

Reagiere einfach auf die Exception:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
Try
  StrToInt('Test'); 
Except
  { Fehlermeldung oder so anzeigen. }
End;


Bitte entschuldige, aber das stimmt doch nicht, oder hab ich da was verplant.
Wenn ich genau das selbe in Delphi5 mache, erhalte ich die Exception auch ausserhalb der IDE!
Oder wurde das in D7 geändert? Wohl kaum, oder?
Oder willst du mir weiss machen, dass kompilierte Programme von dir überhaupt keine Fehlermeldung an den Bildschirm ausgeben?
Das Beispiel mit StrToInt war wie gesagt nur ein Beispiel.
Yacoon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 72



BeitragVerfasst: Fr 11.03.05 14:29 
Genau, danke AXMD
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Fr 11.03.05 14:32 
Wobei Tino Recht hat, dass Exceptions nicht unbedingt auftreten müssen, wenn das Programm alleine läuft. Zumindest nicht alle Arten von Exceptions. Welche, kannst du einstellen.

AXMD
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Fr 11.03.05 14:34 
Hallo!

Sorry, habe mich wohl falsch ausgedrückt. Natürlich wird die Exception angezeigt. Allerdings dann nicht dieses Delphi IDE Fehlerfenster:
Zitat:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EConvertError aufgetreten. Meldung: ''Edit1' ist kein gültiger Integerwert'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------

Sondern nur
Zitat:
---------------------------
Project1
---------------------------
'Edit1' ist kein gültiger Integerwert.
---------------------------
OK
---------------------------

Ich dachte dieses Verhalten würdest du als "Neu" bezeichnen.

Gruß
Tino
Yacoon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 72



BeitragVerfasst: Fr 11.03.05 14:36 
OK, aber wie und wo stelle ich das ein? Denn ich glaub ich habe Tomaten auf den Aufgen.

Anbei noch mal ein Exceptionbeispiel (siehe Attachment).
Wenn ich das in Delphi5 mache und starte die EXE(nicht aus Delphi heraus), erhalte ich die Exception, nicht jedoch in Delphi7.

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
  StrToInt('Test');
end;

end.


Moderiert von user profile iconAXMD: Code- durch Delphi-Tags ersetzt.
Einloggen, um Attachments anzusehen!
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Fr 11.03.05 14:40 
Dann muss irgendwas in den Debuggereinstellungen von D7 nicht ganz in Ordnung sein. Vergleich mal folgende Seite mit deiner (Tools\Debuggeroptionen)

AXMD
Einloggen, um Attachments anzusehen!