windows - MFC-dåse DllMain kalder ikke ExitInstance for DLL\_PROCESSS\_DETACH?

Indlæg af Hanne Mølgaard Plasc

Problem



Den dåse DllMain til MFC 8.0 ser ikke ud til at kalde ExitInstance, når den får en DLL\_PROCESS\_DETACH. En mulig løsning er at definere mit eget DllMain, men hvordan fortæller jeg linkeren at bruge mine og ikke MFC'er?


Eller er der en anden tilsidesættelse, som bliver kaldt DLL\_PROCESS\_DETACH Jeg er ikke opmærksom på?

Bedste reference


Jeg har haft lignende problemer for et projekt udarbejdet med/clr. Er du i samme situation? Jeg var aldrig i stand til at spore det til en bestemt betingelse, men ændre nogle statiske initialiserere til at indstille null ryddet det op. Jeg synes, det har noget at gøre med den rækkefølge, som statiske destruktorer er registreret.

Andre referencer 1


Jeg er ikke sikker på, hvorfor din ExitInstance ikke er kaldt, men det er muligt at definere din egen DllMain ved at kopiere indholdet af MFC 's dllmodul.cpp fil til en fil i din dll og tilføje ekstra nødvendig funktion. Proceduren er dokumenteret i denne MS Knowledge Base-artikel. Selv om det var skrevet til MFC 4.0, har jeg brugt denne metode med succes til apps, der bruger MFC 8.0. [1]