Da du eh mit C kompatibel sein willst, dann geb die Grösse des Puffers mit und überprüfe vor dem StrCopy(), ob das ganze da überhaupt reinpasst.
Deine Idee mit dem allziieren in deiner
DLL ist nicht so gut, weil der
DLL Speichermanager alloziiert und der App Speichermanager des Aufrufers die Heapverwaltung nicht kennt und somit das auch nicht wieder freigeben kann. Am besten ist es immer den Speicher in der App zu alloziieren und dann der
DLL zu überreichen. Siehe dazu auch
Luckies Beitrag