AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Problem beim Programmbeenden
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim Programmbeenden

Ein Thema von looser · begonnen am 29. Mai 2003 · letzter Beitrag vom 30. Mai 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von looser
looser

Registriert seit: 25. Mai 2003
15 Beiträge
 
Delphi 7 Professional
 
#1

Problem beim Programmbeenden

  Alt 29. Mai 2003, 17:18
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 ????
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#2
  Alt 29. Mai 2003, 17:37
Ich denke mal, dass das an der Endlosschleife liegt.
Nimm die doch einfach mal heraus und probiere es nochmal und berichte
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#3
  Alt 29. Mai 2003, 18: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...
  Mit Zitat antworten Zitat
Benutzerbild von looser
looser

Registriert seit: 25. Mai 2003
15 Beiträge
 
Delphi 7 Professional
 
#4
  Alt 29. Mai 2003, 20: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.
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#5
  Alt 29. Mai 2003, 21: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

playsound(0,0,snd_async or snd_loop); oder
playsound(0,0,SND_PURGE); statt nil 0

Sollte nun funken.
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Benutzerbild von looser
looser

Registriert seit: 25. Mai 2003
15 Beiträge
 
Delphi 7 Professional
 
#6
  Alt 30. Mai 2003, 08:33


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

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

Hilfe !!
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#7
  Alt 30. Mai 2003, 09:31
Was passiert, wenn Du dich garnicht weiter um den Sound kümmerst und Deine Anwendung einfach mit Halt; abschiesst?
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#8
  Alt 30. Mai 2003, 10: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
Warnung in der IDE:
Code:
252. Konstante 0 wurde zu NIL konvertiert
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#9
  Alt 30. Mai 2003, 13:23
Bin mir ja nicht sicher aber könnte
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
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Benutzerbild von looser
looser

Registriert seit: 25. Mai 2003
15 Beiträge
 
Delphi 7 Professional
 
#10
  Alt 30. Mai 2003, 19: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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz