J'ai un gros problème .... ne peut pas le résoudre. J'ai un programme pascal gratuit et un script lua.comment obtenir la chaîne insted du pointeur char dans Lua
function getString(i:integer):PChar;public; stdcall;
begin
//something to do
Result:=strnew(PChar('newString'));
end
en passant les fonctions d'enregistrement il y a Lua mise en œuvre
ffi.cdef
[[
char*__stdcall getString(i:integer);
]]
local str =ffi.C.getString(5)
print (tostring(str))
au lieu de 'nouvelleChaine Je me adresse de CDATA. S'il vous plaît, aidez-moi à comprendre ce moment. Comment le résoudre?
* Note *: Je ne sais rien de Lua et basé ma réponse sur sa documentation et cette réponse: http://stackoverflow.com/questions/25597155/luajit-ffi-return-string-from-c-function-to -lua Il peut donc y avoir des inexactitudes de syntaxe. Je suis sûr que vous savez que Lua sera en mesure de faire face. –
Merci, mais ça ne marche pas ((( –
) Que diriez-vous d'un détail sur ce qui se passe, pourrait parfaitement être un défaut dans votre code Pascal –