Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.21;
Скачать: CL | DM;

Вниз

Экспорт из 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.114 c
2-1146204053
alkin
2006-04-28 10:00
2006.05.21
Как скопировать запись из одной таблицы DBGrid1 в другую таблицу


2-1146806205
Ezorcist
2006-05-05 09:16
2006.05.21
CGI - скрипты


2-1146460388
it_work
2006-05-01 09:13
2006.05.21
Как перевести из string в shortString


1-1144913139
pvm
2006-04-13 11:25
2006.05.21
Экспорт из DLL


15-1145909399
Volf_555
2006-04-25 00:09
2006.05.21
Как отправить программе комбинацию клавиш?!