“对象引用未设置为对象的实例”,当它不应该时

时间:2016-01-03 02:00:08

标签: vb.net image object reference

我使用此代码:

NewDesign.CardImage.Image.Save(System.IO.Path.GetDirectoryName(NewDesign.SaveFileDialog1.FileName) + "\" + My.Settings.SaveLoc + "_cardimage" + ".png")

My.settings.SaveLoc字面上只是一个包含文件名的字符串,例如:test

使用以下命令设置值:

My.Settings.SaveLoc = System.IO.Path.GetFileName(SaveFileDialog1.FileName)

它在过去有效,但突然间突然停止了工作。

我使用了断点,SaveFileDialog1.FileName正是预期的位置,在这种情况下"R:\My Pictures\Test Folder"SaveLoc包含我期望的值。

但是当它试图保存图像时,它给了我"Object reference not set to an instance of an object"的错误,老实说,我不知道我可能做错了什么。

1 个答案:

答案 0 :(得分:1)

NewDesign.CardImage.Image几乎肯定没有初始化。也许这种控件不能以这种方式访问​​,直到创建句柄。一些图像容器有这样的坏行为。

顺便提及,

NewDesign可能是您放置SaveFileDialog的表单。通过表单名称访问非静态成员的能力是VB6兼容性函数,最好不要使用。