Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.05 c
2-1202482584
Costia
2008-02-08 17:56
2008.03.09
как правельно работатать с indy


2-1202826052
Ega23
2008-02-12 17:20
2008.03.09
Прочитать екселевский файл, открытый из Excel


2-1202875687
Shousheng
2008-02-13 07:08
2008.03.09
memo добавление текста


2-1202988963
Photo33
2008-02-14 14:36
2008.03.09
2 bmp в один


8-1176853126
Adic
2007-04-18 03:38
2008.03.09
Быстрое определение цвета





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский