Вниз
Скачать: 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.021 c
14-1107887756
sloug
2005-02-08 21:35
2005.02.27
Работа


14-1107446483
Antonn
2005-02-03 19:01
2005.02.27
Как определить ошибку...


14-1107706812
aga
2005-02-06 19:20
2005.02.27
что за шифровка..


14-1107366522
Narik
2005-02-02 20:48
2005.02.27
explorer.exe глючит!!!


1-1108479880
Dmitry_04
2005-02-15 18:04
2005.02.27
Программно "развернуть" и "свернуть в окно" форму




   Наверх