![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Возврат данных из DLL
Andy_ © (2003-01-21 11:22:00)Здравствуте Мастера !
Помогите с проблемой, есть некая функция, расположенная в DLL которая получает положим строку что то с ней делает и возращает строковый результат, проблема в том что нужно обойтись во входных выходный параметрах без String, а длина результата не изместна перед вызовом, по этому и PChar память не выделешь, как быть ?
Andy_ (2003-01-21 11:35:00) [1]>> Reindeer Moss Eater
Логично, спасибо большое :-)
Andy_ (2003-01-21 11:32:00) [2]то что длину найти можно это понятно, но перед вызовом функции нужно ж длину указать
P := StrAlloc(10);
MyFunc(P); <- вот здесь изменится размер строки
.....
Reindeer Moss Eater (2003-01-21 11:27:00) [3]Распределяй память под строку в приложении.
Передавай в DLL PChar.
В DLL перераспределяй память под строку (SetLength)
Возвращай в приложение PChar.
Smithson (2003-01-21 11:25:00) [4]PChar - это указатель на С-строку (то бишь, в терминологии Windows lpzASCII). Посему для него не обязательно знать длинну, ее можно найти. GlobalAlloc и вперед.