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

Вниз

memory stream   Найти похожие ветки 

 
dkDimon ©   (2002-12-12 20:15) [0]

Как организовать memory stream средствами только WinAPI без использования TMemoryStream?


 
asmith   (2002-12-12 20:51) [1]

С помощью интерфейса IStream (описан в модуле ActiveX). Delphi обеспечивает также его реализацию классом TStreamAdapter


 
dkDimon ©   (2002-12-12 21:48) [2]

А без использования VCL и ActiveX? Только WinAPI? Пример необязательно, просто скажите с помощью какого механизма. Лично я сам думаю, что File Mapping? Так ли это? Или я ошибаюсь? Если есть лучше способ подскажите плиз


 
Suntechnic ©   (2002-12-12 23:25) [3]

Как организовать memory stream средствами только WinAPI без использования TMemoryStream?

Написать свой класс потока используя ф-ции по работе с памятью из Win API. Должно ли это быть File Mapping? Да нет. Всё зависит от задач, которые должны решаться с помошью этого потока. А лучше всего построить иерархию классов потока (как например это сделал Борланд со своим базовым классом TStream), а уж имплементации этих классов заточить под конкретные ф-ции системы. Например базовый класс TMyStream. От него наследники TMyFileStream, кторый использует ф-ции по работе с файлами типа CreateFile, WriteFile, ReadFile. Дале, скажем, TMyMemoryStream который может использовать GlobalAlloc, HeapAlloc, VirtualAlloc. Ну и напоследок TMyFileMappingStream..... Вообщем ничего нового, почти всё это ты можешь наблюдать у Борланда, а что уж конкретно писать зависит от тебя.


 
apay ©   (2002-12-12 23:35) [4]

самый простой способ: создаешь temporary-file с атрибутом deleteonclose, насколько мне известно, винды такие файлы в памяти держат, пока есть возможность (не сбрасывают на диск).


 
asmith   (2002-12-13 17:33) [5]

Модуль ActiveX и IStream не имеют никакого отношения к VCL - там только описаны(!) стандартные интерфейсы и приведены прототипы функций, связанных с MS COM (ole32.dll, oleaut32.dll). Для этого подхода характерны очень интересные фичи. Указатель на созданный на сервере IStream можно передать клиенту даже на другую машину и там читать-писать.



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

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

Наверх




Память: 0.48 MB
Время: 0.024 c
14-87102
Карлсон
2003-01-09 13:22
2003.01.27
как побороть гадов (ужо человеческих)


4-87225
Ascan_
2002-12-10 13:36
2003.01.27
SetForegroundWindow срабатывает только один раз.


7-87157
Sura
2002-11-11 17:59
2003.01.27
Кнопка мыши, правая !


14-87108
kronprince
2003-01-09 17:21
2003.01.27
Извините за offtopic :)О разнице Microsoft VC vs Borland CB


14-87080
Makhanev A.S.
2003-01-09 00:30
2003.01.27
Можно ли попросить общественность оценить скромные труды?