在Infopath里面用VB.net编程,老是出现System.NullReferenceException错误

geng3stone 2008-12-03 09:05:20
System.NullReferenceException was unhandled by user code
Message="Object reference not set to an instance of an object."
Source="LeaveRequisitionForm"
StackTrace:
at LeaveRequisitionForm.FormCode.FormEvents_Loading(Object sender,
LoadingEventArgs e)
at
Microsoft.Office.InfoPath.Internal.FormEventsHost.OnLoad(DocReturnEvent
pEvent)
at
Microsoft.Office.Interop.InfoPath.SemiTrust._XDocumentEventSink2_SinkHelper.OnLoad(DocReturnEvent pEvent)

大概就是这样的问题,我是初学者
现在再用Infopath+Workflow搞Sharepoint,但是现在有一些在infopath中的数据处理
但是现在哪怕是用MSDN上的实例编程也会出现这样的错误
看国外的一些网站说是Xpathnavigator没有声明的原因
但是我用类似的代码
public XPathNavigator _xPathNav
{
get { return this.CreateNavigator(); }
}
来声明,也不行,直接就报语法错误了
但是实际上开始就有import System.XML.Xpath的声明啊,应该包括Xpathnavigator的吧
哪位帮个忙,我很急,下周就要叫初稿了
...全文
285 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
geng3stone 2008-12-29
  • 打赏
  • 举报
回复
还是不行。。。最后直接用Infopath,基本实现功能了,不过还是感谢楼上
blues_zhao_yang 2008-12-05
  • 打赏
  • 举报
回复
试试看
dim target1 as New XPathNavigator().SelectSingleNode("/my:myfields/my:allday",NamespaceManager)

如果还不行的话打出target1.的时候仔细看看后面的属性和方法里面都有些什么,看看value的解释是什么。
geng3stone 2008-12-04
  • 打赏
  • 举报
回复
Imports Microsoft.Office.InfoPath
Imports System
Imports System.Xml
Imports System.Xml.XPath
Imports System.Windows.Forms
Imports mshtml





Namespace init
Public Class FormCode
' 启用浏览器功能的表单不支持成员变量。
' 请使用代码从 FormState 词典
' 写入和读取这些值,如下所示:
'
' 注意: 以下是 Microsoft Office InfoPath 所需的过程。

' 可以使用 Microsoft Office InfoPath 对其进行修改。


Private Sub InternalStartup(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Startup
AddHandler EventManager.FormEvents.Loading, AddressOf FormEvents_Loading
AddHandler EventManager.XmlEvents("/my:myFields/my:AllDay").Changed, AddressOf AllDay_Changed

AddHandler EventManager.XmlEvents("/my:myFields/my:Date/my:StartDate").Changed, AddressOf StartDate_OnAfterChanged
AddHandler DirectCast(EventManager.ControlEvents("CTRL27_5"), ButtonEvent).Clicked, AddressOf CTRL27_5_Clicked
AddHandler EventManager.XmlEvents("/my:myFields/my:DTTest").Changed, AddressOf DTTest_Changed
AddHandler EventManager.XmlEvents("/my:myFields/my:DTTest").Changing, AddressOf DTTest_Changing
AddHandler EventManager.XmlEvents("/my:myFields/my:DTTest").Validating, AddressOf DTTest_Validating



End Sub


Public Sub FormEvents_Loading(ByVal sender As Object, ByVal e As LoadingEventArgs)
' 在此处编写代码。


Dim instance As DataSource = Me.MainDataSource

Dim mydate As XPathNavigator = CreateNavigator().SelectSingleNode("/my:myFields/my:DTTest", NamespaceManager)

mydate.SetValue(System.DateTime.Now.ToString("yyyy-MM-dd"))

End Sub

大概就是这样,FormEvents_Loading事件中代码是微软的Sample,其实就是给一个Textbox赋值,但是运行时候会出现错误
blues_zhao_yang 2008-12-04
  • 打赏
  • 举报
回复
关于XPathNavigator我不知道,无法给你帮助
只是提醒你如果要把这段代码
public XPathNavigator _xPathNav
{
get { return this.CreateNavigator(); }
}
加进去的话,要先翻译成VB的写法。
你最好把出错的代码贴出来。
geng3stone 2008-12-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 blues_zhao_yang 的回复:]
public XPathNavigator _xPathNav
{
get { return this.CreateNavigator(); }
}
这个是C#的写法吧??你到底是VB程序还是C#程序??
一个工程里不能这样嵌套吧??
[/Quote]

infopath表单的默认编程语言是VB...我是直接在表单.vb文件中写代码的
那么敢问这位老兄在VB程序中如何声明XPathNavigator呢?一定需要单独声明么?
blues_zhao_yang 2008-12-04
  • 打赏
  • 举报
回复
public XPathNavigator _xPathNav
{
get { return this.CreateNavigator(); }
}
这个是C#的写法吧??你到底是VB程序还是C#程序??
一个工程里不能这样嵌套吧??
geng3stone 2008-12-04
  • 打赏
  • 举报
回复
自己顶一下,大家要帮忙呀。。。
geng3stone 2008-12-04
  • 打赏
  • 举报
回复
就是不知道哪个没有声明:
比如很简单的
dim target1 as XPathNavigator().SelectSingleNode("/my:myfields/my:allday",NamespaceManager)

判断这个Checkbox是否选中

if target1.value = true then
。。。。。
到这里就报错了
blues_zhao_yang 2008-12-04
  • 打赏
  • 举报
回复
System.NullReferenceException: 未将对象引用设置到对象的实例
是这样的提示吗?

这种错误多半是没有将对象实例化引起的
看看你引用的变量里有没有需要New关键字实例化的地方
有些变量必须New以后才可以使用。
geng3stone 2008-12-04
  • 打赏
  • 举报
回复
谢谢咯
不过比如说我要判断Checkbox的值是否为True
但是好像XML里面这个xpathnavigator没有Checked这个属性,只有Value属性
if target1.value = true then
......
end if

这样就会报之前的错误
blues_zhao_yang 2008-12-04
  • 打赏
  • 举报
回复
说错了

Checkbox的值是:Checkbox.Checked
DateTimePicker的值是:DateTimePicker.Value
blues_zhao_yang 2008-12-04
  • 打赏
  • 举报
回复
-_-!
你的代码我没看懂,不好意思

Checkbox的值:Checkbox.Value
更改日期可以用DateTimePicker控件,把控件的值赋给一个DateTime类型的变量
geng3stone 2008-12-04
  • 打赏
  • 举报
回复
还有请教一下,如何取得Checkbox的值
还有就是如何更改一个日期型数据的值。。。
都是在Infopath里面操作~~
tinalucky 2008-12-03
  • 打赏
  • 举报
回复
?没人?帮楼主顶一个!
内容概要:本文详细探讨了机组组合优化模型的构建,旨在通过合理安排各类发电机组的启停计划和优化出力分配,实现电力系统在经济性和稳定性上的最佳平衡。文章首先介绍了电力系统的四大主要组件——传统火电机组、风电机组、光伏机组和储能系统的参数及运行特性。接着,围绕最小化系统总运行成本这一目标,设计了优化目标函数,并明确了包括功率平衡约束、机组出力上下限约束、风光发电功率约束、弃风弃光约束、爬坡速率约束、储能系统荷电状态约束、充放电功率约束和充放电互斥约束在内的多项约束条件。最后,文章列出了求解机组组合优化模型所需的关键变量,如传统机组的开停状态、机组出力、启停成本、风电光伏实际出力、弃风弃光比例及储能系统的充放电功率和荷电状态,以实现系统的经济调度和可再生能源的最大化利用。 适合人群:从事电力系统研究、规划和调度工作的工程师和技术人员,以及对电力系统优化感兴趣的科研人员。 使用场景及目标:①帮助电力系统工程师理解不同类型发电机组的特点及其对系统稳定性、经济性和环保性的影响;②为制定合理的电力系统调度策略提供理论依据和技术支持;③促进可再生能源的有效整合,提高电力系统的灵活性和可靠性。 其他说明:本文提供的模型和方法不仅适用于当前的电力系统,也可为未来含高比例可再生能源接入的电力系统提供参考。文中涉及的具体数学公式和参数设定为实际应用提供了详细的指导,有助于提升电力系统的运行效率和经济效益。

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧