Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi KAZip Open Archiv (https://www.delphipraxis.net/111150-kazip-open-archiv.html)

little_budda 30. Mär 2008 16:58


KAZip Open Archiv
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich versuche mich gerade am packen von Dateien.
Ich nutze hierfür KAZip unter BDS 2006.

Der Compiler bringt keinen Fehler, aber zur Laufzeit bekomme ich eine Zugriffsverletzung an der folgenden Stelle

Delphi-Quellcode:
procedure TKAZip.Close;
begin
  Entries.Clear;  // <- Hier wird der Zugriffsfehler erzeugt
  if Assigned(FZipStream) AND (NOT FExternalStream) Then FZipStream.Free;
  FExternalStream := False;
  FZipStream     := Nil;
  FIsZipFile     := False;
  FIsDirty       := True;
  FReadOnly      := False;
  DoChange(Self,0);
end;
Der Code liegt in KAZip.
Und "Entries" ist auch unter Properties deklariert.
Mein Projekt liegt im Anhang.

Vielleicht hat ja jemand eine Idee oder noch besser eine Erklärung für mich.
:gruebel:

Gruß Holger.

MrKnogge 30. Mär 2008 17:03

Re: KAZip Open Archiv
 
Moin Holger,

hättest du eventuell ein Link zu der Homepage der Komponente ?

little_budda 30. Mär 2008 17:10

Re: KAZip Open Archiv
 
Ja klar.

KAZip gibt es HIER

Das verwendete BZip2 gibt es HIER

little_budda 31. Mär 2008 10:34

Re: KAZip Open Archiv
 
Hallo,

ich habe das Projekt gerade noch mal in Turbo Delphi getestet.
Aber das Ergebnis ist das gleiche.
Habe schon im Forum nach einem Beispielprojekt gesucht, aber nichts verwertbares gefunden.
:cry:
[edit]Schreibfehler[/edit]

Sko 31. Mär 2008 10:54

Re: KAZip Open Archiv
 
Also mir fehlt da irgendwo ein myZipArchive.Create, für mich siehts so aus als wenn du auf ein nicht erzeugtes Objekt zugreifst. Du musst das Objekt myZipArchive also noch irgendwo erzeugen (im OnCreate vielleicht).

little_budda 31. Mär 2008 12:19

Re: KAZip Open Archiv
 
Hallo,

ich habe im OnCreate folgendes eingetragen
Delphi-Quellcode:
procedure Tfrm_main.FormCreate(Sender: TObject);
begin
  myZipArchive.Create(self);
end;
Und sobald das Programm zur Laufzeit da ankommt
bekomme ich wieder eine Exeption mit Zugriffsverletzung.

Ich hatte mir das mir den nicht erzeugten Objekten auch schon gedacht,
aber das erzeugen des ZIPs klappt deswaegen habe ich die Idee verworfen.
Delphi-Quellcode:
procedure Tfrm_main.Neuanlegen1Click(Sender: TObject);
var FS : TFileStream;
begin
  // Archiv neu anlegen
  if SaveDialog1.Execute Then
     Begin
       FS := TFileStream.Create(SaveDialog1.FileName,fmOpenReadWrite or FmCreate);
       Try
         myZipArchive.CreateZip(FS); // <- Hier wird das ZIP erzeugt (kein Fehler)
       Finally
         FS.Free;
       End;
       myZipArchive.Open(SaveDialog1.FileName);
       Statusbar1.simpletext := ' Aktuelles Archiv: ' + SaveDialog1.FileName;
     End;                                                                
end;
Ich hab keine richtige Idee mehr.
Auf den Seiten von Torry, wo ich die Komponente heruntergeladen habe, ist sie auch nur bis D2005 angegeben.
Vielleicht klappt sie einfach nicht mit D2006.
:gruebel:

MrKnogge 31. Mär 2008 12:25

Re: KAZip Open Archiv
 
Du weist schon was du mit "self" übergibst, oder ?

little_budda 31. Mär 2008 12:30

Re: KAZip Open Archiv
 
Den Bezug auf meine eigene Anwendung.
Dachte ich wenigsten.
Tue ich das nicht?

MrKnogge 31. Mär 2008 12:33

Re: KAZip Open Archiv
 
Doch, aber wie es in deinem 2. Code zeigt, möchte er einen Filestream als Parameter haben.

Relicted 31. Mär 2008 12:35

Re: KAZip Open Archiv
 
ohne jetzt in den code geschaut zu haben:

Delphi-Quellcode:
procedure Tfrm_main.FormCreate(Sender: TObject);
begin
  myZipArchive.Create(self);
end;
kommt mir etwas spanisch vor.. wäre das nicht eigentlich:

Delphi-Quellcode:
procedure Tfrm_main.FormCreate(Sender: TObject);
begin
  myZipArchive := TZipAchrive.Create(self); // oder wie auch immer die klasse heißt ?
end;
gruß
reli


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:35 Uhr.
Seite 1 von 2  1 2      

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