错误:
对象引用未设置为对象的实例。 在InfoPathFormTemplate5.FormCode.CTRL407_5_Clicked(Object sender,ClickedEventArgs e) 在Microsoft.Office.InfoPath.Internal.ButtonEventHost.OnButtonClick(DocActionEvent pEvent) 在Microsoft.Office.Interop.InfoPath.SemiTrust._ButtonEventSink_SinkHelper.OnClick(DocActionEvent pEvent)
VB2005中的错误:对象引用未设置为对象的实例。 System.NullReferenceException未被用户代码处理 Message =“对象引用未设置为对象的实例。” 来源= “InfoPathFormTemplate5” 堆栈跟踪: 在InfoPathFormTemplate5.FormCode.CTRL407_5_Clicked(Object sender,ClickedEventArgs e)中的C:\ Documents and Settings \ pebabczu \ Desktop \ IntakeForm Copy \ InfoPathFormTemplate5 \ FormCode.cs:第206行 在Microsoft.Office.InfoPath.Internal.ButtonEventHost.OnButtonClick(DocActionEvent pEvent) 在Microsoft.Office.Interop.InfoPath.SemiTrust._ButtonEventSink_SinkHelper.OnClick(DocActionEvent pEvent)
代码:
string TeamL = xnMyForm.SelectSingleNode("/my:myFields/my:field149", ns).Value;
string ACC = xnMyForm.SelectSingleNode("/my:myFields/my:Bank", ns).Value;
string remarkmain = xnMyForm.SelectSingleNode("/my:myFields/my:field104", ns).Value;
string RemarkHR = xnMyForm.SelectSingleNode("/my:myFields/my:Remarks1", ns).Value;
string RemarkTL = xnMyForm.SelectSingleNode("/my:myFields/my:field55", ns).Value;
string RemarkIT = xnMyForm.SelectSingleNode("/my:myFields/my:RemarksICT", ns).Value;
string Rmain = "Remarks: " + remarkmain;
string RHR = "Remarks: " + RemarkHR;
string RTL = "Remarks: " + RemarkTL;
string RIT = "Remarks: " + RemarkIT;
我不明白......刚进入C#我做错了什么。?
答案 0 :(得分:4)
好吧,你取消引用的结果是空的。
很难确切地说出哪一行代码存在问题,但你应该看看206行。我强烈怀疑SelectSingleNode
正在为你的一个XPath表达式返回null
- 然后您尝试访问导致异常的Value
属性。
所以,你需要:
答案 1 :(得分:0)
在实例化之前正在使用某些东西,或者null
- 是否xnMyForm
实例化了?然后,检查所有其他代码路径以确定元素是null
还是返回。
答案 2 :(得分:0)
xnMyForm
是null
,或者您尝试选择文档中不存在的节点(使用SelectSingleNode
)并调用.Value
返回的null
。
答案 3 :(得分:0)
很可能您的一个SelectSingleNode()调用返回null,因此您无法将.Value取消。