Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Возврат данных из 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 и вперед.


Наверх

Титульная страница Поиск, карта сайта Написать письмо