We have verified incorrect behavior on the OnDatabaseChange event. We
will need time to make research on this issue.
By listing new incoming emails we meant to create an array and adding
the new messages to it, to process the messages that were added to the
array afterwards.
Thank you for your reports.
Regards,
Federico
--
Nektra Advanced Computing
http://www.nektra.com
Any news about this issue? Please let me know ASAP when an update is available. On 10 Lug, 22:26, Nektra OEAPI Support <oeapi-supp...@nektra.com> wrote:Hi again Rocco: We have not reproduced this behavior on v3.2.1. The problem seems is related to an error on the internal behavior OnDatabaseChange event. Correctly updating the messages array is something you would have to work on. In VB.NET it seems you need to use theSyncLockstatement to lock the array while reading and while updating it, this way the array is protected from being modified from another thread while it's being read, and it's not read while it's being modified. Also you would have to make sure the application waits for your thread to end before exiting, else the process won't be terminated. Thank you for contacting Nektra's OEAPI Support. Regards, Federico Rocco wrote:Hi Can you tell me if this problem is present in the previous 3.2.1 version too? This incorrect behavior is relative to the event not firing after a few mails or to the crash when moving mails? About the method of making an array of new messages without using separate threads, how can I make sure that I did not miss any new message coming while updating the array? Thank you. On 7 Lug, 19:01, Nektra OEAPI Support<oeapi-supp...@nektra.com>wrote:Hi Rocco, We have verified incorrect behavior on the OnDatabaseChange event. We will need time to make research on this issue. By listing new incoming emails we meant to create an array and adding the new messages to it, to process the messages that were added to the array afterwards. Thank you for your reports. Regards, Federico Rocco wrote:HiI'm having a strange behaviour in my OE plugin; I use OnDatabaseChange event for getting notified when a new email arrives but I've noticed that after the first 7-8 new email arrives, the OnDatabaseChange events seems not to fire anymore.I use this code inside the event:If dt = tagOE_DATABASE_TRANSACTION.OE_TR_INSERT_MESSAGE Then Dim NewMessage As IdMessaggio NewMessage.FolderId = folderId NewMessage.MessageId = objId Dim NewMsgHandler As New System.Threading.Thread(AddressOf ProcessNewMessage) NewMsgHandler.Start(NewMessage) EndifAs you can see, I use a separate thread for checking each new email (it's an anti-spam application); I did not find any better method not to "miss" any new email while doing all the checks. In an old post you said: "Try not creating a "new" thread for each message, just use a single thread that read the incoming messages from a list." But how can build/read this list? How can I know if a mail is a new- just-arrived email?Also, when I move more than 7-8 emails at a time from folder A to folder B and then click to folder B, OE crashes. This happens only when my plugin is loaded.My app is a VB.NET 2005 dll plugin build with VS 2005 PRO SP1 Using OEAPI Enterprise 3.2.2 on WinXP Pro SP3 with OE6Thank you.-- Nektra Advanced Computinghttp://www.nektra.com- Nascondi testo citato - Mostra testo citato-- Nektra Advanced Computinghttp://www.nektra.com
We were not able to reproduce this behavior. You can try the VB NET DLL
demo included in OEAPI: After triggering the OnDatabaseChange event the
plugin and Outlook Express unload fine.
We would need a sample project/solution ready to reproduce this issue to
check this out. Any further information could help.
Regards,
Federico
Rocco wrote:
> I'm experiencing this strange behavior: when the OnDatabaseChange is
> fired at least once, my plugin doesn't unloads and OE6 remains in
> memory.
> I'm absolutely sure I destroy all COM object in the OnShutdownOEAPI,
> setting them to Nothing an then calling GC.Collect /
> GC.WaitForPendingFinalizers twice;
> if the OnDatabaseChange events does not fire, my plugin unloads
> correctly.
>
> My environment is the same as reported in the first message.
>
> Thank you.
--