Показать сообщение отдельно
  #7  
Старый 01.07.2011, 01:12
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

М-м-м... тут по другому. Тебе надо завести некоторую логическую переменную, которая будет показывать - надо ли проигрывать звук. В процедуре воспроизведения звука проверяешь значение этой переменной и выполняешь нужные действия, а уж процедуру воспроизведения просто вызываешь везде, где нужно.

Как-то вот так:
Код:
type
  TForm1 = class(TForm)
  ...
  private
    IsSound : Boolean;
    procedure Bomb;
  ...
  end;

...

procedure TForm1.N1Click(Sender : TObject);
begin
  IsSound := Not IsSound; // переключаем на др. значение;
end;

procedure TForm1.Bomb;
begin
  If IsSound Then
     Begin
       // play sound here
     End;
end;


procedure TForm1.BombCaller1;
begin
   ...
   // some code before
   
   Bomb;

   // some code after
   ...
end;

procedure TForm2.BombCaller1;
begin
   ...
   // some code before
   
   Bomb;

   // some code after
   ...
end;
Ответить с цитированием