Форум: "Основная";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.047 c