Главная страница
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.47 MB
Время: 0.034 c
2-1178524785
Konus
2007-05-07 11:59
2007.05.27
работа с TEdit, формат числа 1.11


2-1178727526
Dmitry_177
2007-05-09 20:18
2007.05.27
Ограниченное количество цифр в Edit при вставлении


6-1163789476
__Nick__
2006-11-17 21:51
2007.05.27
Webbrowser+рисунок.png


3-1173241771
nikolay80
2007-03-07 07:29
2007.05.27
Сеть и BDE


2-1178811077
-+=([{ДЕНИС}])=+-
2007-05-10 19:31
2007.05.27
Графика в Delphi