![]() |
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:
Der Code liegt in KAZip.
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; 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. |
Re: KAZip Open Archiv
Moin Holger,
hättest du eventuell ein Link zu der Homepage der Komponente ? |
Re: KAZip Open Archiv
|
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] |
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).
|
Re: KAZip Open Archiv
Hallo,
ich habe im OnCreate folgendes eingetragen
Delphi-Quellcode:
Und sobald das Programm zur Laufzeit da ankommt
procedure Tfrm_main.FormCreate(Sender: TObject);
begin myZipArchive.Create(self); end; 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:
Ich hab keine richtige Idee mehr.
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; 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: |
Re: KAZip Open Archiv
Du weist schon was du mit "self" übergibst, oder ?
|
Re: KAZip Open Archiv
Den Bezug auf meine eigene Anwendung.
Dachte ich wenigsten. Tue ich das nicht? |
Re: KAZip Open Archiv
Doch, aber wie es in deinem 2. Code zeigt, möchte er einen Filestream als Parameter haben.
|
Re: KAZip Open Archiv
ohne jetzt in den code geschaut zu haben:
Delphi-Quellcode:
kommt mir etwas spanisch vor.. wäre das nicht eigentlich:
procedure Tfrm_main.FormCreate(Sender: TObject);
begin myZipArchive.Create(self); end;
Delphi-Quellcode:
gruß
procedure Tfrm_main.FormCreate(Sender: TObject);
begin myZipArchive := TZipAchrive.Create(self); // oder wie auch immer die klasse heißt ? end; reli |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:25 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