Главная страница
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.01 c
1-51749
Sergey123
2002-12-04 14:09
2002.12.16
MDI приложение


1-51716
volph7777
2002-12-04 15:39
2002.12.16
Почему не извеняется запись в TTable


1-51788
Yr2
2002-12-02 14:46
2002.12.16
Как открывать любые приложения (Win32) в окне моего приложения?


14-51902
blackweber
2002-11-24 18:07
2002.12.16
Если кто еще не забыл QBasic прошу помочь


14-51949
Карлсон
2002-11-22 22:58
2002.12.16
вот он, наш мучитель :)