AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

"Delphi"-Exceptions verhindern

Ein Thema von DelphiUser7 · begonnen am 22. Okt 2003 · letzter Beitrag vom 31. Okt 2003
Antwort Antwort
Seite 1 von 3  1 23      
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#1

"Delphi"-Exceptions verhindern

  Alt 22. Okt 2003, 13:51
Hi,
ich habe folgende Exception geschrieben:
Delphi-Quellcode:
try
   mediaplayer1.Open;
  except
   MessageBox(0,'Fehler beim Laden der Datei','Datei kann nicht geladen werden',16);
   FileLoad1.FileName := '';
   mediaplayer1.Open;
  end;
wie kann ich jetzt proggen, dass das Programm, wenn ich es auf IDE-Basis, d.h. nicht von Delphi ausgehend (=> F9) starte, nur noch meine eigene Exception anzeigt, und nicht auch noch die Exception, die das Programm bei einem Fehler normalerweise anzeigt; die ist nämlich für den Anwender sehr unverständlich ;

Gruss
DelphiUser7
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#2

Re: "Delphi"-Exceptions verhindern

  Alt 22. Okt 2003, 13:59
Hallo,
mediaplayer1.Open;
aus dem except Abschnitt rausnehmen.
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#3

Re: "Delphi"-Exceptions verhindern

  Alt 22. Okt 2003, 14:02
try
..
except
on e.exception do
begin
QUELLCODE FÜR EXCEPTION
end;
end;

So müsste es glaub ich gehen
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von Wormid
Wormid

Registriert seit: 26. Aug 2003
Ort: Steinfurt
292 Beiträge
 
Delphi XE2 Professional
 
#4

Re: "Delphi"-Exceptions verhindern

  Alt 22. Okt 2003, 14:05
Delphi-Quellcode:
procedure TForm1.HandleMCIDeviceError;
begin
  ShowMessage('Mist!');
  Form1.MediaPlayer1.Close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    MediaPlayer1.Open;
  except
    on E: EMCIDeviceError do HandleMCIDeviceError;
  end;
end;
Debuggers don't remove Bugs, they only show them in Slow-Motion.
  Mit Zitat antworten Zitat
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#5

Re: "Delphi"-Exceptions verhindern

  Alt 23. Okt 2003, 10:20
Hi,
entschuldigung, dass ich nochmal poste, aber da ist noch ein Problem aufgetaucht: Die Sache mit der vom Programm erstellten Exception hab ich mittlerweile in den Griff bekommen , aber was kommt danach ; ich meine, der Anwender muss ja früher oder später auch mal eine Datei öffnen können, nachdem er einen Dateinamen falsch eingegeben hat; das heißt also im Klartext Ich möchte wissen, wie man den ÖffnenDialog noch 'am Leben erhalten' kann, bis der Benutzer entweder auf 'Abbrechen' klickt, oder eine Datei öffnet;
Hoffe, ihr versteht mein Problem;
Mein Quelltext sieht momentan folgendermaßen aus:
Delphi-Quellcode:
try
    mediaplayer1.Open;
  except
    HandleMCIDeviceError;
   try
    fileLoad1.Execute;
   except
    on E: EMCIDeviceError do HandleMCIDeviceError2;
   end;
  end;
Jetzt die beiden Fehlerbehandlungsroutinen:

Delphi-Quellcode:
procedure TForm1.HandleMCIDeviceError;
begin
 ShowMessage('Datei kann nicht geöffnet werden!'+#13+'Player wurde nicht geöffnet!');
 Form1.MediaPlayer1.Close;
end;

procedure TForm1.HandleMCIDeviceError2;
begin
 ShowMessage('Es wurde keine Datei geladen!');
end;
  Mit Zitat antworten Zitat
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#6

Re: "Delphi"-Exceptions verhindern

  Alt 23. Okt 2003, 10:38
Hallo? Seid ihr noch da?
  Mit Zitat antworten Zitat
Tom

Registriert seit: 7. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#7

Re: "Delphi"-Exceptions verhindern

  Alt 23. Okt 2003, 10:42
Zitat von DelphiUser7:
Hallo? Seid ihr noch da?
Ja.

Tom der glaubt sich daran erinnern zu können, dass es hier kein Antwortzwang gibt.
  Mit Zitat antworten Zitat
Benutzerbild von Wormid
Wormid

Registriert seit: 26. Aug 2003
Ort: Steinfurt
292 Beiträge
 
Delphi XE2 Professional
 
#8

Re: "Delphi"-Exceptions verhindern

  Alt 23. Okt 2003, 10:46
So wird der Opendialog so lange angezeigt, bis eine gültige Datei ausgewählt wurde, oder der Anwender auf abbrechen geklickt hat.
Ne elegantere Lösung ist mir auf die schnelle nicht eingefallen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var UserCanceled: Boolean;
begin
  MediaPlayer1.Filename := '';
  repeat
    UserCanceled := not OpenDialog1.Execute;
    if not UserCanceled then
    begin
      try
        MediaPlayer1.FileName := OpenDialog1.FileName;
        MediaPlayer1.Open;
      except
        on E: EMCIDeviceError do
        begin
          ShowMessage(ExtractFileName(OpenDialog1.Filename) + ' konnte nicht geöffnet werden!');
          MediaPlayer1.Filename := '';
          UserCanceled := false;
        end;
      end;
    end;
  until (Length(MediaPlayer1.FileName) > 0) OR UserCanceled;
end;
Debuggers don't remove Bugs, they only show them in Slow-Motion.
  Mit Zitat antworten Zitat
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#9

Re: "Delphi"-Exceptions verhindern

  Alt 23. Okt 2003, 11:15
@ Tom;
natürlich nicht, aber wozu ist denn ein Forum sonst da, als um 'Infos' auszutauschen;
hat ja auch niemand gesagt, dass IHR eine Antwort auf meine Frage haben MÜSST;
Antwortzwang, dieses Wort existiert, soweit ich weiß, überhaupt nicht im Deutschen Wörterbuch,
aber ich weiß natürlich trotzdem, was gemeint ist;


@ Wormid;
Erst mal danke für den SourceCode, aber ein Problem besteht immer noch: WENN man auf 'Abbrechen' klickt, DANN zeigt das Programm immer noch an: 'Es konnte kein MCI-Gerät geöffnet werden!' bzw. als Exception: 'Kein MCI-Gerät geöffnet!';
Und weiterarbeiten kann das Programm damit natürlich schlecht!;
Außerdem wird der OpenDialog 2 Mal angezeigt, und erst nach dem 2. Mal nimmt er die Eingabe an;


DelphiUser7
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: "Delphi"-Exceptions verhindern

  Alt 23. Okt 2003, 12:18
öhmmmm.....warum nicht einfach im Open-Dialog in den Optionen

PathMustExist=True
FileMustExist=True

Dann kommt der erst garnicht raus ohne eine Gültige Datei gewählt zu haben (mit entsprechenden filtern kannst du sogar den typ feststellen !)
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:20 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