![]() |
Re: Thread verursacht Fehler
Leider war den EKON-Slides nichts zu entnehmen, weshalb ich Chad angeschrieben habe und erst jetzt seine Antwort posten kann, weil ich dieses WE (ausnahmsweise einmal) nicht im Bureau war ;)
Hier die Anwort: Zitat:
|
Re: Thread verursacht Fehler
Zitat:
ich hab jetzt all die Tipps eingebaut, aber trotzdem kommt es zu einer AV! hier der Text:
Delphi-Quellcode:
Was kann da noch zu Fehlern führen?!
unit USoundThread;
interface uses Classes, MMSystem; type TSoundThread = class(TThread) private SoundPfad : string; protected procedure Execute; override; public { Public declarations } constructor Create(Pfad : string); end; implementation { TSoundThread } constructor TSoundThread.Create(Pfad : string); begin inherited Create(true); UniqueString(Pfad); //Ab hier kommt die AV SoundPfad := Pfad; Resume; //FreeOnTerminate := true; end; procedure TSoundThread.Execute; begin { Place thread code here } sndPlaySound(PChar(SoundPfad), SND_ASYNC or SND_LOOP); //if terminated then break; end; end. MfG Lefko. |
Re: Thread verursacht Fehler
Keine Ahnung, was du da machst:
Delphi-Quellcode:
unit Unit2;
interface uses MMSystem, Classes; type TPlayWave = class(TThread) private { Private-Deklarationen } public FFilename: String; constructor Create(Filename: string); protected procedure Execute; override; end; implementation { TPlayWave } constructor TPlayWave.Create(Filename: String); begin Inherited create(True); FFilename := Filename; FreeOnTerminate := True; Resume; end; procedure TPlayWave.Execute; begin sndPlaySound(PChar(FFilename), SND_ASYNC); end; end.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var WaveThread: TPlayWave; begin WaveThread := TPlayWave.Create(ExtractFilepath(Paramstr(0))+ 'Beeth5th.wav'); end; |
Re: Thread verursacht Fehler
Zitat:
Zitat:
|
Re: Thread verursacht Fehler [GELÖST]
Hi Luckie :hi: ,
hm, ich Pappnase hab den Thread nur falsch kreiert.... Delphi hat es zwar nicht als Error gekennzeichnet, aber es führte immer zu ner AV. statt SoundThread := TSoundThread.create(...) hab ich SoundThread.Create verwendet... :wall: Naja, so ist das als Noob :roll: Danke, MfG Lefko. PS: Da das Prog jetzt geht hab ich ein weiteres Problem festgestellt, zu dessen Beseitigung ich den Code eigentlich extra in den Thread verfrachtet hab... Ich will mit dem Thread eine Hintergrundmusik abspielen, und dann soll, wenn die Schlange einen Apfel frisst, auch ein Sound abgespielt werden. Wenn dieser abgespielt wird, wird der Hintergrundsound abgebrochen :( Eigentlich will ich zwei Musikdateien also gleichzeitig abspielen! (Hatte das auch mit einer 2. exe, die nur zum soundabspielen gestartet wurde, das war aber unpraktisch und sehr unelegant...) Was könnte ich noch machen, damit es funktioniert?!? |
Re: Thread verursacht Fehler
Hi,
über das vergessene 'T' und die resultierende AV bin ich in den letzten Monaten auch mehrmals gestolpert. mfg Rumpi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz