![]() |
Zip - WriteSpan klaptt nicht!
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). ![]() 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
Delphi-Quellcode:
benutzt.
ZipMaster1.WriteSpan( InFile, OutFile );
Wenn ich den Befehl einbaue kommt ein Fehler. Auch wenn ich folgenden Code versuche, kommt der Fehler "ZipMaster [ 11007 ]"
Delphi-Quellcode:
Ich bin für jede Hilfe sehr dankbar!
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. |
Re: Zip - WriteSpan klaptt nicht!
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:
Aber es kommt eine Fehlermeldung "Zugriffsverletzung", wenn ich
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.
Delphi-Quellcode:
einfüge. Wenn ich das Zipfile öffne, ist aber alles in Ordnung.
AbZipper1.SpanningThreshold := 1000000; // entspr. ca. 1 MB
Wie kann ich diese Fehlermeldung unterdrücken oder verbessern? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz