Hallo Community,
ich habe hier ein ziemlich mysteriöses Verhalten entdeckt:
Delphi-Quellcode:
function OpenURL(
url: PChar): Integer;
var icy: PChar;
begin
Result := 0;
//ShowMessage(url);
Record_Channel := BASS_StreamCreateURL(
url, 0, BASS_STREAM_META
or
BASS_STREAM_STATUS,@StatusProc, 0);
{...}
end;
procedure TForm_RTRecording.Button2Click(Sender: TObject);
var ThreadId: Cardinal;
begin
if (cthread <> 0)
then MessageBeep(0)
else
cthread := BeginThread(
nil, 0, @OpenURL, PChar(Edit1.Text), 0, ThreadId);
//ShowMessage('kp wieso, aber ShowMessage muss aufgerufen werden ;_;');
end;
BeginThread wird nur dann korrekt ausgeführt, wenn ich ShowMessage('kp...') anzeigen lasse. Sonst, wenn ich ShowMessage(
url) aktiviere, kommt der oben angegebene Fehler. Wieso muss ich also ShowMessage('kp...') ausführen, damit alles funktioniert?