Einzelnen Beitrag anzeigen

Willie1

Registriert seit: 28. Mai 2008
655 Beiträge
 
Delphi 10.1 Berlin Starter
 
#18

AW: Externes Programm Teil 2

  Alt 25. Jan 2018, 17:00
Hallo, das Problem mit der DLL hat sich erledigt. Sorry!
Die neu kompilierte DLL wurde im Quelltext-Ordner abgelegt, die alte DLL lag im Debug-Ordner, das konnte natürlich nicht funktionieren. Das Host-Programm griff daher immer auf die alte DLL zu.

Mein Programm ist ein Passwort-Safe. Die Passworte und PIN's stehen in einem Memo-Feld, werden geladen, entschlüsselt und wieder verschlüsselt und abgespeichert. Zum Schluss wurden sie in ein mit Passwort gesichertes 7-zip-Archiv verpackt. Letzters geht leider nicht mehr.
Ich bin so vor gegangen:
Delphi-Quellcode:
      try
        ff:=TFileStream.Create(TempPfad,fmOpenRead or fmShareDenyWrite);
      except
        Result:=false;
        Exit
      end;
      SetLength(s,ff.Size);
      try
        ff.Read(s[1],Length(s));
      finally
        ff.Free;
      end;
      s:=Entschluesseln(s,true);//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Delphi-Quellcode:
    Buffer:=Verschluesseln(s,true);//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    try
      try
        ff:=TFileStream.Create(TempPfad,fmCreate or fmShareDenyWrite);
      except
        Exit
      end;
      ff.Write(Buffer[1],Length(Buffer));
    finally
      ff.Free
    end;
Übergabe an das Memo mit Memo1.Lines.Text:=s und umgekehrt.
Dieses Konstrukt läuft mit Delphi 2005 aber nicht mit Delphi Berlin. Ich hab's gerade nochmal ausprobiert. Auf meinem alten Vista-Notebook läuft das Programm fehlerfrei.
Was muss ich ändern, es ght mir darum die Datei nicht zeilenweise zu verschlüsseln sondern als Ganzes.

Alle Passwort-Programme, die in einen Browser integriert sind, laufen nach irgend einem Browser-Update oder in einem anderen Browser nicht (mehr). Deshalb das Memo-Feld:
Willie.
  Mit Zitat antworten Zitat