Установка Inno LoadStringFromFile завершается ошибкой, когда файл открыт в другом процессе
Чтобы проверить, запущена ли база данных (SQL Anywhere) и готова ли она к приему запросов, я выводю окно сообщения базы данных в файл журнала (текст), а затем пытаюсь прочитать его, используяLoadStringFromFile
, который я затем ищу конкретный текст, используяPos
, Проблема в том, что это не удается (я полагаю), поскольку файл используется.
Exec(strInstallPath + '\Bin32\dbeng17.exe', '-n ' + strEngineName + ' "' + strInstallPath + '\Database\Olympus.db" -n ' + strDatabaseName + ' -gdall -xtcpip -ti0 -c25p -ot "' + strTempPath + '\dbeng.log"', '', SW_HIDE,
ewNoWait, intResultCode);
if not LoadStringFromFile(strTempPath + '\dbeng.log', astrDatabaseEngineLog) then
begin
Log('Loading string from file failed.');
end;
Я также попытался скопировать файл журнала с помощьюFileCopy
и попытаться прочитать из копии файла, ноFileCopy
также не удается.
if not FileCopy(strTempPath + '\dbeng.log', strTempPath + '\dbengcopy.log', False) then
begin
Log('File copy failed.');
end;
Есть ли способ чтения из файла, который используется или другой способ сделать это?