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