![]() |
"Delphi"-Exceptions verhindern
Hi,
ich habe folgende Exception geschrieben:
Delphi-Quellcode:
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 :mrgreen: ;
try
mediaplayer1.Open; except MessageBox(0,'Fehler beim Laden der Datei','Datei kann nicht geladen werden',16); FileLoad1.FileName := ''; mediaplayer1.Open; end; Gruss DelphiUser7 |
Re: "Delphi"-Exceptions verhindern
Hallo,
mediaplayer1.Open; aus dem except Abschnitt rausnehmen. |
Re: "Delphi"-Exceptions verhindern
try
.. except on e.exception do begin QUELLCODE FÜR EXCEPTION end; end; So müsste es glaub ich gehen |
Re: "Delphi"-Exceptions verhindern
Delphi-Quellcode:
:hi:
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; |
Re: "Delphi"-Exceptions verhindern
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 :arrow: 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:
Jetzt die beiden Fehlerbehandlungsroutinen:
try
mediaplayer1.Open; except HandleMCIDeviceError; try fileLoad1.Execute; except on E: EMCIDeviceError do HandleMCIDeviceError2; end; end;
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; |
Re: "Delphi"-Exceptions verhindern
Hallo? Seid ihr noch da?
|
Re: "Delphi"-Exceptions verhindern
Zitat:
Tom der glaubt sich daran erinnern zu können, dass es hier kein Antwortzwang gibt. |
Re: "Delphi"-Exceptions verhindern
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; |
Re: "Delphi"-Exceptions verhindern
@ 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; :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: @ 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; :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: DelphiUser7 |
Re: "Delphi"-Exceptions verhindern
ö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 !) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 Uhr. |
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