title: Exception: Invalid object array with comtypes
body: <p>I try to implement a simple copy operation between two Autocad documents via COM in Python.</p>
  
  <pre><code>from pyautocad import Autocad, APoint
  from comtypes.client import GetBestInterface
  # Get acad application
  acad = Autocad(create_if_not_exists=True)
  # Create a new document
  doc1 = GetBestInterface(acad.Application.Documents.Add())
  # add a circle in this document and make it visible
  circle = GetBestInterface(doc1.ModelSpace.AddCircle(APoint(0.0, 0.0), 1.0))
  doc1.Application.ZoomExtents()
  # create another document
  doc2 = GetBestInterface(acad.Application.Documents.Add())
  # and copy the circle to the new document
  doc1.CopyObjects([circle], doc2.ModelSpace)
  </code></pre>
  
  <p>This throws:</p>
  
  <pre><code>Traceback (most recent call last):
    File "copy_bug.py", line 13, in &lt;module&gt;
      doc1.CopyObjects([circle], doc2.ModelSpace)
    File "Anaconda2\lib\site-packages\comtypes\__init__.py", line 655, in call_with_inout
      rescode = func(self_, *args, **kw)
  _ctypes.COMError: (-2145320837, None, (u'Invalid object array', u'AutoCAD.Application', u'C:\\Program Files\\Autodesk\\AutoCAD 2015\\HELP\\OLE_ERR.CHM', -2145320837, None))
  </code></pre>
  
  <p>Same thing may be accomplished in VBA with:</p>
  
  <pre><code>Dim doc1 As AcadDocument
  Set doc1 = ThisDrawing.Application.Documents.add
  Dim pt(0 To 2) As Double
  pt(0) = 0#: pt(1) = 0#: pt(2) = 0#
  Dim circ As AcadCircle
  Set circ = doc1.ModelSpace.AddCircle(pt, 1)
  
  ThisDrawing.Application.ZoomExtents
  
  Dim doc2 As AcadDocument
  Set doc2 = ThisDrawing.Application.Documents.add
  
  Dim arry(0 To 0) As AcadEntity
  Set arry(0) = circ
  doc1.CopyObjects arry, doc2.ModelSpace
  </code></pre>
  
  <p>I tried numpy arrays, I tried casting to the <code>IDispatch</code> interface, the <code>IAcadEntity</code> interface and <code>IAcadObject</code> with no success (probably a silly attempt).</p>
  
  <pre><code>circle = circle.QueryInterface(IAcadEntity)
  </code></pre>
  
  <p>I also tried to look inside <code>site-packages\comtypes\automation.py</code> but that's above my pay grade. Setting the <code>self.vt</code> to <code>VT_ARRAY | VT_DISPATCH</code> in <code>_set_value</code> does no good but I suspect that the problem is along those lines because, if we change <code>Dim arry(0 To 0) As AcadEntity</code> to <code>Dim arry(0 To 0) As Variant</code> the VBA example will also throw <code>Invalid object array</code>.</p>
  
  <hr>
  
  <p>I should mention that I un-commented two lines in <code>site-packages\comtypes\automation.py</code>:</p>
  
  <pre><code># These are not yet implemented:
  POINTER(IUnknown): VT_UNKNOWN,
  POINTER(IDispatch): VT_DISPATCH,
  </code></pre>
  
  <p>So .... help?!</p>