AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zip - WriteSpan klaptt nicht!

Offene Frage von "Imagination"
Ein Thema von Imagination · begonnen am 11. Mär 2004 · letzter Beitrag vom 12. Mär 2004
Antwort Antwort
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
Imagination

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

Re: Zip - WriteSpan klaptt nicht!

  Alt 12. Mär 2004, 11:38
Ein merkwürdiger Fehler...
Die Komponenete kann nach einigem Experimentieren seine eigenen org. Beispiele nicht mal mehr richtig ohne Fehler ausführen. Hab Delphi neu installiert und Komponente auch, aber WriteSpan der Demo klappt nicht. Hab jetzt TurboPower Abbrevia installiert und damit klappt es fast

Delphi-Quellcode:
unit Release;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, FileCtrl, ExtCtrls, ZipMstr, AbMeter, AbBase,
  AbBrowse, AbZBrows, AbZipper;

type
  TForm2 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    Panel5: TPanel;
    Panel6: TPanel;
    Panel7: TPanel;
    Panel8: TPanel;
    Panel9: TPanel;
    DriveComboBox1: TDriveComboBox;
    DirectoryListBox1: TDirectoryListBox;
    Button1: TButton;
    FileListBox1: TFileListBox;
    Bevel1: TBevel;
    Label1: TLabel;
    CheckBox1: TCheckBox;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Label2: TLabel;
    SelectedList: TListBox;
    Button6: TButton;
    SortBut: TButton;
    AbZipper1: TAbZipper;
    Panel10: TPanel;
    Label3: TLabel;
    AbMeter1: TAbMeter;
    OpenDialog1: TOpenDialog;
    AbVCLMeterLink1: TAbVCLMeterLink;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure SortButClick(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;
  newName : String;
  newUploader : String;
  newInfo : String;

implementation

uses Share;

{$R *.dfm}

procedure TForm2.Button5Click(Sender: TObject);
Var
    i: Integer;
begin
  mkdir(ExtractFilePath(ParamStr(0))+'Upload\'+newName);

   AbZipper1.FileName:=ExtractFilePath(ParamStr(0))+'Upload\'+newName+'\'+newName+'.zip'; // Erst einmal erstellen damit
   AbZipper1.AddFiles( SelectedList.Items[0], 0 ); // hineingeschrieben werden kann?
                                         // Sonst klappt es irgendwie nicht!

   AbZipper1.ZipfileComment:='Kommentar';

  For i := 0 To SelectedList.Items.Count-1 Do
  Begin
   AbZipper1.FileName:=ExtractFilePath(ParamStr(0))+'Upload\'+newName+'\'+newName+'.zip';
   AbZipper1.AddFiles( SelectedList.Items[i], 0 );
  End;

end;

end.
Aber es kommt eine Fehlermeldung "Zugriffsverletzung", wenn ich
AbZipper1.SpanningThreshold := 1000000; // entspr. ca. 1 MB einfüge. Wenn ich das Zipfile öffne, ist aber alles in Ordnung.

Wie kann ich diese Fehlermeldung unterdrücken oder verbessern?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz