Witam.
DLL-ka ( testowa ) posiada dwie funkcje :
int FunkcjaQuattro(char * a)
{
return strlen(a);
}
oraz
DLL-ka ( testowa ) posiada dwie funkcje :
int FuncString(string a)
{
return a.length();
}
Teraz z poziomu AutoIt-a chciałbym wywołać obie funkcje i otrzymać długość łańcuchów przekazanych w parametrach.
W tym przypadku, wszystko jest w porządku, funkcja zwraca długość łańcucha
$result = DllCall($objPurtDll, "int:stdcall", "FunkcjaQuattro", "str" , "ALA MA KOTA")
DllClose($objPurtDll)
msgBox(16,"aaa", $result[0])
Natomiast tutaj ( chyba z uwagi na to, że argumentem funkcji jest string ), funkcja DllCall kończy się błędem, a sam program "wysypuje się".
$result = DllCall($objPurtDll, "int:stdcall", "FuncString", "str" , "ALA MA KOTA")
DllClose($objPurtDll)
msgBox(16,"aaa", $result[0])
Ktoś ma jakieś doświadczenie w tym zakresie w AutoIt-cie?
Dziwne, że funkcja nie radzi sobie z przekazaniem łańcucha do funkcji, której argumentem jest zmienna std::string.
Z góry wielkie dzięki za wskazówki.
Pozdrawiam