AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Timing problem

Ein Thema von EWeiss · begonnen am 7. Apr 2011 · letzter Beitrag vom 8. Apr 2011
Antwort Antwort
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#1

AW: Timing problem

  Alt 8. Apr 2011, 19:19
Und du setzt auch sobald die Schließen-Nachricht kommst dein "PlayingSong" auf FALSE?

Bernhard

ADD:
if PlayingSong = False then Exit;
Iiihhh. Da muss ein if not PlayingSong then hin.
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Timing problem

  Alt 8. Apr 2011, 19:29
Und du setzt auch sobald die Schließen-Nachricht kommst dein "PlayingSong" auf FALSE?

Bernhard

ADD:
if PlayingSong = False then Exit;
Iiihhh. Da muss ein if not PlayingSong then hin.
Jup habe es auch gerade bemerk
Danke für den Hinweis.

Jo wenn der Song zu ende ist bzw der Button Stop gedrückt wird
dann wird die False gesetzt

EDIT:
Muss jetzt noch mal genau die Windows Messagen prüfen
Warum das Window nicht schließt.
Geht erst wenn der Song beendet ist (sagte ich aber schon)


gruss

Geändert von EWeiss ( 8. Apr 2011 um 19:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#3

AW: Timing problem

  Alt 8. Apr 2011, 19:35
Das war ja nicht die Frage. Die Frage war, ob PlayingSong auf FALSE gesetzt wird, wenn WM_CLOSE bei dem entsprechenden Fenster ankommt?

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Timing problem

  Alt 8. Apr 2011, 19:40
Das war ja nicht die Frage. Die Frage war, ob PlayingSong auf FALSE gesetzt wird, wenn WM_CLOSE bei dem entsprechenden Fenster ankommt?

Bernhard
Ach so das meinst du..
Muss das nochmal setzen gestern hat es aufgrund der langen wartezeit durch den Loop nicht funktioniert.

Gebe gleich bescheid

EDIT:
Ich behandle die WM_CLOSE Message nicht.
Unter ..
Delphi-Quellcode:
    WM_DESTROY:
    begin
      if MidiTracker.PlayingSong then
        MidiTracker.PlayingSong := False;
      SaveINI;
      PostQuitMessage(0);
      Result := 1;
      Exit;
    end;
funktioniert es nicht.
Das Lied läuft noch währen PostQuitMessage(0);
ausgeführt wurde.

gruss

Geändert von EWeiss ( 8. Apr 2011 um 19:48 Uhr)
  Mit Zitat antworten Zitat
alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Timing problem

  Alt 8. Apr 2011, 20:02
Du hast doch sicherlich irgendwo PLaystart und Playstop Procdure!
Du musst natürlich auch die Playstop Procedure aufrufen bevor du was beendest!

alfold
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Timing problem

  Alt 8. Apr 2011, 20:06
Du hast doch sicherlich irgendwo PLaystart und Playstop Procdure!
Du musst natürlich auch die Playstop Procedure aufrufen bevor du was beendest!

alfold
Jetzt ist aber gut oder ?
Ich habe nur eine Play Procedure welche den Status False/True setzt die kann ich aber beim beenden
der anwendung nicht verwenden weil dann ein neuer Zugriff auf meine DLL stattfindet und
das Caption des Button auf Play gesetzt wird.

Also muss ein SongPlaying = False reichen.
Da ist irgendwas anderes im Bush

Habe jetzt
Delphi-Quellcode:
    ID_CLOSE:
    begin
      // Anwendung beenden
      Sendmessage(WinHandle, WM_CLOSE, 0, 0);
      Sendmessage(WinHandle, WM_DESTROY, 0, 0);
      //PostQuitMessage(0);
      Result := True;
      Exit;
    end;
WM_CLOSE Message noch hinzugefügt was eigentlich nicht notwendig ist..
Jetzt schließt das Fenster aber die IDE von Delphi hängt.
Ist ein zeichen das irgendwas noch nicht richtig beendet wurde.
Nach PostQuitMessage

PS:
Die Probleme habe ich aber nicht wenn der Song nicht läuft.

gruss

Geändert von EWeiss ( 8. Apr 2011 um 20:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#7

AW: Timing problem

  Alt 8. Apr 2011, 21:21
Delphi-Quellcode:
      // Anwendung beenden
      Sendmessage(WinHandle, WM_CLOSE, 0, 0);
      Sendmessage(WinHandle, WM_DESTROY, 0, 0);
Das ist jetzt auch wieder nix. Du schickst NUR WM_CLOSE an dein Fenster. In der entsprechenden Nachrichtenschleife rufst du bei einer solchen Nachricht MSDN-Library durchsuchenDestroyWindow() auf. Das bewirkt dann, dass WM_DESTROY aufgerufen wird. Außerdem solltest du in einer solchen Situation auch MSDN-Library durchsuchenPostMessage() benutzen.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:25 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