Форум: "Основная";
Текущий архив: 2004.06.13;
Скачать: [xml.tar.bz2];
ВнизПередача строк в/из длл... Найти похожие ветки
← →
Donkey7c (2004-05-30 13:06) [0]Всем здрасте!
Есть задача:
(1)к программе на дельфи подключаются dll. (2)Dll может быть написана как на дельфи, так и на vc,vb и пр.
(3)Нужно передавать текстовые строки произвольной длины из программы в длл и vice versa.
Раздумываю, как это сделать наиболее правильно.
Использовать sharemem(или аналоги) и стринг - непримлемо по причине (2).
=>Нужно использовать нуль-терминированные строки с выделением памяти.
Для выделения памяти нельзя использовать GetMem, ибо он юзает борландовый мемори менеджер.
=>нужно использовать winapi-шную функцию.
VirtualAlloc нужна для выделения больших кусков памяти(>1gb).
про GlobalAlloc/LocalAlloc написано, что они медленнее, чем операции с heap"ом.
=>нужно юзать HeapAlloc(и HeapFree), что я и делаю.
вопрос: правильно я делаю?
← →
Palladin © (2004-05-30 13:14) [1]
> Для выделения памяти нельзя использовать GetMem, ибо он
> юзает борландовый мемори менеджер.
И что?
← →
Vlad © (2004-05-30 13:43) [2]Если библиотека не берет на себя функцию освобождения памяти (а это как правило и не нужно), то без разницы каким менеджером ты выделял память в хост-аппликации, главное, чтобы освобождал там же и тем же менеджером (насколько я знаю). И ShareMem тут по-моему, действительно не в кассу...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.13;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.046 c