Ja ich hab es nun auch gemacht aber das Problem ist doch noch nicht ganz weg.
Nun werden zwar mehrere Dateien in das Archive gepackt aber immer wenn man auf den Button drauf drückt wird das wieder überschrieben
Delphi-Quellcode:
procedure TForm2.sBitBtn8Click(Sender: TObject);
{...}
if (label1.Caption = 'Neu') and (neuendung = '.cab') then begin
opendialog2.Execute;
abmakecab1.FileName := neupfad+neuendung; bzw.{abmakecab1.openarchive(neupfad+'.cab');} // Hier wird das immer überschrieben
i2 := opendialog2.Files.Count;
for i := 0 to i2-1 do begin
neudatei := Extractfilename(opendialog2.Files[i]);
item := slistview2.Items.Add;
item.Caption := neudatei;
item.SubItems.Add(Extractfilename(neupfad)+'\'+neudatei);
//item.SubItems.Add(inttostr(abmakecab1.Items[i].CompressedSize)+' B');
abmakecab1.AddFiles(Extractfilename(opendialog2.Files[i]),0);
end;
abmakecab1.CloseArchive;
end;
Also immer wenn man auf den Button drück wird ein neues Archive erstellt, was ja nicht soll
wie verhindere ich das? Wenn ich Abmakecab1.filename außerhalb der If-Abfrage habe kommt die Meldung "Archive Filename ist Blank",
nun was ich auch komisch finde ist, dass das geht :
Delphi-Quellcode:
if (label1.Caption = 'Neu') and (neuendung = '.zip') then begin
opendialog2.Execute;
abzipper1.OpenArchive(neupfad+neuendung);
i2 := opendialog2.Files.Count;
for i := 0 to i2-1 do begin
neudatei := Extractfilename(opendialog2.Files[i]);
item := slistview2.Items.Add;
item.Caption := neudatei;
item.SubItems.Add(Extractfilename(neupfad)+'\'+neudatei);
//item.SubItems.Add(inttostr(abzipper1.Items[i].CompressedSize)+ ' B');
abzipper1.AddFiles(Extractfilename(opendialog2.Files[i]),0);
end;
abzipper1.CloseArchive;
end;
// Mit .zip Endung klappt alles Prima.