Текущий архив: 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.45 MB
Время: 0.01 c