Тема: delphi xor
Показать сообщение отдельно
  #1  
Старый 17.12.2013, 23:28
JeReK5542 JeReK5542 вне форума
Новичок
 
Регистрация: 18.11.2013
Сообщения: 61
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию delphi xor

Добрый вечер!
У меня есть такой код:
Код:
procedure TForm1.EnDecryptFile(pathin, pathout: string; Chave: Word);
var
  InMS, OutMS: TMemoryStream;
  cnt: Integer;
  C: byte;
begin
  InMS  := TMemoryStream.Create;
  OutMS := TMemoryStream.Create;
  try
    InMS.LoadFromFile(pathin);
    InMS.Position := 0;
    for cnt := 0 to InMS.Size - 1 DO
      begin
        InMS.Read(C, 1);
        C := (C xor not (ord(chave shr cnt)));
        OutMS.Write(C, 1);
      end;
    OutMS.SaveToFile(pathout);
  finally
    InMS.Free;
    OutMS.Free;
  end;
end;

использую его для 2 файлов, вообщем когда нажимаю кнопку выполняеться код:

Код:
EnDecryptFile(program_dbdir, program_dbdir, program_dbkey);
ADOConnection1.Connected:=True;
ADODataSet1.Active:=True;
...............
ADODataSet1.Active:=False;
ADOConnection1.Connected:=False;
EnDecryptFile(program_dbdir, program_dbdir, program_dbkey);

При первом запуске все нормально, но если повторить запуск, то пишет мол "Процесс не может получить доступ к файлу, так как он занят другим процессом".
Я так понял ошибка в
Код:
EnDecryptFile
.

Помогите решить проблему
Ответить с цитированием