I have a simple real-time program to display full screen the minutes remaining in a session of speakers and audience discussions, allotting a specifiable time per speaker (equal for all) and a specifiable percentage for discussion. It works only if I put an MsgBox after the end of the speaker time loop and another one after the end of the discussion time loop, although I do not want the distraction of a silly dialog box that has to be answered by a carriage return when one is under pressure to concentrate on what people have to say.
An Application.Wait (of 1 second, or even 3 minutes) instead of the MsgBox had no effect, resulted in the program rushing to the end, through the loops for remaining speakers.
Setting the BIOS to parallel processing Disabled did not make any difference either, although one could confirm one or two processors in Device Manager.
All this is in VBA, under Vista Business, on a Toshiba Tecra.
I tested the Application.Wait in the Immediate Window as copied&pasted from the program, and that worked as to be expected. Does the operating system or the VBA compiler play games with parallel processing even when there is only one processor made available? The program got re-compiled frequently, and couldn't have held on to the compilation of long ago? Also, for a fraction of a day when I was apparently able to turn the 2nd processor off through msconfig, the program worked properly without Wait and without MsgBox. But when I later learnt to do it more solidly via the BIOS setup program, my program did not seem to get the benefit of the verifiable single processor.
I don't need the program very much (the discussion group doesn't want to hear about it), but isn't it a point of honor for a acomputer fan to know what's going on?
Thanks for any enlightenment.
Roger B.
P.S.: My doubts about overdone concurrent processing in connection with my old message #13727 were taken care of later by discovering that workbooks apparently tend to reset themselves to Calculation = Automatic, or perhaps inherit Automatic when a new workbook is started, and I could save execution time enormously by consciously keeping it on Manual, and asking for Selection.Calculate where the program needs it.
Reply via web post | Reply to sender | Reply to group | Start a New Topic | Messages in this topic (1) |
Be sure to check out TechTrax Ezine for many, free Excel VBA articles! Go here: http://www.mousetrax.com/techtrax to enter the ezine, then search the ARCHIVES for EXCEL VBA.
----------------------------------
Visit our ExcelVBA group home page for more info and support files:
http://groups.yahoo.com/group/ExcelVBA
----------------------------------
More free tutorials and resources available at:
http://www.mousetrax.com
----------------------------------
Tidak ada komentar:
Posting Komentar