engOpen hangs up when calling from dll

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

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

Tags

Community Treasure Hunt

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

Start Hunting!