<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://communities.bentley.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Error - Object reference...General</title><link>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Error - Object reference...General</title><link>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general</link><pubDate>Mon, 30 Mar 2020 01:56:36 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:2ea1c446-54f5-4fe3-b914-77e46447125c</guid><dc:creator>Jesse Dringoli</dc:creator><comments>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general#comments</comments><description>Current Revision posted to OpenUtilities Wiki by Jesse Dringoli on 3/30/2020 1:56:36 AM&lt;br /&gt;
&lt;table style="background-color:#dce5f0;border:0px solid #dce5f0;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Product(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Promis.e, Bentley Substation&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Version(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;through 10.00.00.232&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Environment:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Area:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Subarea:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h1&gt;Error or Warning Message&lt;/h1&gt;
&lt;p&gt;A sample &amp;quot;Object Reference&amp;quot; error message:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Internal Error&lt;/b&gt;&lt;br /&gt; Error Message: Object reference not set to an instance of an object.&lt;br /&gt; TargetSite: System.String get_DefaultPartsDB()&lt;br /&gt; DeclaringType: ECT.ECAD.API.ProjectSettings&lt;br /&gt; Attributes: public&lt;br /&gt; MemberType: Method&lt;/p&gt;
&lt;h1&gt;Explanation&lt;/h1&gt;
&lt;p&gt;Sometimes when working with Bentley Substation or promis.e you may get an error whose first line is &amp;ldquo;Object reference not set to an instance of an object&amp;rdquo; like the sample shown above.&amp;nbsp; This is typically the message you would see if some uncaptured error has occurred either in Promis.e or in one of the supporting components (Microsoft SQL, .Net, ADO, C#, etc.) that the software has no way to properly handle.&amp;nbsp; Thus you get this rather general error message which is very non-descriptive, and contains little helpful information in determining what the actual error was or what caused it.&amp;nbsp;&amp;nbsp; As these errors are reported to Bentley Support, we add them to our development efforts so that they can be properly handled with much more useful error messages or possibly prevented in the first place.&amp;nbsp; However, that depends on many factors, most especially that the condition causing the error has a repeatable pattern.&amp;nbsp; For a fictitious example, let&amp;rsquo;s say we discover that using a &amp;ldquo;#&amp;rdquo; character (we recommend that users avoid such reserved characters) in a particular field like the Device Tag on a symbol will cause it to have an &amp;ldquo;Object Reference&amp;rdquo; error.&amp;nbsp; Since that would be a repeatable issue, we could trap for that condition and not allow users to use that character or bring up a message that says something more helpful and specific such as &amp;ldquo;illegal character&amp;rdquo; so users will have a clear indication of the issue.&amp;nbsp; We would also put the error on Bentley Communities so that any other users that might run into that error before we release a build with that error fix will be able to tell what to do (&lt;b&gt;see Option 1 below&lt;/b&gt;).&lt;/p&gt;
&lt;p&gt;Unfortunately, the &amp;quot;Object Reference&amp;quot; error is often caused by some unique instance of data corruption and is not repeatable once the corrupted item is found and removed.&amp;nbsp; In these cases we are limited more to finding the corruption and removing it to stop the error and allow work to proceed (&lt;b&gt;see Option 2 below&lt;/b&gt;). &amp;nbsp;&lt;/p&gt;
&lt;h1&gt;How to Resolve&lt;/h1&gt;
&lt;h3&gt;Option 1&lt;/h3&gt;
&lt;p&gt;To see if the specific instance of the Object Reference error you are receiving has already been determined, please use the Search field at the top of the Bentley Communities page to search for &amp;ldquo;Object Reference&amp;rdquo; and the keyword from the TargetSite portion of the error you are seeing, such as in the sample message above you would type &amp;ldquo;Object Reference get_DefaultPartsDB&amp;rdquo; into the search field and the top result should be the description for an error with locked projects.&lt;/p&gt;
&lt;p&gt;If the search does not find any documented case of the error you are seeing, or the description doesn&amp;rsquo;t fit your circumstances, then &lt;b&gt;see Option 2 below&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;Option&amp;nbsp;2&lt;/h3&gt;
&lt;p&gt;If the error you are seeing has not been documented already, then we would need to try to determine what is causing the error by the circumstances surrounding its occurrence.&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does the TargetSite line of the error message provide any clues to what might be causing the error?&amp;nbsp; &lt;i&gt;(&lt;span style="color:#ff0000;"&gt;If you need to create a post on the Forum or a Service Request for help with your error, please include the whole text of the error, not just the first line.)&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Did this error occur after doing a specific command?&lt;/li&gt;
&lt;li&gt;Does it happen to a specific object (a wire, a symbol, etc.)?&lt;/li&gt;
&lt;li&gt;Does it happen only to that object or that page?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Commonly, if we are able to narrow down the error to a particular object, then deleting that object and replacing a new one down in its place resolves whatever corruption was causing the error. So for example if right clicking on a symbol and selecting the Device ID dialog brings up the error, then we would typically suggest that you delete that symbol and place a fresh one down in its place. Likewise, if trying to assign a wire number to a particular wire brings up an error, we would suggest deleting and redrawing that wire, or if it is a Wire Tag, deleting that Wire Tag and reassigning it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sometimes we can use some of the built in commands to help find the corruption that is causing the error.&amp;nbsp; For example if you use the&lt;strong&gt; [[Update Page]]&lt;/strong&gt; command on the page, or the &lt;strong&gt;[[Validate Page]]&lt;/strong&gt; command, it might help either remove the corruption or point to an object that needs to be removed.&amp;nbsp; You should use those commands with caution though and always make sure you have a current backup of the project before using those commands. For instance, the Validate command can falsely indicate that many objects on the page need to be removed (or even all of them) because it can&amp;rsquo;t properly find the corruption, or the corruption is in the page itself, not really in the objects on the page.&amp;nbsp; In those cases I would generally suggest trying to copy all the data from the page onto a new, freshly created page (usually I suggest creating a new blank page of the same name in a temporary test project so you can maintain all wire numbers and ID&amp;#39;s exactly as they are without having to worry about duplication messages).&amp;nbsp; Do not copy the page itself, as that would often copy the corruption too, but instead copy the contents of the page and paste them onto the newly created page.&amp;nbsp; Then see if the corruption exists in the new copy of that page.&amp;nbsp; If not, usually you can delete the original page that is giving the error and then copy the new page (not just the contents) into the original project again using the commands in the &lt;strong&gt;[[Project Manager]]&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " height="60" src="/cfs-file.ashx/__key/communityserver-components-sitefiles/TSG-Logo.png" width="189" /&gt;&lt;/p&gt;
&lt;table style="background-color:#dce5f0;border:0px solid #dce5f0;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Original Author:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tani_S&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: promis.e, error, error message, Bentley Substation, en, Database&lt;/div&gt;
</description></item><item><title>Error - Object reference...General</title><link>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general/revision/11</link><pubDate>Thu, 07 Mar 2019 17:11:24 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:2ea1c446-54f5-4fe3-b914-77e46447125c</guid><dc:creator>Scott Walker</dc:creator><comments>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general#comments</comments><description>Revision 11 posted to OpenUtilities Wiki by Scott Walker on 3/7/2019 5:11:24 PM&lt;br /&gt;
&lt;table style="background-color:#dce5f0;border:0px solid #dce5f0;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Product(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Promis.e, Bentley Substation&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Version(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;through 10.00.00.232&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Environment:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Area:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Subarea:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h1&gt;Error or Warning Message&lt;/h1&gt;
&lt;p&gt;A sample &amp;quot;Object Reference&amp;quot; error message:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Internal Error&lt;/b&gt;&lt;br /&gt; Error Message: Object reference not set to an instance of an object.&lt;br /&gt; TargetSite: System.String get_DefaultPartsDB()&lt;br /&gt; DeclaringType: ECT.ECAD.API.ProjectSettings&lt;br /&gt; Attributes: public&lt;br /&gt; MemberType: Method&lt;/p&gt;
&lt;h1&gt;Explanation&lt;/h1&gt;
&lt;p&gt;Sometimes when working with Bentley Substation or promis.e you may get an error whose first line is &amp;ldquo;Object reference not set to an instance of an object&amp;rdquo; like the sample shown above.&amp;nbsp; This is typically the message you would see if some uncaptured error has occurred either in Promis.e or in one of the supporting components (Microsoft SQL, .Net, ADO, C#, etc.) that the software has no way to properly handle.&amp;nbsp; Thus you get this rather general error message which is very non-descriptive, and contains little helpful information in determining what the actual error was or what caused it.&amp;nbsp;&amp;nbsp; As these errors are reported to Bentley Support, we add them to our development efforts so that they can be properly handled with much more useful error messages or possibly prevented in the first place.&amp;nbsp; However, that depends on many factors, most especially that the condition causing the error has a repeatable pattern.&amp;nbsp; For a fictitious example, let&amp;rsquo;s say we discover that using a &amp;ldquo;#&amp;rdquo; character (we recommend that users avoid such reserved characters) in a particular field like the Device Tag on a symbol will cause it to have an &amp;ldquo;Object Reference&amp;rdquo; error.&amp;nbsp; Since that would be a repeatable issue, we could trap for that condition and not allow users to use that character or bring up a message that says something more helpful and specific such as &amp;ldquo;illegal character&amp;rdquo; so users will have a clear indication of the issue.&amp;nbsp; We would also put the error on Bentley Communities so that any other users that might run into that error before we release a build with that error fix will be able to tell what to do (&lt;b&gt;see Option 1 below&lt;/b&gt;).&lt;/p&gt;
&lt;p&gt;Unfortunately, the &amp;quot;Object Reference&amp;quot; error is often caused by some unique instance of data corruption and is not repeatable once the corrupted item is found and removed.&amp;nbsp; In these cases we are limited more to finding the corruption and removing it to stop the error and allow work to proceed (&lt;b&gt;see Option 2 below&lt;/b&gt;). &amp;nbsp;&lt;/p&gt;
&lt;h1&gt;How to Resolve&lt;/h1&gt;
&lt;h3&gt;Option 1&lt;/h3&gt;
&lt;p&gt;To see if the specific instance of the Object Reference error you are receiving has already been determined, please use the Search field at the top of the Bentley Communities page to search for &amp;ldquo;Object Reference&amp;rdquo; and the keyword from the TargetSite portion of the error you are seeing, such as in the sample message above you would type &amp;ldquo;Object Reference get_DefaultPartsDB&amp;rdquo; into the search field and the top result should be the description for an error with locked projects.&lt;/p&gt;
&lt;p&gt;If the search does not find any documented case of the error you are seeing, or the description doesn&amp;rsquo;t fit your circumstances, then &lt;b&gt;see Option 2 below&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;Option&amp;nbsp;2&lt;/h3&gt;
&lt;p&gt;If the error you are seeing has not been documented already, then we would need to try to determine what is causing the error by the circumstances surrounding its occurrence.&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does the TargetSite line of the error message provide any clues to what might be causing the error?&amp;nbsp; &lt;i&gt;(&lt;span style="color:#ff0000;"&gt;If you need to create a post on the Forum or a Service Request for help with your error, please include the whole text of the error, not just the first line.)&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Did this error occur after doing a specific command?&lt;/li&gt;
&lt;li&gt;Does it happen to a specific object (a wire, a symbol, etc.)?&lt;/li&gt;
&lt;li&gt;Does it happen only to that object or that page?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Commonly, if we are able to narrow down the error to a particular object, then deleting that object and replacing a new one down in its place resolves whatever corruption was causing the error. So for example if right clicking on a symbol and selecting the Device ID dialog brings up the error, then we would typically suggest that you delete that symbol and place a fresh one down in its place. Likewise, if trying to assign a wire number to a particular wire brings up an error, we would suggest deleting and redrawing that wire, or if it is a Wire Tag, deleting that Wire Tag and reassigning it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sometimes we can use some of the built in commands to help find the corruption that is causing the error.&amp;nbsp; For example if you use the&lt;strong&gt; [[Update Page]]&lt;/strong&gt; command on the page, or the &lt;strong&gt;[[Validate Page]]&lt;/strong&gt; command, it might help either remove the corruption or point to an object that needs to be removed.&amp;nbsp; You should use those commands with caution though and always make sure you have a current backup of the project before using those commands. For instance, the Validate command can falsely indicate that many objects on the page need to be removed (or even all of them) because it can&amp;rsquo;t properly find the corruption, or the corruption is in the page itself, not really in the objects on the page.&amp;nbsp; In those cases I would generally suggest trying to copy all the data from the page onto a new, freshly created page (usually I suggest creating a new blank page of the same name in a temporary test project so you can maintain all wire numbers and ID&amp;#39;s exactly as they are without having to worry about duplication messages).&amp;nbsp; Do not copy the page itself, as that would often copy the corruption too, but instead copy the contents of the page and paste them onto the newly created page.&amp;nbsp; Then see if the corruption exists in the new copy of that page.&amp;nbsp; If not, usually you can delete the original page that is giving the error and then copy the new page (not just the contents) into the original project again using the commands in the &lt;strong&gt;[[Project Manager]]&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " height="60" src="/cfs-file.ashx/__key/communityserver-components-sitefiles/TSG-Logo.png" width="189" /&gt;&lt;/p&gt;
&lt;table style="background-color:#dce5f0;border:0px solid #dce5f0;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Original Author:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tani_S&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: promis.e, error, error message, Bentley Substation, en, Database&lt;/div&gt;
</description></item><item><title>Error - Object reference...General</title><link>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general/revision/10</link><pubDate>Thu, 19 Apr 2018 22:16:15 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:2ea1c446-54f5-4fe3-b914-77e46447125c</guid><dc:creator>Matt_P</dc:creator><comments>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general#comments</comments><description>Revision 10 posted to OpenUtilities Wiki by Matt_P on 4/19/2018 10:16:15 PM&lt;br /&gt;
&lt;table style="background-color:#dce5f0;border:0px solid #dce5f0;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Product(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Promis.e, Bentley Substation&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Version(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;through 10.00.00.232&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Environment:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Area:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Subarea:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h1&gt;Error or Warning Message&lt;/h1&gt;
&lt;p&gt;A sample &amp;quot;Object Reference&amp;quot; error message:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Internal Error&lt;/b&gt;&lt;br /&gt; Error Message: Object reference not set to an instance of an object.&lt;br /&gt; TargetSite: System.String get_DefaultPartsDB()&lt;br /&gt; DeclaringType: ECT.ECAD.API.ProjectSettings&lt;br /&gt; Attributes: public&lt;br /&gt; MemberType: Method&lt;/p&gt;
&lt;h1&gt;Explanation&lt;/h1&gt;
&lt;p&gt;Sometimes when working with Bentley Substation or promis.e you may get an error whose first line is &amp;ldquo;Object reference not set to an instance of an object&amp;rdquo; like the sample shown above.&amp;nbsp; This is typically the message you would see if some uncaptured error has occurred either in Promis.e or in one of the supporting components (Microsoft SQL, .Net, ADO, C#, etc.) that the software has no way to properly handle.&amp;nbsp; Thus you get this rather general error message which is very non-descriptive, and contains little helpful information in determining what the actual error was or what caused it.&amp;nbsp;&amp;nbsp; As these errors are reported to Bentley Support, we add them to our development efforts so that they can be properly handled with much more useful error messages or possibly prevented in the first place.&amp;nbsp; However, that depends on many factors, most especially that the condition causing the error has a repeatable pattern.&amp;nbsp; For a fictitious example, let&amp;rsquo;s say we discover that using a &amp;ldquo;#&amp;rdquo; character (we recommend that users avoid such reserved characters) in a particular field like the Device Tag on a symbol will cause it to have an &amp;ldquo;Object Reference&amp;rdquo; error.&amp;nbsp; Since that would be a repeatable issue, we could trap for that condition and not allow users to use that character or bring up a message that says something more helpful and specific such as &amp;ldquo;illegal character&amp;rdquo; so users will have a clear indication of the issue.&amp;nbsp; We would also put the error on Bentley Communities so that any other users that might run into that error before we release a build with that error fix will be able to tell what to do (&lt;b&gt;see Option 1 below&lt;/b&gt;).&lt;/p&gt;
&lt;p&gt;Unfortunately, the &amp;quot;Object Reference&amp;quot; error is often caused by some unique instance of data corruption and is not repeatable once the corrupted item is found and removed.&amp;nbsp; In these cases we are limited more to finding the corruption and removing it to stop the error and allow work to proceed (&lt;b&gt;see Option 2 below&lt;/b&gt;). &amp;nbsp;&lt;/p&gt;
&lt;h1&gt;How to Resolve&lt;/h1&gt;
&lt;h3&gt;Option 1&lt;/h3&gt;
&lt;p&gt;To see if the specific instance of the Object Reference error you are receiving has already been determined, please use the Search field at the top of the Bentley Communities page to search for &amp;ldquo;Object Reference&amp;rdquo; and the keyword from the TargetSite portion of the error you are seeing, such as in the sample message above you would type &amp;ldquo;Object Reference get_DefaultPartsDB&amp;rdquo; into the search field and the top result should be the description for an error with locked projects.&lt;/p&gt;
&lt;p&gt;If the search does not find any documented case of the error you are seeing, or the description doesn&amp;rsquo;t fit your circumstances, then &lt;b&gt;see Option 2 below&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;Option&amp;nbsp;2&lt;/h3&gt;
&lt;p&gt;If the error you are seeing has not been documented already, then we would need to try to determine what is causing the error by the circumstances surrounding its occurrence.&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does the TargetSite line of the error message provide any clues to what might be causing the error?&amp;nbsp; &lt;i&gt;(&lt;span style="color:#ff0000;"&gt;If you need to create a post on the Forum or a Service Request for help with your error, please include the whole text of the error, not just the first line.)&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Did this error occur after doing a specific command?&lt;/li&gt;
&lt;li&gt;Does it happen to a specific object (a wire, a symbol, etc.)?&lt;/li&gt;
&lt;li&gt;Does it happen only to that object or that page?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Commonly, if we are able to narrow down the error to a particular object, then deleting that object and replacing a new one down in its place resolves whatever corruption was causing the error. So for example if right clicking on a symbol and selecting the Device ID dialog brings up the error, then we would typically suggest that you delete that symbol and place a fresh one down in its place. Likewise, if trying to assign a wire number to a particular wire brings up an error, we would suggest deleting and redrawing that wire, or if it is a Wire Tag, deleting that Wire Tag and reassigning it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sometimes we can use some of the built in commands to help find the corruption that is causing the error.&amp;nbsp; For example if you use the&lt;strong&gt; [[Update Page]]&lt;/strong&gt; command on the page, or the &lt;strong&gt;[[Validate Page]]&lt;/strong&gt; command, it might help either remove the corruption or point to an object that needs to be removed.&amp;nbsp; You should use those commands with caution though and always make sure you have a current backup of the project before using those commands. For instance, the Validate command can falsely indicate that many objects on the page need to be removed (or even all of them) because it can&amp;rsquo;t properly find the corruption, or the corruption is in the page itself, not really in the objects on the page.&amp;nbsp; In those cases I would generally suggest trying to copy all the data from the page onto a new, freshly created page (usually I suggest creating a new blank page of the same name in a temporary test project so you can maintain all wire numbers and ID&amp;#39;s exactly as they are without having to worry about duplication messages).&amp;nbsp; Do not copy the page itself, as that would often copy the corruption too, but instead copy the contents of the page and paste them onto the newly created page.&amp;nbsp; Then see if the corruption exists in the new copy of that page.&amp;nbsp; If not, usually you can delete the original page that is giving the error and then copy the new page (not just the contents) into the original project again using the commands in the &lt;strong&gt;[[Project Manager]]&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " height="60" src="/cfs-file.ashx/__key/communityserver-components-sitefiles/TSG-Logo.png" width="189" /&gt;&lt;/p&gt;
&lt;table style="background-color:#dce5f0;border:0px solid #dce5f0;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Original Author:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tani_S&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: promis.e, error, error message, Bentley Substation, en, Database&lt;/div&gt;
</description></item><item><title>Error - Object reference...General</title><link>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general/revision/9</link><pubDate>Mon, 06 Jun 2016 11:14:11 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:2ea1c446-54f5-4fe3-b914-77e46447125c</guid><dc:creator>Bhargav</dc:creator><comments>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general#comments</comments><description>Revision 9 posted to OpenUtilities Wiki by Bhargav on 6/6/2016 11:14:11 AM&lt;br /&gt;
&lt;p style="padding:0;margin:0;"&gt;&lt;/p&gt;
&lt;table style="border:0px solid #dce5f0;background-color:#dce5f0;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Product(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Promis.e, Bentley Substation&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Version(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;08.11.xx.xx&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Environment:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N\A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Area:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;promis.e Functionality&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Subarea:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Design Features&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1&gt;Error or Warning Message&lt;/h1&gt;
&lt;p&gt;A sample Object Reference error message:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Internal Error&lt;/b&gt;&lt;br /&gt; Error Message: Object reference not set to an instance of an object.&lt;br /&gt; TargetSite: System.String get_DefaultPartsDB()&lt;br /&gt; DeclaringType: ECT.ECAD.API.ProjectSettings&lt;br /&gt; Attributes: public&lt;br /&gt; MemberType: Method&lt;/p&gt;
&lt;h1&gt;Explanation&lt;/h1&gt;
&lt;p&gt;Sometimes when working with Bentley Substation or promis.e you may get an error whose first line is &amp;ldquo;Object reference not set to an instance of an object&amp;rdquo; like the sample shown above.&amp;nbsp; This is typically the message you would see if some uncaptured error has occurred either in promis.e or in one of the supporting components (Microsoft SQL, .Net, ADO, C#, etc.) that the software has no way to properly handle.&amp;nbsp; Thus you get this rather general error message which is very non-descriptive, and contains little helpful information in determining what the actual error was or what caused it.&amp;nbsp;&amp;nbsp; As these errors are reported to Bentley Support, we add them to our development efforts so that they can be properly handled with much more useful error messages or possibly prevented in the first place.&amp;nbsp; However, that depends on many factors, most especially that the condition causing the error has a repeatable pattern.&amp;nbsp; For a fictitious example, let&amp;rsquo;s say we discover that using a &amp;ldquo;#&amp;rdquo; character (we recommend that users avoid such reserved characters) in a particular field like the Device Tag on a symbol will cause it to have an &amp;ldquo;Object Reference&amp;rdquo; error.&amp;nbsp; Since that would be a repeatable issue, we could trap for that condition and not allow users to use that character or bring up a message that says something more helpful and specific such as &amp;ldquo;illegal character&amp;rdquo; so users will have a clear indication of the issue.&amp;nbsp; We would also put the error on Bentley Communities so that any other users that might run into that error before we release a build with that error fix will be able to tell what to do (&lt;b&gt;see Option 1 below&lt;/b&gt;).&lt;/p&gt;
&lt;p&gt;Unfortunately, the &amp;quot;Object Reference&amp;quot; error is often caused by some unique instance of data corruption and is not repeatable once the corrupted item is found and removed.&amp;nbsp; In these cases we are limited more to finding the corruption and removing it to stop the error and allow work to proceed (&lt;b&gt;see Option 2 below&lt;/b&gt;). &amp;nbsp;&lt;/p&gt;
&lt;h1&gt;How to Resolve&lt;/h1&gt;
&lt;h3&gt;Option 1&lt;/h3&gt;
&lt;p&gt;To see if the specific instance of the Object Reference error you are receiving has already been determined, please use the Search field at the top of the Bentley Communities page to search for &amp;ldquo;Object Reference&amp;rdquo; and the keyword from the TargetSite portion of the error you are seeing, such as in the sample message above you would type &amp;ldquo;Object Reference get_DefaultPartsDB&amp;rdquo; into the search field and the top result should be the description for an error with locked projects.&lt;/p&gt;
&lt;p&gt;If the search does not find any documented case of the error you are seeing, or the description doesn&amp;rsquo;t fit your circumstances, then &lt;b&gt;see Option 2 below&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;Option&amp;nbsp;2&lt;/h3&gt;
&lt;p&gt;If the error you are seeing has not been documented already, then we would need to try to determine what is causing the error by the circumstances surrounding its occurrence.&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does the TargetSite line of the error message provide any clues to what might be causing the error?&amp;nbsp; &lt;i&gt;(&lt;span style="color:#ff0000;"&gt;If you need to create a post on the Forum or a Service Request for help with your error, please include the whole text of the error, not just the first line.)&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Did this error occur after doing a specific command?&lt;/li&gt;
&lt;li&gt;Does it happen to a specific object (a wire, a symbol, etc.)?&lt;/li&gt;
&lt;li&gt;Does it happen only to that object or that page?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Commonly, if we are able to narrow down the error to a particular object, then deleting that object and replacing a new one down in its place resolves whatever corruption was causing the error. So for example if right clicking on a symbol and selecting the Device ID dialog brings up the error, then we would typically suggest that you delete that symbol and place a fresh one down in its place. Likewise, if trying to assign a wire number to a particular wire brings up an error, we would suggest deleting and redrawing that wire, or if it is a Wire Tag, deleting that Wire Tag and reassigning it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sometimes we can use some of the built in commands to help find the corruption that is causing the error.&amp;nbsp; For example if you use the [[Update Page]] command on the page, or the [[Validate Page]] command, it might help either remove the corruption or point to an object that needs to be removed.&amp;nbsp; You should use those commands with caution though and always make sure you have a current backup of the project before using those commands. For instance, the Validate command can falsely indicate that many objects on the page need to be removed (or even all of them) because it can&amp;rsquo;t properly find the corruption, or the corruption is in the page itself, not really in the objects on the page.&amp;nbsp; In those cases I would generally suggest trying to copy all the data from the page onto a new, freshly created page (usually I suggest creating a new blank page of the same name in a temporary test project so you can maintain all wire numbers and ID&amp;#39;s exactly as they are without having to worry about duplication messages).&amp;nbsp; Do not copy the page itself, as that would often copy the corruption too, but instead copy the contents of the page and paste them onto the newly created page.&amp;nbsp; Then see if the corruption exists in the new copy of that page.&amp;nbsp; If not, usually you can delete the original page that is giving the error and then copy the new page (not just the contents) into the original project again using the commands in the Project Manager.&lt;/p&gt;
&lt;p&gt;&lt;img width="189" height="60" alt=" " src="/cfs-file.ashx/__key/communityserver-components-sitefiles/TSG-Logo.png" /&gt;&lt;/p&gt;
&lt;table style="border:0px solid #dce5f0;background-color:#dce5f0;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Original Author:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tani Strock&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: promis.e, error, error message, Database, SELECTsupport&lt;/div&gt;
</description></item><item><title>Error - Object reference...General</title><link>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general/revision/8</link><pubDate>Tue, 06 Oct 2015 21:10:17 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:2ea1c446-54f5-4fe3-b914-77e46447125c</guid><dc:creator>Tani_S</dc:creator><comments>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general#comments</comments><description>Revision 8 posted to OpenUtilities Wiki by Tani_S on 10/6/2015 9:10:17 PM&lt;br /&gt;
&lt;p style="padding:0;margin:0;"&gt;&lt;/p&gt;
&lt;table style="background-color:#dce5f0;border:#dce5f0 0px solid;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Product(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Promis.e, Bentley Substation&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Version(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;08.11.xx.xx&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Environment:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N\A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Area:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;promis.e Functionality&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Subarea:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Design Features&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1&gt;Error or Warning Message&lt;/h1&gt;
&lt;p&gt;A sample Object Reference error message:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Internal Error&lt;/b&gt;&lt;br /&gt; Error Message: Object reference not set to an instance of an object.&lt;br /&gt; TargetSite: System.String get_DefaultPartsDB()&lt;br /&gt; DeclaringType: ECT.ECAD.API.ProjectSettings&lt;br /&gt; Attributes: public&lt;br /&gt; MemberType: Method&lt;/p&gt;
&lt;h1&gt;Explanation&lt;/h1&gt;
&lt;p&gt;Sometimes when working with Bentley Substation or promis.e you may get an error whose first line is &amp;ldquo;Object reference not set to an instance of an object&amp;rdquo; like the sample shown above.&amp;nbsp; This is typically the message you would see if some uncaptured error has occurred either in promis.e or in one of the supporting components (Microsoft SQL, .Net, ADO, C#, etc.) that the software has no way to properly handle.&amp;nbsp; Thus you get this rather general error message which is very non-descriptive, and contains little helpful information in determining what the actual error was or what caused it.&amp;nbsp;&amp;nbsp; As these errors are reported to Bentley Support, we add them to our development efforts so that they can be properly handled with much more useful error messages or possibly prevented in the first place.&amp;nbsp; However, that depends on many factors, most especially that the condition causing the error has a repeatable pattern.&amp;nbsp; For a fictitious example, let&amp;rsquo;s say we discover that using a &amp;ldquo;#&amp;rdquo; character (we recommend that users avoid such reserved characters) in a particular field like the Device Tag on a symbol will cause it to have an &amp;ldquo;Object Reference&amp;rdquo; error.&amp;nbsp; Since that would be a repeatable issue, we could trap for that condition and not allow users to use that character or bring up a message that says something more helpful and specific such as &amp;ldquo;illegal character&amp;rdquo; so users will have a clear indication of the issue.&amp;nbsp; We would also put the error on Bentley Communities so that any other users that might run into that error before we release a build with that error fix will be able to tell what to do (&lt;b&gt;see Option 1 below&lt;/b&gt;).&lt;/p&gt;
&lt;p&gt;Unfortunately, the &amp;quot;Object Reference&amp;quot; error is often caused by some unique instance of data corruption and is not repeatable once the corrupted item is found and removed.&amp;nbsp; In these cases we are limited more to finding the corruption and removing it to stop the error and allow work to proceed (&lt;b&gt;see Option 2 below&lt;/b&gt;). &amp;nbsp;&lt;/p&gt;
&lt;h1&gt;How to Resolve&lt;/h1&gt;
&lt;h3&gt;Option 1&lt;/h3&gt;
&lt;p&gt;To see if the specific instance of the Object Reference error you are receiving has already been determined, please use the Search field at the top of the Bentley Communities page to search for &amp;ldquo;Object Reference&amp;rdquo; and the keyword from the TargetSite portion of the error you are seeing, such as in the sample message above you would type &amp;ldquo;Object Reference get_DefaultPartsDB&amp;rdquo; into the search field and the top result should be the description for an error with locked projects.&lt;/p&gt;
&lt;p&gt;If the search does not find any documented case of the error you are seeing, or the description doesn&amp;rsquo;t fit your circumstances, then &lt;b&gt;see Option 2 below&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;Option&amp;nbsp;2&lt;/h3&gt;
&lt;p&gt;If the error you are seeing has not been documented already, then we would need to try to determine what is causing the error by the circumstances surrounding its occurrence.&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does the TargetSite line of the error message provide any clues to what might be causing the error?&amp;nbsp; &lt;i&gt;(&lt;span style="color:#ff0000;"&gt;If you need to create a post on the Forum or a Service Request for help with your error, please include the whole text of the error, not just the first line.)&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Did this error occur after doing a specific command?&lt;/li&gt;
&lt;li&gt;Does it happen to a specific object (a wire, a symbol, etc.)?&lt;/li&gt;
&lt;li&gt;Does it happen only to that object or that page?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Commonly, if we are able to narrow down the error to a particular object, then deleting that object and replacing a new one down in its place resolves whatever corruption was causing the error. So for example if right clicking on a symbol and selecting the Device ID dialog brings up the error, then we would typically suggest that you delete that symbol and place a fresh one down in its place. Likewise, if trying to assign a wire number to a particular wire brings up an error, we would suggest deleting and redrawing that wire, or if it is a Wire Tag, deleting that Wire Tag and reassigning it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sometimes we can use some of the built in commands to help find the corruption that is causing the error.&amp;nbsp; For example if you use the [[Update Page]] command on the page, or the [[Validate Page]] command, it might help either remove the corruption or point to an object that needs to be removed.&amp;nbsp; You should use those commands with caution though and always make sure you have a current backup of the project before using those commands. For instance, the Validate command can falsely indicate that many objects on the page need to be removed (or even all of them) because it can&amp;rsquo;t properly find the corruption, or the corruption is in the page itself, not really in the objects on the page.&amp;nbsp; In those cases I would generally suggest trying to copy all the data from the page onto a new, freshly created page (usually I suggest creating a new blank page of the same name in a temporary test project so you can maintain all wire numbers and ID&amp;#39;s exactly as they are without having to worry about duplication messages).&amp;nbsp; Do not copy the page itself, as that would often copy the corruption too, but instead copy the contents of the page and paste them onto the newly created page.&amp;nbsp; Then see if the corruption exists in the new copy of that page.&amp;nbsp; If not, usually you can delete the original page that is giving the error and then copy the new page (not just the contents) into the original project again using the commands in the Project Manager.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/cfs-file.ashx/__key/communityserver-components-sitefiles/TSG-Logo.png" width="189" height="60" /&gt;&lt;/p&gt;
&lt;table style="background-color:#dce5f0;border:#dce5f0 0px solid;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Original Author:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tani Strock&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: promis.e, error message, SELECTsupport&lt;/div&gt;
</description></item><item><title>Error - Object reference...General</title><link>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general/revision/7</link><pubDate>Tue, 06 Oct 2015 21:01:57 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:2ea1c446-54f5-4fe3-b914-77e46447125c</guid><dc:creator>Tani_S</dc:creator><comments>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general#comments</comments><description>Revision 7 posted to OpenUtilities Wiki by Tani_S on 10/6/2015 9:01:57 PM&lt;br /&gt;
&lt;p style="padding:0;margin:0;"&gt;&lt;/p&gt;
&lt;table style="background-color:#dce5f0;border:#dce5f0 0px solid;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Product(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Promis.e, Bentley Substation&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Version(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;08.11.xx.xx&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Environment:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N\A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Area:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;promis.e Functionality&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Subarea:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Design Features&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1&gt;Error or Warning Message&lt;/h1&gt;
&lt;p&gt;A sample Object Reference error message:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Internal Error&lt;/b&gt;&lt;br /&gt; Error Message: Object reference not set to an instance of an object.&lt;br /&gt; TargetSite: System.String get_DefaultPartsDB()&lt;br /&gt; DeclaringType: ECT.ECAD.API.ProjectSettings&lt;br /&gt; Attributes: public&lt;br /&gt; MemberType: Method&lt;/p&gt;
&lt;h1&gt;Explanation&lt;/h1&gt;
&lt;p&gt;Sometimes when working with Bentley Substation or promis.e you may get an error whose first line is &amp;ldquo;Object reference not set to an instance of an object&amp;rdquo; like the sample shown above.&amp;nbsp; This is typically the message you would see if some uncaptured error has occurred either in promis.e or in one of the supporting components (Microsoft SQL, .Net, ADO, C#, etc.) that the software has no way to properly handle.&amp;nbsp; Thus you get this rather general error message which is very non-descriptive, and contains little helpful information in determining what the actual error was or what caused it.&amp;nbsp;&amp;nbsp; As these errors are reported to Bentley Support, we add them to our development efforts so that they can be properly handled with much more useful error messages or possibly prevented in the first place.&amp;nbsp; However, that depends on many factors, most especially that the condition causing the error has a repeatable pattern.&amp;nbsp; For a fictitious example, let&amp;rsquo;s say we discover that using a &amp;ldquo;#&amp;rdquo; character (we recommend that users avoid such reserved characters) in a particular field like the Device Tag on a symbol will cause it to have an &amp;ldquo;Object Reference&amp;rdquo; error.&amp;nbsp; Since that would be a repeatable issue, we could trap for that condition and not allow users to use that character or bring up a message that says something more helpful and specific such as &amp;ldquo;illegal character&amp;rdquo; so users will have a clear indication of the issue.&amp;nbsp; We would also put the error on Bentley Communities so that any other users that might run into that error before we release a build with that error fix will be able to tell what to do (&lt;b&gt;see Option 1 below&lt;/b&gt;).&lt;/p&gt;
&lt;p&gt;Unfortunately, the &amp;quot;Object Reference&amp;quot; error is often caused by some unique instance of data corruption and is not repeatable once the corrupted item is found and removed.&amp;nbsp; In these cases we are limited more to finding the corruption and removing it to stop the error and allow work to proceed (&lt;b&gt;see Option 2 below&lt;/b&gt;). &amp;nbsp;&lt;/p&gt;
&lt;h1&gt;How to Resolve&lt;/h1&gt;
&lt;h3&gt;Option 1&lt;/h3&gt;
&lt;p&gt;To see if the specific instance of the Object Reference error you are receiving has already been determined, please use the Search field at the top of the Bentley Communities page to search for &amp;ldquo;Object Reference&amp;rdquo; and the keyword from the TargetSite portion of the error you are seeing, such as in the sample message above you would type &amp;ldquo;Object Reference get_DefaultPartsDB&amp;rdquo; into the search field and the top result should be the description for an error with locked projects.&lt;/p&gt;
&lt;p&gt;If the search does not find any documented case of the error you are seeing, or the description doesn&amp;rsquo;t fit your circumstances, then &lt;b&gt;see Option 2 below&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;Option&amp;nbsp;2&lt;/h3&gt;
&lt;p&gt;If the error you are seeing has not been documented already, then we would need to try to determine what is causing the error by the circumstances surrounding its occurrence.&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does the TargetSite line of the error message provide any clues to what might be causing the error?&amp;nbsp; &lt;i&gt;(&lt;span style="color:#ff0000;"&gt;If you need to create a post on the Forum or a Service Request for help with your error, please include the whole text of the error, not just the first line.)&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Did this error occur after doing a specific command?&lt;/li&gt;
&lt;li&gt;Does it happen to a specific object (a wire, a symbol, etc.)?&lt;/li&gt;
&lt;li&gt;Does it happen only to that object or that page?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Commonly, if we are able to narrow down the error to a particular object, then deleting that object and replacing a new one down in its place resolves whatever corruption was causing the error. So for example if right clicking on a symbol and selecting the Device ID dialog brings up the error, then we would typically suggest that you delete that symbol and place a fresh one down in its place. Likewise, if trying to assign a wire number to a particular wire brings up an error, we would suggest deleting and redrawing that wire, or if it is a Wire Tag, deleting that Wire Tag and reassigning it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sometimes we can use some of the built in commands to help find the corruption that is causing the error.&amp;nbsp; For example if you use the [[Update Page]] command on the page, or the [[Validate Page]] command, it might help either remove the corruption or point to an object that needs to be removed.&amp;nbsp; You should use those commands with caution though and always make sure you have a current backup of the project before using those commands. For instance, the Validate command can falsely indicate that many objects on the page need to be removed (or even all of them) because it can&amp;rsquo;t properly find the corruption, or the corruption is in the page itself, not really in the objects on the page.&amp;nbsp; In those cases I would typically suggest trying to copy all the data from the page onto a new, freshly created page (typically I suggest creating a new blank page of the same name in a temporary test project so you can maintain all wire numbers and ID&amp;#39;s exactly as they are without having to worry about duplication messages).&amp;nbsp; Do not copy the page itself, as that would typically copy the corruption too, but copy the contents of the page and paste them onto the newly created page.&amp;nbsp; Then see if the corruption exists in the new copy of that page.&amp;nbsp; If not, usually you can delete the original page that is giving the error and then copy the new page (not just the contents) into the original project again using the commands in the Project Manager.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/cfs-file.ashx/__key/communityserver-components-sitefiles/TSG-Logo.png" width="189" height="60" /&gt;&lt;/p&gt;
&lt;table style="background-color:#dce5f0;border:#dce5f0 0px solid;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Original Author:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tani Strock&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: promis.e, error message, SELECTsupport&lt;/div&gt;
</description></item><item><title>Error - Object reference...General</title><link>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general/revision/6</link><pubDate>Tue, 06 Oct 2015 20:58:54 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:2ea1c446-54f5-4fe3-b914-77e46447125c</guid><dc:creator>Tani_S</dc:creator><comments>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general#comments</comments><description>Revision 6 posted to OpenUtilities Wiki by Tani_S on 10/6/2015 8:58:54 PM&lt;br /&gt;
&lt;p style="padding:0;margin:0;"&gt;&lt;/p&gt;
&lt;table style="background-color:#dce5f0;border:#dce5f0 0px solid;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Product(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Promis.e, Bentley Substation&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Version(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;08.11.xx.xx&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Environment:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N\A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Area:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;promis.e Functionality&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Subarea:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Design Features&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1&gt;Error or Warning Message&lt;/h1&gt;
&lt;p&gt;A sample Object Reference error message:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Internal Error&lt;/b&gt;&lt;br /&gt; Error Message: Object reference not set to an instance of an object.&lt;br /&gt; TargetSite: System.String get_DefaultPartsDB()&lt;br /&gt; DeclaringType: ECT.ECAD.API.ProjectSettings&lt;br /&gt; Attributes: public&lt;br /&gt; MemberType: Method&lt;/p&gt;
&lt;h1&gt;Explanation&lt;/h1&gt;
&lt;p&gt;Sometimes when working with Bentley Substation or promis.e you may get an error whose first line is &amp;ldquo;Object reference not set to an instance of an object&amp;rdquo; like the sample shown above.&amp;nbsp; This is typically the message you would see if some uncaptured error has occurred either in promis.e or in one of the supporting components (Microsoft SQL, .Net, ADO, C#, etc.) that the software has no way to properly handle.&amp;nbsp; Thus you get this rather general error message which is very non-descriptive, and contains little helpful information in determining what the actual error was or what caused it.&amp;nbsp;&amp;nbsp; As these errors are reported to Bentley Support, we add them to our development efforts so that they can be properly handled with much more useful error messages or possibly prevented in the first place.&amp;nbsp; However, that depends on many factors, most especially that the condition causing the error has a repeatable pattern.&amp;nbsp; For a fictitious example, let&amp;rsquo;s say we discover that using a &amp;ldquo;#&amp;rdquo; character (we recommend that users avoid such reserved characters) in a particular field like the Device Tag on a symbol will cause it to have an &amp;ldquo;Object Reference&amp;rdquo; error.&amp;nbsp; Since that would be a repeatable issue, we could trap for that condition and not allow users to use that character or bring up a message that says something more helpful and specific such as &amp;ldquo;illegal character&amp;rdquo; so users will have a clear indication of the issue.&amp;nbsp; We would also put the error on Bentley Communities so that any other users that might run into that error before we release a build with that error fix will be able to tell what to do (&lt;b&gt;see Option 1 below&lt;/b&gt;).&lt;/p&gt;
&lt;p&gt;Unfortunately, the &amp;quot;Object Reference&amp;quot; error is often caused by some unique instance of data corruption and is not repeatable once the corrupted item is found and removed.&amp;nbsp; In these cases we are limited more to finding the corruption and removing it to stop the error and allow work to proceed (&lt;b&gt;see Option 2 below&lt;/b&gt;). &amp;nbsp;&lt;/p&gt;
&lt;h1&gt;How to Resolve&lt;/h1&gt;
&lt;h3&gt;Option 1&lt;/h3&gt;
&lt;p&gt;To see if the specific instance of the Object Reference error you are receiving has already been determined, please use the Search field at the top of the Bentley Communities page to search for &amp;ldquo;Object Reference&amp;rdquo; and the keyword from the TargetSite portion of the error you are seeing, such as in the sample message above you would type &amp;ldquo;Object Reference get_DefaultPartsDB&amp;rdquo; into the search field and the top result should be the description for an error with locked projects.&lt;/p&gt;
&lt;p&gt;If the search does not find any documented case of the error you are seeing, or the description doesn&amp;rsquo;t fit your circumstances, then &lt;b&gt;see Option 2 below&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;Option&amp;nbsp;2&lt;/h3&gt;
&lt;p&gt;If the error you are seeing has not been documented already, then we would need to try to determine what is causing the error by the circumstances surrounding its occurrence.&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does the TargetSite line of the error message provide any clues to what might be causing the error?&amp;nbsp; &lt;i&gt;(&lt;span style="color:#ff0000;"&gt;If you need to create a post on the Forum or a Service Request for help with your error, please include the whole text of the error, not just the first line.)&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Did this error occur after doing a specific command?&lt;/li&gt;
&lt;li&gt;Does it happen to a specific object (a wire, a symbol, etc.)?&lt;/li&gt;
&lt;li&gt;Does it happen only to that object or that page?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Commonly, if we are able to narrow down the error to a particular object, then deleting that object and replacing a new one down in its place resolves whatever corruption was causing the error. So for example if right clicking on a symbol and selecting the Device ID dialog brings up the error, then we would typically suggest that you delete that symbol and place a fresh one down in its place. Likewise, if trying to assign a wire number to a particular wire brings up an error, we would suggest deleting and redrawing that wire, or if it is a Wire Tag, deleting that Wire Tag and reassigning it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sometimes we can use some of the built in commands to help find the corruption that is causing the error.&amp;nbsp; For example if you use the Update command on the page, or the Validate command, it might help either remove the corruption or point to an object that needs to be removed.&amp;nbsp; You should use those commands with caution though and always make sure you have a current backup of the project before using those commands. For instance, the Validate command can falsely indicate that many objects on the page need to be removed (or even all of them) because it can&amp;rsquo;t properly find the corruption, or the corruption is in the page itself, not really in the objects on the page.&amp;nbsp; In those cases I would typically suggest trying to copy all the data from the page onto a new, freshly created page (typically I suggest creating a new blank page of the same name in a temporary test project so you can maintain all wire numbers and ID&amp;#39;s exactly as they are without having to worry about duplication messages).&amp;nbsp; Do not copy the page itself, as that would typically copy the corruption too, but copy the contents of the page and paste them onto the newly created page.&amp;nbsp; Then see if the corruption exists in the new copy of that page.&amp;nbsp; If not, usually you can delete the original page that is giving the error and then copy the new page (not just the contents) into the original project again using the commands in the Project Manager.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="http://communities.bentley.com/cfs-file.ashx/__key/communityserver-components-sitefiles/TSG-Logo.png" width="189" height="60" /&gt;&lt;/p&gt;
&lt;table style="background-color:#dce5f0;border:#dce5f0 0px solid;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Original Author:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tani Strock&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: promis.e, error message, SELECTsupport&lt;/div&gt;
</description></item><item><title>Error - Object reference...General</title><link>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general/revision/5</link><pubDate>Tue, 06 Oct 2015 20:55:47 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:2ea1c446-54f5-4fe3-b914-77e46447125c</guid><dc:creator>Tani_S</dc:creator><comments>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general#comments</comments><description>Revision 5 posted to OpenUtilities Wiki by Tani_S on 10/6/2015 8:55:47 PM&lt;br /&gt;
&lt;p style="padding:0;margin:0;"&gt;&lt;/p&gt;
&lt;table style="background-color:#dce5f0;border:#dce5f0 0px solid;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Product(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Promis.e, Bentley Substation&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Version(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;08.11.xx.xx&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Environment:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N\A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Area:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;promis.e Functionality&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Subarea:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Design Features&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1&gt;Error or Warning Message&lt;/h1&gt;
&lt;p&gt;A sample Object Reference error message:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Internal Error&lt;/b&gt;&lt;br /&gt; Error Message: Object reference not set to an instance of an object.&lt;br /&gt; TargetSite: System.String get_DefaultPartsDB()&lt;br /&gt; DeclaringType: ECT.ECAD.API.ProjectSettings&lt;br /&gt; Attributes: public&lt;br /&gt; MemberType: Method&lt;/p&gt;
&lt;h1&gt;Explanation&lt;/h1&gt;
&lt;p&gt;Sometimes when working with Bentley Substation or promis.e you may get an error whose first line is &amp;ldquo;Object reference not set to an instance of an object&amp;rdquo; like the sample shown above.&amp;nbsp; This is typically the message you would see if some uncaptured error has occurred either in promis.e or in one of the supporting components (Microsoft SQL, .Net, ADO, C#, etc.) that the software has no way to properly handle.&amp;nbsp; Thus you get this rather general error message which is very non-descriptive, and contains little helpful information in determining what the actual error was or what caused it.&amp;nbsp;&amp;nbsp; As these errors are reported to Bentley Support, we add them to our development efforts so that they can be properly handled with much more useful error messages or possibly prevented in the first place.&amp;nbsp; However, that depends on many factors, most especially that the condition causing the error has a repeatable pattern.&amp;nbsp; For a fictitious example, let&amp;rsquo;s say we discover that using a &amp;ldquo;#&amp;rdquo; character (we recommend that users avoid such reserved characters) in a particular field like the Device Tag on a symbol will cause it to have an &amp;ldquo;Object Reference&amp;rdquo; error.&amp;nbsp; Since that would be a repeatable issue, we could trap for that condition and not allow users to use that character or bring up a message that says something more helpful and specific such as &amp;ldquo;illegal character&amp;rdquo; so users will have a clear indication of the issue.&amp;nbsp; We would also put the error on Be Communities so that any other users that might run into that error before we release a build with that error fix will be able to tell what to do (&lt;b&gt;see Option 1 below&lt;/b&gt;).&lt;/p&gt;
&lt;p&gt;Unfortunately, the &amp;quot;Object Reference&amp;quot; error is often caused by some unique instance of data corruption and is not repeatable once the corrupted item is found and removed.&amp;nbsp; In these cases we are limited more to finding the corruption and removing it to stop the error and allow work to proceed (&lt;b&gt;see Option 2 below&lt;/b&gt;). &amp;nbsp;&lt;/p&gt;
&lt;h1&gt;How to Resolve&lt;/h1&gt;
&lt;h3&gt;Option 1&lt;/h3&gt;
&lt;p&gt;To see if the specific instance of the Object Reference error you are receiving has already been determined, please use the Search field at the top of the Be Communities page to search for &amp;ldquo;Object Reference&amp;rdquo; and the keyword from the TargetSite portion of the error you are seeing, such as in the sample message above you would type &amp;ldquo;Object Reference get_DefaultPartsDB&amp;rdquo; into the search field and the top result should be the description for an error with locked projects.&lt;/p&gt;
&lt;p&gt;If the search does not find any documented case of the error you are seeing, or the description doesn&amp;rsquo;t fit your circumstances, then &lt;b&gt;see Option 2 below&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;Option&amp;nbsp;2&lt;/h3&gt;
&lt;p&gt;If the error you are seeing has not been documented already, then we would need to try to determine what is causing the error by the circumstances surrounding its occurrence.&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does the TargetSite line of the error message provide any clues to what might be causing the error?&amp;nbsp; &lt;i&gt;(&lt;span style="color:#ff0000;"&gt;If you need to create a post on the Forum or a Service Request for help with your error, please include the whole text of the error, not just the first line.)&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Did this error occur after doing a specific command?&lt;/li&gt;
&lt;li&gt;Does it happen to a specific object (a wire, a symbol, etc.)?&lt;/li&gt;
&lt;li&gt;Does it happen only to that object or that page?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Commonly, if we are able to narrow down the error to a particular object, then deleting that object and replacing a new one down in its place resolves whatever corruption was causing the error. So for example if right clicking on a symbol and selecting the Device ID dialog brings up the error, then we would typically suggest that you delete that symbol and place a fresh one down in its place. Likewise, if trying to assign a wire number to a particular wire brings up an error, we would suggest deleting and redrawing that wire, or if it is a Wire Tag, deleting that Wire Tag and reassigning it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sometimes we can use some of the built in commands to help find the corruption that is causing the error.&amp;nbsp; For example if you use the Update command on the page, or the Validate command, it might help either remove the corruption or point to an object that needs to be removed.&amp;nbsp; You should use those commands with caution though and always make sure you have a current backup of the project before using those commands. For instance, the Validate command can falsely indicate that many objects on the page need to be removed (or even all of them) because it can&amp;rsquo;t properly find the corruption, or the corruption is in the page itself, not really in the objects on the page.&amp;nbsp; In those cases I would typically suggest trying to copy all the data from the page onto a new, freshly created page (typically I suggest creating a new blank page of the same name in a temporary test project so you can maintain all wire numbers and ID&amp;#39;s exactly as they are without having to worry about duplication messages).&amp;nbsp; Do not copy the page itself, as that would typically copy the corruption too, but copy the contents of the page and paste them onto the newly created page.&amp;nbsp; Then see if the corruption exists in the new copy of that page.&amp;nbsp; If not, usually you can delete the original page that is giving the error and then copy the new page (not just the contents) into the original project again using the commands in the Project Manager.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="http://communities.bentley.com/cfs-file.ashx/__key/communityserver-components-sitefiles/TSG-Logo.png" width="189" height="60" /&gt;&lt;/p&gt;
&lt;table style="background-color:#dce5f0;border:#dce5f0 0px solid;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Original Author:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tani Strock&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: promis.e, error message, SELECTsupport&lt;/div&gt;
</description></item><item><title>Error - Object reference...General</title><link>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general/revision/4</link><pubDate>Tue, 06 Oct 2015 20:50:50 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:2ea1c446-54f5-4fe3-b914-77e46447125c</guid><dc:creator>Tani_S</dc:creator><comments>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general#comments</comments><description>Revision 4 posted to OpenUtilities Wiki by Tani_S on 10/6/2015 8:50:50 PM&lt;br /&gt;
&lt;table style="background-color:#dce5f0;border:#dce5f0 0px solid;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Product(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Promis.e, Bentley Substation&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Version(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;08.11.xx.xx&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Environment:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N\A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Area:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;promis.e Functionality&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Subarea:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Design Features&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1&gt;Error or Warning Message&lt;/h1&gt;
&lt;p&gt;A sample Object Reference error message:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Internal Error&lt;/b&gt;&lt;br /&gt; Error Message: Object reference not set to an instance of an object.&lt;br /&gt; TargetSite: System.String get_DefaultPartsDB()&lt;br /&gt; DeclaringType: ECT.ECAD.API.ProjectSettings&lt;br /&gt; Attributes: public&lt;br /&gt; MemberType: Method&lt;/p&gt;
&lt;h1&gt;Explanation&lt;/h1&gt;
&lt;p&gt;Sometimes when working with Bentley Substation or promis.e you may get an error whose first line is &amp;ldquo;Object reference not set to an instance of an object&amp;rdquo; like the sample shown above.&amp;nbsp; This is typically the message you would see if some uncaptured error has occurred either in promis.e or in one of the supporting components (Microsoft SQL, .Net, ADO, C#, etc.) that the software has no way to properly handle.&amp;nbsp; Thus you get this rather general error message which is very non-descriptive, and contains little helpful information in determining what the actual error was or what caused it.&amp;nbsp;&amp;nbsp; As these errors are reported to Bentley Support, we add them to our development efforts so that they can be properly handled with much more useful error messages or possibly prevented in the first place.&amp;nbsp; However, that depends on many factors, most especially that the condition causing the error has a repeatable pattern.&amp;nbsp; For a fictitious example, let&amp;rsquo;s say we discover that using a &amp;ldquo;#&amp;rdquo; character (we recommend that users avoid such reserved characters) in a particular field like the Device Tag on a symbol will cause it to have an &amp;ldquo;Object Reference&amp;rdquo; error.&amp;nbsp; Since that would be a repeatable issue, we could trap for that condition and not allow users to use that character or bring up a message that says something more helpful and specific such as &amp;ldquo;illegal character&amp;rdquo; so users will have a clear indication of the issue.&amp;nbsp; We would also put the error on Be Communities so that any other users that might run into that error before we release a build with that error fix will be able to tell what to do (&lt;b&gt;see Option 1 below&lt;/b&gt;).&lt;/p&gt;
&lt;p&gt;Unfortunately, the &amp;quot;Object Reference&amp;quot; error is often caused by some unique instance of data corruption and is not repeatable once the corrupted item is found and removed.&amp;nbsp; In these cases we are limited more to finding the corruption and removing it to stop the error and allow work to proceed (&lt;b&gt;see Option 2 below&lt;/b&gt;). &amp;nbsp;&lt;/p&gt;
&lt;h1&gt;How to Resolve&lt;/h1&gt;
&lt;h3&gt;Option 1&lt;/h3&gt;
&lt;p&gt;To see if the specific instance of the Object Reference error you are receiving has already been determined, please use the Search field at the top of the Be Communities page to search for &amp;ldquo;Object Reference&amp;rdquo; and the keyword from the TargetSite portion of the error you are seeing, such as in the sample message above you would type &amp;ldquo;Object Reference get_DefaultPartsDB&amp;rdquo; into the search field and the top result should be the description for an error with locked projects.&lt;/p&gt;
&lt;p&gt;If the search does not find any documented case of the error you are seeing, or the description doesn&amp;rsquo;t fit your circumstances, then &lt;b&gt;see Option 2 below&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;Option&amp;nbsp;2&lt;/h3&gt;
&lt;p&gt;If the error you are seeing has not been documented already, then we would need to try to determine what is causing the error by the circumstances surrounding its occurrence.&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does the TargetSite line of the error message provide any clues to what might be causing the error?&amp;nbsp; &lt;i&gt;(&lt;span style="color:#ff0000;"&gt;If you need to create a post on the Forum or a Service Request for help with your error, please include the whole text of the error, not just the first line.)&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Did this error occur after doing a specific command?&lt;/li&gt;
&lt;li&gt;Does it happen to a specific object (a wire, a symbol, etc.)?&lt;/li&gt;
&lt;li&gt;Does it happen only to that object or that page?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Commonly, if we are able to narrow down the error to a particular object, then deleting that object and replacing a new one down in its place resolves whatever corruption was causing the error. So for example if right clicking on a symbol and selecting the Device ID dialog brings up the error, then we would typically suggest that you delete that symbol and place a fresh one down in its place. Likewise, if trying to assign a wire number to a particular wire brings up an error, we would suggest deleting and redrawing that wire, or if it is a Wire Tag, deleting that Wire Tag and reassigning it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sometimes we can use some of the built in commands to help find the corruption that is causing the error.&amp;nbsp; For example if you use the Update command on the page, or the Validate command, it might help either remove the corruption or point to an object that needs to be removed.&amp;nbsp; You should use those commands with caution though and always make sure you have a current backup of the project before using those commands. For instance, the Validate command can falsely indicate that many objects on the page need to be removed (or even all of them) because it can&amp;rsquo;t properly find the corruption, or the corruption is in the page itself, not really in the objects on the page.&amp;nbsp; In those cases I would typically suggest trying to copy all the data from the page onto a new, freshly created page (typically I suggest creating a new blank page of the same name in a temporary test project so you can maintain all wire numbers and ID&amp;#39;s exactly as they are without having to worry about duplication messages).&amp;nbsp; Do not copy the page itself, as that would typically copy the corruption too, but copy the contents of the page and paste them onto the newly created page.&amp;nbsp; Then see if the corruption exists in the new copy of that page.&amp;nbsp; If not, usually you can delete the original page that is giving the error and then copy the new page (not just the contents) into the original project again using the commands in the Project Manager.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="http://communities.bentley.com/cfs-file.ashx/__key/communityserver-components-sitefiles/TSG-Logo.png" width="189" height="60" /&gt;&lt;/p&gt;
&lt;table style="background-color:#dce5f0;border:#dce5f0 0px solid;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Original Author:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tani Strock&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: promis.e, error message, SELECTsupport&lt;/div&gt;
</description></item><item><title>Error - Object reference...General</title><link>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general/revision/3</link><pubDate>Tue, 06 Oct 2015 20:49:24 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:2ea1c446-54f5-4fe3-b914-77e46447125c</guid><dc:creator>Tani_S</dc:creator><comments>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general#comments</comments><description>Revision 3 posted to OpenUtilities Wiki by Tani_S on 10/6/2015 8:49:24 PM&lt;br /&gt;
&lt;table style="background-color:#dce5f0;border:#dce5f0 0px solid;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Product(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Promis.e, Bentley Substation&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Version(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;08.11.xx.xx&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Environment:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N\A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Area:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;promis.e Functionality&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Subarea:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Design Features&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1&gt;Error or Warning Message&lt;/h1&gt;
&lt;p&gt;A sample Object Reference error message:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Internal Error&lt;/b&gt;&lt;br /&gt; Error Message: Object reference not set to an instance of an object.&lt;br /&gt; TargetSite: System.String get_DefaultPartsDB()&lt;br /&gt; DeclaringType: ECT.ECAD.API.ProjectSettings&lt;br /&gt; Attributes: public&lt;br /&gt; MemberType: Method&lt;/p&gt;
&lt;h1&gt;Explanation&lt;/h1&gt;
&lt;p&gt;Sometimes when working with Bentley Substation or promis.e you may get an error whose first line is &amp;ldquo;Object reference not set to an instance of an object&amp;rdquo; like the sample shown above.&amp;nbsp; This is typically the message you would see if some uncaptured error has occurred either in promis.e or in one of the supporting components (Microsoft SQL, .Net, ADO, C#, etc.) that the software has no way to properly handle.&amp;nbsp; Thus you get this rather general error message which is very non-descriptive, and contains little helpful information in determining what the actual error was or what caused it.&amp;nbsp;&amp;nbsp; As these errors are reported to Bentley Support, we add them to our development efforts so that they can be properly handled with much more useful error messages or possibly prevented in the first place.&amp;nbsp; However, that depends on many factors, most especially that the condition causing the error has a repeatable pattern.&amp;nbsp; For a fictitious example, let&amp;rsquo;s say we discover that using a &amp;ldquo;#&amp;rdquo; character (we recommend that users avoid such reserved characters) in a particular field like the Device Tag on a symbol will cause it to have an &amp;ldquo;Object Reference&amp;rdquo; error.&amp;nbsp; Since that would be a repeatable issue, we could trap for that condition and not allow users to use that character or bring up a message that says something more helpful and specific such as &amp;ldquo;illegal character&amp;rdquo; so users will have a clear indication of the issue.&amp;nbsp; We would also put the error on Be Communities so that any other users that might run into that error before we release a build with that error fix will be able to tell what to do (&lt;b&gt;see Option 1 below&lt;/b&gt;).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Unfortunately, the &amp;quot;Object Reference&amp;quot; error is often caused by some unique instance of data corruption and is not repeatable once the corrupted item is found and removed.&amp;nbsp; In these cases we are limited more to finding the corruption and removing it to stop the error and allow work to proceed (&lt;b&gt;see Option 2 below&lt;/b&gt;).&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;How to Resolve&lt;/h1&gt;
&lt;h3&gt;Option 1&lt;/h3&gt;
&lt;p&gt;To see if the specific instance of the Object Reference error you are receiving has already been determined, please use the Search field at the top of the Be Communities page to search for &amp;ldquo;Object Reference&amp;rdquo; and the keyword from the TargetSite portion of the error you are seeing, such as in the sample message above you would type &amp;ldquo;Object Reference get_DefaultPartsDB&amp;rdquo; into the search field and the top result should be the description for an error with locked projects.&lt;/p&gt;
&lt;p&gt;If the search does not find any documented case of the error you are seeing, or the description doesn&amp;rsquo;t fit your circumstances, then &lt;b&gt;see Option 2 below&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;Option&amp;nbsp;2&lt;/h3&gt;
&lt;p&gt;If the error you are seeing has not been documented already, then we would need to try to determine what is causing the error by the circumstances surrounding its occurrence.&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does the TargetSite line of the error message provide any clues to what might be causing the error?&amp;nbsp; &lt;i&gt;(&lt;span style="color:#ff0000;"&gt;If you need to create a post on the Forum or a Service Request for help with your error, please include the whole text of the error, not just the first line.)&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Did this error occur after doing a specific command?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does it happen to a specific object (a wire, a symbol, etc.)?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does it happen only to that object or that page?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Commonly, if we are able to narrow down the error to a particular object, then deleting that object and replacing a new one down in its place resolves whatever corruption was causing the error. So for example if right clicking on a symbol and selecting the Device ID dialog brings up the error, then we would typically suggest that you delete that symbol and place a fresh one down in its place. Likewise, if trying to assign a wire number to a particular wire brings up an error, we would suggest deleting and redrawing that wire, or if it is a Wire Tag, deleting that Wire Tag and reassigning it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sometimes we can use some of the built in commands to help find the corruption that is causing the error.&amp;nbsp; For example if you use the Update command on the page, or the Validate command, it might help either remove the corruption or point to an object that needs to be removed.&amp;nbsp; You should use those commands with caution though and always make sure you have a current backup of the project before using those commands. For instance, the Validate command can falsely indicate that many objects on the page need to be removed (or even all of them) because it can&amp;rsquo;t properly find the corruption, or the corruption is in the page itself, not really in the objects on the page.&amp;nbsp; In those cases I would typically suggest trying to copy all the data from the page onto a new, freshly created page (typically I suggest creating a new blank page of the same name in a temporary test project so you can maintain all wire numbers and ID&amp;#39;s exactly as they are without having to worry about duplication messages).&amp;nbsp; Do not copy the page itself, as that would typically copy the corruption too, but copy the contents of the page and paste them onto the newly created page.&amp;nbsp; Then see if the corruption exists in the new copy of that page.&amp;nbsp; If not, usually you can delete the original page that is giving the error and then copy the new page (not just the contents) into the original project again using the commands in the Project Manager.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1&gt;&lt;span style="font-size:12px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img style="border-width:0px;" alt=" " src="http://communities.bentley.com/cfs-file.ashx/__key/communityserver-components-sitefiles/TSG-Logo.png" width="189" height="60" /&gt;&lt;/p&gt;
&lt;table style="background-color:#dce5f0;border:#dce5f0 0px solid;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Original Author:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tani Strock&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: promis.e, error message, SELECTsupport&lt;/div&gt;
</description></item><item><title>Error - Object reference...General</title><link>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general/revision/2</link><pubDate>Tue, 06 Oct 2015 20:48:16 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:2ea1c446-54f5-4fe3-b914-77e46447125c</guid><dc:creator>Tani_S</dc:creator><comments>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general#comments</comments><description>Revision 2 posted to OpenUtilities Wiki by Tani_S on 10/6/2015 8:48:16 PM&lt;br /&gt;
&lt;table style="background-color:#dce5f0;border:#dce5f0 0px solid;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Product(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Promis.e, Bentley Substation&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Version(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;08.11.xx.xx&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Environment:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N\A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Area:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;promis.e Functionality&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Subarea:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Design Features&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1&gt;Error or Warning Message&lt;/h1&gt;
&lt;p&gt;A sample Object Reference error message:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Internal Error&lt;/b&gt;&lt;br /&gt; Error Message: Object reference not set to an instance of an object.&lt;br /&gt; TargetSite: System.String get_DefaultPartsDB()&lt;br /&gt; DeclaringType: ECT.ECAD.API.ProjectSettings&lt;br /&gt; Attributes: public&lt;br /&gt; MemberType: Method&lt;/p&gt;
&lt;h1&gt;Explanation&lt;/h1&gt;
&lt;p&gt;Sometimes when working with Bentley Substation or promis.e you may get an error whose first line is &amp;ldquo;Object reference not set to an instance of an object&amp;rdquo; like the sample shown above.&amp;nbsp; This is typically the message you would see if some uncaptured error has occurred either in promis.e or in one of the supporting components (Microsoft SQL, .Net, ADO, C#, etc.) that the software has no way to properly handle.&amp;nbsp; Thus you get this rather general error message which is very non-descriptive, and contains little helpful information in determining what the actual error was or what caused it.&amp;nbsp;&amp;nbsp; As these errors are reported to Bentley Support, we add them to our development efforts so that they can be properly handled with much more useful error messages or possibly prevented in the first place.&amp;nbsp; However, that depends on many factors, most especially that the condition causing the error has a repeatable pattern.&amp;nbsp; For a fictitious example, let&amp;rsquo;s say we discover that using a &amp;ldquo;#&amp;rdquo; character (we recommend that users avoid such reserved characters) in a particular field like the Device Tag on a symbol will cause it to have an &amp;ldquo;Object Reference&amp;rdquo; error.&amp;nbsp; Since that would be a repeatable issue, we could trap for that condition and not allow users to use that character or bring up a message that says something more helpful and specific such as &amp;ldquo;illegal character&amp;rdquo; so users will have a clear indication of the issue.&amp;nbsp; We would also put the error on Be Communities so that any other users that might run into that error before we release a build with that error fix will be able to tell what to do (&lt;b&gt;see Option 1 below&lt;/b&gt;).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Unfortunately, the &amp;quot;Object Reference&amp;quot; error is often caused by some unique instance of data corruption and is not repeatable once the corrupted item is found and removed.&amp;nbsp; In these cases we are limited more to finding the corruption and removing it to stop the error and allow work to proceed (&lt;b&gt;see Option 2 below&lt;/b&gt;).&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;How to Resolve&lt;/h1&gt;
&lt;h3&gt;Option 1&lt;/h3&gt;
&lt;p&gt;To see if the specific instance of the Object Reference error you are receiving has already been determined, please use the Search field at the top of the Be Communities page to search for &amp;ldquo;Object Reference&amp;rdquo; and the keyword from the TargetSite portion of the error you are seeing, such as in the sample message above you would type &amp;ldquo;Object Reference get_DefaultPartsDB&amp;rdquo; into the search field and the top result should be the description for an error with locked projects.&lt;/p&gt;
&lt;p&gt;If the search does not find any documented case of the error you are seeing, or the description doesn&amp;rsquo;t fit your circumstances, then &lt;b&gt;see Option 2 below&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;Option&amp;nbsp;2&lt;/h3&gt;
&lt;p&gt;If the error you are seeing has not been documented already, then we would need to try to determine what is causing the error by the circumstances surrounding its occurrence.&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does the TargetSite line of the error message provide any clues to what might be causing the error?&amp;nbsp; &lt;i&gt;(If you need to create a post on the Forum or a Service Request for help with your error, please include the whole text of the error, not just the first line.)&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Did this error occur after doing a specific command?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does it happen to a specific object (a wire, a symbol, etc.)?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does it happen only to that object or that page?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Commonly, if we are able to narrow down the error to a particular object, then deleting that object and replacing a new one down in its place resolves whatever corruption was causing the error. So for example if right clicking on a symbol and selecting the Device ID dialog brings up the error, then we would typically suggest that you delete that symbol and place a fresh one down in its place. Likewise, if trying to assign a wire number to a particular wire brings up an error, we would suggest deleting and redrawing that wire, or if it is a Wire Tag, deleting that Wire Tag and reassigning it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sometimes we can use some of the built in commands to help find the corruption that is causing the error.&amp;nbsp; For example if you use the Update command on the page, or the Validate command, it might help either remove the corruption or point to an object that needs to be removed.&amp;nbsp; You should use those commands with caution though and always make sure you have a current backup of the project before using those commands. For instance, the Validate command can falsely indicate that many objects on the page need to be removed (or even all of them) because it can&amp;rsquo;t properly find the corruption, or the corruption is in the page itself, not really in the objects on the page.&amp;nbsp; In those cases I would typically suggest trying to copy all the data from the page onto a new, freshly created page (typically I suggest creating a new blank page of the same name in a temporary test project so you can maintain all wire numbers and ID&amp;#39;s exactly as they are without having to worry about duplication messages).&amp;nbsp; Do not copy the page itself, as that would typically copy the corruption too, but copy the contents of the page and paste them onto the newly created page.&amp;nbsp; Then see if the corruption exists in the new copy of that page.&amp;nbsp; If not, usually you can delete the original page that is giving the error and then copy the new page (not just the contents) into the original project again using the commands in the Project Manager.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1&gt;&lt;span style="font-size:12px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img style="border-width:0px;" alt=" " src="http://communities.bentley.com/cfs-file.ashx/__key/communityserver-components-sitefiles/TSG-Logo.png" width="189" height="60" /&gt;&lt;/p&gt;
&lt;table style="background-color:#dce5f0;border:#dce5f0 0px solid;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Original Author:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tani Strock&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: promis.e, error message, SELECTsupport&lt;/div&gt;
</description></item><item><title>Error - Object reference...General</title><link>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general/revision/1</link><pubDate>Tue, 06 Oct 2015 20:43:51 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:2ea1c446-54f5-4fe3-b914-77e46447125c</guid><dc:creator>Tani_S</dc:creator><comments>https://communities.bentley.com/products/utility_network_analysis___design/w/utility_network_analysis_and_design_wiki/24497/error---object-reference-general#comments</comments><description>Revision 1 posted to OpenUtilities Wiki by Tani_S on 10/6/2015 8:43:51 PM&lt;br /&gt;
&lt;table style="border-top:#dce5f0 0px solid;border-right:#dce5f0 0px solid;border-bottom:#dce5f0 0px solid;border-left:#dce5f0 0px solid;background-color:#dce5f0;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Product(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Promis.e Enterprise&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Version(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;08.11.12.137 &lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Environment:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N\A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Area:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Maintenance Features&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Subarea:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Update Page&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1&gt;Error or Warning Message&lt;/h1&gt;
&lt;p&gt;XXXXXXX(Provide the exact message. Do not include user-specific paths--replace with &amp;quot;&amp;lt;path to file&amp;gt;&amp;quot; or similar.)XXXXXXX&lt;/p&gt;
&lt;h1&gt;Explanation&lt;/h1&gt;
&lt;p&gt;XXXXXXX(Provide a detailed explanation of the error message.)XXXXXXX&lt;/p&gt;
&lt;h1&gt;How to Avoid&lt;/h1&gt;
&lt;h3&gt;Option 1 XXXX(Delete this&amp;nbsp;heading if only one option exists.)XXXX&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;XXXXXXX&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;XXXXXXX(add more steps as needed)XXXXXXX&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;h3&gt;Option&amp;nbsp;2 XXXX(Delete this&amp;nbsp;section if only one option exists.)XXXX&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;XXXXXXX&lt;/li&gt;
&lt;li&gt;XXXXXXX(add more steps as needed)XXXXXX&lt;/li&gt;&lt;/ol&gt;
&lt;h1&gt;See Also&lt;/h1&gt;
&lt;p&gt;XXXXXXX(Add links as needed for other relevant Be Communities content.)XXXXXXX&lt;/p&gt;&lt;img style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;border-top-width:0px;" alt=" " src="http://communities.bentley.com/cfs-file.ashx/__key/communityserver-components-sitefiles/TSG-Logo.png" width="189" height="60" /&gt; 
&lt;table style="border-top:#dce5f0 0px solid;border-right:#dce5f0 0px solid;border-bottom:#dce5f0 0px solid;border-left:#dce5f0 0px solid;background-color:#dce5f0;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align:right;"&gt;&lt;strong&gt;Original Author:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tani Strock&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: promis.e, error message, SELECTsupport&lt;/div&gt;
</description></item></channel></rss>