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

Вниз

функции в dll   Найти похожие ветки 

 
d_oleg ©   (2006-04-17 12:05) [0]

Объясните мне глупому, пожалуйста:
мне нужно получить из dll некую строку, как результат выполнения функции. Возвращать нужно pChar. Теперь внимание, вопрос: ежели я выделяю память под строку в dll:

function (...): pChar;
begin
....
 pValue := StrAlloc(length(AStr));
 StrPCopy(pValue, AStr);
 Result := pValue;
end;


то где ж мнее ее освобождать? неужто ж exe, подключающем dll? Или же все это делается как-то иначе?


 
Сергей М. ©   (2006-04-17 12:12) [1]


где ж мнее ее освобождать?


Все зависит от установленных разработчиками взаимодействующих модулей конкретных соглашений.


> неужто ж exe, подключающем dll?


Иногда и так поступают, хотя это скорее исключение, нежели правило.


 
MBo ©   (2006-04-17 12:52) [2]

Делай, как часто принято в API-функциях

function GetIt(pc: PChar): Integer;
при передаче нулевого указателя функция возвращает необходимый размер строки, программа выделяет буфер и во втором вызове передает адрес строки - приемника.


 
d_oleg ©   (2006-04-17 14:39) [3]

MBo, спасибо, поробую.



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.056 c
2-1144067569
haikaterine
2006-04-03 16:32
2006.05.07
помогите, плиз! создание БД "Сотрудники"


2-1145511694
alk
2006-04-20 09:41
2006.05.07
Как узнать где еще запущенна прогрмама


2-1145367408
ctudent
2006-04-18 17:36
2006.05.07
Как сравнить два значения


2-1145466770
0101010101
2006-04-19 21:12
2006.05.07
TDrawGrig


4-1139814010
Asail
2006-02-13 10:00
2006.05.07
Как получить caption окна чужой программы?