Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Problem beim Programmbeenden (https://www.delphipraxis.net/5251-problem-beim-programmbeenden.html)

looser 29. Mai 2003 16:18


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 ????

Alexander 29. Mai 2003 16:37

Ich denke mal, dass das an der Endlosschleife liegt.
Nimm die doch einfach mal heraus und probiere es nochmal und berichte ;-)

FriFra 29. Mai 2003 17:50

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...

looser 29. Mai 2003 19:03

:(
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:

APP 29. Mai 2003 20:43

Hallo

OH sagt:
Zitat:

pszSound

A string that specifies the sound to play. If this parameter is NULL, any currently playing waveform sound is stopped. To stop a non-waveform sound, specify SND_PURGE in the fdwSound parameter.
und meint

Delphi-Quellcode:
playsound(0,0,snd_async or snd_loop);
oder
Delphi-Quellcode:
playsound(0,0,SND_PURGE);
statt nil 0

Sollte nun funken.

looser 30. Mai 2003 07:33

:cry:

SND_PURGE bringt's auch nicht.
CPU geht auf 100% bei EXE.

Heul, schnief .... einer muß es doch wissen ...

Hilfe !!

FriFra 30. Mai 2003 08:31

Was passiert, wenn Du dich garnicht weiter um den Sound kümmerst und Deine Anwendung einfach mit Halt; abschiesst?

APP 30. Mai 2003 09:57

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;
  • Kann es sein, dass in Deinem onClose Ereignis mehr drinnen steht, oder das Du nicht alle Ressourcen freigibst,...??
  • Ist die CPU Auslastung in Deinem Programmm gleich, wenn Du playsound auskommentierst?
  • Wie groß ist Dein Wav-File?
p.s.:
OK.,OK., NIL ist besser als 0 :oops:
Warnung in der IDE:
Code:
252. Konstante 0 wurde zu NIL konvertiert

flomei 30. Mai 2003 12:23

Bin mir ja nicht sicher aber könnte
Delphi-Quellcode:
Applicaton.Terminate;
nicht helfen wenn nichts mehr gespeichert werden muss und so?
Vielleicht mal testen und gucken ob die CPU Auslastung immer noch so hoch geht.

MfG Florian :hi:

looser 30. Mai 2003 18:40

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:

looser 30. Mai 2003 18:59

:oops:
Habe Fehler entdeckt. Hatte Wavescroll eingebaut.
Das lief nach beenden in einer Endlosschleife weiter.
Da ich nicht weiß wie man das verhindert habe ich
Wavescroll komplett aus Projekt entfert (seufz).

Danke an alle und Sorry für mein Unwissen ... :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:30 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