IDispatch as a parameter

I have some VB code that I am converting to Delphi code.  The Delphi
code
will also have to access an active x libray that was built in VB.
For this conversion I had to add MScomm32.ocx from the windows system
dir to
my active x tab in delphi.  This component is the same component that
is
found in VB and when placed on a form it has the same look as in VB
(looks
like a telephone and is named MSComm1).

In the VB lib there is a property called commPort that is of type
IDispatch.
VB will allow  commPort = MsComm1 but Delphi will not.  Is there a way
in
Delphi to assign MSComm1 to commPort?  I have no problems with any of
the
other properties or methods in the dll, only when the data type is of
type
IDispatch.

Extractions from VB:

{Private Variables}
Private WithEvents Gage26 As wpGagCom.Gage26DLPlus  {wpGagCom is the
active
x dll and Gage26DLPlus is the interface}
Private Gage As Object

Private Sub Button1_Click()

        Set Gage26 = New Gage26DLPlus
        Set Gage = Gage26
        Set Gage.CommPort = MSComm1

end Sub

Extraction from Delphi:

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs,
  OleCtrls, StdCtrls, wpGagCom_TLB;

type
  TfmMain = class(TForm)
    Button1: TButton;
    MSComm1: TMSComm;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    svr  : Gage26DLPlus;
  end;

procedure TfmMain.Button1Click(Sender: TObject);

begin
   svr.CommPort := MSComm1; {Acess Violation is raised}
end;