Controlling Internet Explorer 3.0 with OLE Automation

I am writing an app. for which I need to be able to control both Netscape and
Internet Explorer 3.0.

Netscape has a reasonably rich DDE interface which has a few bugs but
generally does the job. I've now moved on to IE3.0.

IE3.0 has to be controlled via OLE (it only supports the WWW_OpenURL topic).
The OLE interface is fully documented in the MS ActiveX SDK. Essentially you
do something like:

--------------------------------------------

  try
    WinController.NotOnTop;

    // Create a copy of Internet Explorer if we don't already have one.
    if VarIsEmpty(IE) then
      IE := CreateOLEObject('InternetExplorer.Application.1');

    // Set object properties.
    IE.StatusBar := True;
    IE.FullScreen := False;
    IE.Width := 600;
    IE.Height := 400;
    IE.Visible := True;
    IE.StatusText := 'This Internet Explorer is under the control of
{*word*104}securities';

    // Call navigate method.
    if Length(LastURL) <> 0 then IE.Navigate(LastURL)
    else IE.Navigate({*word*104}URL);

------------------------------------------

I have found it easy to access the IE objects properties and call its methods
but have not been able to access its events. I am relatively new to Delphi
and OLE so I'd be grateful if anyone could help me out on this.

Dom Williams

-- ////////////////////////////////////////////////////////////////////
Dom Williams                    Phone: +44 (171) 286 0552
{*word*137} Consultant            Fax:   +44 (171) 289 4826
and Technical Director          Email: d...@connected-place.co.uk
Connected Place Ltd             URL: http://connected-place.co.uk
////////////////////////////////////////////////////////////////////