Главная страница
    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.48 MB
Время: 0.014 c
6-1138319190
PVVladimir
2006-01-27 02:46
2006.05.21
Indi 9. Назначение прав на файл через FTP


15-1145621375
Исследователь
2006-04-21 16:09
2006.05.21
Как VC++ перевести число в строку


2-1146655809
VitV
2006-05-03 15:30
2006.05.21
Не знаю как назвать...


3-1142927135
Lexiy
2006-03-21 10:45
2006.05.21
вставка данных в dbf


2-1146338307
Julia
2006-04-29 23:18
2006.05.21
Передача информации между формами





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