Если прогу запустить на семёрке из program files, не как админ, то не работает. С правами администратора работает.
Сначала я подумал, что это из-за того, что ты создаёшь временный файл при загрузке в той же папке проекта, а этого винда не терпит, сделал выгрузку в реальный темп системы
......
Local temp$ = GetEnv("TEMP")+"\"
st$ = temp + Handle(t)+"Temp"+t\tempc
......
но это не помогло, начал копать дальше. И выяснил, что без админских прав при открытии архива получаем размер файла 0. на скриншотах видно - имя файла нормально и там и там, а вот размер ноль.
Function ARC_Open(file$,pass%)
Local t.tarc = New TArc
f = ReadFile(file$)
If f=0 RuntimeError "ARC Lib:"+Chr(13)+"Can't find archive file!"
SeekFile f,pass+4
t\count = ReadShort(f)
For i=0 To t\count
t\files$[i] = ReadString(f)
t\size[i] = ReadInt(f)
t\pos[i] = FilePos(f)
SeekFile f,FilePos(f)+t\size[i]
Print ("file = "+t\files[i])
Print ("size = "+t\size[i])
Print ("pos = "+t\pos[i])
Next
t\f = f
Return Handle(t)
End Function
я не смог додуматься почему так происходит.
почему?
Ещё: судя по функции ExtractFileName$(sFilePath$) вложенные папки не поддерживаются, точнее одинаковые имена во вложенных папках. зачем это нужно? писал бы весь путь, и искал по целому пути, разницы же нет.