Autor Beitrag
dTrace
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 31


Delphi 5 Enterprise
BeitragVerfasst: So 11.08.02 03:53 
Guten Tag,
ich habe ein programmiertechnisches Problem und zwar:

Ich habe ein kleines Programm geschrieben und habe innerhalb des Programms alle Exceptions mit den Methoden "Try..Except" und "Try..Finally" abgefangen! Das Programm reagiert nun auf Fehlermeldungen innerhalb des Programms. :)

Mein Problem: Wenn ich das Programm schließe z.B. mit der Routine: Form1.close; oder Application.terminate oder Application.destroy erscheint immer ein kritischer Systemfehler.

Ich habe dann versucht mit der API Methode "Seterrormode(Sem_failcriticalerrors)" den Fehler zu entfernen bzw. nicht anzeigen zu lassen....aber leider ohne Erfolg. Ich habe zusätzlich versucht mit dem Compilerbefehl {$i-} die Fehlermeldungen abzuschalten....klappt aber leider auch nicht.

Was kann man da machen?
Gruß: Dennis
zero
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: So 11.08.02 05:14 
wie währe es wenn du den fehler sucht er muss ja eine ursache haben, die beheben und alles ist gegessen, oder willst du einfach alle fehler nur "unterdrücken" und so tun als währe nix ? ist ja auch nicht sin der sache beim programmieren, wenn schon richtig :wink:

auf deine frage was man da machen kann: kurzgesagt DEBUGGEN :)
dTrace Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 31


Delphi 5 Enterprise
BeitragVerfasst: So 11.08.02 14:27 
Titel: Antwort
Also....

den Fehler kenne ich. Ich arbeite an einer Verschlüsselungssoftware die 2fach symetrisch verschlüsselt und zwar 2x256 bit.
Wenn das zweite Passwort falsch eingegeben wurde, werden die Dateien falsch entschlüsselt, und wenn dateien nach dem ersten entschlüsseln mit dem ersten Passwort entschlüsselt werden sollen, dann ensteht ein kritischer Fehler (da die werte in den Dateien völlig falsch sind). Aus diesem Grund, soll das System nicht auf diesen Fehler reagieren! Das Programm reagiert nicht darauf, aber nach dem beenden des Programms..enstehen systemfehler...

Gruß: Dennis :D
zero
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: So 11.08.02 17:27 
Hi,

also wenn ich jetzt richtig verstehe sollen die fehler im programm unterdrückt werden? ok, aber der fehler beim beenden ist da und du weißt auch nicht genau wo er herkommt ?

ich hatte mal einen fehler (war zwar in c++) da lief das prog einwandfrei, bis die funktion aufgerufen wurde die einige variablen mit werten füllte, wenn das passiert war kam nach der beendigung des programms eine exception, ich könnte mir nur vorstellen das deine variablen etwas falsch deklariert/definiert sind...

ansonsten weiß ich nicht ob das hilft denn fehler werden bei mir meißt immer beseitigt ;) aber teste es doch einfach mal:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
  try
    Application.Initialize;
    Application.CreateForm(TForm1, Form1);
    // .....
    Application.Run;
  except end;


einfach das in der projekt datei ändern, könnte ja helfen :)
dTrace Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 31


Delphi 5 Enterprise
BeitragVerfasst: So 11.08.02 22:38 
Hallo,
die Routine hat leider auch nicht funktioniert!

Woher der Fehler kommt weiß ich natürlich, das hängt mit der falschen Verschlüsselung zusammen....

Der Fehler taucht leider immer nur dann auf, wenn das Programm geschlossen wird....man kann den Fehler glaube ich nur mit bestimmten API Aufrufen entfernen. Ich habe auch schon versucht, einige Fehlerbehandlungsroutinen in den Onclose Event eizubinden....klappt aber leider auch nicht. Dass heißt also, dass das gesamte System den Fehler ignorieren muss!

Leider finde ich auf der Microsoft Seite keine Informationen über API Aufrufe.... :shock:

Gruß: Dennis
dTrace Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 31


Delphi 5 Enterprise
BeitragVerfasst: So 11.08.02 22:39 
Hallo,
die Routine hat leider auch nicht funktioniert!

Woher der Fehler kommt weiß ich natürlich, das hängt mit der falschen Verschlüsselung zusammen....

Der Fehler taucht leider immer nur dann auf, wenn das Programm geschlossen wird....man kann den Fehler glaube ich nur mit bestimmten API Aufrufen entfernen. Ich habe auch schon versucht, einige Fehlerbehandlungsroutinen in den Onclose Event einzubinden....klappt aber leider auch nicht. Dass heißt also, dass das gesamte System den Fehler ignorieren muss!

Leider finde ich auf der Microsoft Seite keine Informationen über API Aufrufe.... :shock:

Gruß: Dennis