Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.13;
Скачать: CL | DM;

Вниз

Передача строк в/из длл...   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
1-1086120048
ViPer
2004-06-02 00:00
2004.06.13
Как узнать высоту строки RichEdit а?


1-1085901658
renat-me
2004-05-30 11:20
2004.06.13
Обращение к объектам


4-1083823284
alsov1
2004-05-06 10:01
2004.06.13
Как считать уникальный номер с CD и есть ли такой вообще?


9-1074890287
KEHTABP
2004-01-23 23:38
2004.06.13
SplitScreen в DelphiX


14-1085730236
Mad Dancer
2004-05-28 11:43
2004.06.13
Работа с картинками