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

Вниз

Экспорт из DLL   Найти похожие ветки 

 
pvm   (2006-04-13 11:25) [0]

Как передать из DLL массив, объект и др. ? Где найти информацию по этому вопросу ?


 
Сергей М. ©   (2006-04-13 11:28) [1]

Решение зависит от среды, в которой разработан код, использующий эту DLL.


 
pvm   (2006-04-13 12:38) [2]

DLL написана на Borland C, а приложение в Delphi.


 
Сергей М. ©   (2006-04-13 12:44) [3]

Приводи конкретности - массивы и объекты каких типов требуется передавать .. И что конкретно входит в "и др." тоже уточняй ..


 
pvm   (2006-04-13 13:01) [4]

вариантный массив


 
Сергей М. ©   (2006-04-13 13:24) [5]

ВС ничего не знает о вариантных массивах Делфи.


 
pvm   (2006-04-13 13:33) [6]

Возможно существует другой способ передать набор разнородных данных из библиотеки DLL? Например файлы отображённые в память !


 
wal ©   (2006-04-13 13:48) [7]


> [5] Сергей М. ©   (13.04.06 13:24)
> ВС ничего не знает о вариантных массивах Делфи.
Да ну?


 
Сергей М. ©   (2006-04-13 14:02) [8]


> wal ©   (13.04.06 13:48) [7]


Ну да !

Это BCB знает, а BС ни сном ни духом не ведает


 
Сергей М. ©   (2006-04-13 14:07) [9]


> pvm   (13.04.06 13:33) [6]


Для взаимодействия программных модулей, разработанных в разных средах, придуман OLE-механизм, там передача вариантных массивов допустима.


 
wal ©   (2006-04-13 16:50) [10]


> [8] Сергей М. ©   (13.04.06 14:02)
Это, вообще-то примочка виндовса, а не языка программирования, так что "знает - не знает" зависит лишь от списка подключенных модулей.


 
KSergey ©   (2006-04-13 17:27) [11]

> wal ©   (13.04.06 16:50) [10]
> Это, вообще-то примочка виндовса, а не языка программирования,
>  так что "знает - не знает" зависит лишь от списка подключенных
> модулей.

Вариантные массивы дельфи - это примочка дельфи.
То, что они, вероятно, реализованы на основе вариантных массивов COM - не меняет принадлежности этой примочки.


 
wal ©   (2006-04-14 09:27) [12]


> [11] KSergey ©   (13.04.06 17:27)

Байты дельфи - это примочка дельфи.
То, что они, вероятно (???), реализованы на основе всем известных байтов - не меняет принадлежности этой примочки.

Не кажется глупостью?


 
Сергей М. ©   (2006-04-14 10:12) [13]


> wal ©   (14.04.06 09:27) [12]


То что вариантные массивы в Делфи базируются на OLE safeArrays-механизме, вовсе не говорит о полноценном их использовении в других средах, использующих тот же базовый механизм. Например, вариантный массив VarArrayOf(["строка"]) не может быть использован в BC хотя бы потому что

varString   = $0100; { Pascal string 256 } {not OLE compatible }

Про проблему организации единого менеджера памяти я уже не говорю.


 
wal ©   (2006-04-14 10:28) [14]


> Например, вариантный массив VarArrayOf(["строка"]) не может
> быть использован в BC
А зачем его использовать? Есть $08, его все переварят. И передаем мы ИЗ dll, а не в нее.

> Про проблему организации единого менеджера памяти я уже
> не говорю.
Опять же зачем?


 
Сергей М. ©   (2006-04-14 11:50) [15]


> wal ©   (14.04.06 10:28) [14]


Соглашусь с тобой только для случая передачи непосредственного указателя на save array, сформированный средствами OLEAUT.SafeArrayCreate



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

Форум: "Основная";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.014 c
15-1145616875
Deka
2006-04-21 14:54
2006.05.21
IDE Delphi перестала тормозить!


6-1138177631
DelphiN!
2006-01-25 11:27
2006.05.21
Обнаружения отправки письма на определенный адрес


2-1146336167
имя
2006-04-29 22:42
2006.05.21
BILBASUMCIN IS BASC!


15-1145264574
fast2
2006-04-17 13:02
2006.05.21
Вопрос знатокам физики.


6-1138136350
cerber
2006-01-24 23:59
2006.05.21
Скремблер Ethernet 100 ТХ





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