мы создали COM-элемент управления .net (3.5) для foxpro (9 с SP), в соответствии с руководствами, которые вы можете найти в Интернете (например, из блога Рика Страла)
теперь иногда в foxpro мы получали C000005 при освобождении объекта.
Поэтому мы попытались воспроизвести этот сценарий. При создании и выпуске объекта сотни/тысячи раз мы получили ту же ошибку.
Мы используем пустую форму FoxPro SCX и простую кнопку .net без какого-либо кода.
Если мы не удалим объект .net, мы получим аналогичное исключение .net «Попытка чтения или записи в защищенную память».
".(полное исключение см. внизу)
здесь код VFP:
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
сообщение об ошибке .net
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. в System.Runtime.InteropServices.ComTypes.IAdviseSink.OnViewChange (аспект Int32, индекс Int32) в System.Windows.Forms.Control.ActiveXImpl.ViewChanged() в System.Windows.Forms.Control.ActiveXImpl.ViewChangedInternal() в System. Windows.Forms.Control.OnInvalidated(InvalidateEventArgs e)
в System.Windows.Forms.Control.NotifyInvalidate(Rectangle invalidatedArea) в System.Windows.Forms.Control.Invalidate(Boolean invalidateChildren)
в System.Windows. Forms.Control.WmUpdateUIState(Message& m) из System.Windows.Forms.Control.WndProc(Message& m) из System.Windows.Forms.ScrollableControl.WndProc(Message& m) из System.Windows.Forms.ContainerControl.WndProc(Message& m) ) из System.Windows.Forms.UserControl.WndProc(Message& m) из System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) из System.Windows.Forms.Control.ActiveXImpl.System.Windows.Forms.IWindowTarget. OnMessage(Message& m) в System.W indows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Это известная проблема? любой совет, как мы можем решить это?