Показать сообщение отдельно
Старый 25.03.2012, 07:59   #3
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: KirpArc - очередной упаковщик

Если прогу запустить на семёрке из 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$) вложенные папки не поддерживаются, точнее одинаковые имена во вложенных папках. зачем это нужно? писал бы весь путь, и искал по целому пути, разницы же нет.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.png
Просмотров: 1034
Размер:	19.7 Кб
ID:	16486  Нажмите на изображение для увеличения
Название: 2.png
Просмотров: 1033
Размер:	22.3 Кб
ID:	16487  
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Жека за это полезное сообщение:
Артем Валерьевич (25.03.2012), L-ee-X (25.03.2012)