Was genau ist den "urls[0]"? Wirklich ein String? oder vielleicht doch ein Zeiger auf einen String? Typecasting mit PChar ist ein häufiger Stolperstein. Abhilfe: Du lagerst das Beginthread in eine Prozedur aus, die einen Parameter (nämlich die
URL) enthält. diesen Parameter kannst Du dann in ein PChar casten, ohne Dir Sorgen zu machen.
Delphi-Quellcode:
Function StartPlayStream (anURL : String) : THandle;
Begin
Result := BeginThread(nil, 0, @OpenURL, PChar(anURL), 0, ThreadId); // urls = TDynStrArray
End;
Ich habe ein ähnliches Problem mit 'OutputDebugString' gehabt und mir dann so eine (ziemliche dumme) Hilfsroutine geschrieben.