I think if you export string from a DLL, you must use the ShareMem unit in the uses clause in DLL and in a calling unit too. Strings are not language independent therefore, you must either use Pchars or use the ShareMem unit.