Вниз
Скачать: CL | DM;

DLL & Packages   Найти похожие ветки 

← →
LinaIns   (2005-02-12 07:21) [0]

В программе нужно использовать плагины, которые постоянно обмениваются с основной программой динамическими массивами. Реализовала на DLL"ках, но некоторые юзеры ругаются, что иногда программа выдает ошибку (хотя свои функции выполняет).

Предлагали сделать все на Packages, которые при выполнении находятся с программой в одной области памяти и поэтому не требуют геммороя с разделением.

Насколько их использование увеличивает размер конечной программы и объем оперативной памяти, которую она занимает?


← →
Eraser ©   (2005-02-12 11:42) [1]

Зачем изобретать велосипед, если он уже изобретён?
Передавай параметры, не в динамических масивах, а через PCHAR.
Или в крайнем случае используй модуль ShareMem.


← →
olookin ©   (2005-02-13 15:33) [2]

[1] Eraser ©   (12.02.05 11:42)
>>Передавай параметры, не в динамических масивах, а через PCHAR.

А массивы чисел тоже через PChar?

LinaIns   (12.02.05 07:21)

Лично я в фукнцию бибилиотеки передаю указатель на массив, а не сам массив. Что несколько усложняет код в программе-вызывальщице, но зато работает без ошибок.


← →
MBo ©   (2005-02-13 15:43) [3]

>которые при выполнении находятся с программой в одной области памяти
Проблема не в этом. DLL тоже работает, если можно так сказать, в адресном пространстве процесса, который ее использует.
Дело в том, что при работе с динамическими массивами и длинными строками должен быть общий менеджер памяти  - для этого используется ShareMem (о чем написано в комментарии при создании новой DLL), либо пакеты.


← →
Eraser ©   (2005-02-13 16:25) [4]

olookin ©
А массивы чисел тоже через PChar?
Лично я в фукнцию бибилиотеки передаю указатель на массив, а не сам массив.


PChar это и есть указатель на массив байт.
Не обязательно использовать именно PChar.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
3-1106826258
Layner
2005-01-27 14:44
2005.02.27
Как установить "SET DATEFORMAT dmy" на сервере MSSQL из программы


14-1107466249
Usser
2005-02-04 00:30
2005.02.27
В чем может быть причина ошибки?


6-1103490357
JaVa73
2004-12-20 00:05
2005.02.27
Оранизация web-форумов


9-1101229419
dRake
2004-11-23 20:03
2005.02.27
TankMaze вторая демка :)


1-1108324327
mr-jack
2005-02-13 22:52
2005.02.27
события и всё такое




   Наверх