Einzelnen Beitrag anzeigen

Imagination

Registriert seit: 19. Mär 2003
14 Beiträge
 
#1

Zip - WriteSpan klaptt nicht!

  Alt 11. Mär 2004, 15:15
Hi,
ich möchte Dateien in eine Zip-Datei schreiben. Die Zip-Datei soll ein Archiv mit 1MB großen Teilen (gesplittet) sein. Habe die Delphi Zip v1.73 installiert (auf BD6-Enterprise).http://www.geocities.com/rjpeters_au/zipmaster.html.
Ich möchte mit dieser Komponente weiter arbeiten und kann auch Dateien in eine Zip-Datei einfügen und auch adden. Mit dem Splitten klappt es aber leider nicht! Die Demo 6 habe ich mir schon die ganze Zeit angeschaut, aber ohne Erfolg!

Dort wird ZipMaster1.WriteSpan( InFile, OutFile ); benutzt.

Wenn ich den Befehl einbaue kommt ein Fehler.

Auch wenn ich folgenden Code versuche, kommt der Fehler "ZipMaster [ 11007 ]"

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ZipMstr, StdCtrls;

type
  TForm1 = class(TForm)
    ZipMaster1: TZipMaster;
    Button3: TButton;
    ListBox1: TListBox;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 ZipMaster1.MaxVolumeSize :=10000;
 Zipmaster1.FSpecArgs.Clear;
 Zipmaster1.ZipFileName:='C:\test.zip';
 Zipmaster1.FSpecArgs.Add('C:\zipmaster.zip');
 Zipmaster1.AddOptions := [];
 Zipmaster1.AddOptions:= Zipmaster1.AddOptions + [AddDiskSpan];
 Zipmaster1.Add;

end;

procedure TForm1.Button3Click(Sender: TObject);
var
    IsOne: String;
begin
 ZipMaster1.MaxVolumeSize :=10000;
 Zipmaster1.AddOptions := Zipmaster1.AddOptions + [AddDiskSpan]; { we want diskspanning }
 Zipmaster1.FSpecArgs.Clear;
 Zipmaster1.FSpecArgs.Assign(Form1.ListBox1.Items); { specify filenames }
 Zipmaster1.FSpecArgs.Add('C:\zipmaster.zip');
 Try
  Zipmaster1.Add;
 Except
  ShowMessage('Error in Add; Fatal DLL Exception in mainunit');
 End;

 If Zipmaster1.SuccessCnt = 1 Then
  IsOne := ' was'
 Else
  IsOne := 's were';
 ShowMessage(IntToStr(Zipmaster1.SuccessCnt) + ' file' + IsOne + ' added');
end;

end.
Ich bin für jede Hilfe sehr dankbar!
  Mit Zitat antworten Zitat