engOpen hangs up when calling from dll

2 views (last 30 days)
I am using COM services to interface with MATLAB from my project. For my startup project I am able to call engOpen and it returns an engine. However, I created a plugin for my application that compiles into a dll. Whenever I attempt to call engOpen from this library, the process hangs up and just sits there at the same memory usage and goes to 0 cpu usage.

Accepted Answer

Thomas Stubbs
Thomas Stubbs on 26 Aug 2019
The problem was calling engOpen while loading the library or creating a COM thread in the DllMain. This goes against the best practices suggested here - https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-best-practices. I called engOpen from a method that wasn't statically initialized using GetProcAddress and it worked fine.

More Answers (0)

Categories

Find more on MATLAB Compiler in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!