diff --git a/LibNoDaveConnectionLibrary/DataTypes/Blocks/Step7V5/S7FunctionBlockRow.cs b/LibNoDaveConnectionLibrary/DataTypes/Blocks/Step7V5/S7FunctionBlockRow.cs index 2dc8e836..8dd0f92d 100644 --- a/LibNoDaveConnectionLibrary/DataTypes/Blocks/Step7V5/S7FunctionBlockRow.cs +++ b/LibNoDaveConnectionLibrary/DataTypes/Blocks/Step7V5/S7FunctionBlockRow.cs @@ -770,9 +770,13 @@ public string ToString(bool useSymbol, bool addSemicolonAfterCommand, bool useDa } else { - par = "\"" + sym.Symbol + "\"." + paras[1]; - if (hasBit) - par += "." + paras[2]; + if (sym != null) + { + par = "\"" + sym.Symbol + "\"." + paras[1]; + + if (hasBit) + par += "." + paras[2]; + } } } else diff --git a/LibNoDaveConnectionLibrary/Projectfiles/Step7ProjectV5.cs b/LibNoDaveConnectionLibrary/Projectfiles/Step7ProjectV5.cs index 71e75977..2fb0c67f 100644 --- a/LibNoDaveConnectionLibrary/Projectfiles/Step7ProjectV5.cs +++ b/LibNoDaveConnectionLibrary/Projectfiles/Step7ProjectV5.cs @@ -1643,6 +1643,7 @@ private SymbolTable _GetSymTabForProject(S7ProgrammFolder myBlockFolder, bool sh } } + var dbPath = tmpId2.ToString(); //Look fro Symlist Name { var dbfTbl = DBF.ParseDBF.ReadDBF(ProjectFolder + "YDBs" + _DirSeperator + "SYMLISTS.DBF", _ziphelper, _DirSeperator); @@ -1653,6 +1654,7 @@ private SymbolTable _GetSymTabForProject(S7ProgrammFolder myBlockFolder, bool sh if ((int)row["_ID"] == tmpId2) { retVal.Name = (string)row["_UName"]; + dbPath = (string)row["_DbPath"]; if ((bool)row["DELETED_FLAG"]) retVal.Name = "$$_" + retVal.Name; break; } @@ -1660,13 +1662,13 @@ private SymbolTable _GetSymTabForProject(S7ProgrammFolder myBlockFolder, bool sh } } - if (string.IsNullOrEmpty(retVal.Name) && !File.Exists(ProjectFolder + "YDBs" + _DirSeperator + tmpId2.ToString() + _DirSeperator + "SYMLIST.DBF")) + if (string.IsNullOrEmpty(retVal.Name) && !File.Exists(ProjectFolder + "YDBs" + _DirSeperator + dbPath + _DirSeperator + "SYMLIST.DBF")) return null; retVal.showDeleted = showDeleted; if (tmpId2 != 0) - retVal.Folder = ProjectFolder + "YDBs" + _DirSeperator + tmpId2.ToString() + _DirSeperator; - + retVal.Folder = ProjectFolder + "YDBs" + _DirSeperator + dbPath + _DirSeperator; + return retVal; }