![]() |
Problem beim Programmbeenden
Beim Laden der Form wird eine WAV mittels
playsound ('wave.wav',0,snd_async or snd_loop); in einer Endlosschleife wiedergegeben. Beim beenden mittels X (Schließen) Buttons habe ich im OnClose Ereignis der Form dann stehen playsound (nil,0,snd_async); Das Programmfenster schließt, der Sound hört auf aber in dem Moment geht die CPU-Last der EXE gegen 100% (und die EXE verschwindet eben auch nicht). Was mache ich falsch ???? |
Ich denke mal, dass das an der Endlosschleife liegt.
Nimm die doch einfach mal heraus und probiere es nochmal und berichte ;-) |
Du kannst Deinen Sound auch ein letztes mal abspielen... ohne loop:
playsound ('wave.wav',0,snd_async); Damit wäre die Schleife auch abgebrochen. Vielleicht verursacht ja das "nil" den Fehler... |
:(
Habe probiert Sound zu starten mit ... playsound ('wave.wav',0,snd_async or snd_loop); playsound ('wave.wav',0,snd_async); playsound ('wave.wav',0,snd_sync); Sound spielt immer an wenn ich beim OnClose 'wave.wav' anstatt nil eingebe hört der Sound nicht mehr auf. In allen Fällen aber immer 100% CPU-Auslastung und Task läuft weiter. :shock: |
Hallo
OH sagt: Zitat:
Delphi-Quellcode:
oder
playsound(0,0,snd_async or snd_loop);
Delphi-Quellcode:
statt nil 0
playsound(0,0,SND_PURGE);
Sollte nun funken. |
:cry:
SND_PURGE bringt's auch nicht. CPU geht auf 100% bei EXE. Heul, schnief .... einer muß es doch wissen ... Hilfe !! |
Was passiert, wenn Du dich garnicht weiter um den Sound kümmerst und Deine Anwendung einfach mit Halt; abschiesst?
|
Hallo,
nun, ich habe eine Mini-App geschrieben und bei mir geht die CPU Auslastung auf max. 5% (während der Laufzeit):
Delphi-Quellcode:
...
VAR Form1 : TForm1; IMPLEMENTATION USES MMSystem; {$R *.DFM} PROCEDURE TForm1.Button1Click(Sender: TObject); //Start BEGIN playsound('C:\X-Files.wav', 0, snd_async OR snd_loop); END; PROCEDURE TForm1.Button2Click(Sender: TObject); //Stopp BEGIN playsound(NIL, 0, SND_PURGE); END; PROCEDURE TForm1.FormClose(Sender: TObject; VAR Action: TCloseAction); // Close Form BEGIN playsound(NIL, 0, snd_async OR snd_loop); END;
OK.,OK., NIL ist besser als 0 :oops: Warnung in der IDE:
Code:
252. Konstante 0 wurde zu NIL konvertiert
|
Bin mir ja nicht sicher aber könnte
Delphi-Quellcode:
nicht helfen wenn nichts mehr gespeichert werden muss und so?
Applicaton.Terminate;
Vielleicht mal testen und gucken ob die CPU Auslastung immer noch so hoch geht. MfG Florian :hi: |
Habe jetzt mal ein // vor alle soundbefehle gesetzt.
Es wird also keinerlei Soundkommando gegeben. Und siehe da CPU immer noch bei 100% wenn X-Button gedrückt wird. Es liegt also nicht am Sound. Jetzt muß ich mal suchen. :oops: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:46 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