vb.net - System.IO.FileLoadException thrown for no reason -
when switching between tabs, whenever enter tabcurves control @ point after initial entry, system.io.fileloadexception thrown @ line lstcurves_selectedindexchanged(nothing, eventargs.empty). baffling me, have sub (tabnurbs_enter(...)) has identical code, not throw exceptions.
what going on here?
code:
private sub tabcurves_enter(byval sender object, byval e system.eventargs) handles tabcurves.enter ' see if tab enter event marked supressed... if tabmain.tag tabmain _ exit sub lstcurves.items ' remove old entries. .clear() ' add new curves. integer = 0 m_nis.curves.count - 1 .add(m_nis.curves(i).name) next end ' update selection. lstcurves_selectedindexchanged(nothing, eventargs.empty) end sub private sub lstcurves_selectedindexchanged(byval sender object, byval e system.eventargs) handles lstcurves.selectedindexchanged if lstcurves.selectedindex = -1 ' since no curve selected, disable ui controls except add button. ' ### code snipped ### ' reset fields. ' ### code snipped ### else ' since curve selected, enable ui controls. ' ### code snipped ### ' update fields. ' ### code snipped ### ' force update of slider. sldcurvkeyframes_valuechanged(nothing, eventargs.empty) end if end sub private sub sldcurvkeyframes_valuechanged(byval sender object, byval e system.eventargs) handles sldcurvkeyframes.valuechanged ' enable\disable controls depending upon whether slider enabled or not. ' ### code snipped ### end sub private sub tabnurbs_enter(byval sender object, byval e system.eventargs) handles tabnurbs.enter ' see if tab enter event marked supressed... if tabmain.tag tabmain _ exit sub lstnurbs.items ' remove old entries. .clear() ' add new curves. integer = 0 m_nis.bsplines.count - 1 .add(m_nis.bsplines(i).name) next end ' update selection. lstnurbs_selectedindexchanged(nothing, eventargs.empty) end sub private sub lstnurbs_selectedindexchanged(byval sender system.object, byval e system.eventargs) handles lstnurbs.selectedindexchanged if lstnurbs.selectedindex = -1 ' since no curve selected, disable ui controls except add button. ' ### code snipped ### ' reset fields. ' ### code snipped ### else ' since curve selected, enable ui controls. ' ### code snipped ### ' update fields. ' ### code snipped ### ' force update of sliders. sldnurbsctlpoints_valuechanged(nothing, eventargs.empty) sldnurbsknots_valuechanged(nothing, eventargs.empty) end if end sub private sub sldnurbsctlpoints_valuechanged(byval sender object, byval e system.eventargs) handles sldnurbsctlpoints.valuechanged ' enable\disable controls depending upon whether slider enabled or not. ' ### code snipped ### ' update fields. ' ### code snipped ### end sub private sub sldnurbsknots_valuechanged(byval sender object, byval e system.eventargs) handles sldnurbsknots.valuechanged ' enable\disable controls depending upon whether slider enabled or not. ' ### code snipped ### ' update fields. ' ### code snipped ### end sub based on adrian's comment below, decided go snooping in lstcurves_selectedindexchanged , commented out code , slowing uncommented each line until found problem (in bold below).
private sub lstcurves_selectedindexchanged(byval sender object, byval e system.eventargs) handles lstcurves.selectedindexchanged if lstcurves.selectedindex = -1 ' since no curve selected, disable ui controls except add button. btncurvremove.enabled = false btncurvrename.enabled = false ' reset fields. txtcurvpreinfinity.text = "" txtcurvpostinfinity.text = "" sldcurvkeyframes.enabled = false sldcurvkeyframes.value = 0 sldcurvkeyframes.maximum = 0 else ' since curve selected, enable ui controls. btncurvremove.enabled = true btncurvrename.enabled = true ' update fields. m_nis.curves(lstcurves.selectedindex) txtcurvpreinfinity.text = .preinfinity txtcurvpostinfinity.text = .postinfinity sldcurvkeyframes.enabled = true sldcurvkeyframes.maximum = .keyframes.count - 1 sldcurvkeyframes.value = 0 end ' force update of slider. sldcurvkeyframes_valuechanged(nothing, eventargs.empty) end if end sub keyframes of type ilist(of keyframe) property returns cast of internal list of type eventlist(of t) implements ilist(of t) type ilist(of keyframe). eventlist(of t) wrapper throws events when item added, inserted, removed, removed, modified, or list cleared or cleared.
would causing problems i'm experiencing?
here's relevant files define m_nis , animation curve objects. download
followed advised fix of using app.config files recommended xml code added:
<startup uselegacyv2runtimeactivationpolicy="true"> <supportedruntime version="v4.0" /> </startup>
Comments
Post a Comment