Форум: "Основная";
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];
ВнизПроблема с передачей параметрой из DLL Найти похожие ветки
← →
Vovchik (2002-01-02 16:42) [4]Здесь проблема связана с выделением памяти под строку. Память должна выделяться и уничтожаться либо в DLL либо в основной программе, но не там и там. Есть по-крайней мере два пути решения:
1. Плохой - передавать строку всегда фиксированной длины, тогда передача будет через стек.
2. Единственный нормальный. Как во всех ф-циях WIN API. Память под строку выделяет основная программа, потом вызывает ф-цию из DLL и передаёт ей указатель (т.е. PChar) на выделенный блок пямяти. Ф-ция пишет туда, потом основная программа убивает этот кусок памяти. (См. хелп к винаппийским ф-циям, работающим со строками. Сделай так же.)
От string нужно отказаться по крайней мере на время передачи строки. Потом можно скопировать из PChar в String. У меня со стрингом так и не получилось ничего сделать.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c