Russian Qt Forum

Компиляторы и платформы => Visual C++ => Тема начата: EvgeniiV от Март 30, 2004, 10:48



Название: Помогите с передачей и возвратом строк в dll
Отправлено: EvgeniiV от Март 30, 2004, 10:48
Пожалуйста помогите:
пишу dll, есть функции, которые возвращают строки:
#define exp extern "C" __declspec(dllexport)

char *mystr;

exp void setString_(char far *value){
mystr=new char[strlen(value)];
strcpy(mystr,value);
}

exp char* getString_(void){
return mystr;
}

Вызываю из Delphi, выдает всегда один и тот же результат: длина строки равна 3 и строка немыслимого вида.
Что я делаю не так?


Название: Помогите с передачей и возвратом строк в dll
Отправлено: Злой от Март 30, 2004, 17:55
Цитировать
mystr=new char[strlen(value)];

Ошибка - не выделяется память для терминального символа '\0'

И покажи свой код в Делфи