Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   notify (https://www.delphipraxis.net/55490-notify.html)

Sveno2 21. Okt 2005 18:39


notify
 
Hallo.

Habe ein Problem:

Delphi-Quellcode:
 WITH Mediaplayer1 DO
 begin
  notify := false;
  close;
 end;
 playlist.Clear;
 listbox1.Clear;
 IF opendialog.execute THEN ... (usw.)
Warum geht der da trotzdem nach Aufruf der close Methode in die onNotify Prozedur?

Danke und Gruss Sven:)

marabu 21. Okt 2005 19:01

Re: notify
 
Willkommen in der Delphi-PRAXiS, Sven.

Wenn das Ereignis OnNotify() bei dir ausgelöst wurde, dann sicher nicht durch die Methode Close(). Zumindest bei mir mit D7 verhält sich die Komponente so wie erwartet.

Grüße vom marabu

Sveno2 21. Okt 2005 19:48

Re: notify
 
Hmm, aber das ist die einzige Möglichkeit, hab sonst nix in der Prozedur was onnotify auslösen könnte.

marabu 21. Okt 2005 19:53

Re: notify
 
Der auslösende Code muss doch nicht in dieser Prozedur stehen...

marabu

Sveno2 21. Okt 2005 20:00

Re: notify
 
ja, aber ich hab das Programm mit nem Stopper schrittweise durchlaufen lassen und er springt zur onnotify prozedur nachdem er beim opendialog.execute angekommen ist.

ichbins 21. Okt 2005 20:56

Re: notify
 
Zitat:

Zitat von OH
Notify wirkt sich nur auf den Aufruf der nächsten Methode zur Steuerung des Media-Players aus. Soll die Eigenschaft OnNotify auch für weitere Methodenaufrufe gelten, muss sie nach jedem Aufruf neu gesetzt werden.

close ist das erste Ereigniss. Nach dem Opendialog wird noch ein Ereigniss aufgerufen (ich denk mal open). Nach Close muss notify wieder auf false gesetzt werden.

marabu 21. Okt 2005 21:00

Re: notify
 
@Sven: Das interpretierst du vielleicht falsch. Ändere deinen Code mal ein wenig ab:

Delphi-Quellcode:
WITH Mediaplayer1 DO
begin
  notify := false;
  close;
end;
Application.ProcessMessages;
playlist.Clear;
listbox1.Clear;
...
Jetzt sollte die OnNotify-Routine angesprungen werden, sobald du beim Tracen auf ProcessMessages stehst.

marabu

ichbins 21. Okt 2005 21:03

Re: notify
 
die Variablen notify=false wird nach der ersten Aktion wieder zurückgesetzt auf notify=true. Die 1. Aktion ist
Delphi-Quellcode:
mediaplayer.close
Die nächste Aktion ist dann das
Delphi-Quellcode:
mediaplayer.open
nach dem Opendialog. Dabei wird das Event ausgelöst. Du musst nach CLOSE notify wieder auf false setzten

--> siehe delphihilfe (mediaplayer nehmen -> f1)

marabu 21. Okt 2005 21:09

Re: notify
 
@ichbins: dein Hinweis ist sicher wertvoll, aber Open() ist laut Beschreibung von Sven noch gar nicht ausgeführt worden...

Freundliche Grüße vom marabu

ichbins 21. Okt 2005 21:19

Re: notify
 
Zitat:

Zitat von Sveno2
ja, aber ich hab das Programm mit nem Stopper schrittweise durchlaufen lassen und er springt zur onnotify prozedur nachdem er beim opendialog.execute angekommen ist.

ich denk mal nach dem opendialog.execute wird er noch irgendwas anderes machen. Genauergesagt: eine neue Mediendatei laden. Da er das als if-Abfrage ohne begin...end gemacht hat, macht der Debugger keinen Extrastopp.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:22 Uhr.
Seite 1 von 2  1 2      

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