Einzelnen Beitrag anzeigen

Fukiszo
(Gast)

n/a Beiträge
 
#26

AW: Externes Programm Teil 2

  Alt 28. Jan 2018, 11:07
Delphi-Quellcode:
procedure TPasswords.PWSaveToFile(const s: string);
var
  ff: TFileStream;
  Dummy: array[0..2047] of Char;
  Buffer: string;
begin
  if not DLLFound then Exit;
  try
    Form1.Cursor:=crHourGlass;
    Form1.Memo1.Cursor:=crHourGlass;
    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;
    if FileSetAttr(Self.Archivname,0) = 0 then RecycleFile(Self.Archivname,false,true);
    if SevenZipCreateArchive(Application.Handle,Archivname,'\',
                             TempPfad,4,true,false,GPw,false) <> 0 then beep;
    FillChar(Dummy,SizeOf(Dummy),'X');
    ff:=TFileStream.Create(TempPfad,fmCreate or fmShareDenyWrite);
    try
      ff.Write(Dummy,SizeOf(Dummy));
    finally
      ff.Free;
    end;
    RecycleFile(TempPfad,false,true);
  finally
    Form1.Memo1.Cursor:=crDefault;
    Form1.Cursor:=crDefault
  end
end; {TPasswords.PWSaveToFile}
du schreibst die datei nicht auf festplatte?
Code:
    try
      try
        ff:=TFileStream.Create(TempPfad,fmCreate or fmShareDenyWrite); // <<-- hier versuchst du eine datei zu erstellen
      except
        Exit; // <<-- bei fehler komplett raus und alle fehler ignorieren
      end;
      ff.Write(Buffer[1],Length(Buffer)); // <<-- hier fängst du die datei zu füttern
    finally
      ff.Free; // <<-- hier machst du die datei zu ohne geschrieben zu haben
    end;

// also in meinem delphi müsste das hier dazwischen

    finally
      ff.Close; // <<-- das könnte helfen die datei auf festplatte zu bekommen
      ff.Free;
    end;

// falls das der fehler ist, wiederholst du den danach
  Mit Zitat antworten Zitat