Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.27;
Скачать: CL | DM;

Вниз

Чтение самого себя   Найти похожие ветки 

 
Ken9   (2007-05-08 10:36) [0]

Здравствуйте, уважаемые Мастера. Мне надо сделать прогу-архиватор которая архивировала бы на подобие sfx-архивов. Я делаю следующее: делаю заранее прогу-распаковщик, затем специальной уже другой прогой архивирую файлы и добавляю их к копии распаковщика. Суть вопроса следующая: как прочитать распаковщику самого себя. Он(распаковщик) каждый раз выдаёт ошибку на операторе открытия, типо данный файл уже занят другим процессом. Что можно сделать в данной ситуации?


 
Reindeer Moss Eater ©   (2007-05-08 10:44) [1]

Открывать файл с нужными флагами


 
ZeroDivide ©   (2007-05-08 10:49) [2]


> Суть вопроса следующая: как прочитать распаковщику самого
> себя


Другой прогой архивирую файлы и добавляю их к копии распаковщика

1. Так он же в памяти уже, зачем файл читать? Он уже прочитан, работай с памятью.

2. Хотя это уже и не нужно, но: При открытии файла, в виде параметра функции, можно и нужно указать зачем он тебе нужен read или write или readwrite. Если файл уже открыт для записи, то ОС не даст тебе в него писать, но даст читать. ОС не дает писать в загруженные exe-файлы.


 
Ken9   (2007-05-08 14:24) [3]

data:=TFileStream.Create(Application.ExeName,fmOpenRead);-на этом операторе вылетает с ошибкой.

//Открывать файл с нужными флагам
а я что делаю?)

//1. Так он же в памяти уже, зачем файл читать? Он уже прочитан, работай с //памятью.
//
//2. Хотя это уже и не нужно, но: При открытии файла, в виде параметра //функции, можно и нужно указать зачем он тебе нужен read или write или //readwrite. Если файл уже открыт для записи, то ОС не даст тебе в него //писать, но даст читать. ОС не дает писать в загруженные exe-файлы.
1. Чес. говоря не знаю как работать с памятью в данном случае. Можешь дать ссылку?
2. я вроде как и открываю только на чтение, а он гад выдаёт ошибку что файл занят др процессом......


 
Плохиш ©   (2007-05-08 15:09) [4]


> data:=TFileStream.Create(Application.ExeName,fmOpenRead or fmShareDenyWrite);


 
Плохиш ©   (2007-05-08 15:11) [5]

fmShareDenyNone



Страницы: 1 вся ветка

Текущий архив: 2007.05.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.051 c
2-1178433546
Doom-2
2007-05-06 10:39
2007.05.27
новое подключение Flash или ZIV


15-1177343107
Не назвавшийся
2007-04-23 19:45
2007.05.27
Какую музыку послушать


8-1158154178
Lockdog
2006-09-13 17:29
2007.05.27
Определение цвета и преобразование палитры


15-1176885879
pogi
2007-04-18 12:44
2007.05.27
Вакансия: Проектировщик-программист Delphi


15-1178004231
antonn
2007-05-01 11:23
2007.05.27
хранение постов форума