Ola, segue um exemplo de como utilizo.
function ZIPFILE()
LOCAL odlg,obsair,obconfirma
cNarq:="ARQDES.ZIP" // Arquivo destino
aTmpArray:={"ARQ1.DBF","ARQ2.DBF","ARQ3.DBF"} // Arquivos a serem compactados
DEFINE DIALOG odlg FROM 01,01 TO 07, 40 TITLE "Transferindo dados (Internet)"
@ 01.5,01 BUTTON obconfirma PROMPT "&Confirma" OF odlg SIZE 50, 12 ACTION ;
(obconfirma:disable(),obsair:disable(),HB_ZIPFILE("C:\APLIC\"+cnarq,atmparray,,{|CFILE| ;
strumsg( "Compactando... ",odlg) }),obsair:enable())
@ 01.5,15 BUTTON obsair PROMPT "&Sair" OF odlg SIZE 50, 12 ACTION (odlg:End())
ACTIVATE DIALOG odlg centered
RETURN nil