![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброе время суток форумчане,
Для воспроизведения звука использую компонент NewAC. Т.к. я записываю аудио файл в БД, то перед этим, я его проверяю: Код:
if OpenDialog1.Execute then begin MP3In1.FileName := OpenDialog1.FileName; //step 1 if not MP3In1.Valid then begin showmessage(C_audio_not_valid); Exit; end; MP3In1.Free; И вот когда я записываю файл первый раз в БД, - все нормально. Но последующие разы, программа выкидывает ошибку: Debugger Exception Notification Project PEng_gDB.exe raised exception class EAccessViolation with message 'Access violation at address 00538514 in module 'PEng_gDB.exe'. Read of address 00000000'. Process stopped. Use Step or Run to continue. Перед ошибкой, компилятор проходит «step 1», и выкидывает в файл («unit ACS_Classes») модуля компонента, на строку «step 2»: Код:
procedure TAuFileIn.SetFileName; begin CloseFile; //step 2 // StartSample := 0; // EndSample := -1; FWideFileName := FN; FFileName := FN; end; такое впечатление, как будто, я забыл что-то закрыть. Программа пример «MP3Player» (самого компонента), отрабатывает все на ура. Да и моя программа воспроизводит все файлы подряд. А вот когда я проверяю файл (без воспроизведения) – летит ошибка. Может кто-нибудь здесь подскажет, в чем заковыка? Заранее спасибо. |