Here's one I've spent the last 6 hours trying to figure out...
I have a CListCtrl derived class. The first time I click an item in
the list to select it, I see a lot of multimedia dll's being loaded
and unloaded causing a noticable delay before the item selects. After
that its fine.
The funny thing is, my set up is exactly the same as another program I
have and it doesn't load anything! I created a stock MFC DLG app with
a CListCtrl and it also had the dll loading problem.
I traced the loading of the libraries down to occuring after clicking
the mouse but before the LVN_ITEMCHANGED i sent to the ListCtrl. I
even dumbed down my ListCtrl to do nothing except add one text item
with no OWNERDRAW extensions etc. same problem.
The "model" project was originally done in vstudio6 but i converted it
upwards to 7.1. I checked all of the project settings between my
program and the model I have, they are exactly the same. I copied the
working project, deleted its files and added mine. problem occurs. I
went over all of the calls being made by the classes above the
ListCtrl (CView, CMainFrame, CWinApp) and everything is the same in
both programs. I do notice that at the end of the "model" program, I
get an "Unloaded ....dll" for all the dll's used, but in my program,
there is no printout of unloaded dll's. This is the only related
difference I can find. Maybe if someone at least knew what causes the
unloading/messages I'd have another lead.
I even walked through both executables with DependencyWalker. It seems
that for some reason, in mine, comctl32.dll is calling
waveOutGetNumDevs (which probably explains the mm iterating). But in
that instance, the same functions in comctl32.dll are being in called
in both my program and the model one.
I know this is long and rambling but I tried to include any details
that might be familiar to someone. Thanks in advance for anyone
willing to send a response.
Here are the libraries that load when I make my first ListCtrl
selection.
'LZ.exe': Loaded 'C:\WINDOWS\system32\winmm.dll', No symbols
loaded.
'LZ.exe': Loaded 'C:\WINDOWS\system32\ctwdm32.dll', No symbols
loaded.
'LZ.exe': Unloaded 'C:\WINDOWS\system32\ctwdm32.dll'
'LZ.exe': Loaded 'C:\WINDOWS\system32\wdmaud.drv', No symbols
loaded.
'LZ.exe': Loaded 'C:\WINDOWS\system32\setupapi.dll', No
symbols loaded.
'LZ.exe': Loaded 'C:\WINDOWS\system32\wintrust.dll', No
symbols loaded.
'LZ.exe': Loaded 'C:\WINDOWS\system32\crypt32.dll', No symbols
loaded.
'LZ.exe': Loaded 'C:\WINDOWS\system32\msasn1.dll', No symbols
loaded.
'LZ.exe': Loaded 'C:\WINDOWS\system32\imagehlp.dll', No
symbols loaded.
'LZ.exe': Unloaded 'C:\WINDOWS\system32\setupapi.dll'
'LZ.exe': Unloaded 'C:\WINDOWS\system32\wdmaud.drv'
'LZ.exe': Loaded 'C:\WINDOWS\system32\wdmaud.drv', No symbols
loaded.
'LZ.exe': Loaded 'C:\WINDOWS\system32\setupapi.dll', No
symbols loaded.
'LZ.exe': Unloaded 'C:\WINDOWS\system32\setupapi.dll'
'LZ.exe': Loaded 'C:\WINDOWS\system32\msacm32.drv', No symbols
loaded.
'LZ.exe': Loaded 'C:\WINDOWS\system32\msacm32.dll', No symbols
loaded.
'LZ.exe': Loaded 'C:\WINDOWS\system32\midimap.dll', No symbols
loaded.
*-----------------------*
Posted at:
www.GroupSrv.com
*-----------------------*