I will really appreciate anybody's help about how a Unicode string can be passed (marshaled) from a managed (Delphi .NET) to an unmanaged (Delphi's Win32 DLL) function.
The managed environment (Delphi .NET):
...
interface
...
const TM_PRO_CONVERTER = 'TM.PROFileConverter.dll';
function ImportLineworksFromPROFile(FileName :String;
TargetFileNameDXF :String): Integer;
...
implementation
...
[DllImport(TM_PRO_CONVERTER, EntryPoint = 'ImportLineworksFromPROFile',
CharSet = CharSet.Ansi, SetLastError = True,
CallingConvention = CallingConvention.StdCall)]
function ImportLineworksFromPROFile(FileName :String;
TargetFileNameDXF :String): Integer; external;
...
The unmanaged environment (Delphi's Win32 DLL):
library TM.PROFileConverter;
...
function ImportLineworksFromPROFile(FileName :String;
TargetFileNameDXF :String) :Integer; stdcall;
exports
ImportLineworksFromPROFile;
...
Thank you for your time.