class TObservableForm : public IObserver
{
public:
  TMyForm *Form;
  TObservableForm(TMyForm *AForm)
  {
   Form = AForm;
  }

  // IObserver より
  virtual void Update()
  {
   // TMyForm になにかする
  }
};

って、これだけのことでしょ。こうするとさらに便利。

template<class T> class IObserver
{
public:
  T *VCLClass;
  IObserver(T *AVCLClass)
  {
   VCLClass = AVCLClass;
  }

  virtual void Update() = 0;
}: