0

我在 winform 打开绘图时遇到问题。我收到的错误说 NullReferenceException 未处理并突出显示了路径。任何帮助表示赞赏。谢谢

private void button2_Click(object sender, EventArgs e)
    {
        //Open Solidworks Drawing
        ModelDoc2 swModel = default(ModelDoc2);
        DocumentSpecification swDocSpecification = default(DocumentSpecification);
        string sName = null;
        long longstatus = 0;
        long longwarnings = 0;
        // Drawing document path and name         
        swDocSpecification = (DocumentSpecification)swApp.GetOpenDocSpec("C:\\location\\????.slddrw");//File Location
        sName = swDocSpecification.FileName;
        // Sheet name         
        swDocSpecification.SheetName = "BOM"; //Open to the BOM sheet
        swDocSpecification.DocumentType = (int)swDocumentTypes_e.swDocDRAWING;
        swDocSpecification.ReadOnly = true;
        swDocSpecification.Silent = false;
        // Open the specified sheet in the specified drawing document         
        swModel = swApp.OpenDoc7(swDocSpecification);
        longstatus = swDocSpecification.Error;
        longwarnings = swDocSpecification.Warning;
    }
4

2 回答 2

2
System.Diagnostics.Process.Start("explorer.exe c:\\");

这可以帮助

于 2011-09-09T16:07:35.197 回答
1

关于为什么您会收到 NullReferenceException 有两种可能性

  1. swApp 为空,调用任何内容GetOpenDocSpec都不起作用
  2. GetOpenDocSpec 中的某些内容没有按照应有的方式编写,并且没有进行正确的检查。所以它抛出一个空异常

使用调试器检查 swApp == null 应该很容易。使用自动或监视窗口,将鼠标悬停在变量上,命令窗口中的 ?swApp == null 等。

于 2011-09-09T16:08:14.167 回答