Ich tippte auf den kranken Cast.
arr := TPWideCharArray(argv);
Außerdem werden im Result nur viele PChars aus ein- und derselben Variable verlinkt,
die am Ende auch noch freigegeben wird und somit die PChars alle ungültig sind.
Ja, ich habe versucht es irgendwie zum Laufen zu kriegen mit Code Schnippseln die ich im Internet dazu gefunden habe.
Tatsächlich ist die array cast Zeile, diejenige, welche die
access violation auslöst. Wenn ich sie weglassen (und das nachfolgende coding) kommt keine
access violation.
Seltsam ist, dass showmessage aber perfekt funktioniert. Sie wird 2 mal gerufen und zeigt jeweils den richtigen String an.
Wie ist der richtige Weg, wenn ich über eine C function eine Liste von Strings bekomme (argv: PPPWideChar; argc: PPNativeInt) und diese in einem Result vom Type TArray<String> zurück geben möchte?
Viele Grüße
Andre