Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Привет! Кто-то сталкивался с сжатием OleVariant ??? [D5, Win2k]


kronprince ©   (2003-01-24 09:24:00) 

Для передачи между TProvider и TClientDataset


Digitman   (2003-01-24 10:49:00) [1]

Собственно сжимается-то не OleVariant, а поток TMemoryStream, в который объект TDataBlockInterpreter записывает контекст OleVariant-данных с пом. вызова WriteVariant. Поток скрыт в объекте TDataBlock (реализующем интерфейс IDataBlock). После формирования объекта TDataBlock он передается на вход объекту-интерсептору (см.InterceptOutgoing), пример реализации которого приведен в intrcpt.dpr (там, собственно, и происходит сжатие/декомпрессия потока в составе TDataBlock, см IDataIntercept.DataIn()/DataOut, ничто не мешает реализовать в объекте-интерсепторе и, скажем, секьюрити-кодек)


kronprince   (2003-01-24 10:35:00) [2]

2Digitman © (24.01.03 09:49)

Спасибо - гляну.
Я тебя уже вообщем спрашивал о Транспорте :)


Digitman   (2003-01-24 09:49:00) [3]

Сжатием должны заниматься не эти объекты, а транспорт.
Посмотри, как это реализовано в TSocketTransport, TDataBlockInterpreter (модуль SConnect.pas) и демо-проекте intrcpt.dpr


Наверх

Титульная страница Поиск, карта сайта Написать письмо