Outlook Express hangs after receiving a message

27 views
Skip to first unread message

fesh

unread,
Aug 31, 2009, 12:13:28 PM8/31/09
to Nektra OEAPI Support, fe...@add-in-express.com
Hi,

I have a problem with the "C# DLL" plugin supplied with the OEAPI
Enterprise Edition.
Outlook Express stays in memory if I execute the Send and Receive
command and get a message.

I found that using OEFolderManagerClass affects this issue.
I.e. if I comment the following row, the issue is gone and OE is
unloaded successfully.
//folderManager = new OEFolderManagerClass();

My environment: Windows XP SP3, Outlook Express 6.00.2900.5512

Any Ideas?

Nektra OEAPI Support

unread,
Sep 1, 2009, 10:13:59 AM9/1/09
to nektra...@googlegroups.com
Hi Fedor,

Process remaining in memory is probably related to an object left without being released.
Although we were not able to reproduce this issue, please try adding this line:

    Marshal.ReleaseComObject(folderManager);

as the first line of the OnShutdownOEAPI() event, before the folderManager is assigned to null.

Please, read the OEAPI .NET Guideline and make sure you call Marshal.ReleaseComObject() after using every object you get.
If the problem persists, please let us know the exact modifications you made to the C# DLL Demo and the steps followed to reproduce the issue.

Thank you for contacting Nektra's OEAPI Support.

Regards,

Federico
-- 
Nektra Advanced Computing
http://www.nektra.com

fesh

unread,
Sep 1, 2009, 11:49:43 AM9/1/09
to Nektra OEAPI Support, fe...@adx-team.com
Hi Federico,

Problem persists as before.
I have truncated the C# DLL Demo in the following way:

public Main()
{
oeInit = new OEAPIInit();
oeInit.OnInitOEAPI += new IOEInitEvents_OnInitOEAPIEventHandler
(OnInitOEAPI);
oeInit.OnShutdownOEAPI += new
IOEInitEvents_OnShutdownOEAPIEventHandler(OnShutdownOEAPI);
}

private void OnInitOEAPI()
{
folderManager = new OEFolderManagerClass();
myOEAPI = new OEAPIObjClass();
}

private void OnShutdownOEAPI()
{
Marshal.ReleaseComObject(folderManager);
folderManager = null;

Marshal.ReleaseComObject(myOEAPI);
myOEAPI = null;

GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
GC.WaitForPendingFinalizers();
}

Steps to reproduce:

- I open Outlook Express
- Create a message and set my email to send and receive it, i.e. I am
sending a message to myself
(this step can be skipped if you are sure that you will receive
some message when you click the Send and Receive All button)
- Click the Send and Receive All button
- OE sends and receives the message
(Important: OE must receive some message, else issue will not be
reproduced)
- Close Outlook Express
Result: Outlook Express hangs (remains in memory)

Note: If I open and close OE without Send/Receive operation then OE
unloads successfully.

Please let me know if you need any additional info.

Best Regards,
Fedor

fesh

unread,
Sep 2, 2009, 1:49:31 PM9/2/09
to Nektra OEAPI Support
Federico,

I have installed OEAPI on a clean Virtual PC.
The "C# DLL" plugin works without the "hanging" problem.
The problem seems to be connected with my development PC.
I will investigate this problem and let you know about the result.

Thanks you for your time.
Fedor

fesh

unread,
Sep 8, 2009, 7:45:06 AM9/8/09
to Nektra OEAPI Support
My problem was caused by the fact that registry data of oecom.dll
referred to the old version that was located in a place different from
the latest version C:\Program Files\OEAPI\Bin.

Sorry for the inconvenience.

Nektra OEAPI Support

unread,
Sep 9, 2009, 9:10:04 AM9/9/09
to nektra...@googlegroups.com
Hi Fedor,

That's OK, thank you for clarifying this issue and for notifying to the
mailing list.

Regards,

Federico
Reply all
Reply to author
Forward
0 new messages