Главная страница
    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.043 c
2-1202713288
kyn66
2008-02-11 10:01
2008.03.09
Событие считывателя штрихкода


15-1201847127
MTDeveloper
2008-02-01 09:25
2008.03.09
Проблема при вставке текста в Richedit


2-1202772513
Artem
2008-02-12 02:28
2008.03.09
WebBrowser и ресурсы


2-1202578462
DDR
2008-02-09 20:34
2008.03.09
Поиск файлов и TreeView


8-1176487025
I-New
2007-04-13 21:57
2008.03.09
Как узнать количество кадров в GIF анимации?





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