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 2 von 3     12 3      
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#11

Re: "Delphi"-Exceptions verhindern

  Alt 23. Okt 2003, 12:25
versuchs mal mit Application.OnException (Beispiel gibts in der Delphi Hilfe). Dort kannst über die E: Exception Variable auf die Nachricht der Exception zugreifen und diese anzeigen oder halt auch deine eigene Nachricht.

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: "Delphi"-Exceptions verhindern

  Alt 23. Okt 2003, 12:27
Moin DelphiUser,

ausserdem könnte man auch einfach das OnCanClose Ereignis des Dialoges benutzen:

Delphi-Quellcode:
procedure TForm1.OpenDialog1CanClose(Sender: TObject;
  var CanClose: Boolean);
begin
  try
    MediaPlayer1.FileName := OpenDialog1.FileName;
    MediaPlayer1.Open;
  except
    MediaPlayer1.FileName := '';
    ShowMessage('KEINE GÜLTIGE DATEI');
    CanClose := false;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if not OpenDialog1.Execute then exit;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
DelphiUser7

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

Re: "Delphi"-Exceptions verhindern

  Alt 23. Okt 2003, 12:57
@ Christian Seehase;
Vielen Dank!;
Das war die Lösung aller Probleme!;

Gruss
DelphiUser7
  Mit Zitat antworten Zitat
DelphiUser7

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

Re: "Delphi"-Exceptions verhindern

  Alt 23. Okt 2003, 17:57
@ Christian Seehase

Nein, leider doch nicht; eins, aber auch nur ein einziges Problemchen gibt es noch: der OpenDialog öffnet jetzt nur bei jedem 2. Anlauf; hast du eine Erklärung dafür?, ich meine: immerhin hast du den Source ja gepostet ;

MfG
DelphiUser7
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: "Delphi"-Exceptions verhindern

  Alt 23. Okt 2003, 18:03
Moin DelphiUser,

ich weiss ja nicht, was Du sonst noch so alles in Deinem Programm drinhast, aber bei mir funktioniert's.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
DelphiUser7

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

Re: "Delphi"-Exceptions verhindern

  Alt 30. Okt 2003, 22:09
Sorry, dass ich noch mal poste , aber da hat sich eines noch nicht geklärt: Was macht der OpenDialog bzw. der Mediaplayer, wenn ich schon mal eine Datei geöffnet habe, und dann einen ungültigen Dateinamen eingebe?; bei mir ist es nämlich so, dass er dann eine Meldung wie 'Kein MCI-Geraet geöffnet' oder so anzeigt ; diese Meldung wird nur dann nicht angezeigt, wenn noch keine Datei geöffnet wurde!;
Es wäre nett, wenn ihr mir helft, dieses letzte Problemchen aus der Welt zu schaffen ;

MFG
DelphiUser7
Shell...wieso musste ausgerechnet Shell Teil einer Programmiersprache werden...wieso nicht Esso, Aral oder Dea;

MfG
DelphiUser7
  Mit Zitat antworten Zitat
DelphiUser7

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

Re: "Delphi"-Exceptions verhindern

  Alt 31. Okt 2003, 10:40
So wie ich das sehe, weiss keiner eine Antwort ;
eigentlich müsste der OpenDialog ja auch funktionieren, immerhin stammt der Code von einem Super-Moderator; dann muss der Fehler wohl bei mir liegen; aber ich seh da keinen, und alle die ich gesehen habe, hab ich beseitigt;
hier noch ein letzter verzweifelter Versuch mit dem Posten von Source;
OnCanClose von OpenDialog:
Delphi-Quellcode:
procedure TForm1.fileLoad1CanClose(Sender: TObject; var CanClose: Boolean);
begin
  try
    Mediaplayer1.FileName := FileLoad1.FileName;
    mediaplayer1.Open;
  except
    Mediaplayer1.FileName := '';
    ShowMessage('Keine gültige Datei ausgewählt!');
    CanClose := false;
  end;
end;
'Datei Öffnen'-Button:
Delphi-Quellcode:
procedure TForm1.BitBtn6Click(Sender: TObject);
begin
 with fileLoad1 do begin
  Filter := 'mp3-Files(*.mp3)|*.mp3|Wav-Files(*.wav)|*.wav|MIDI-Files(*.mid)|*.mid|Alle Audiodateien(*.mp3,*.wav,*.mid)|*.mp3;*.wav;*.mid';
 end;
  if fileLoad1.Execute then
 begin
  Ticks;
  TrackPane;
  newplaylist := TStringList.Create;
  mylabel.Enabled := true;
  myLabel.Caption := fileLoad1.FileName;
  c := PlayListBox.Items.Count;
  newplaylist.Add(fileLoad1.FileName);
  PlayListBox.Items.Clear;
  PlayListBox.Items.AddObject('PlayList001', newplaylist);
  PlayL1.Items.Count;
  if PlayL1.Items.Count = -1 then
   begin
    ClearSel1.Enabled := false;
   end else begin
    ClearSel1.Enabled := true;
   end;
  if not PlayL1.Items.Count = -1 then
   begin
    newplaylist.clear;
    newplaylist.Add(fileLoad1.fileName);
   end;
  PlayL1.Clear;
  PlayL1.Items.Assign(newplaylist);
  PlayListBox.ItemIndex := 0;
  PlayL1.ItemIndex := 0;
  ButtonsEnable;
  mediaplayer1.FileName := fileLoad1.FileName;
  MEDIAPLAYER1.OPEN <------ hab ich entfernt, weil ich dachte, es liegt daran, dass er irgendwie
  // versucht, eine Datei zu öffnen!; hat aber nichts geändert;
  mediaplayer1.Play;
  Stunden:=0; Minuten:=0; Sekunden:=0;
  Timer1.Enabled := True;
  MouseTrackBar1.Enabled := true;
 end else begin
  Exit;
 end;
end;
DelphiUser7, der weiss das es hier keinen Antwortzwang gibt! ;
Shell...wieso musste ausgerechnet Shell Teil einer Programmiersprache werden...wieso nicht Esso, Aral oder Dea;

MfG
DelphiUser7
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: "Delphi"-Exceptions verhindern

  Alt 31. Okt 2003, 11:42
Moin DelphiUser,

als erstes könntest Du mal im OnCanClose des OpenDialoges als erste Zeile hinter try noch ein MediaPlayer1.Close hinzufügen.
Anschliessend setz mal auf diese Zeile einen Breakpoint, und geh' mal im Einzelschritt (F7) durch den Code, sobald das Programm auf den Breakpoint gelaufen ist. Dann können wir mal einkreisen, wo der Fehler ausgelöst wird.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
DelphiUser7

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

Re: "Delphi"-Exceptions verhindern

  Alt 31. Okt 2003, 11:57
Der Fehler wird bei mediaplayer1.Open im try-Bereich des OnCanClose-Ereignisses ausgelöst; der Pfeil nebendran zeigt zumindest in diese Zeile;

MFG
DelphiUser7
Shell...wieso musste ausgerechnet Shell Teil einer Programmiersprache werden...wieso nicht Esso, Aral oder Dea;

MfG
DelphiUser7
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: "Delphi"-Exceptions verhindern

  Alt 31. Okt 2003, 12:22
Moin DelphiUser,

von da aus geht er also in den Except Zweig!?
Hätte ja bei einer ungültigen Datei durchaus seine Berechtigung, und ist gewollt, weil dann ja der Dialog nicht geschlossen werden darf.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 23:25 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