Я внес дополнения в реестр и у меня в проводнике по нажатию правой кнопки мыши на файле в контекстном меню есть команда <Сохранить>, которая запускает программку записи пути к файлу. В программке всего две процедуры:
- Код: Выделить всё
procedure TForm1.SaveToLogFile;
var
f: TextFile;
Pfad: string; // Путь к файлу-источнику, на котором кликнули правой кнопкой мыши (ПКМ)
PathToLog: string;
begin
PathToLog := ExtractFilePath(ParamStr(0)) + 'Sicherung.log';
Pfad := ParamStr(1); // В param 1 хранится путь к файлу-источнику
try
AssignFile(f, PathToLog);
if not FileExists(PathToLog) then
begin
Rewrite(f);
CloseFile(f);
end;
Append(f);
try
Writeln(f, Pfad);
CloseFile(f);
except
MessageDlg('Ошибка записи!', mtError, [mbOk],0);
end;
except
MessageDlg('Ошибка при сохранении пути к файлу: ' + Pfad, mtError,[mbOk], 0);
end;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
Form1.Hide;
SaveToLogFile;
Close;
end;
Так вот, время от времени выскакивает системная ошибка Access denied. Обычно это бывает когда я сохраняю пути сразу к нескольким файлам (выделяю группу файлов и кликаю на них правой кнопкой мыши). Причем, какой-то один файл вызывает ошибку, а остальные записываются.
И еще. Я бы с удовольствием сделал эту программу вообще как Programm (без окон, просто begin - end), но не могу отобразить окошко "Ошибка записи!" (Uses Dialogs для MessageDlg или Windows для MessageBox не воспринимаются).
Есть ли решение отобразить диалог в простой программе?