Hello tout le monde !
Je travaille actuellement sur une application d'archivage de fichiers de logs.
Je me suis tourné vers la vbzip10.dll et vbzip11.dll de vbaccelerator.com.
J'ai des fichiers de logs de différent programme. Je me sert donc du nom du programme pour nom d'archive.
Par exemple, un fichier de log "programme_A_10-10-2007.log" sera mis dans une archive "programme_A.zip".
Donc actuellement, mon programme créer bien une nouvelle archive si elle n'existe pas, complète l'archive si elle existe, etc ...
Seule hic : Mon programme plante avec une erreur d'accès mémoire :
The memory could not be "read"
J'ai remarqué qu'en faite, le programme archive 14 fichiers, puis fais cette erreur.
Bon, coté code, j'ai mis dans mon Form_Load() :
Set mobjZip = New clsZip
Ma clsZip c'est la classe de vbaccelerator.com.
Ensuite, j'utilise mon objet zip comme suis :
With frmWll.mobjZip
'
' SET ZIP PARAMETERS
'
.ZipFile = frmWll.txtLogPth.Text & "\" & lstrArcNam & ".zip"
.StoreFolderNames = False
.RecurseSubDirs = False
.ClearFileSpecs
.AddFileSpec frmWll.txtLogPth.Text & "\" & mclsCol.strFilNam
.MessageLevel = ezpNoMessages
' If the archive not exist
If Not lblnArcExt Then
frmWll.gs_AddLog "Creating archive " & lstrArcNam & ".zip"
End If
'
' LAUNCH ZIP CREATION / APPEND
'
.zip
'
' TREAT RETURNED STATUS
'
If .Success Then
' If the archive was created
If Not lblnArcExt Then
' Show it
frmWll.gs_AddLog lstrArcNam & ".zip created"
End If
frmWll.gs_AddLog "File " & Right(.FileSpec(1), Len(.FileSpec(1)) - InStrRev(.FileSpec(1), "\")) & _
" added in " & Right(.ZipFile, Len(.ZipFile) - InStrRev(.FileSpec(1), "\"))
' If script must delete files
If frmWll.ChkDelFil.Value = vbChecked Then
Kill frmWll.txtLogPth.Text & "\" & mclsCol.strFilNam
End If
mcolCol.Remove lintColIdx
Else
frmWll.gs_AddLog "Creation of " & lstrArcNam & ".zip or archivage of log file Failed."
End If
End With
Pouvez vous m'aider ?
ZedMaTriX