Показать сообщение отдельно
  #1  
Старый 12.08.2013, 11:15
TUberwer TUberwer вне форума
Прохожий
 
Регистрация: 04.07.2013
Сообщения: 6
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Как вызвать procedure TForm1.MediaPlayer1Notify(Sender: TObject);

Всем привет, кто подскажет, как вызвать procedure TForm1.MediaPlayer1Notify(Sender: TObject); в таймере? или вообще как лучше сделать, у меня есть

Код:
procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
with Sender as TMediaPlayer do
  begin
    If Mode=mpPlaying	then
    begin
    TimerFraza.Enabled := True;
    Panel1.Caption := 'procedure ON';
    end
    Notify := True;
end;
end;

Есть таймер, TimerFraza, который воспроизводит запись, а потом себя выключает:

Код:
procedure TForm1.TimerFrazaTimer(Sender: TObject);
begin
Panel1.Caption := 'timer ON';
MediaPlayer1.FileName:=OpenDialog1.FileName;
MediaPlayer1.Open;
MediaPlayer1.Play;
TimerFraza.Enabled := False;
end;

Этот таймер должен включаться только тогда, когда запись закончит проигрываться.
Код который написал я - не работает, т.к. фраза вообще не проигрывается и надпись на Panel1 не меняется.
Я подумал что нужно поставить таймер на 0,5-1 секунду, и в нем вызывать процедуру эту.
Я правильно думаю? Если да, то какой код нужно вписать в таймер на 0,5-1 секунды? просто пробовал вызвать процедуру, а у меня ошибка:

Код:
procedure TForm1.Timer2Timer(Sender: TObject);
begin
TForm1.MediaPlayer1Notify(Sender: TObject);
end;

ошибка в строчке TForm1.MediaPlayer1Notify(Sender: TObject); :

Код:
[Error] Unit1.pas(137): ')' expected but ':' found
Ответить с цитированием