Главная страница
    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.039 c
15-1201760901
Kukolev
2008-01-31 09:28
2008.03.09
Срочно нужен наследник TDBCtrlGrid


3-1192787895
ocean
2007-10-19 13:58
2008.03.09
Подскажите конструкцию SQL


15-1201683696
Галинка
2008-01-30 12:01
2008.03.09
SQL Server


15-1201810312
@!!ex
2008-01-31 23:11
2008.03.09
Virtual Desktop Manager - release


15-1202075537
mvp
2008-02-04 00:52
2008.03.09
PHP + Flash + Video





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский