Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.07.03;
Скачать: CL | DM;

Вниз

Необходимо обработать исключительную ситуацию   Найти похожие ветки 

 
Настя   (2008-06-14 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} ©   (2008-06-14 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.
Лучше ее(галку) не трогать(не снимать), а "такие" моменты можно проверять запуском программы из проводника... Ну на крайняк, можно ее на время отключить, а потом не забыть ее назад установить)


 
Настя   (2008-06-15 02:39) [2]

Спасибо:)Я же писала,что начинающий программист:)



Страницы: 1 вся ветка

Текущий архив: 2011.07.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
1-1257430353
igor666
2009-11-05 17:12
2011.07.03
Не модальная форма из DLL, не обрабатываются некоторые события.


2-1301399479
young_dev
2011-03-29 15:51
2011.07.03
вопрос про assert ы


15-1299066755
xayam
2011-03-02 14:52
2011.07.03
Ментальные карты


2-1301173364
Fr
2011-03-27 00:02
2011.07.03
Смещение ячеек в TDrawGrid


15-1300293054
boriskb
2011-03-16 19:30
2011.07.03
Браузеры + Adobe Flash Player