How to send string from DLL to my EA?

 

Hello, I would like to print some information received form an external library.

The best thing I have gotten working so far is passing an array of chars as a parameter and modifying each position individually.

Is there a simpler solution? Like returning a string from the DLL or modifying a string passed as a parameter? (I have tried both with no luck so far).

Thank you. 

 

no, only char

#import "con.dll"
   int ConnectToServer(char &a0[]);
#import


extern string ip_address = "123.46.4";
...
char a[];
StringToCharArray(ip_address,a);
ConnectToServer(a);
 

Returning a string is not the best idea -  it is complicated to control memory leaks. A safe solution is passing the string as a parameter, but you have to initialize it to its max length before sending the reference to DLL.

Mind the unicode when treating strings in DLL. 

 
EDIT: Got it working, guys. I was passing an incorrect parameter to CharArrayToString... I also made the code in the DLL to iterate through all chars of a char[], don't know if it is incorrect otherwise. I will test a few more things and share my final result!
Reason: