Zitat von
padavan:
Delphi-Quellcode:
_ThTimer1 := TTimer.create(nil);
_ThTimer1.OnTimer := _ThTimer1Event;
_ThTimer1.Enabled := true;
// goto goon;
end;
...
// end Thread
Terminate;
...
procedure TBassInterfaceLayer.Stop(whichone: Byte; Fadeouttime: Byte);
...
// create Thread (suspended)
Th := TFadeoutThread.Create(True);
// Thread releases itself
Th.FreeOnTerminate := True;
// start Thread
Th.Resume;
Mal den wichtigen Teil rauskopiert, vielleicht siehst Du dann gleich woran das liegt. Aber an sich solltest Du Deine Zwischenschicht noch mal überarbeiten. Der Timer als gloable Variable ist schon eher unschön, aber ein Label und ein Sprung...
Dein eigentliches Problem dürfte wohl darin liegen, dass Du hier dem Timer ein Routine zuweist, die zu einem Thread gehört. Der Thread wird beim Beenden freigeben und endet vor Aufruf des Timers...
Gruß Der Unwissende