В этой процедуре программа зацикливается, реагирует на все кроме кнопки завершения . Есть подозрение что в цикле
while not RenameFile(FlacName+'.wav',FlacName+'t.wav') do Application.ProcessMessages;
возможно по какой то причине фаил не создан
Подскажите пожалуйста как лучше решить и обойти эту проблему?
программа может проработать 1минуту , а может и 10 мин.
PHP код:
procedure SaveFlac(FlacName:string);
var
fw:file of byte;
i:integer;
hf: hwnd;
begin
iniWav; //инициализировать структуру Wave
assignFile(fw,FlacName+'.wav');
rewrite(fw);
blockWrite(fw,waveHdr,sizeOf(waveHdr)); //записать заголовок wave
blockWrite(fw,proc_buf[0],qz);
closeFile(fw);
while not RenameFile(FlacName+'.wav',FlacName+'t.wav') do Application.ProcessMessages;
ShellExecute(hf, 'open', 'flac.exe', PChar(' -F '+FlacName+'t.wav'), nil, SW_HIDE);
while not RenameFile(FlacName+'t.flac',FlacName+'.flac') do Application.ProcessMessages;
DeleteFile(FlacName+'t.wav');
end;
End;