![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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» (самого компонента), отрабатывает все на ура. Да и моя программа воспроизводит все файлы подряд. А вот когда я проверяю файл (без воспроизведения) – летит ошибка. Может кто-нибудь здесь подскажет, в чем заковыка? Заранее спасибо. |