Главная страница
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.03 c
15-1177663610
CCili
2007-04-27 12:46
2007.05.27
Как проверить данные 2 аксесовских таблиц?


4-1166812769
O.O
2006-12-22 21:39
2007.05.27
Количество точек на дюйм экрана


15-1178045292
homm
2007-05-01 22:48
2007.05.27
Хэ-тэ-э-мэл!!!


15-1177759087
NailMan
2007-04-28 15:18
2007.05.27
Акроботы


2-1178529896
Officeman
2007-05-07 13:24
2007.05.27
Делаю скриншот экрана, КАК вывести текст на изображение