powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема з возвратом строки из библы С++
4 сообщений из 4, страница 1 из 1
Проблема з возвратом строки из библы С++
    #33385480
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть библиотека написанная на С-ях
Код: plaintext
1.
2.
3.
4.
extern "C" __declspec(dllexport) char* __export WINAPI _ibedeshka(char * file)
{
собирается строка s типа AnsiString
return (s.c_str());
}
s - большая строка (тестирую при длине более 50 000 символов).

вызов из фокса
Код: plaintext
1.
DECLARE string _ib in my_dll string
aa= _ib("1.тхт")

Ругается Declare DLL call caused an exception

Причем ругает уже на return (s.c_str());
Причем не всегда -> бывает праздник че и возвращает строку.
Если перед возвратом запихнуть эту строку в файл
sl1->SaveToFile("1.sss");
то файл создается(всегда)...
Но общаться через файл незя...

Может кто-то может подсказать в чем загвоздка.
Очень надо...

Заранее сенкс
...
Рейтинг: 0 / 0
Проблема з возвратом строки из библы С++
    #33385514
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо...

Вопрос снят...
Трабла в переобразовании типов...

Правильно надь было в библе написать:
Код: plaintext
1.
2.
3.
4.
   char *char_ret = new char[s.Length() +  1  ];
   strcpy(char_ret, s.c_str());
   return (char_ret);
}
...
Рейтинг: 0 / 0
Проблема з возвратом строки из библы С++
    #33385591
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi IgorProgrammer!

Попробуй переделать процедуру - чтоб она не возвращала строку как выходное
значение, а помещала её в буфер, предоставленный вызывающим (фоксовым
кодом) - конечно контролируя размер буфера и если он недостаточен -
возвращала код ошибки. В общем посмотри как происходит работа со строками в
WinAPI функциях и сделай так-же.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проблема з возвратом строки из библы С++
    #33385602
luser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь, от вас уж никак не ожидал.
Вопросов конечно нет, потому как все это пишеться на С++ билдер.
особенно наравиться вот это:
extern "C" __declspec(dllexport) char* __export WINAPI _ibedeshka(char * file)
Вы сэр, вообще знаетет как привести ее в MS вид для вызова ? Такой вот нескромный вопрос.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема з возвратом строки из библы С++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]