Тема / Topic: Как передать строку из внешней DLL в МРВ ТМ6
Romсheg
unregistered
отправлено / posted
В ходе разработки проекта возникла потребность передачи строковых данных из внешней DLL в узлы под управлением МРВ ТМ6. Так как при подключении внешних библиотек в программах ТМ6 не предусмотрена возможность вызова функций, возвращающих строку, а также то, что ТМ6 - это Unicode система. Задачка не совсем тривиальная. Рецепт ее решения, надеюсь, пригодится и другим разработчикам.
В DLL на С++ пишем нашу функцию, возвращающую строку текста в аргумент:
В проекте ТМ6 при объявлении этой функции в описании аргумента функции необходимо указать параметр "Тип данных" в STRING, а "Указатель" в Да. При правильном определении в дереве структуры программы это должно получиться как:
code:
void cdecl GetStr(string* s1)
Все - теперь запускаем программу и при вызове этой функции с переменной типа string получаем в эту переменную строку "строка".
IP / IP: IP адрес / IP address |