Как вернуть строку из библиотеки DLL, написанной на C++, в VB6
Здравствуйте дамы и господа из проекта Code,
Я пытаюсь выяснить, как вернуть строку через функцию, написанную на C++ (используя Visual Studio 2015, а не мной) в VB6.
Пожалуйста, имейте в виду, что строка должна быть передана через функцию, а не как параметр.
У меня есть опыт работы с VB6, но не с C++!
Мне дали статическую библиотеку и заголовочный файл, и кто-то на работе собрал для меня DLL C++, которую я мог бы вызвать.
Проблема, с которой я сталкиваюсь, заключается в том, что когда я вызываю функцию, которая возвращает строку через функцию, она возвращает строку длины 0.
Я бы подошел к человеку на работе по этому поводу, но он сейчас недоступен!
Коды следующим образом:
extern "C" {
VBDLLFUNC(char*) MDNSgetPath();
}
Где #определить VBDLLFUNC(Имя_типа) с атрибутом dllexport имя как __stdcall
//char* getPath();
extern "C" {
VBDLLFUNC(char*) MDNSgetPath() {
return(getPath());
}
}
У меня есть следующее объявление в моем коде VB6:
Объявить Функцию MDNSgetPath Lib "MDTestDLL.dll" () Как Строка
В моем событии загрузки формы я вызываю функцию следующим образом:
Функцию MsgBox "|" &амп; MDNSgetPath &ампер; "|"
Результат, который я получаю обратно, таков: ||
Пожалуйста, посоветуйте
Спасибо
Что я уже пробовал:
Я погуглил, но ничего особенного не нашел.