Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Экспорт из DLL [D6]


pvm ©   (2006-04-13 11:25:00) 

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


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


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


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


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


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

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


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


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


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

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

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


wal   (2006-04-14 09:27:00) [4]


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

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

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


KSergey   (2006-04-13 17:27:00) [5]

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

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


wal   (2006-04-13 16:50:00) [6]


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


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


> pvm   (13.04.06 13:33) [6]


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


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


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


Ну да !

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


wal   (2006-04-13 13:48:00) [9]


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


pvm   (2006-04-13 13:33:00) [10]

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


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

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


pvm   (2006-04-13 13:01:00) [12]

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


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

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


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

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо