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

Вниз

Как прочитать файл, открытый другим приложением?   Найти похожие ветки 

 
DNT ©   (2002-12-04 14:09) [0]

subj
С MemoryStream не работает : (


 
Song ©   (2002-12-04 14:10) [1]

Если не читается обычным способом, значит никак.


 
FreeLancer ©   (2002-12-04 14:16) [2]

TFileStream :
constructor Create(const FileName: string; Mode: Word);

The share mode must be one of the following values:

- fmShareCompat Sharing is compatible with the way FCBs are opened.
- fmShareExclusive Other applications can not open the file for any reason.
- fmShareDenyWrite Other applications can open the file for reading but not for writing.
- fmShareDenyRead Other applications can open the file for writing but not for reading.
- fmShareDenyNone No attempt is made to prevent other applications from reading from or writing to the file.

If the file can not be opened, Create raises an exception.


 
stas_a   (2002-12-04 14:17) [3]

var Memory : TMemoryStream;

begin
Memory := TMemoryStream.Create;
try
Memory.LoadFromFile("busyfile.dat"); // это он!!
..
Memory.Read(...); // Вы можете использовать методы чтения как у файлов
Memory.Seek(...);
FileSize := Memory.Size;
..
finally
Memory.Free;
end;
end;


Данный способ никогда не открывает файл, а заместо этого создаёт копию его в памяти. Конечно Вы можете и записать в поток (Stream) в Памяти(Memory), но изменения не будут записаны на диск до тех пор, пока Вы не запишете их в файл (командой SaveToFile).


 
DNT ©   (2002-12-04 14:21) [4]

2stas_a: читай внимательней, с MemoryStream не работает

2FreeLancer: т.е. если прога открыла файл с fmShareExclusive значит я его не смогу открыть?


 
FreeLancer ©   (2002-12-04 14:25) [5]

> т.е. если прога открыла файл с fmShareExclusive значит я
> его не смогу открыть?

Читай: Song © (04.12.02 14:10)



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
1-51693
Маленький
2002-12-05 21:28
2002.12.16
Как закрыть чужое приложение из своей программы?


14-51918
iNew
2002-11-25 04:30
2002.12.16
Замыльте пожалуйста кто-нибудь или дайте ссылку на файлик


1-51758
Cranium
2002-11-27 03:02
2002.12.16
Как определить высоту TMainMenu на форме?


14-51941
Andrey V.
2002-11-23 19:58
2002.12.16
Table в памяти


14-51935
Карлсон
2002-11-25 18:38
2002.12.16
а 2003 год - год кого?