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

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

Как через iStream передавать данные в dll и получать обратно? [D7]


Страницы:   1 2

or ©   (2006-09-26 01:16:00) 

Есть TMemoryStream, с моими данными. Надо как то перекинуть их в iStream, отправить в dll, там обработать, вернуть обратно, и переписать обратно в TMemoryStream. Нет ли какого нибудь примера, как это можно сделать ?

Использую iStream потому, что он есть и в Си.


Percent   (2006-09-27 02:11:00) [21]

См. TOLEStream

var
 OS: TOleStream;
 MS: TMemoryStream;
 Stream: IStream;
...
 OS := TOLEStream.Create(Stream);
 try
   MS.CopyFrom(OS, OS.Size);
 finally
   OS.Free;
 end;


or   (2006-09-27 02:06:00) [22]


> Сергей М. ©   (26.09.06 08:18) [4]
>
> Надо понимать, некая DLL-функция, которую ты хочешь вызвать,
>  требует одним из параметров именно IStream ?
>
> Приведи сишный прототип этой ф-ции ..


Нет. Это я делаю плагины к программе. Мне надо передать в dll большие и сложные данные, переменной длины, а потом получить такие же большие и сложные данные тоже переменной длины.

Мне сказали, что для этого можно использовать iStream, потому, что он есть и в Си и в Дельфи. Поэтому я написал две функции, паковки и распаковки данных в/из потока TMemoryStream. И вот теперь интересютсь как мне их передать через iStream.

Если есть какой то другой способ решения этой задачи, без iStream, но чтобы работал и в Си и в Дельфи, то какой ?


alex_***   (2006-09-26 13:33:00) [23]

напиши свой класс, отнаследуй от TMemoryStream и реализуй в нем iStream. Как-то так, видимо


Сергей М.   (2006-09-26 08:18:00) [24]

Надо понимать, некая DLL-функция, которую ты хочешь вызвать, требует одним из параметров именно IStream ?

Приведи сишный прототип этой ф-ции ..


or   (2006-09-26 06:45:00) [25]

Товарищи мастера? Помогите, пожалуйста?


or   (2006-09-26 01:35:00) [26]

iStream описан в Ole2.pas .


or   (2006-09-26 01:27:00) [27]

Документации и примеров в справке Delphi 7 почти нету. В Гугле тоже как-то глухо.


Страницы:   1 2

Наверх

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