2011-08-03 71 views
1

我曾經在表單上放置TZipForge組件,所以我可以使用它的事件處理程序。現在,我使用多個線程工作來提取一些zip文件,因此我創建了一個TZipForge類的實例作爲局部變量。如何在Object Inspector中沒有Event選項卡的情況下創建事件處理程序?在ZipForge中手動創建事件處理程序

回答

3

要創建一個事件hanlder手動喲必須建立與之相匹配的過程與目標事件的聲明,然後分配過程的地址到類的事件,例如,如果你想創建一個事件處理OnFileProgress事件時,您必須在班級中創建類似這樣的過程。

​​

檢查該樣本

procedure TForm1.FileProgress(Sender: TObject; FileName: string; 
    Progress: Double; Operation: TZFProcessOperation; 
    ProgressPhase: TZFProgressPhase; var Cancel: Boolean); 
begin 
    //do your stuff here 
end; 

procedure TForm1.FormCreate(Sender: TObject); 
var 
    Archiver : TZipForge; 
begin 
    Archiver := TZipForge.Create(nil); 
    try   
     Archiver.OnFileProgress:=FileProgress;//<- Here the event handler is assigned 
     Archiver.FileName := 'compressedfile.zip'; 
     Archiver.OpenArchive(fmOpenRead); 
     try 
     Archiver.BaseDir := 'C\Foo'; 
     Archiver.ExtractFiles('*.*'); 
     finally 
     Archiver.CloseArchive(); 
     end; 
    finally 
    Archiver.Free; 
    end; 
end; 
+0

謝謝,現在我明白了。 – user

相關問題