Du kannst Strings nicht einfach zwischen DLLs und Programmen verschieben (dazu braucht es FastMM4, ShareMem oder einen ähnlichen Memory Manager, der sowas erlaubt). Wenn du statt Strings einfach PChars verwendest, bist du auf der sicheren Seite: dann können nämlich Programme aller Sprachen deine
DLL benutzen, nicht nur Delphi-Programme.