![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
![]()
The problem of mail not going out only occurs on Outlook 2007, not 2003.
I believe it is caused by the interception of Explorer's SelectionChange event. //class level variable to hold event handler private Outlook.Explorer explorer = null; private void ThisAddIn_Startup(object sender, System.EventArgs e) { explorer = this.Application.ActiveExplorer(); explorer.SelectionChange += new Outlook.ExplorerEvents_10_SelectionChangeEventHand ler(ThisAddIn_SelectionChanged); } private void ThisAddIn_SelectionChanged() { // only handle appointments, nothing else if (explorer.Selection.Count 0 && explorer.Selection[1] is Outlook.AppointmentItem) { ... } } Once a new mail is created, Outlook put it into Outbox folder and fires 3 SelectionChange events. I know JavaScript DOM event bubble up and vaguely remember one article mentioned about passing Outlook event out of event handler. How do I pass the Explorer's SelectionChange event back to Outlook, so Outlook can handle it as usual? "Ken Slovak - [MVP - Outlook]" wrote in message ... Usually if an addin is disabled that way it means you have unhandled exceptions, a cardinal sin for addins. Or that you aren't using a shim to get your own AppDomain for the addin and some other code in that same AppDomain is crashing Outlook or has unhandled exceptions. If it remains in Outbox are you messing with the items after they're sent, or accessing them in Outbox, or not releasing the object references? -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "Jason" wrote in message ... The add-in was in the Disabled Items list. After enable it, the add-in was loaded and the menu appeared. But now email won't go out. They stay in Outbox forever. I remember someone had the same email problem and asked for help a while ago but I could not retrive the mail.It was gone. |
#2
|
|||
|
|||
![]()
You don't need to do anything for passing the event back to Outlook, it's
Outlook that fires the event for you. It will also only fire the event on an Explorer you have instantiated, so this event should not be firing in Outbox unless you switch the Explorer to viewing the Outbox. You should not be doing that if that's what you are doing. Leave things in Outbox alone and don't mess with them after sending or the items will just remain in Outbox and never get sent. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "Jason" wrote in message ... The problem of mail not going out only occurs on Outlook 2007, not 2003. I believe it is caused by the interception of Explorer's SelectionChange event. //class level variable to hold event handler private Outlook.Explorer explorer = null; private void ThisAddIn_Startup(object sender, System.EventArgs e) { explorer = this.Application.ActiveExplorer(); explorer.SelectionChange += new Outlook.ExplorerEvents_10_SelectionChangeEventHand ler(ThisAddIn_SelectionChanged); } private void ThisAddIn_SelectionChanged() { // only handle appointments, nothing else if (explorer.Selection.Count 0 && explorer.Selection[1] is Outlook.AppointmentItem) { ... } } Once a new mail is created, Outlook put it into Outbox folder and fires 3 SelectionChange events. I know JavaScript DOM event bubble up and vaguely remember one article mentioned about passing Outlook event out of event handler. How do I pass the Explorer's SelectionChange event back to Outlook, so Outlook can handle it as usual? |
#3
|
|||
|
|||
![]()
Yes you are right. The problem only occurs when user clicks the Outbox
folder then create a new mail. No problem if user has not highlighted the Outbox. Once the mail is stalled, no matter how many times you click Send and Receive button, it will stay there forever, even after user move to other folder or restart Outlook. You have to delete it, and create an new mail. What can I do then? Tell user not to select Outbox, or unselect the Outbox programmatically if user does that? "Ken Slovak - [MVP - Outlook]" wrote in message ... You don't need to do anything for passing the event back to Outlook, it's Outlook that fires the event for you. It will also only fire the event on an Explorer you have instantiated, so this event should not be firing in Outbox unless you switch the Explorer to viewing the Outbox. You should not be doing that if that's what you are doing. Leave things in Outbox alone and don't mess with them after sending or the items will just remain in Outbox and never get sent. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "Jason" wrote in message ... The problem of mail not going out only occurs on Outlook 2007, not 2003. I believe it is caused by the interception of Explorer's SelectionChange event. //class level variable to hold event handler private Outlook.Explorer explorer = null; private void ThisAddIn_Startup(object sender, System.EventArgs e) { explorer = this.Application.ActiveExplorer(); explorer.SelectionChange += new Outlook.ExplorerEvents_10_SelectionChangeEventHand ler(ThisAddIn_SelectionChanged); } private void ThisAddIn_SelectionChanged() { // only handle appointments, nothing else if (explorer.Selection.Count 0 && explorer.Selection[1] is Outlook.AppointmentItem) { ... } } Once a new mail is created, Outlook put it into Outbox folder and fires 3 SelectionChange events. I know JavaScript DOM event bubble up and vaguely remember one article mentioned about passing Outlook event out of event handler. How do I pass the Explorer's SelectionChange event back to Outlook, so Outlook can handle it as usual? |
#4
|
|||
|
|||
![]()
Now the problem of email won't go out also occurs on Outlook 2003. So it is
not 2007 specific. After comment out the explorer.SelectionChange, emailing resumes normal. explorer.SelectionChange += new Outlook.ExplorerEvents_10_SelectionChangeEventHand le(ThisAddIn_SelectionChanged); The reason of using explorer.SelectionChange is to catch EntryIDs of the appointments to be deleted. The Email problem has been fixed in Outlook 2007 by replacing SelectionChange with BeforeItemMove event. What is the feasible solution for 2003? I'll start a new thread. "Jason" wrote in message ... Yes you are right. The problem only occurs when user clicks the Outbox folder then create a new mail. No problem if user has not highlighted the Outbox. Once the mail is stalled, no matter how many times you click Send and Receive button, it will stay there forever, even after user move to other folder or restart Outlook. You have to delete it, and create an new mail. What can I do then? Tell user not to select Outbox, or unselect the Outbox programmatically if user does that? "Ken Slovak - [MVP - Outlook]" wrote in message ... You don't need to do anything for passing the event back to Outlook, it's Outlook that fires the event for you. It will also only fire the event on an Explorer you have instantiated, so this event should not be firing in Outbox unless you switch the Explorer to viewing the Outbox. You should not be doing that if that's what you are doing. Leave things in Outbox alone and don't mess with them after sending or the items will just remain in Outbox and never get sent. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "Jason" wrote in message ... The problem of mail not going out only occurs on Outlook 2007, not 2003. I believe it is caused by the interception of Explorer's SelectionChange event. //class level variable to hold event handler private Outlook.Explorer explorer = null; private void ThisAddIn_Startup(object sender, System.EventArgs e) { explorer = this.Application.ActiveExplorer(); explorer.SelectionChange += new Outlook.ExplorerEvents_10_SelectionChangeEventHand ler(ThisAddIn_SelectionChanged); } private void ThisAddIn_SelectionChanged() { // only handle appointments, nothing else if (explorer.Selection.Count 0 && explorer.Selection[1] is Outlook.AppointmentItem) { ... } } Once a new mail is created, Outlook put it into Outbox folder and fires 3 SelectionChange events. I know JavaScript DOM event bubble up and vaguely remember one article mentioned about passing Outlook event out of event handler. How do I pass the Explorer's SelectionChange event back to Outlook, so Outlook can handle it as usual? |
#5
|
|||
|
|||
![]()
Please do not start new threads for the same problem. It just confuses
things. If items in the Outbox are messed with using code then they won't go out. That is true of all Outlook versions. So the simple answer is don't do that. There's no need to do it, so don't. If the ActiveExplorer.CurrentFolder is Outbox just don't handle SelectionChange() there. If it's not Outbox you can safely handle SelectionChange(). Since BeforeFolderSwitch() will fire before the folder in the Explorer is switched to Outbox you will know when that happens. So just remove the SelectionChange() handler then and reinstate it when the folder isn't Outbox. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "Jason" wrote in message ... Now the problem of email won't go out also occurs on Outlook 2003. So it is not 2007 specific. After comment out the explorer.SelectionChange, emailing resumes normal. explorer.SelectionChange += new Outlook.ExplorerEvents_10_SelectionChangeEventHand le(ThisAddIn_SelectionChanged); The reason of using explorer.SelectionChange is to catch EntryIDs of the appointments to be deleted. The Email problem has been fixed in Outlook 2007 by replacing SelectionChange with BeforeItemMove event. What is the feasible solution for 2003? I'll start a new thread. "Jason" wrote in message ... Yes you are right. The problem only occurs when user clicks the Outbox folder then create a new mail. No problem if user has not highlighted the Outbox. Once the mail is stalled, no matter how many times you click Send and Receive button, it will stay there forever, even after user move to other folder or restart Outlook. You have to delete it, and create an new mail. What can I do then? Tell user not to select Outbox, or unselect the Outbox programmatically if user does that? |
#6
|
|||
|
|||
![]()
It works! Thanks Ken. You are genius.
"Ken Slovak - [MVP - Outlook]" wrote in message ... Please do not start new threads for the same problem. It just confuses things. If items in the Outbox are messed with using code then they won't go out. That is true of all Outlook versions. So the simple answer is don't do that. There's no need to do it, so don't. If the ActiveExplorer.CurrentFolder is Outbox just don't handle SelectionChange() there. If it's not Outbox you can safely handle SelectionChange(). Since BeforeFolderSwitch() will fire before the folder in the Explorer is switched to Outbox you will know when that happens. So just remove the SelectionChange() handler then and reinstate it when the folder isn't Outbox. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "Jason" wrote in message ... Now the problem of email won't go out also occurs on Outlook 2003. So it is not 2007 specific. After comment out the explorer.SelectionChange, emailing resumes normal. explorer.SelectionChange += new Outlook.ExplorerEvents_10_SelectionChangeEventHand le(ThisAddIn_SelectionChanged); The reason of using explorer.SelectionChange is to catch EntryIDs of the appointments to be deleted. The Email problem has been fixed in Outlook 2007 by replacing SelectionChange with BeforeItemMove event. What is the feasible solution for 2003? I'll start a new thread. "Jason" wrote in message ... Yes you are right. The problem only occurs when user clicks the Outbox folder then create a new mail. No problem if user has not highlighted the Outbox. Once the mail is stalled, no matter how many times you click Send and Receive button, it will stay there forever, even after user move to other folder or restart Outlook. You have to delete it, and create an new mail. What can I do then? Tell user not to select Outbox, or unselect the Outbox programmatically if user does that? |
#7
|
|||
|
|||
![]()
The problem of Email won't go out appears in one VM for Outlook 2007. No
problem in dev machine since we replaced the ActiveExplorer.SelectionChange with BeforeItemMove event. Now the suspect is Application.Inspectors.NewInspector event. What we really need is the calendar item open event (or better, the Read event to handle in place input). Is there any way to catch the calendar item Open/Read event without intercepting the NewInspector event? Please advise how to. "Jason" wrote in message ... It works! Thanks Ken. You are genius. "Ken Slovak - [MVP - Outlook]" wrote in message ... Please do not start new threads for the same problem. It just confuses things. If items in the Outbox are messed with using code then they won't go out. That is true of all Outlook versions. So the simple answer is don't do that. There's no need to do it, so don't. If the ActiveExplorer.CurrentFolder is Outbox just don't handle SelectionChange() there. If it's not Outbox you can safely handle SelectionChange(). Since BeforeFolderSwitch() will fire before the folder in the Explorer is switched to Outbox you will know when that happens. So just remove the SelectionChange() handler then and reinstate it when the folder isn't Outbox. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "Jason" wrote in message ... Now the problem of email won't go out also occurs on Outlook 2003. So it is not 2007 specific. After comment out the explorer.SelectionChange, emailing resumes normal. explorer.SelectionChange += new Outlook.ExplorerEvents_10_SelectionChangeEventHand le(ThisAddIn_SelectionChanged); The reason of using explorer.SelectionChange is to catch EntryIDs of the appointments to be deleted. The Email problem has been fixed in Outlook 2007 by replacing SelectionChange with BeforeItemMove event. What is the feasible solution for 2003? I'll start a new thread. "Jason" wrote in message ... Yes you are right. The problem only occurs when user clicks the Outbox folder then create a new mail. No problem if user has not highlighted the Outbox. Once the mail is stalled, no matter how many times you click Send and Receive button, it will stay there forever, even after user move to other folder or restart Outlook. You have to delete it, and create an new mail. What can I do then? Tell user not to select Outbox, or unselect the Outbox programmatically if user does that? |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Load request form fails: Could not load some objects because they arenot available on this machine | [email protected] | Outlook - General Queries | 1 | August 5th 08 11:22 PM |
Load MSG into PST | MON205[_2_] | Add-ins for Outlook | 4 | July 22nd 08 08:56 AM |
load Dll | Lisandro Oliveira | Outlook and VBA | 2 | February 21st 07 05:55 PM |
Error when add-in tries to load | Ken W | Outlook - Installation | 4 | November 14th 06 01:31 PM |
Load once | Dave C | Outlook - Installation | 2 | January 24th 06 07:42 PM |