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

Вниз

TMemoryStream + dll   Найти похожие ветки 

 
1иван   (2008-02-11 21:51) [0]

Мне нужно из программы передать TMemoryStream в библиотеку dll и вернуть из библиотеки другой TMemoryStream с результатом.

Входящий размер TMemoryStream не равен возвращаемому.

Как лучше поступить?

Спасибо.


 
ketmar ©   (2008-02-11 22:04) [1]

так и поступать. не забыть только uses sharemem.

---
Understanding is not required. Only obedience.


 
1иван   (2008-02-11 22:08) [2]

На самом деле хотелось бы избежать использования sharemem - без дополнительной библиотеки.


 
Leonid Troyanovsky ©   (2008-02-11 22:13) [3]


> 1иван   (11.02.08 21:51)  

> Как лучше поступить?

http://www.podgoretsky.com/DM/BadTips.html#BT-03


> На самом деле хотелось бы избежать использования sharemem
> - без дополнительной библиотеки.

Для избежания использования дополнительной библиотеки
надо избегать использование дополнительных библиотек.

--
Regards, LVT.


 
1иван   (2008-02-11 22:17) [4]

Я знаю про этот плохой совет, поэтому и спрашиваю, т.к. сам не уверен как поступить. Избежать использование dll не удастся.


 
ketmar ©   (2008-02-11 22:22) [5]

>[2] 1иван (2008-02-11 22:08:00)
http://www.google.com/search?client=opera&rls=en&q=fastsharemem&sourceid=opera&ie=utf-8&oe=utf-8

---
Understanding is not required. Only obedience.


 
Leonid Troyanovsky ©   (2008-02-11 22:30) [6]


> 1иван   (11.02.08 22:17) [4]

> сам не уверен как поступить. Избежать использование dll
> не удастся.

Где одна - там и две.
Какая нах разница.

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2008-02-11 22:37) [7]

> 1иван  (11.02.2008 22:08:02)  [2]

Sharemem не требуется, а вот от ДЛЛ надо отказаться, заменить на BPL


 
DVM ©   (2008-02-11 22:41) [8]

Именно TMemoryStream проблем скорее всего не вызовет при передаче в dll.
Даже ShareMem не понадобится. Но так делать все равно не стоит.

Вот тут экспериментировали уже:

http://forum.sources.ru/index.php?showtopic=192689&view=showall


 
Leonid Troyanovsky ©   (2008-02-11 22:48) [9]


> DVM ©   (11.02.08 22:41) [8]

> Именно TMemoryStream проблем скорее всего не вызовет при
> передаче в dll.

Вот те и - здрасте.
Как же не вызовет, а может - изменить.

--
Regards, LVT.


 
DVM ©   (2008-02-11 22:53) [10]


> а может - изменить.

Не понял вот эту фразу.


 
Leonid Troyanovsky ©   (2008-02-11 22:59) [11]


> DVM ©   (11.02.08 22:53) [10]

> Не понял вот эту фразу.

Дельфийский ММ в длл может и перераспределить память.

--
Regards, LVT.


 
DVM ©   (2008-02-11 23:06) [12]


> Leonid Troyanovsky ©   (11.02.08 22:59) [11]

Это да, поэтому размер TMemoryStream переданного в dll внутри нее менять нельзя. А вот содержимое можно.

Но, учитывая

> Входящий размер TMemoryStream не равен возвращаемому.

Это не подходит.

Я ни в коем случае не агитирую за такой метод работы, просто иногда можно и без ShareMem и пакетов обойтись.


 
ketmar ©   (2008-02-12 00:34) [13]

>[12] DVM © (2008-02-11 23:06:00)
>иногда можно и без ShareMem и пакетов обойтись

ну вон же я дал ссылку в [5]. один модуль, no runtime penalties, no extra DLLs. дёшево и сердито. %-)

---
Understanding is not required. Only obedience.



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

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

Наверх




Память: 0.49 MB
Время: 0.014 c
15-1202127812
xayam
2008-02-04 15:23
2008.03.09
Проект "Россия"


11-1184837920
=BuckLr=
2007-07-19 13:38
2008.03.09
FastMM vs HeapMM


15-1202135900
oldman
2008-02-04 17:38
2008.03.09
Где можно бесплатно завести большой почтовый ящик?


2-1202725182
Artem
2008-02-11 13:19
2008.03.09
Проблема с WebBrowser


15-1201973141
Maloj2007
2008-02-02 20:25
2008.03.09
Копирование и вставка в компоненте TRichViewEdit