Zitat von
papabaer:
Delphi-Quellcode:
procedure TMediaForm.NotifyProc(Sender: TObject);
begin
with Sender as TMediaPlayer do
begin
if MPLayer.Position >= MPlayer.Length then
begin
MediaForm.Close;
MainForm.Enabled:= true;
end;
Notify:= True;
end;
Notify := True;
end;
end;
Wiso schreibst du eigentlich
with Sender as TMediaPlayer do... wenn du letztlich doch per MPlayer... auf deine Instanz vom Mediaplayer zugreifst?
Auserdem setzt du jedesmal
zweimal Notify auf True, was völlig unnötig ist, da du es nur einmal nach dem erschaffen des Players machen musst.
Also:
Delphi-Quellcode:
procedure TMediaForm.NotifyProc(Sender: TObject);
begin
if MPLayer.Position= MPlayer.Length then
begin
MediaForm.Close;
MainForm.Enabled := True;
end;
end;
Wegen
MainForm.Enabled := True; :
Ich denke du deaktivierst dein Hauptformular, wenn du das mit dem Player aufrufst.
Ruf das Formular doch einfach modal auf (MediaForm.ShowModal
. Dann ist dein Hauptformular ohnehin solange deaktiviert wie das Playerformular geöffnet ist und du ersparst dir das manuelle deaktivieren.
Gruß Lars