![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
В этой процедуре программа зацикливается, реагирует на все кроме кнопки завершения . Есть подозрение что в цикле while not RenameFile(FlacName+'.wav',FlacName+'t.wav') do Application.ProcessMessages;
возможно по какой то причине фаил не создан Подскажите пожалуйста как лучше решить и обойти эту проблему? программа может проработать 1минуту , а может и 10 мин. PHP код:
Последний раз редактировалось Siropchik, 08.02.2012 в 22:34. |
|
#2
|
||||
|
||||
|
Скорее всего в while. Например, если файл не найден. Или если он открыт другим процессом. Хотя в код особо не вчитывался.
|
|
#3
|
|||
|
|||
|
Я перед циклом фаил создаю и записываю в него данные
А сам цикл нужен для того что бы подождать когда фаил освободится от других процессов, что бы потом можно было запустить преобразования файла в другой формат |
|
#4
|
||||
|
||||
|
Посмотри использование ключа {$I+/-}
|
|
#5
|
|||
|
|||
|
Честно говоря я не знаю что это за зверь, я не профессионал
я так понял это деректива , но где ее прописывать? Цитата:
Последний раз редактировалось Siropchik, 08.02.2012 в 22:56. |
|
#6
|
||||
|
||||
|
Код:
{$I-}
assignFile(fw,FlacName+'.wav');
rewrite(fw);
if IOResult = 0 then
begin
blockWrite(fw,waveHdr,sizeOf(waveHdr)); //записать заголовок wave
blockWrite(fw,proc_buf[0],qz);
closeFile(fw);
end;
{$I+} Последний раз редактировалось angvelem, 08.02.2012 в 23:04. |