Перед тем, как вы сможете
которого хотите установить прерывания, нужно использовать описа-
тели окна.
TDeb 3.0 #3-3 = 18 =
Получение описателя окна
-----------------------------------------------------------------
Перед тем, как вы сможете использовать описатель объекта ок-
на, нужно выполнить программу и пройти то место, где он инициали-
зируется. Для этого можно использовать несколько методов.
- Простейший способ состоит в запуске вашей программы и
возврате в TDW по Ctrl-Alt-SysRq.
- Другая возможность заключается в задании точки останова в
подпрограмме обработки сообщений (примером которой может
быть подпрограмма, обрабатывающая сообщения WM_MOUSEMOVE),
и последующем выполнении в окне действия, которое приведет
к срабатыванию точки останова (например, перемещения "мы-
ши").
- Если основные проблемы у вам заключаются в самом окне (та-
кие, как невосстановимая ошибка прикладной программы, воз-
никающая при первоначальном выводе окна), получать указа-
тель окна придется более длинным путем.
Так как описатель инициализируется функцией ObjectWindows
CreateWindow, и данная функция выполняется после того, как
вы инициализируете окно, то нужно переопределить в клас-
се окна эту функцию и для получения описателя установить
на ней точку прерывания.
Например, в следующем исходном коде данная функция переоп-
ределяется для класса окна ScribbleWindow программы
TDODEMO:
void ScribbleWindow()
{
TWindow::SetupWindow();
}
Далее позиционируйте курсор на строке после оператора ини-
циализации и нажмите F4 для выполнения программы до той