![]() |
|
#1
|
|||
|
|||
![]() Пожалуйста помогите обработать ошибку, создал небольшой радиоплеер на TBassSimple. Все работает отлично, но иногда когда плеер не может загрузить ссылку. Выскакивает ошибка: "Не удалось создать поток BASS_ERROR_HANDLE (5)". Иногда просто достает эта ошибка. Можно ее как нибудь обработать чтобы она не выскакивала, а например в Label1 писалось что то вроде "не могу загрузить ссылку." Весь инет облазил но так ничего не нашел. Может кто сможет помочь.
Исходник прилагаю. |
#2
|
||||
|
||||
![]() Цитата:
Пример: Код:
|
#3
|
|||
|
|||
![]() Пробовал уже try..except ноль эмоций, то есть ошибка все равно выскакивает. Может есть еще предложения.
|
#4
|
||||
|
||||
![]() Цитата:
|
#5
|
||||
|
||||
![]() И вот ещё что. Когда ты заключаешь в блок try..except, ты уверен что ошибку выдаёт именно приложение, а не отладчик Delphi? Попробуй запустить приложение не из под Delphi, а проводником.
|
#6
|
|||
|
|||
![]() Пробывал через проводник ошибка всеравно.
Вот файлы bass_simple.pas и bass.pas которые у меня. |
#7
|
|||||
|
|||||
![]() Цитата:
Чтобы в той версии которую ты выложил не появлялось никаких сообщений закоментируй MessageBox в модуле bass_simple здесь: Код:
Код:
|
#8
|
|||
|
|||
![]() Спасибо, помогли. Скачал версию по старее и обработал через try..except.
только вот теперь не компилируется останавливается на строке: bs.OnTitleChange:=BassTitle; и пишет :Incompatible types: 'Parameter lists differ'. не могли бы еще помочь с этим. |
#9
|
|||
|
|||
![]() Смотри внимательно описание типа обработчика события OnTitleChange.
Сигнатуры этого типа и твоей процедуры BassTitle различаются (кол-во и/или тип параметров скорее всего). |
#10
|
||||
|
||||
![]() Чего же так париться? Зачем использовать сторонние классы? С библиотекой BASS очень легко работать
![]() |
#11
|
||||
|
||||
![]() Цитата:
Сейчас посмотрел более внимательно - действительно, эти два модуля bass_simple.pas от одного и того же разработчика, но твоя версия поновее моей. Из истории изменений: Цитата:
![]() |
#12
|
|||||||
|
|||||||
![]() Цитата:
1) тексты сообщений валяются в массиве Код:
2) по коду ошибки в фукнции Код:
вот тут допишите свой обработчик типа Код:
насчет исключений да, не думал что может быть так, подумаю ... насчет кодов ошибок тоже. ![]() могу еще предложить в BassSimple ввести событие ошибки OnBassError : TBassErrorEvent = procedure (Sender: TObject; Text: string; Code: integer) of object; и если оно не назначено то будут выдаваться messagebox как раньше, а если назначено то вызываеться событие и там сам как хочешь обрабатывай и где такие радио станции нарыл что 90% не работают? Последний раз редактировалось alexpac26, 06.12.2012 в 07:55. |
#13
|
|||
|
|||
![]() Спасибо всем что откликнулись. Проблема решена. Насчет радиостанций там специально ошибки есть чтобы ошибку показать.
|
#14
|
||||
|
||||
![]() Цитата:
|