Конференция "Media" » Необходимо обработать исключительную ситуацию [D7]
 
  • Настя (14.06.08 11:24) [0]
    Моя программа проигрывает фоновую музыку. Музыка поставлена на повтор с помощью таймера. Мне необходимо обработать исключительную ситуацию, возникающую при отсутствии аудио кодеков или ошибки открытия устройства MCI. Являюсь начинающим программистом и прошу проявить понимание.Код программы приведен ниже:
    procedure TForm3.FormCreate(Sender: TObject);
    begin
    MediaPlayer1 := TMediaPlayer.Create(self);
    MediaPlayer1.ParentWindow := Form1.Handle;
    MediaPlayer1.Visible := False;
    Form3.MediaPlayer1.FileName := ExtractFilePath(Application.ExeName) + 'Музыка/Unknown - WinXP.wma';
    try
    MediaPlayer1.Open;
    except
    on EMCIDeviceError do
    begin
    MediaPlayer1.Close;
    end;
    end;
    try
    MediaPlayer1.Play;
    except
    on EMCIDeviceError do;
    end;
    end;
  • {RASkov} © (14.06.08 14:01) [1]
    > Код программы приведен ниже:

    Это не код.... это ужас какой-то....
    После вида такого "кода" даже и незнаешь с чего начинать советы :(

    > MediaPlayer1 := TMediaPlayer.Create(self);

    Случаем не компонент брошенный на форму с палитры компонентов? :)

    На счет кодеков... Ну тыж "почти" сделал(а) обработку исключения....
    Вот например общая обработка:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     with TOpenDialog.Create(Self) do try
      if Execute then begin
       try
        MediaPlayer1.FileName:=FileName;
        MediaPlayer1.Open;
        MediaPlayer1.Play;
       except
        ShowMessage('Не могу играть '+FileName);
       end;
      end;
     finally
      Free;
     end;
    end;


    В данном примере TOpenDialog как раз отсутствует на форме, и создается в рантайм....
    Надеюсь ты в курсе, что из под отладчика на исключениях происходит остановка, если не снята галка, которая по умолчанию установлена и это верно :)
    Галка: в опциях дебагера - Stop on Delphi Exception.
    Лучше ее(галку) не трогать(не снимать), а "такие" моменты можно проверять запуском программы из проводника... Ну на крайняк, можно ее на время отключить, а потом не забыть ее назад установить)
  • Настя (15.06.08 02:39) [2]
    Спасибо:)Я же писала,что начинающий программист:)
 
Конференция "Media" » Необходимо обработать исключительную ситуацию [D7]
Есть новые Нет новых   [134431   +13][b:0][p:0.001]