Jeden komponent widoczny narówni na dwóch formach

0

Witam
Mam pytanie?
Jak zrobić by komponent np. MediaPlayer był widoczny na dwóch formach
nie chodzi mi o odwołanie tego typy

procedure TForm1.ButtonPlayClick(Sender: TObject);
begin
Form2.MediaPlayer.Pause ;
end;

by nie trzeba było się odwoływać np. do form2 ja wyżej a wystarczy na każdej formie MediaPlayer.Pause
by był widoczny na równi na wszystkich formach lub wybranych

1

Jak koniecznie chcesz mieć obiekt dostępny zewsząd i pod taką samą nazwą to nazwij ten komponent jakoś inaczej, w pliku źródłowym głównego okna (w sekcji Interface) zadeklaruj zmienną globalną o nazwie MediaPlayer czy jakiejkolwiek innej, byle innej niż nazwa komponentu; W konstruktorze klasy głównego okna przepisz referencję do tej zmiennej i gotowe:

interface

type
  TMainForm = class(TForm)
    Player: TMediaPlayer;
    {..}
  end;

var
  MainForm: TMainForm;
  MediaPlayer: TMediaPlayer;
  
implementation

{..}

constructor TMainForm.FormCreate(Sender: TObject);
begin
  MediaPlayer := Self.Player;
end;

Każdy moduł posiadający na liście Uses moduł głównego okna, będzie miał dostęp do globalnej zmiennej MediaPlayer, więc będzie możliwe bezpośrednie odwołanie się do komponentu, jedynie na podstawie wymienionej nazwy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1