<?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: in ObjectARX Forum</title>
    <link>https://forums.autodesk.com/t5/objectarx-forum/how-to-how-many-objects-autocad-is-going-to-delete/m-p/316293#M37661</link>
    <description>Hi,&lt;BR /&gt;
&lt;BR /&gt;
I did second way, everything now cool, just when AutoCAD finished his&lt;BR /&gt;
job(deleting), i need to move mouse little bit to get started whith my&lt;BR /&gt;
message handle :((( Maybe you know what can be the problem?&lt;BR /&gt;
&lt;BR /&gt;
Thank's&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
"Justavian" &lt;RPRIDDY&gt; wrote in message&lt;BR /&gt;
news:25430528AC7FB2969315F82B1C93098C@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; You could check what the current selection set is by using&lt;BR /&gt;
&amp;gt; acedSSGet("I",NULL,NULL,NULL,ssname) - you could check this on the first&lt;BR /&gt;
&amp;gt; objectErased.  With that you could assemble a total number of objects&lt;BR /&gt;
being&lt;BR /&gt;
&amp;gt; erased, and perhaps you could increment a global variable to figure out&lt;BR /&gt;
&amp;gt; whether you were on the last one.&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; Another (more complicated) solution is to use a message handler.  Create a&lt;BR /&gt;
&amp;gt; CWnd derived class that can receive some sort of user message (like&lt;BR /&gt;
&amp;gt; WM_MYENT_ERASED).  Everytime your objectErased() fucntion fires, you use&lt;BR /&gt;
&amp;gt; PostMessage(WM_MYENT_ERASED, wParam, lParam).  By posting it, rather than&lt;BR /&gt;
&amp;gt; using SendMessage, the WM_MYENT_ERASED messages won't get processed&lt;BR /&gt;
&amp;gt; immediately.  What this means is that those messages will build up in the&lt;BR /&gt;
&amp;gt; message queue for that CWnd derived class.  When AutoCAD gets finished&lt;BR /&gt;
&amp;gt; processing all of the objectErased() messages, that's when the first of&lt;BR /&gt;
the&lt;BR /&gt;
&amp;gt; WM_MYENT_ERASED messages will begin being processed.  In your handler for&lt;BR /&gt;
&amp;gt; that message, use PeekMessage() to get ALL of the WM_MYENT_ERASED messages&lt;BR /&gt;
&amp;gt; that have been posted.  You can then do whatever processing needs to be&lt;BR /&gt;
done&lt;BR /&gt;
&amp;gt; in a bulk format.&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; There may be easier ways than the one i just listed, but i've found a lot&lt;BR /&gt;
of&lt;BR /&gt;
&amp;gt; uses for that procedure.  I have an application that does a LOT of&lt;BR /&gt;
database&lt;BR /&gt;
&amp;gt; operations.  Those operations are triggered by things that happen in the&lt;BR /&gt;
&amp;gt; drawing.  Say a move operation can cause my app to tag into a database and&lt;BR /&gt;
&amp;gt; check certain values.  If 100 objects are moved at once, it would access&lt;BR /&gt;
the&lt;BR /&gt;
&amp;gt; database 100 different times (since i'd detect that move using a reactor&lt;BR /&gt;
&amp;gt; that would fire for each object).  Using this message handler technique, i&lt;BR /&gt;
&amp;gt; can bulk process all 100 objects with a single (albeit long) SQL&lt;BR /&gt;
statement.&lt;BR /&gt;
&amp;gt; Needless to say this is significantly faster.&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; -Rich&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; "Mindaugas Bliudzius" &lt;SHASHAS&gt; wrote in message&lt;BR /&gt;
&amp;gt; news:92620D927A808C5C031539330C40D235@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; &amp;gt; Hi,&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;     I need to modify my drawing after point is deleted, by if user&lt;BR /&gt;
selects&lt;BR /&gt;
&amp;gt; &amp;gt; not one point but a lot, then it is&lt;BR /&gt;
&amp;gt; &amp;gt; crazy to modify a drawing after each objectErased(), because take a lot&lt;BR /&gt;
of&lt;BR /&gt;
&amp;gt; &amp;gt; time to modify my drawing, so is there any way to now how many points&lt;BR /&gt;
it's&lt;BR /&gt;
&amp;gt; &amp;gt; selected to delete or maybe the end of delete operation?&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; Thank's&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt;&lt;/SHASHAS&gt;&lt;/RPRIDDY&gt;</description>
    <pubDate>Tue, 11 Feb 2003 08:29:09 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2003-02-11T08:29:09Z</dc:date>
    <item>
      <title>How to how many objects AutoCAd is going to delete?</title>
      <link>https://forums.autodesk.com/t5/objectarx-forum/how-to-how-many-objects-autocad-is-going-to-delete/m-p/316290#M37658</link>
      <description>Hi,&lt;BR /&gt;
&lt;BR /&gt;
    I need to modify my drawing after point is deleted, by if user selects&lt;BR /&gt;
not one point but a lot, then it is&lt;BR /&gt;
crazy to modify a drawing after each objectErased(), because take a lot of&lt;BR /&gt;
time to modify my drawing, so is there any way to now how many points it's&lt;BR /&gt;
selected to delete or maybe the end of delete operation?&lt;BR /&gt;
&lt;BR /&gt;
Thank's</description>
      <pubDate>Sun, 09 Feb 2003 23:19:49 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/objectarx-forum/how-to-how-many-objects-autocad-is-going-to-delete/m-p/316290#M37658</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2003-02-09T23:19:49Z</dc:date>
    </item>
    <item>
      <title>Re: How to how many objects AutoCAd is going to delete?</title>
      <link>https://forums.autodesk.com/t5/objectarx-forum/how-to-how-many-objects-autocad-is-going-to-delete/m-p/316291#M37659</link>
      <description>You could check what the current selection set is by using&lt;BR /&gt;
acedSSGet("I",NULL,NULL,NULL,ssname) - you could check this on the first&lt;BR /&gt;
objectErased.  With that you could assemble a total number of objects being&lt;BR /&gt;
erased, and perhaps you could increment a global variable to figure out&lt;BR /&gt;
whether you were on the last one.&lt;BR /&gt;
&lt;BR /&gt;
Another (more complicated) solution is to use a message handler.  Create a&lt;BR /&gt;
CWnd derived class that can receive some sort of user message (like&lt;BR /&gt;
WM_MYENT_ERASED).  Everytime your objectErased() fucntion fires, you use&lt;BR /&gt;
PostMessage(WM_MYENT_ERASED, wParam, lParam).  By posting it, rather than&lt;BR /&gt;
using SendMessage, the WM_MYENT_ERASED messages won't get processed&lt;BR /&gt;
immediately.  What this means is that those messages will build up in the&lt;BR /&gt;
message queue for that CWnd derived class.  When AutoCAD gets finished&lt;BR /&gt;
processing all of the objectErased() messages, that's when the first of the&lt;BR /&gt;
WM_MYENT_ERASED messages will begin being processed.  In your handler for&lt;BR /&gt;
that message, use PeekMessage() to get ALL of the WM_MYENT_ERASED messages&lt;BR /&gt;
that have been posted.  You can then do whatever processing needs to be done&lt;BR /&gt;
in a bulk format.&lt;BR /&gt;
&lt;BR /&gt;
There may be easier ways than the one i just listed, but i've found a lot of&lt;BR /&gt;
uses for that procedure.  I have an application that does a LOT of database&lt;BR /&gt;
operations.  Those operations are triggered by things that happen in the&lt;BR /&gt;
drawing.  Say a move operation can cause my app to tag into a database and&lt;BR /&gt;
check certain values.  If 100 objects are moved at once, it would access the&lt;BR /&gt;
database 100 different times (since i'd detect that move using a reactor&lt;BR /&gt;
that would fire for each object).  Using this message handler technique, i&lt;BR /&gt;
can bulk process all 100 objects with a single (albeit long) SQL statement.&lt;BR /&gt;
Needless to say this is significantly faster.&lt;BR /&gt;
&lt;BR /&gt;
-Rich&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
"Mindaugas Bliudzius" &lt;SHASHAS&gt; wrote in message&lt;BR /&gt;
news:92620D927A808C5C031539330C40D235@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; Hi,&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt;     I need to modify my drawing after point is deleted, by if user selects&lt;BR /&gt;
&amp;gt; not one point but a lot, then it is&lt;BR /&gt;
&amp;gt; crazy to modify a drawing after each objectErased(), because take a lot of&lt;BR /&gt;
&amp;gt; time to modify my drawing, so is there any way to now how many points it's&lt;BR /&gt;
&amp;gt; selected to delete or maybe the end of delete operation?&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; Thank's&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt;&lt;/SHASHAS&gt;</description>
      <pubDate>Sun, 09 Feb 2003 23:36:46 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/objectarx-forum/how-to-how-many-objects-autocad-is-going-to-delete/m-p/316291#M37659</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2003-02-09T23:36:46Z</dc:date>
    </item>
    <item>
      <title>Re:</title>
      <link>https://forums.autodesk.com/t5/objectarx-forum/how-to-how-many-objects-autocad-is-going-to-delete/m-p/316292#M37660</link>
      <description>Thank's !!!&lt;BR /&gt;
&lt;BR /&gt;
"Justavian" &lt;RPRIDDY&gt; wrote in message&lt;BR /&gt;
news:25430528AC7FB2969315F82B1C93098C@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; You could check what the current selection set is by using&lt;BR /&gt;
&amp;gt; acedSSGet("I",NULL,NULL,NULL,ssname) - you could check this on the first&lt;BR /&gt;
&amp;gt; objectErased.  With that you could assemble a total number of objects&lt;BR /&gt;
being&lt;BR /&gt;
&amp;gt; erased, and perhaps you could increment a global variable to figure out&lt;BR /&gt;
&amp;gt; whether you were on the last one.&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; Another (more complicated) solution is to use a message handler.  Create a&lt;BR /&gt;
&amp;gt; CWnd derived class that can receive some sort of user message (like&lt;BR /&gt;
&amp;gt; WM_MYENT_ERASED).  Everytime your objectErased() fucntion fires, you use&lt;BR /&gt;
&amp;gt; PostMessage(WM_MYENT_ERASED, wParam, lParam).  By posting it, rather than&lt;BR /&gt;
&amp;gt; using SendMessage, the WM_MYENT_ERASED messages won't get processed&lt;BR /&gt;
&amp;gt; immediately.  What this means is that those messages will build up in the&lt;BR /&gt;
&amp;gt; message queue for that CWnd derived class.  When AutoCAD gets finished&lt;BR /&gt;
&amp;gt; processing all of the objectErased() messages, that's when the first of&lt;BR /&gt;
the&lt;BR /&gt;
&amp;gt; WM_MYENT_ERASED messages will begin being processed.  In your handler for&lt;BR /&gt;
&amp;gt; that message, use PeekMessage() to get ALL of the WM_MYENT_ERASED messages&lt;BR /&gt;
&amp;gt; that have been posted.  You can then do whatever processing needs to be&lt;BR /&gt;
done&lt;BR /&gt;
&amp;gt; in a bulk format.&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; There may be easier ways than the one i just listed, but i've found a lot&lt;BR /&gt;
of&lt;BR /&gt;
&amp;gt; uses for that procedure.  I have an application that does a LOT of&lt;BR /&gt;
database&lt;BR /&gt;
&amp;gt; operations.  Those operations are triggered by things that happen in the&lt;BR /&gt;
&amp;gt; drawing.  Say a move operation can cause my app to tag into a database and&lt;BR /&gt;
&amp;gt; check certain values.  If 100 objects are moved at once, it would access&lt;BR /&gt;
the&lt;BR /&gt;
&amp;gt; database 100 different times (since i'd detect that move using a reactor&lt;BR /&gt;
&amp;gt; that would fire for each object).  Using this message handler technique, i&lt;BR /&gt;
&amp;gt; can bulk process all 100 objects with a single (albeit long) SQL&lt;BR /&gt;
statement.&lt;BR /&gt;
&amp;gt; Needless to say this is significantly faster.&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; -Rich&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; "Mindaugas Bliudzius" &lt;SHASHAS&gt; wrote in message&lt;BR /&gt;
&amp;gt; news:92620D927A808C5C031539330C40D235@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; &amp;gt; Hi,&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;     I need to modify my drawing after point is deleted, by if user&lt;BR /&gt;
selects&lt;BR /&gt;
&amp;gt; &amp;gt; not one point but a lot, then it is&lt;BR /&gt;
&amp;gt; &amp;gt; crazy to modify a drawing after each objectErased(), because take a lot&lt;BR /&gt;
of&lt;BR /&gt;
&amp;gt; &amp;gt; time to modify my drawing, so is there any way to now how many points&lt;BR /&gt;
it's&lt;BR /&gt;
&amp;gt; &amp;gt; selected to delete or maybe the end of delete operation?&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; Thank's&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt;&lt;/SHASHAS&gt;&lt;/RPRIDDY&gt;</description>
      <pubDate>Mon, 10 Feb 2003 02:46:09 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/objectarx-forum/how-to-how-many-objects-autocad-is-going-to-delete/m-p/316292#M37660</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2003-02-10T02:46:09Z</dc:date>
    </item>
    <item>
      <title>Re:</title>
      <link>https://forums.autodesk.com/t5/objectarx-forum/how-to-how-many-objects-autocad-is-going-to-delete/m-p/316293#M37661</link>
      <description>Hi,&lt;BR /&gt;
&lt;BR /&gt;
I did second way, everything now cool, just when AutoCAD finished his&lt;BR /&gt;
job(deleting), i need to move mouse little bit to get started whith my&lt;BR /&gt;
message handle :((( Maybe you know what can be the problem?&lt;BR /&gt;
&lt;BR /&gt;
Thank's&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
"Justavian" &lt;RPRIDDY&gt; wrote in message&lt;BR /&gt;
news:25430528AC7FB2969315F82B1C93098C@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; You could check what the current selection set is by using&lt;BR /&gt;
&amp;gt; acedSSGet("I",NULL,NULL,NULL,ssname) - you could check this on the first&lt;BR /&gt;
&amp;gt; objectErased.  With that you could assemble a total number of objects&lt;BR /&gt;
being&lt;BR /&gt;
&amp;gt; erased, and perhaps you could increment a global variable to figure out&lt;BR /&gt;
&amp;gt; whether you were on the last one.&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; Another (more complicated) solution is to use a message handler.  Create a&lt;BR /&gt;
&amp;gt; CWnd derived class that can receive some sort of user message (like&lt;BR /&gt;
&amp;gt; WM_MYENT_ERASED).  Everytime your objectErased() fucntion fires, you use&lt;BR /&gt;
&amp;gt; PostMessage(WM_MYENT_ERASED, wParam, lParam).  By posting it, rather than&lt;BR /&gt;
&amp;gt; using SendMessage, the WM_MYENT_ERASED messages won't get processed&lt;BR /&gt;
&amp;gt; immediately.  What this means is that those messages will build up in the&lt;BR /&gt;
&amp;gt; message queue for that CWnd derived class.  When AutoCAD gets finished&lt;BR /&gt;
&amp;gt; processing all of the objectErased() messages, that's when the first of&lt;BR /&gt;
the&lt;BR /&gt;
&amp;gt; WM_MYENT_ERASED messages will begin being processed.  In your handler for&lt;BR /&gt;
&amp;gt; that message, use PeekMessage() to get ALL of the WM_MYENT_ERASED messages&lt;BR /&gt;
&amp;gt; that have been posted.  You can then do whatever processing needs to be&lt;BR /&gt;
done&lt;BR /&gt;
&amp;gt; in a bulk format.&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; There may be easier ways than the one i just listed, but i've found a lot&lt;BR /&gt;
of&lt;BR /&gt;
&amp;gt; uses for that procedure.  I have an application that does a LOT of&lt;BR /&gt;
database&lt;BR /&gt;
&amp;gt; operations.  Those operations are triggered by things that happen in the&lt;BR /&gt;
&amp;gt; drawing.  Say a move operation can cause my app to tag into a database and&lt;BR /&gt;
&amp;gt; check certain values.  If 100 objects are moved at once, it would access&lt;BR /&gt;
the&lt;BR /&gt;
&amp;gt; database 100 different times (since i'd detect that move using a reactor&lt;BR /&gt;
&amp;gt; that would fire for each object).  Using this message handler technique, i&lt;BR /&gt;
&amp;gt; can bulk process all 100 objects with a single (albeit long) SQL&lt;BR /&gt;
statement.&lt;BR /&gt;
&amp;gt; Needless to say this is significantly faster.&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; -Rich&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; "Mindaugas Bliudzius" &lt;SHASHAS&gt; wrote in message&lt;BR /&gt;
&amp;gt; news:92620D927A808C5C031539330C40D235@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; &amp;gt; Hi,&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;     I need to modify my drawing after point is deleted, by if user&lt;BR /&gt;
selects&lt;BR /&gt;
&amp;gt; &amp;gt; not one point but a lot, then it is&lt;BR /&gt;
&amp;gt; &amp;gt; crazy to modify a drawing after each objectErased(), because take a lot&lt;BR /&gt;
of&lt;BR /&gt;
&amp;gt; &amp;gt; time to modify my drawing, so is there any way to now how many points&lt;BR /&gt;
it's&lt;BR /&gt;
&amp;gt; &amp;gt; selected to delete or maybe the end of delete operation?&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; Thank's&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt;&lt;/SHASHAS&gt;&lt;/RPRIDDY&gt;</description>
      <pubDate>Tue, 11 Feb 2003 08:29:09 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/objectarx-forum/how-to-how-many-objects-autocad-is-going-to-delete/m-p/316293#M37661</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2003-02-11T08:29:09Z</dc:date>
    </item>
    <item>
      <title>Re:</title>
      <link>https://forums.autodesk.com/t5/objectarx-forum/how-to-how-many-objects-autocad-is-going-to-delete/m-p/316294#M37662</link>
      <description>Hmmm.... i don't have a problem with that - but you might want to try to&lt;BR /&gt;
fake out AutoCAD.  Send it a mouse move message, or a button down message.&lt;BR /&gt;
Try adding this:&lt;BR /&gt;
   ::PostMessage(adsw_acadDocWnd(),WM_LBUTTONDOWN,NULL,NULL);&lt;BR /&gt;
&lt;BR /&gt;
I use that little call to force Acad to go into my point filter.  In my&lt;BR /&gt;
case, i'm using the mouse wheel perform various additional functions.&lt;BR /&gt;
However, ACAD's point filter doesn't care about the mouse wheel, so i had to&lt;BR /&gt;
fool into thinking something was happening like that.&lt;BR /&gt;
&lt;BR /&gt;
By the way - i'm impressed you got that up and running so quickly!  Good&lt;BR /&gt;
job...  Let me know if i can help ya anymore.&lt;BR /&gt;
&lt;BR /&gt;
-Rich&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
"Mindaugas Bliudzius" &lt;SHASHAS&gt; wrote in message&lt;BR /&gt;
news:83517759AF7CC17459338980340C13A9@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; Hi,&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; I did second way, everything now cool, just when AutoCAD finished his&lt;BR /&gt;
&amp;gt; job(deleting), i need to move mouse little bit to get started whith my&lt;BR /&gt;
&amp;gt; message handle :((( Maybe you know what can be the problem?&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; Thank's&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; "Justavian" &lt;RPRIDDY&gt; wrote in message&lt;BR /&gt;
&amp;gt; news:25430528AC7FB2969315F82B1C93098C@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; &amp;gt; You could check what the current selection set is by using&lt;BR /&gt;
&amp;gt; &amp;gt; acedSSGet("I",NULL,NULL,NULL,ssname) - you could check this on the first&lt;BR /&gt;
&amp;gt; &amp;gt; objectErased.  With that you could assemble a total number of objects&lt;BR /&gt;
&amp;gt; being&lt;BR /&gt;
&amp;gt; &amp;gt; erased, and perhaps you could increment a global variable to figure out&lt;BR /&gt;
&amp;gt; &amp;gt; whether you were on the last one.&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; Another (more complicated) solution is to use a message handler.  Create&lt;BR /&gt;
a&lt;BR /&gt;
&amp;gt; &amp;gt; CWnd derived class that can receive some sort of user message (like&lt;BR /&gt;
&amp;gt; &amp;gt; WM_MYENT_ERASED).  Everytime your objectErased() fucntion fires, you use&lt;BR /&gt;
&amp;gt; &amp;gt; PostMessage(WM_MYENT_ERASED, wParam, lParam).  By posting it, rather&lt;BR /&gt;
than&lt;BR /&gt;
&amp;gt; &amp;gt; using SendMessage, the WM_MYENT_ERASED messages won't get processed&lt;BR /&gt;
&amp;gt; &amp;gt; immediately.  What this means is that those messages will build up in&lt;BR /&gt;
the&lt;BR /&gt;
&amp;gt; &amp;gt; message queue for that CWnd derived class.  When AutoCAD gets finished&lt;BR /&gt;
&amp;gt; &amp;gt; processing all of the objectErased() messages, that's when the first of&lt;BR /&gt;
&amp;gt; the&lt;BR /&gt;
&amp;gt; &amp;gt; WM_MYENT_ERASED messages will begin being processed.  In your handler&lt;BR /&gt;
for&lt;BR /&gt;
&amp;gt; &amp;gt; that message, use PeekMessage() to get ALL of the WM_MYENT_ERASED&lt;BR /&gt;
messages&lt;BR /&gt;
&amp;gt; &amp;gt; that have been posted.  You can then do whatever processing needs to be&lt;BR /&gt;
&amp;gt; done&lt;BR /&gt;
&amp;gt; &amp;gt; in a bulk format.&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; There may be easier ways than the one i just listed, but i've found a&lt;BR /&gt;
lot&lt;BR /&gt;
&amp;gt; of&lt;BR /&gt;
&amp;gt; &amp;gt; uses for that procedure.  I have an application that does a LOT of&lt;BR /&gt;
&amp;gt; database&lt;BR /&gt;
&amp;gt; &amp;gt; operations.  Those operations are triggered by things that happen in the&lt;BR /&gt;
&amp;gt; &amp;gt; drawing.  Say a move operation can cause my app to tag into a database&lt;BR /&gt;
and&lt;BR /&gt;
&amp;gt; &amp;gt; check certain values.  If 100 objects are moved at once, it would access&lt;BR /&gt;
&amp;gt; the&lt;BR /&gt;
&amp;gt; &amp;gt; database 100 different times (since i'd detect that move using a reactor&lt;BR /&gt;
&amp;gt; &amp;gt; that would fire for each object).  Using this message handler technique,&lt;BR /&gt;
i&lt;BR /&gt;
&amp;gt; &amp;gt; can bulk process all 100 objects with a single (albeit long) SQL&lt;BR /&gt;
&amp;gt; statement.&lt;BR /&gt;
&amp;gt; &amp;gt; Needless to say this is significantly faster.&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; -Rich&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; "Mindaugas Bliudzius" &lt;SHASHAS&gt; wrote in message&lt;BR /&gt;
&amp;gt; &amp;gt; news:92620D927A808C5C031539330C40D235@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; Hi,&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;     I need to modify my drawing after point is deleted, by if user&lt;BR /&gt;
&amp;gt; selects&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; not one point but a lot, then it is&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; crazy to modify a drawing after each objectErased(), because take a&lt;BR /&gt;
lot&lt;BR /&gt;
&amp;gt; of&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; time to modify my drawing, so is there any way to now how many points&lt;BR /&gt;
&amp;gt; it's&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; selected to delete or maybe the end of delete operation?&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; Thank's&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt;&lt;/SHASHAS&gt;&lt;/RPRIDDY&gt;&lt;/SHASHAS&gt;</description>
      <pubDate>Tue, 11 Feb 2003 09:58:36 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/objectarx-forum/how-to-how-many-objects-autocad-is-going-to-delete/m-p/316294#M37662</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2003-02-11T09:58:36Z</dc:date>
    </item>
    <item>
      <title>Re:</title>
      <link>https://forums.autodesk.com/t5/objectarx-forum/how-to-how-many-objects-autocad-is-going-to-delete/m-p/316295#M37663</link>
      <description>Hi,&lt;BR /&gt;
&lt;BR /&gt;
Sorry for false alarm &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; Actualy my message handle is called (i don't know&lt;BR /&gt;
why i thougt it not :(, maybe i work to hard &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; But the problem was that&lt;BR /&gt;
AutoCAD need repaint and as always i forgot how to do that, so i needed a&lt;BR /&gt;
little bit time to remember and then add few lines to my message handler :&lt;BR /&gt;
&lt;BR /&gt;
acedGetAcadFrame()-&amp;gt;SetFocus();&lt;BR /&gt;
&lt;BR /&gt;
acedUpdateDisplay();&lt;BR /&gt;
&lt;BR /&gt;
acedGetAcadFrame()-&amp;gt;SetFocus();&lt;BR /&gt;
&lt;BR /&gt;
I always forgot to add the last line(and start searching another way :).&lt;BR /&gt;
Maybe you know why i need 2 SetFocus() call's to force autocad update it's&lt;BR /&gt;
window, or maybe there is another way?&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
"Justavian" &lt;RPRIDDY&gt; wrote in message&lt;BR /&gt;
news:BDD7BBA9820629DD304F128E3772378D@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; Hmmm.... i don't have a problem with that - but you might want to try to&lt;BR /&gt;
&amp;gt; fake out AutoCAD.  Send it a mouse move message, or a button down message.&lt;BR /&gt;
&amp;gt; Try adding this:&lt;BR /&gt;
&amp;gt;    ::PostMessage(adsw_acadDocWnd(),WM_LBUTTONDOWN,NULL,NULL);&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; I use that little call to force Acad to go into my point filter.  In my&lt;BR /&gt;
&amp;gt; case, i'm using the mouse wheel perform various additional functions.&lt;BR /&gt;
&amp;gt; However, ACAD's point filter doesn't care about the mouse wheel, so i had&lt;BR /&gt;
to&lt;BR /&gt;
&amp;gt; fool into thinking something was happening like that.&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; By the way - i'm impressed you got that up and running so quickly!  Good&lt;BR /&gt;
&amp;gt; job...  Let me know if i can help ya anymore.&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; -Rich&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; "Mindaugas Bliudzius" &lt;SHASHAS&gt; wrote in message&lt;BR /&gt;
&amp;gt; news:83517759AF7CC17459338980340C13A9@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; &amp;gt; Hi,&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; I did second way, everything now cool, just when AutoCAD finished his&lt;BR /&gt;
&amp;gt; &amp;gt; job(deleting), i need to move mouse little bit to get started whith my&lt;BR /&gt;
&amp;gt; &amp;gt; message handle :((( Maybe you know what can be the problem?&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; Thank's&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; "Justavian" &lt;RPRIDDY&gt; wrote in message&lt;BR /&gt;
&amp;gt; &amp;gt; news:25430528AC7FB2969315F82B1C93098C@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; You could check what the current selection set is by using&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; acedSSGet("I",NULL,NULL,NULL,ssname) - you could check this on the&lt;BR /&gt;
first&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; objectErased.  With that you could assemble a total number of objects&lt;BR /&gt;
&amp;gt; &amp;gt; being&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; erased, and perhaps you could increment a global variable to figure&lt;BR /&gt;
out&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; whether you were on the last one.&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; Another (more complicated) solution is to use a message handler.&lt;BR /&gt;
Create&lt;BR /&gt;
&amp;gt; a&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; CWnd derived class that can receive some sort of user message (like&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; WM_MYENT_ERASED).  Everytime your objectErased() fucntion fires, you&lt;BR /&gt;
use&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; PostMessage(WM_MYENT_ERASED, wParam, lParam).  By posting it, rather&lt;BR /&gt;
&amp;gt; than&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; using SendMessage, the WM_MYENT_ERASED messages won't get processed&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; immediately.  What this means is that those messages will build up in&lt;BR /&gt;
&amp;gt; the&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; message queue for that CWnd derived class.  When AutoCAD gets finished&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; processing all of the objectErased() messages, that's when the first&lt;BR /&gt;
of&lt;BR /&gt;
&amp;gt; &amp;gt; the&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; WM_MYENT_ERASED messages will begin being processed.  In your handler&lt;BR /&gt;
&amp;gt; for&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; that message, use PeekMessage() to get ALL of the WM_MYENT_ERASED&lt;BR /&gt;
&amp;gt; messages&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; that have been posted.  You can then do whatever processing needs to&lt;BR /&gt;
be&lt;BR /&gt;
&amp;gt; &amp;gt; done&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; in a bulk format.&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; There may be easier ways than the one i just listed, but i've found a&lt;BR /&gt;
&amp;gt; lot&lt;BR /&gt;
&amp;gt; &amp;gt; of&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; uses for that procedure.  I have an application that does a LOT of&lt;BR /&gt;
&amp;gt; &amp;gt; database&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; operations.  Those operations are triggered by things that happen in&lt;BR /&gt;
the&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; drawing.  Say a move operation can cause my app to tag into a database&lt;BR /&gt;
&amp;gt; and&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; check certain values.  If 100 objects are moved at once, it would&lt;BR /&gt;
access&lt;BR /&gt;
&amp;gt; &amp;gt; the&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; database 100 different times (since i'd detect that move using a&lt;BR /&gt;
reactor&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; that would fire for each object).  Using this message handler&lt;BR /&gt;
technique,&lt;BR /&gt;
&amp;gt; i&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; can bulk process all 100 objects with a single (albeit long) SQL&lt;BR /&gt;
&amp;gt; &amp;gt; statement.&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; Needless to say this is significantly faster.&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; -Rich&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; "Mindaugas Bliudzius" &lt;SHASHAS&gt; wrote in message&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; news:92620D927A808C5C031539330C40D235@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Hi,&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;     I need to modify my drawing after point is deleted, by if user&lt;BR /&gt;
&amp;gt; &amp;gt; selects&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; not one point but a lot, then it is&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; crazy to modify a drawing after each objectErased(), because take a&lt;BR /&gt;
&amp;gt; lot&lt;BR /&gt;
&amp;gt; &amp;gt; of&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; time to modify my drawing, so is there any way to now how many&lt;BR /&gt;
points&lt;BR /&gt;
&amp;gt; &amp;gt; it's&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; selected to delete or maybe the end of delete operation?&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Thank's&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt;&lt;/SHASHAS&gt;&lt;/RPRIDDY&gt;&lt;/SHASHAS&gt;&lt;/RPRIDDY&gt;</description>
      <pubDate>Tue, 11 Feb 2003 11:50:43 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/objectarx-forum/how-to-how-many-objects-autocad-is-going-to-delete/m-p/316295#M37663</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2003-02-11T11:50:43Z</dc:date>
    </item>
    <item>
      <title>Re:</title>
      <link>https://forums.autodesk.com/t5/objectarx-forum/how-to-how-many-objects-autocad-is-going-to-delete/m-p/316296#M37664</link>
      <description>actrTransactionManager-&amp;gt;queueForGraphicsFlush();&lt;BR /&gt;
 actrTransactionManager-&amp;gt;flushGraphics();&lt;BR /&gt;
 acedUpdateDisplay();&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
--&lt;BR /&gt;
-----------------------------------------------------&lt;BR /&gt;
Rich Priddy&lt;BR /&gt;
Director of Desktop Development&lt;BR /&gt;
Living Workplace Corporation&lt;BR /&gt;
(240) 683-6060&lt;BR /&gt;
FAX: (240) 683-6070&lt;BR /&gt;
&lt;BR /&gt;
"Mindaugas Bliudzius" &lt;SHASHAS&gt; wrote in message&lt;BR /&gt;
news:98D603BD0C53AA680AFCB55A22171067@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; Hi,&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; Sorry for false alarm &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; Actualy my message handle is called (i don't know&lt;BR /&gt;
&amp;gt; why i thougt it not :(, maybe i work to hard &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; But the problem was that&lt;BR /&gt;
&amp;gt; AutoCAD need repaint and as always i forgot how to do that, so i needed a&lt;BR /&gt;
&amp;gt; little bit time to remember and then add few lines to my message handler :&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; acedGetAcadFrame()-&amp;gt;SetFocus();&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; acedUpdateDisplay();&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; acedGetAcadFrame()-&amp;gt;SetFocus();&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; I always forgot to add the last line(and start searching another way :).&lt;BR /&gt;
&amp;gt; Maybe you know why i need 2 SetFocus() call's to force autocad update it's&lt;BR /&gt;
&amp;gt; window, or maybe there is another way?&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; "Justavian" &lt;RPRIDDY&gt; wrote in message&lt;BR /&gt;
&amp;gt; news:BDD7BBA9820629DD304F128E3772378D@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; &amp;gt; Hmmm.... i don't have a problem with that - but you might want to try to&lt;BR /&gt;
&amp;gt; &amp;gt; fake out AutoCAD.  Send it a mouse move message, or a button down&lt;BR /&gt;
message.&lt;BR /&gt;
&amp;gt; &amp;gt; Try adding this:&lt;BR /&gt;
&amp;gt; &amp;gt;    ::PostMessage(adsw_acadDocWnd(),WM_LBUTTONDOWN,NULL,NULL);&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; I use that little call to force Acad to go into my point filter.  In my&lt;BR /&gt;
&amp;gt; &amp;gt; case, i'm using the mouse wheel perform various additional functions.&lt;BR /&gt;
&amp;gt; &amp;gt; However, ACAD's point filter doesn't care about the mouse wheel, so i&lt;BR /&gt;
had&lt;BR /&gt;
&amp;gt; to&lt;BR /&gt;
&amp;gt; &amp;gt; fool into thinking something was happening like that.&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; By the way - i'm impressed you got that up and running so quickly!  Good&lt;BR /&gt;
&amp;gt; &amp;gt; job...  Let me know if i can help ya anymore.&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; -Rich&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; "Mindaugas Bliudzius" &lt;SHASHAS&gt; wrote in message&lt;BR /&gt;
&amp;gt; &amp;gt; news:83517759AF7CC17459338980340C13A9@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; Hi,&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; I did second way, everything now cool, just when AutoCAD finished his&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; job(deleting), i need to move mouse little bit to get started whith my&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; message handle :((( Maybe you know what can be the problem?&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; Thank's&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; "Justavian" &lt;RPRIDDY&gt; wrote in message&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; news:25430528AC7FB2969315F82B1C93098C@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; You could check what the current selection set is by using&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; acedSSGet("I",NULL,NULL,NULL,ssname) - you could check this on the&lt;BR /&gt;
&amp;gt; first&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; objectErased.  With that you could assemble a total number of&lt;BR /&gt;
objects&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; being&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; erased, and perhaps you could increment a global variable to figure&lt;BR /&gt;
&amp;gt; out&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; whether you were on the last one.&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Another (more complicated) solution is to use a message handler.&lt;BR /&gt;
&amp;gt; Create&lt;BR /&gt;
&amp;gt; &amp;gt; a&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; CWnd derived class that can receive some sort of user message (like&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; WM_MYENT_ERASED).  Everytime your objectErased() fucntion fires, you&lt;BR /&gt;
&amp;gt; use&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; PostMessage(WM_MYENT_ERASED, wParam, lParam).  By posting it, rather&lt;BR /&gt;
&amp;gt; &amp;gt; than&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; using SendMessage, the WM_MYENT_ERASED messages won't get processed&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; immediately.  What this means is that those messages will build up&lt;BR /&gt;
in&lt;BR /&gt;
&amp;gt; &amp;gt; the&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; message queue for that CWnd derived class.  When AutoCAD gets&lt;BR /&gt;
finished&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; processing all of the objectErased() messages, that's when the first&lt;BR /&gt;
&amp;gt; of&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; the&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; WM_MYENT_ERASED messages will begin being processed.  In your&lt;BR /&gt;
handler&lt;BR /&gt;
&amp;gt; &amp;gt; for&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; that message, use PeekMessage() to get ALL of the WM_MYENT_ERASED&lt;BR /&gt;
&amp;gt; &amp;gt; messages&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; that have been posted.  You can then do whatever processing needs to&lt;BR /&gt;
&amp;gt; be&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; done&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; in a bulk format.&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; There may be easier ways than the one i just listed, but i've found&lt;BR /&gt;
a&lt;BR /&gt;
&amp;gt; &amp;gt; lot&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; of&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; uses for that procedure.  I have an application that does a LOT of&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; database&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; operations.  Those operations are triggered by things that happen in&lt;BR /&gt;
&amp;gt; the&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; drawing.  Say a move operation can cause my app to tag into a&lt;BR /&gt;
database&lt;BR /&gt;
&amp;gt; &amp;gt; and&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; check certain values.  If 100 objects are moved at once, it would&lt;BR /&gt;
&amp;gt; access&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; the&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; database 100 different times (since i'd detect that move using a&lt;BR /&gt;
&amp;gt; reactor&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; that would fire for each object).  Using this message handler&lt;BR /&gt;
&amp;gt; technique,&lt;BR /&gt;
&amp;gt; &amp;gt; i&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; can bulk process all 100 objects with a single (albeit long) SQL&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; statement.&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Needless to say this is significantly faster.&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; -Rich&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; "Mindaugas Bliudzius" &lt;SHASHAS&gt; wrote in message&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; news:92620D927A808C5C031539330C40D235@in.WebX.maYIadrTaRb...&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Hi,&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;     I need to modify my drawing after point is deleted, by if user&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; selects&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; not one point but a lot, then it is&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; crazy to modify a drawing after each objectErased(), because take&lt;BR /&gt;
a&lt;BR /&gt;
&amp;gt; &amp;gt; lot&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; of&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; time to modify my drawing, so is there any way to now how many&lt;BR /&gt;
&amp;gt; points&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; it's&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; selected to delete or maybe the end of delete operation?&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Thank's&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt; &amp;gt;&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt;&lt;/SHASHAS&gt;&lt;/RPRIDDY&gt;&lt;/SHASHAS&gt;&lt;/RPRIDDY&gt;&lt;/SHASHAS&gt;</description>
      <pubDate>Tue, 11 Feb 2003 12:42:16 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/objectarx-forum/how-to-how-many-objects-autocad-is-going-to-delete/m-p/316296#M37664</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2003-02-11T12:42:16Z</dc:date>
    </item>
  </channel>
</rss>

