Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: 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 вся ветка

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.048 c
10-1084467392
VK220
2004-05-13 20:56
2005.02.27
Почему функция _AddRef (как и _Release) вызывается не


9-1100340108
VolanD666
2004-11-13 13:01
2005.02.27
Timer в Builder.


1-1108304351
Alex31
2005-02-13 17:19
2005.02.27
Как в RichEdit загрузить файл DOS формата?


14-1103997412
Piter
2004-12-25 20:56
2005.02.27
Оцените статью про прокси серверы


14-1107188457
Piter
2005-01-31 19:20
2005.02.27
Клиент для чата Delphimaster.ru