Danke Dejan Vu,
für einen Sonntag-Nachmittags Programmierer wie mich ist das starker Tobak, ich würde es aber trotzdem gerne mal so versuchen, weiß aber nicht so recht wie.
Ich glaube, dass der Fehler bei meinem Timer liegt und poste mal den extrem gekürzten Code hierzu
Delphi-Quellcode:
procedure TimeCallBack(TimerID, Msg: Uint; dwUser, dw1, dw2: DWORD); pascal;
begin
With Form1 do begin
TimerEvent.Execute;
end;
end;
procedure StartTimer(ms: Integer);
begin
mmResult := TimeSetEvent(ms, 0, @TimeCallBack, 0, TIME_PERIODIC);
end;
procedure StopTimer;
begin
TimeKillEvent(mmResult);
end;
procedure TForm1.startplayExecute(Sender: TObject);
begin
StartTimer(intervall);
end;
procedure TForm1.TimerEventExecute(Sender: TObject);
begin
chrd := sl.Strings[z];
If chrd <> '' then PlaySound(PChar(chrd), hInstance, snd_ASync or snd_Resource);
inc(z);
end;
Bitte nicht so kritisch anschauen, ich habs so stark gekürzt, dass es so nicht funktioniert, ich will nur das Prinzip verdeutlichen. Wie müsste ich da jetzt deine fail fast Abfrage einbauen?