Shouldn’t a TypeCast to CString create a real Cstring?

Sure there is. You might not be used to declareFunctionMBS, sorry for any confusions.
In Xojo terms, the declare would look like
Declare Function Execute lib ExtLib (command as Cstring) As CString

The implicit conversion is the output parameter (s in example code) that this way will be forwarded as string.

Well, I never would pass a String instead of CString in the command parameter, unless applying tricks as


1 Like

I appreciate your help, but cannot resist the feeling we are talking about the same thing but never meet :wink:

I don’t pass a string as command parameter. That’s why I was trying typecast and implicit conversion which I thought should do the trick (append a zero byte) automatically. The string I use is the output parameter, and this one will be converted correctly.

I don’t expect a CString byval parameter. So we really need @Christian_Schmitz inspecting your case.

For setParameters in SetParameters, please pass a normal string.


f.SetParameters "Hello"


Thank you. So it wasn’t Xojo but your conversion which I missed. I see that ParameterString and other parameter methods say so, but missed that as I am just using SetParameters.

1 Like