<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Opening objects ForRead but not closing them? in .NET Forum</title>
    <link>https://forums.autodesk.com/t5/net-forum/opening-objects-forread-but-not-closing-them/m-p/1402962#M84121</link>
    <description>&lt;DIV id="jive-html-wrapper-div"&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;Final conclusions... There is an error either in &lt;BR /&gt;
.NET wrapper regarding TransactionManager behaviour, or in ObjectARX DevGuide. &lt;BR /&gt;
Please note the statement&amp;nbsp;from&amp;nbsp;a full&amp;nbsp;excerpt below: &lt;BR /&gt;
&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;"If you use the &lt;SPAN class="courier"&gt;getObject()&lt;/SPAN&gt; function to obtain &lt;BR /&gt;
an object pointer, you should never call &lt;SPAN class="courier"&gt;close()&lt;/SPAN&gt; on &lt;BR /&gt;
that object pointer."&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;What really happens is that ACAD crashes during &lt;BR /&gt;
shutdown (Quit) if&amp;nbsp;there is no Close()&amp;nbsp;for obained object pointers &lt;BR /&gt;
within Transaction.&amp;nbsp;It's of no significance if object is opened ForRead or &lt;BR /&gt;
ForWrite.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;Maksim Sestic&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;STRONG&gt;Obtaining Pointers to Objects in a Transaction&lt;/STRONG&gt; &lt;/DIV&gt;&lt;BR /&gt;
&lt;BLOCKQUOTE dir="ltr"&gt;&lt;BR /&gt;
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
  &lt;DIV id="jive-html-wrapper-div"&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;(...)&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;If you use the &lt;SPAN class="courier"&gt;getObject()&lt;/SPAN&gt; function to obtain &lt;BR /&gt;
  an object pointer, you should never call &lt;SPAN class="courier"&gt;close()&lt;/SPAN&gt; on &lt;BR /&gt;
  that object pointer. Calling &lt;SPAN class="courier"&gt;close()&lt;/SPAN&gt; is valid only &lt;BR /&gt;
  if you obtained the pointer using &lt;SPAN class="courier"&gt;acdbOpenObject()&lt;/SPAN&gt; &lt;BR /&gt;
  or the object was newly created. For more information on when you can call &lt;BR /&gt;
  &lt;SPAN class="courier"&gt;close()&lt;/SPAN&gt; on an object pointer, see the following &lt;BR /&gt;
  sections, &lt;A&gt;&lt;BR /&gt;
  href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\Desktop\docs\arxdev.chm::/arxdev188.html#388456"&amp;gt;Newly &lt;BR /&gt;
  Created Objects and Transactions&lt;/A&gt; and &lt;A&gt;&lt;BR /&gt;
  href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\Desktop\docs\arxdev.chm::/arxdev1811.html#391761"&amp;gt;Mixing &lt;BR /&gt;
  the Transaction Model with the Open and Close Mechanism.&lt;/A&gt; &lt;BR /&gt;
&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;/DIV&gt;</description>
    <pubDate>Fri, 12 Aug 2005 12:33:32 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2005-08-12T12:33:32Z</dc:date>
    <item>
      <title>Opening objects ForRead but not closing them?</title>
      <link>https://forums.autodesk.com/t5/net-forum/opening-objects-forread-but-not-closing-them/m-p/1402961#M84120</link>
      <description>&lt;DIV id="jive-html-wrapper-div"&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;Dear All,&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;I'm a bit confused about what ObjectARX DevGuide &lt;BR /&gt;
is suggesting and what happens in real life. It's about opening objects with &lt;BR /&gt;
OpenMode.ForRead using TransactionManager - do I need to imlicitly Close() &lt;BR /&gt;
opened object after I'm finished inspecting it, or it's performed somehow &lt;BR /&gt;
automatically when current Transaction gets disposed? Here's what ObjectARX &lt;BR /&gt;
DevGuide suggests:&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;STRONG&gt;Obtaining Pointers to Objects in a Transaction&lt;/STRONG&gt; &lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;(...)&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;If you use the &lt;SPAN class="courier"&gt;getObject()&lt;/SPAN&gt; function to obtain an &lt;BR /&gt;
object pointer, you should never call &lt;SPAN class="courier"&gt;close()&lt;/SPAN&gt; on that &lt;BR /&gt;
object pointer. Calling &lt;SPAN class="courier"&gt;close()&lt;/SPAN&gt; is valid only if you &lt;BR /&gt;
obtained the pointer using &lt;SPAN class="courier"&gt;acdbOpenObject()&lt;/SPAN&gt; or the &lt;BR /&gt;
object was newly created. For more information on when you can call &lt;SPAN&gt;&lt;BR /&gt;
class=courier&amp;gt;close()&lt;/SPAN&gt; on an object pointer, see the following sections, &lt;BR /&gt;
&lt;A&gt;&lt;BR /&gt;
href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\Desktop\docs\arxdev.chm::/arxdev188.html#388456"&amp;gt;Newly &lt;BR /&gt;
Created Objects and Transactions&lt;/A&gt; and &lt;A&gt;&lt;BR /&gt;
href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\Desktop\docs\arxdev.chm::/arxdev1811.html#391761"&amp;gt;Mixing &lt;BR /&gt;
the Transaction Model with the Open and Close Mechanism.&lt;/A&gt; &lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;and also:&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;STRONG&gt;Mixing &lt;BR /&gt;
the Transaction Model with the Open and Close Mechanism&lt;/STRONG&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;The &lt;BR /&gt;
transaction model coexists with the regular open and close mechanism described &lt;BR /&gt;
in &lt;A&gt;&lt;BR /&gt;
href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\Desktop\docs\arxdev.chm::/arxdev0512.html#394984"&amp;gt;&lt;/A&gt;chapter &lt;BR /&gt;
5,&lt;A name="x"&gt;&lt;/A&gt; &lt;A&gt;&lt;BR /&gt;
href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\Desktop\docs\arxdev.chm::/arxdev05.html#392141"&amp;gt;Database &lt;BR /&gt;
Objects.&lt;/A&gt; However, if you are using the transaction model, it is recommended &lt;BR /&gt;
that you do not mix it with the open and close mechanism. For example, if you &lt;BR /&gt;
obtained a pointer to an object using &lt;SPAN&gt;&lt;BR /&gt;
class=courier&amp;gt;AcTransaction::getObject()&lt;/SPAN&gt;, you should&lt;SPAN class="italic"&gt; &lt;BR /&gt;
&lt;/SPAN&gt;&lt;SPAN class="body"&gt;not&lt;/SPAN&gt; call &lt;SPAN class="courier"&gt;close()&lt;/SPAN&gt; on &lt;BR /&gt;
the object pointer, which could cause unexpected results and may crash AutoCAD. &lt;BR /&gt;
However, you are free to open and close a particular object even if transactions &lt;BR /&gt;
are active. You can also instantiate new objects, add them to the database, and &lt;BR /&gt;
close them while transactions are active. The primary purpose of having the &lt;BR /&gt;
mixed model is to allow simultaneous execution of multiple applications where &lt;BR /&gt;
some use transaction management and others do not, but all of them are operating &lt;BR /&gt;
on the same objects.&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face=Verdana size=2&amp;gt;What really happens sometimes is that ACAD clugs and crashes &lt;BR /&gt;
if I do not issue implicit Close() of an object. Here's a simple piece of code &lt;BR /&gt;
utilizing above stated mechanism (sticking to DevGuide directives):&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New"&amp;gt;&lt;FONT color="#0000ff" size="2"&gt;Dim&lt;/FONT&gt;&lt;FONT size="2"&gt; db &lt;BR /&gt;
&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;As&lt;/FONT&gt;&lt;FONT size="2"&gt; Database = &lt;BR /&gt;
Application.DocumentManager.MdiActiveDocument.Database()&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New"&amp;gt;&lt;FONT color="#0000ff" size="2"&gt;Dim&lt;/FONT&gt;&lt;FONT size="2"&gt; trm &lt;BR /&gt;
&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;As&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;BR /&gt;
Autodesk.AutoCAD.DatabaseServices.TransactionManager = &lt;BR /&gt;
db.TransactionManager&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New"&amp;gt;&lt;FONT color="#0000ff" size="2"&gt;Dim&lt;/FONT&gt;&lt;FONT size="2"&gt; tr &lt;BR /&gt;
&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;As&lt;/FONT&gt;&lt;FONT size="2"&gt; Transaction = &lt;BR /&gt;
trm.StartTransaction&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New"&amp;gt;&lt;FONT color="#0000ff" size="2"&gt;Dim&lt;/FONT&gt;&lt;FONT size="2"&gt; bt &lt;BR /&gt;
&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;As&lt;/FONT&gt;&lt;FONT size="2"&gt; BlockTable = &lt;BR /&gt;
tr.GetObject(db.BlockTableId, OpenMode.ForRead)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New" size=2&amp;gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New" color=#0000ff size=2&amp;gt;Try&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New"&amp;gt;&lt;FONT color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp; For&lt;/FONT&gt;&lt;FONT&gt;&lt;BR /&gt;
size=2&amp;gt; &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;Each&lt;/FONT&gt;&lt;FONT size="2"&gt; ob &lt;BR /&gt;
&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;As&lt;/FONT&gt;&lt;FONT size="2"&gt; ObjectId &lt;/FONT&gt;&lt;FONT&gt;&lt;BR /&gt;
color=#0000ff size=2&amp;gt;In&lt;/FONT&gt;&lt;FONT size="2"&gt; bt&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New"&amp;gt;&lt;FONT color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
Dim&lt;/FONT&gt;&lt;FONT size="2"&gt; btr &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;As&lt;/FONT&gt;&lt;FONT&gt;&lt;BR /&gt;
size=2&amp;gt; BlockTableRecord = tr.GetObject(ob, &lt;BR /&gt;
OpenMode.ForRead)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New"&amp;gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&lt;FONT&gt;&lt;BR /&gt;
color=#0000ff&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&lt;/FONT&gt; UCase(btr.Name) = btr.ModelSpace &lt;BR /&gt;
&lt;/FONT&gt;&lt;FONT color="#0000ff"&gt;&lt;FONT size="2"&gt;Then&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
color=#0000ff&amp;gt;&lt;FONT face="Courier New"&gt;&lt;BR /&gt;
size=2&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT&gt;&lt;BR /&gt;
color=#008080&amp;gt;'Inspect some ModelSpace properties...&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
size=2&amp;gt;&lt;FONT face="Courier New"&gt;&lt;FONT&gt;&lt;BR /&gt;
color=#0000ff&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/FONT&gt; &lt;/FONT&gt;&lt;FONT&gt;&lt;BR /&gt;
color=#0000ff&amp;gt;&lt;FONT face="Courier New"&gt;If&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
color=#0000ff&amp;gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New" size=2&amp;gt;Next&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
size=2&amp;gt;&lt;FONT face="Courier New"&gt;&lt;FONT&gt;&lt;BR /&gt;
color=#0000ff&amp;gt;Finally&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New" size=2&amp;gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New" size=2&amp;gt;&amp;nbsp;&amp;nbsp; bt.Dispose()&lt;/FONT&gt;&lt;/DIV&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
tr.Dispose()&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New" size=2&amp;gt;&amp;nbsp;&amp;nbsp; trm.Dispose()&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New" size=2&amp;gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New" color=#0000ff size=2&amp;gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face="Courier New" color=#000000 size=2&amp;gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
db.Dispose()&lt;/FONT&gt;&lt;/DIV&gt;End Try&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
color=#0000ff&amp;gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face=Verdana&amp;gt;Thanks in advance for any suggestion or clarification.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face=Verdana&amp;gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face=Verdana&amp;gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV class="TopHead"&gt;&lt;BR /&gt;
title="Mixing the Transaction Model with the Open and Close Mechanism "&amp;gt;&lt;FONT&gt;&lt;BR /&gt;
face=Verdana&amp;gt;Maksim Sestic&lt;/FONT&gt;&lt;/DIV&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Thu, 11 Aug 2005 12:04:15 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/opening-objects-forread-but-not-closing-them/m-p/1402961#M84120</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-08-11T12:04:15Z</dc:date>
    </item>
    <item>
      <title>Re: Opening objects ForRead but not closing them?</title>
      <link>https://forums.autodesk.com/t5/net-forum/opening-objects-forread-but-not-closing-them/m-p/1402962#M84121</link>
      <description>&lt;DIV id="jive-html-wrapper-div"&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;Final conclusions... There is an error either in &lt;BR /&gt;
.NET wrapper regarding TransactionManager behaviour, or in ObjectARX DevGuide. &lt;BR /&gt;
Please note the statement&amp;nbsp;from&amp;nbsp;a full&amp;nbsp;excerpt below: &lt;BR /&gt;
&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;"If you use the &lt;SPAN class="courier"&gt;getObject()&lt;/SPAN&gt; function to obtain &lt;BR /&gt;
an object pointer, you should never call &lt;SPAN class="courier"&gt;close()&lt;/SPAN&gt; on &lt;BR /&gt;
that object pointer."&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;What really happens is that ACAD crashes during &lt;BR /&gt;
shutdown (Quit) if&amp;nbsp;there is no Close()&amp;nbsp;for obained object pointers &lt;BR /&gt;
within Transaction.&amp;nbsp;It's of no significance if object is opened ForRead or &lt;BR /&gt;
ForWrite.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;Maksim Sestic&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;STRONG&gt;Obtaining Pointers to Objects in a Transaction&lt;/STRONG&gt; &lt;/DIV&gt;&lt;BR /&gt;
&lt;BLOCKQUOTE dir="ltr"&gt;&lt;BR /&gt;
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
  &lt;DIV id="jive-html-wrapper-div"&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;(...)&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;If you use the &lt;SPAN class="courier"&gt;getObject()&lt;/SPAN&gt; function to obtain &lt;BR /&gt;
  an object pointer, you should never call &lt;SPAN class="courier"&gt;close()&lt;/SPAN&gt; on &lt;BR /&gt;
  that object pointer. Calling &lt;SPAN class="courier"&gt;close()&lt;/SPAN&gt; is valid only &lt;BR /&gt;
  if you obtained the pointer using &lt;SPAN class="courier"&gt;acdbOpenObject()&lt;/SPAN&gt; &lt;BR /&gt;
  or the object was newly created. For more information on when you can call &lt;BR /&gt;
  &lt;SPAN class="courier"&gt;close()&lt;/SPAN&gt; on an object pointer, see the following &lt;BR /&gt;
  sections, &lt;A&gt;&lt;BR /&gt;
  href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\Desktop\docs\arxdev.chm::/arxdev188.html#388456"&amp;gt;Newly &lt;BR /&gt;
  Created Objects and Transactions&lt;/A&gt; and &lt;A&gt;&lt;BR /&gt;
  href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\Desktop\docs\arxdev.chm::/arxdev1811.html#391761"&amp;gt;Mixing &lt;BR /&gt;
  the Transaction Model with the Open and Close Mechanism.&lt;/A&gt; &lt;BR /&gt;
&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;/DIV&gt;</description>
      <pubDate>Fri, 12 Aug 2005 12:33:32 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/opening-objects-forread-but-not-closing-them/m-p/1402962#M84121</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-08-12T12:33:32Z</dc:date>
    </item>
    <item>
      <title>Re: Opening objects ForRead but not closing them?</title>
      <link>https://forums.autodesk.com/t5/net-forum/opening-objects-forread-but-not-closing-them/m-p/1402963#M84122</link>
      <description>&lt;DIV id="jive-html-wrapper-div"&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;Can you post some code that shows this behavior? &lt;BR /&gt;
This shouldn't happen so I'm pretty sure there's something else going &lt;BR /&gt;
on.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;ALbert&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;BLOCKQUOTE dir="ltr"&gt;&lt;BR /&gt;
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
  &lt;DIV&gt;"Maksim Sestic" &amp;lt;&lt;A&gt;&lt;BR /&gt;
  href="mailto:info@geoinova.com"&amp;gt;info@geoinova.com&lt;/A&gt;&amp;gt; wrote in message &lt;A&gt;&lt;BR /&gt;
  href="news:4927121@discussion.autodesk.com"&amp;gt;news:4927121@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV id="jive-html-wrapper-div"&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;Final conclusions... There is an error either &lt;BR /&gt;
  in .NET wrapper regarding TransactionManager behaviour, or in ObjectARX &lt;BR /&gt;
  DevGuide. Please note the statement&amp;nbsp;from&amp;nbsp;a full&amp;nbsp;excerpt below: &lt;BR /&gt;
  &lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;"If you use the &lt;SPAN class="courier"&gt;getObject()&lt;/SPAN&gt; function to obtain &lt;BR /&gt;
  an object pointer, you should never call &lt;SPAN class="courier"&gt;close()&lt;/SPAN&gt; on &lt;BR /&gt;
  that object pointer."&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;What really happens is that ACAD crashes during &lt;BR /&gt;
  shutdown (Quit) if&amp;nbsp;there is no Close()&amp;nbsp;for obained object pointers &lt;BR /&gt;
  within Transaction.&amp;nbsp;It's of no significance if object is opened ForRead &lt;BR /&gt;
  or ForWrite.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;Maksim Sestic&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;STRONG&gt;Obtaining Pointers to Objects in a Transaction&lt;/STRONG&gt; &lt;/DIV&gt;&lt;BR /&gt;
  &lt;BLOCKQUOTE dir="ltr"&gt;&lt;BR /&gt;
  style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
    &lt;DIV id="jive-html-wrapper-div"&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT face="Verdana" size="2"&gt;(...)&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;If you use the &lt;SPAN class="courier"&gt;getObject()&lt;/SPAN&gt; function to &lt;BR /&gt;
    obtain an object pointer, you should never call &lt;SPAN&gt;&lt;BR /&gt;
    class=courier&amp;gt;close()&lt;/SPAN&gt; on that object pointer. Calling &lt;SPAN&gt;&lt;BR /&gt;
    class=courier&amp;gt;close()&lt;/SPAN&gt; is valid only if you obtained the pointer using &lt;BR /&gt;
    &lt;SPAN class="courier"&gt;acdbOpenObject()&lt;/SPAN&gt; or the object was newly created. &lt;BR /&gt;
    For more information on when you can call &lt;SPAN class="courier"&gt;close()&lt;/SPAN&gt; &lt;BR /&gt;
    on an object pointer, see the following sections, &lt;A&gt;&lt;BR /&gt;
    href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\Desktop\docs\arxdev.chm::/arxdev188.html#388456"&amp;gt;Newly &lt;BR /&gt;
    Created Objects and Transactions&lt;/A&gt; and &lt;A&gt;&lt;BR /&gt;
    href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\Desktop\docs\arxdev.chm::/arxdev1811.html#391761"&amp;gt;Mixing &lt;BR /&gt;
    the Transaction Model with the Open and Close Mechanism.&lt;/A&gt; &lt;BR /&gt;
  &lt;/DIV&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;/DIV&gt;</description>
      <pubDate>Mon, 29 Aug 2005 00:23:46 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/opening-objects-forread-but-not-closing-them/m-p/1402963#M84122</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-08-29T00:23:46Z</dc:date>
    </item>
  </channel>
</rss>

