Ok, hätte vielleicht warten können mit dem Thread.
Hat sich geklärt, nach weiterem Debuggen habe ich herausgefunden, dass
Delphi-Quellcode:
case BeforeAudio.PlayHandling of
phWait:
begin
while BASS_ChannelIsActive(BeforeAudio.SoundStream) = BASS_ACTIVE_PLAYING do
begin
Idle(10);
end;
end;
phContinue:
begin
end;
phPause:
begin
BASS_ChannelPause(BeforeAudio.SoundStream);
end;
phStop:
begin
BASS_ChannelStop(BeforeAudio.SoundStream);
end;
end;
scheinbar die
Exception beim ersten Durchlauf wirft, sprich, wenn
BeforeAudio
undefiniert, aber nicht NIL ist. Im Debug springt Delphi scheinbar in case-Schleifen bei ungültigen Werten einfach weiter und unter Win 7 und 8.1 auch. Warum ein ShowMessage vor dem Aufruf der Play-Routine (aber nicht innerhalb der Play Routine) das verhindert, ist mir schleierhaft, aber okay.
Mit freundlichen Grüßen