Турбо отладчик (Turbo Debugger) 3.0

то причина ошибки станет вам


       раммирование  для   Windows"   ("Charles   Petzold,   Programming
       Windows"),  то причина ошибки станет вам ясна.  Минимальная реак-
       ция,  которая нужна Windows в ответ на сообщение WM_PAINT, должна
       состоять в вызове BeginPaint,  за которым следует EndPaint.  Если
       эти подпрограммы не вызываются, то Windows не знает, что было по-
       лучено  сообщение WM_PAINT,  и продолжает посылать WM_PAINT прог-
       рамме.
            Обратите внимание,  что вызов  BeginPaint  находился  внутри
       оператора if,  и подпрограмма при первой прорисовке экрана не вы-
       зывалась. Чтобы решить проблему, вы должны вынести оператор с вы-
       зовом BeginPaint за пределы условного оператора if.
            Как обстоит  дело  с оператором EndPaint?  Он тоже находится
       внутри if, вместе с вызовом подпрограммы ReleaseDC, которая осво-


       бождает hdc,  логический  номер (описатель) контекста устройства,
       устанавливаемый вызовом BeginPaint.  Эти две строки должны  нахо-
       диться вне конструкции if.
                             Завершение BCWDEMOA
       -----------------------------------------------------------------
            В BCWDEMOB,  второй версии программы, которую вы будете изу-
       чать,  ошибка,  связанная с WM_PAINT,  уже исправлена. Прежде чем
       загружать эту программу,  нужно завершить работу BCWDEMOA,  чтобы
       освободить используемые ей ресурсы.  Поскольку единственная проб-
       лема с этой программой состояла в том,  что при первом проходе не
       выполнялся  код  внутри оператора if,  установка CurrentPointer в

       TDeb 3.0 #3-3                = 56 =
       ноль приведет к выполнению этого кода,  что  позволяет  нормально
       выйти из программы.  Для завершения программы выполните следующие
       шаги:
            1. В окне Windows Messages (Сообщения Windows)  уберите  имя
               оконной  процедуры WndProc в левой верхней области, чтобы

Содержание раздела