bcb OLE Automation taken from Delphi

I have the following piece of Delphi Code that works correctly:

procedure TForm1.Button1Click(Sender: TObject);
var
  Acad, Circle, vPoint, Mspace : OleVariant;
begin

  // Create the point array and assign values to it
  vPoint := VarArrayCreate([0,2], VT_R8);
  vPoint[0] := 2.0; vPoint[1] := 4.0; vPoint[2] := 0.0;

  // Get the AutoCAD application object
  Acad := GetActiveOleObject('AutoCAD.Application.14');

  // Get the ActiveDocument's model space object
  Mspace := Acad.ActiveDocument.Modelspace;

  // call the AddCircle() method to create the
  // circle with a radius of 10 units:

  //Circle := Mspace.AddCircle(VarArrayRef(vPoint), 10.0);  // R14.00 only

  Circle := Mspace.AddCircle(Vpoint, 10.0);                // R14.01 only

  // Update the circle
  Circle.Update;

end;

I have attempted to write the equivalent code in BCB as follows:

    void __fastcall TForm1::Button1Click(TObject *Sender)
{
    OleVariant Acad;
    OleVariant Mspace;

    Acad = GetActiveOleObject(StringToOleStr("AutoCAD.Application.14"));

    Mspace = Acad.ActiveDocument.Modelspace;

Quote
}

I get a compiler error:

[C++Error] Unit1.cpp(25): 'ActiveDocument' is not a member of
'System::OleVariant'.

What do I need to do to make this work in BCB?