title: .Net Winform Button as COM for FoxPro C00005 Error
body: <p>we created a .net (3.5) COM control for foxpro (9 with SP), according to the guides you can find on the web (for example from rick strahls weblog)</p>
  
  <p>now sometimes in foxpro we got a C000005 when releasing the object.</p>
  
  <p>So we tried to reproduce this sceanrio. When instanticate and release the object hundred / thousend of times we got the same  error.</p>
  
  <p>We use a emptry FoxPro SCX Form, and a simple .net button without any code.</p>
  
  <p>If we don't dispose the .net object we got an similar .net exception "Attempted to read or write protected memory"  </p>
  
  <p>".(complete exception see at the bottom)</p>
  
  <p>here the VFP Code:</p>
  
  <pre><code>Local lnAnzahl as Number, ;
   lni as Number
  
  set procedure to DummyProcedure.prg
  
  lnAnzahl = val(inputbox("wie oft", "oft","0"))
  
  for lni = 1 to lnAnzahl
   thisform.newobject("cntTest","netcontrol","c0005nativetest.vcx")
   thisform.RemoveObject("cntTest")     
  endfor
  </code></pre>
  
  <p>.net error message</p>
  
  <blockquote>
    <p>System.AccessViolationException: Es wurde versucht, im geschützten
    Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis
    darauf, dass anderer Speicher beschädigt ist.    bei
    System.Runtime.InteropServices.ComTypes.IAdviseSink.OnViewChange(Int32
    aspect, Int32 index)    bei
    System.Windows.Forms.Control.ActiveXImpl.ViewChanged()    bei
    System.Windows.Forms.Control.ActiveXImpl.ViewChangedInternal()    bei
    System.Windows.Forms.Control.OnInvalidated(InvalidateEventArgs e)<br>
    bei System.Windows.Forms.Control.NotifyInvalidate(Rectangle
    invalidatedArea)    bei
    System.Windows.Forms.Control.Invalidate(Boolean invalidateChildren)<br>
    bei System.Windows.Forms.Control.WmUpdateUIState(Message&amp; m)    bei
    System.Windows.Forms.Control.WndProc(Message&amp; m)    bei
    System.Windows.Forms.ScrollableControl.WndProc(Message&amp; m)    bei
    System.Windows.Forms.ContainerControl.WndProc(Message&amp; m)    bei
    System.Windows.Forms.UserControl.WndProc(Message&amp; m)    bei
    System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp; m)
    bei
    System.Windows.Forms.Control.ActiveXImpl.System.Windows.Forms.IWindowTarget.OnMessage(Message&amp;
    m)    bei
    System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp; m)<br>
    bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
    IntPtr wparam, IntPtr lparam)</p>
  </blockquote>
  
  <p>Is this an known problem?
  any advice how we can solve it ? </p>