More on this hanging problem I have with Windows Vista. I decided the best way to handle the problem would be to put a call to mixerGetNumDevs() into a new thread. I could then execute the thread and wait a couple of seconds to see if it was hung. Then I could forcefully terminate the thread and stop doing any further mixer calls.
But this didn't work! The main program thread still froze when the thread called the function! How is that possible? It wasn't using any CPU, although I tried the thread at tpLower priority with no luck. It appears the only way to test if it is going to hang is to write a separate program and call it from my main program and see if it hangs. Is there a better way? By the way, a user managed to resolve the problem by reversing the Windows Vista Update KB957388. My app then didn't hang. They installed the same patch again and it hung again. This patch is also in Vista SP2 which caused another user to hang. Is there any method of reporting this bug to Microsoft. I couldn't find any method of doing so after many web searches. Cheers, Ross. -----Original Message----- From: Ross Levis [mailto:r...@stationplaylist.com] Sent: Tuesday, 21 July 2009 10:49 p.m. To: 'Borland's Delphi Discussion List' Subject: RE: App hanging during load I managed to track down where my app was hanging while loading for some Vista users. I added showMessage's to the constructor procedures for all relevant components on the form. It turned out to be in a 3rd party component which uses the audio Windows API function mixerGetNumDevs() defined in MMSystem.pas/winmm.dll. This function was hanging and not returning. But this was only the case when the app was run on a Vista OS in XP Compatibility mode, and only on 4 or 5% of Vista users. It appears to be a bug in Vista when in XP compatibility mode, but only with some soundcard drivers. There is basically no way to get around it except to not call this function for Vista or later operating systems when in XL compatibility mode. Cheers, Ross. -----Original Message----- From: delphi-boun...@elists.org [mailto:delphi-boun...@elists.org] On Behalf Of sch...@socket.net Sent: Thursday, 9 July 2009 2:16 p.m. To: Borland's Delphi Discussion List Subject: Re: App hanging during load For what it's worth, I had a similar problem. After much work trying to locate the problem I came to the conclusion that is was in an initialization section in one of the used components. I compiled with EurekaLog and had the user who was seeing the problem run it. The bug report the user sent back pointed directly to the line of code in a component initialization section that was throwing the exception. I think there's still a 30-day trial of EurekaLog. Harry ----- Original Message ----- From: "Ross Levis" <r...@stationplaylist.com> To: "'Borland's Delphi Discussion List'" <delphi@elists.org> Sent: Wednesday, July 08, 2009 5:12 AM Subject: RE: App hanging during load >> Do you have any units with initilization sections? > > Yes, and that thought had occurred to me some time ago and was tested, but > all the Initialization sections are executed in the Uses clause in the > project source before getting to the CreateForm's. > > I'm not sure where to go from here. It doesn't make any sense to me. It > is > affecting 3 users running Vista and it's a major concern. > > Thanks, > Ross. > > -----Original Message----- > From: delphi-boun...@elists.org [mailto:delphi-boun...@elists.org] On > Behalf > Of zayin > Sent: Wednesday, 8 July 2009 4:34 p.m. > To: delphi@elists.org > Subject: RE: App hanging during load > > > > > > > On 7/7/2009 10:21:46 PM, Ross Levis (r...@stationplaylist.com) wrote: >> The user just got around to installing a test version of the app with >> some >> ShowMessages in the Form's OnCreate event, but nothing appeared, so it's >> not >> even getting to execute the OnCreate event. >> >> In summary, the app hangs during >> Application.CreateForm(TStudioForm, StudioForm); >> >> But the OnCreate event for this form is not executed for this user. >> >> So what does this mean? What else is executing during for CreateForm >> procedure that could cause it to hang? How can I debug this? I have >> MadExcept compiled in but it >> doesn't activate. >> >> Thanks, >> Ross. >> >> > -----Original Message----- >> > From: delphi-boun...@elists.org [mailto:delphi-boun...@elists.org] On >> > Behalf >> > Of Wilfried Mestdagh >> > Sent: Wednesday, 17 June 2009 10:56 p.m. >> > To: Borland's >> Delphi Discussion List >> > Subject: Re: App hanging during load >> > >> > Hello Ross, >> > >> > > Application.CreateForm(TStudioForm, StudioForm); >> > > showmessage('Initialize 3'); <<< IT >> DOESN'T GET HERE >> > >> > You can set some debug information in the OnCreate event of >> > TStudioForm. _______________________________________________ Delphi mailing list -> Delphi@elists.org http://lists.elists.org/cgi-bin/mailman/listinfo/delphi