char* value
ist zwat "vom Wortlaut" her ein Zeiger auf
einen Char,
aber alleine der Funktionsname sagt dir, daß dort ein ganzer
String hingehört, also ein Zeiger auf
eine Reihe von Chars ... ein Char-Array.
Entweder man kann irgendwie auslesen für wieviele Chars dort Platz sein muß oder in der Dokumentation steht irgendwo geschrieben wieviele Chars es maximal sein können.
Dementsprechend mußt du ein genügend großes Array (oder einen Zeiger auf einen String-Anfang) übergeben.
PS: Statt Char/PChar besser AnsiChar und PAnsiChar verwenden, denn ab Delphi 2009 ist Char =
Unicode, aber die Deklaration der
DLL wird sich nicht dementsprechend "anpassen" ... dort bleibt es also auch weiterhin
ANSI.
PSS: Im Foren-Profil kann man seine Delphi-Version (oder Lazarus) angeben, damit man gleich weiß auf was mach achten muß und was überhaupt möglich ist.