vx2
|
Posted: Fri Jul 09, 2010 17:24 Post subject: запрос на распаковку в архивный плагин |
|
|
vb6 (не надо смеяться/плакать). вопрос немного "обратный" разделу но... проблема такая:
рисую програмулину, которая использует один из архивных плагинов тотал коммандера (в тотале плагин работает на ура).
архив читать научился, все нормально, список файлов выдает. проблема при попытке распаковать файлы. код:
Code: | Public ArcName As String ' задается при первом открытии архива в виде полного пути с именем до него
Function ExtractDir(ByVal eDir As String, ByVal dDir As String) As Boolean
'dDir="C:\папка\папка"
Dim opnArcData As TOpenArchiveData
Dim hArcData As Long
Dim HeaderData As tHeaderData
opnArcData.ArcName = ArcName
opnArcData.OpenMode = PK_OM_EXTRACT
hArcData = OpenArchive(opnArcData)
Do Until ReadHeader(hArcData, HeaderData) = E_END_ARCHIVE
If [надо-ли файл распаковать] Then
ProcessFile hArcData, PK_EXTRACT, vbNullString, dDir & "\" & HeaderData.FileName
'четвертым параметром (DestName) пробовал просто "HeaderData.FileName" и еще так:
'dDir & "\" & Left(HeaderData.FileName, InStr(1, HeaderData.FileName, Chr(0)) - 1)
Else
ProcessFile hArcData, PK_SKIP, vbNullString, vbNullString
End If
Loop
CloseArchive hArcData
End Function
|
полный путь до конечного файла существует. сама функция ProcessFile выдает либо 16 ошибку (невозможно создать файл), либо файл распаковывает, но в папку проекта с корявым именем без расширения.
что именно и в каком виде должно отдаваться в DestName для нормальной работы? |
|