Einzelnen Beitrag anzeigen

Benutzerbild von ascotlx
ascotlx

Registriert seit: 8. Mär 2005
Ort: Hamburg
97 Beiträge
 
Delphi 7 Professional
 
#1

KAZip - ich hab da mal ne' Frage zu

  Alt 29. Jun 2007, 18:01
Hallo alle zusammen,

ich habe eine Frage und hoffe, dass ich mich verständlich ausdrücke:

Ich will mehrere Dateien zu einen Archiv zusammenfassen.
Nun möchte ich eine procedur aufrufen die das für mich erledigt. Die procedur liegt in einer
eigenen .pas (ohne Form) Datei und war schon lauffähig bevor ich diese procdeur eingepflegt
habe. Als Fehlermeldung bekomme ich eine "Access Violation" und ich weiss nicht warum...

Vielleicht kann mir jemand helfen, hier der Code

Delphi-Quellcode:
...
unit blah;

interface

uses SysUtils, FileCtrl, Windows, Forms, inifiles, ShellApi, Messages,
     Dialogs, classes, KAZip;

procedure WriteLog(sText: string);
procedure packer(IniAList:TStrings);

var s, i, sec : string;
    KAZip1 : TKAZip;

const ....

implementation
Delphi-Quellcode:

procedure packer(IniAList:TStrings);
var s, str1, str2, str3: string;
    i : integer;
    Alist: TStringlist;
begin

 AList:=TStringlist.Create;
 AList.Assign(IniAList);
 s:='=';
 str2:=readsini('Archiv','Name0','newarc');
 str3:=readsini('Verzeichnis','TPFad','');

 if DirectoryExists(str3) then
  begin

   KAZip1.CreateZip(str3+'\'+str2+'.zip');
   KAZip1.FileName:=str2+'.zip'; <============ Hier fällt er anscheinend auf die Nase
   KAZip1.Active:=true;

   Form3.ProgressBar1.Min:=0;
   Form3.Show;
   Form3.ProgressBar1.Max:=AList.Count;

   for i := 0 to AList.Count -1 do
    begin
     str1:=copy(AList[i],Pos(s,AList[i])+1,255);
     KAZip1.AddFile(str1);
     Form3.Label1.Refresh;
     Form3.ProgressBar1.Position:=Form3.ProgressBar1.Position + 1;
    end;

   KAZip1.Active:=false;
   KAZip1.Close;
   KAZip1.Free;
   Form3.ProgressBar1.Position:=0;
   Form3.Close;
   AList.Free;
  end
 else
  begin
   MessageDlg( MTP + Msupp ,mtInformation, [mbOk], 0);
   WriteLog(MTP);
  end;
end;
In den Variablen stehen die Werte drin, die reingehören, soweit alles gut (Hoffe ich ....)
Kann mir bitte jemand weiterhelfen???! Ich habe keine Ahnung was da schief läuft.

Gruss && danke

ascotlx
workarounds gibt es wie Sand am Meer und manchmal hat man ein workaround ohne es zu wissen
  Mit Zitat antworten Zitat