Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » external STRING

Страниц (1): [1]
 

1. AdryV - 28 Апреля, 2021 - 09:08:11 - перейти к сообщению
CODE:
external(STRING, "func0", "func0", "my_add_dll.dll");


на форуме так и не встретил примера как ее принимать....
к примеру
c++
CODE:
extern "C" __declspec(dllexport)std::string mytestf(LPSTR a)
{
std::string k = "111111111111";
return k;
}

///////////////

CODE:
external(INT, "func0", "func0", "my_add_dll.dll");
func0(LPSTR a, std::string & otvet);

тоже не работает, пробовал указывать на стринг кибора
CODE:
string b;
func0(a, address(#b);

в собранном работает но в несобранном при отладке не работает.... иной раз даже сам код не хочет собираться.....
хатя в с++ работает....


в общем я запутался.....
как бы если были обьяснения то их нужно добавить в тему external если нет решания то киньте в баги....
2. Kibor - 28 Апреля, 2021 - 09:39:02 - перейти к сообщению
Это не дороботка.
Используйте массив char и указатель на него.
3. AdryV - 28 Апреля, 2021 - 11:03:08 - перейти к сообщению
 Kibor пишет:
Это не дороботка.

тут бы я поспорил....
std::string это строка а не массив(в преведенном виде!!!!!!!!!!!!!), тоисть она может быть очень длинной.

функция с++ которая возвращает std::string возвращает строку хз какого размера как определить какого размера char должен приниматься....

и вообще я уже писал что у меня не получилось принять ответ! выше писал!


 Kibor пишет:
Используйте массив char и указатель на него.

это поможет только если функция с++ написана тобой и возвращает то что нужно

с чаром я кибор смог подружить но вот со строками ну никак!

ответа на вопросы выше не увидел перечитайте пожалуйста!
(Добавление)
 AdryV пишет:
external(STRING, "func0", "func0", "my_add_dll.dll"Подмигивание;
extern "C" __declspec(dllexport)std::string mytestf(LPSTR a)

приведите пример как принять ответ этой функции

 AdryV пишет:
external(INT, "func0", "func0", "my_add_dll.dll"Подмигивание;
func0(LPSTR a, std::string & otvet);

приведите пример как правильно указать на указатель строки
4. Kibor - 28 Апреля, 2021 - 11:21:49 - перейти к сообщению
 AdryV пишет:
это поможет только если функция с++ написана тобой и возвращает то что нужно
А это не ваша dll?
Обычно они стринги не возвращают.
Если ваша, переделайте что бы возвращал указатель на массив char.
5. AdryV - 28 Апреля, 2021 - 11:27:55 - перейти к сообщению
 Kibor пишет:
А это не ваша dll?
Обычно они стринги не возвращают.
Если ваша, переделайте что бы возвращал указатель на массив char.

я вас понял, тогда будьте добры укажите в теме external что функции которые возвращают std::string не поддерживаются!

также будьте добры укажите в той же теме что указатель строк тоже не принимается std::string

я просто 3 дня ломал голову че за хуйня а оказывается оно не работает

я то знал как переделать на простой чар.... но..... у вас не было заявлено минусов..... в ваших недоработках
6. Kibor - 28 Апреля, 2021 - 11:28:51 - перейти к сообщению
Окей
7. Adomb - 28 Апреля, 2021 - 15:38:58 - перейти к сообщению
 AdryV пишет:
я просто 3 дня ломал голову че за хуйня а оказывается оно не работает

Я ваабще в си не рублю. Но посмотрев примеры скриптов раскиданных по форуму и попробовав один раз стринг, понял что нужно использовать массив чар. Хватило полчаса и без матов.

Powered by ExBB FM 1.0 Final