Я использую Delphi 2009. Когда я пытаюсь просмотреть форму в редакторе форм, у меня постоянно возникает переполнение стека. Поэтому я сделал то, что сделал бы кто-нибудь другой. Я использовал Delphi для отладки самого себя или, вернее, другого экземпляра IDE.
Так что я знаю, где происходит переполнение, я просто не знаю, что с этим делать. В этой форме есть пользовательский компонент, который перехватывает вызовы TForm.WindowProc
, чтобы он мог отвечать на определенные сообщения winapi. Переполнение стека происходит, когда компонент вызывает real WindowProc
.
Когда я разбиваю исключение, стек вызовов заполняется сотнями вызовов:
delphicoreide120.@Comppalmgr@TComponentPalettePageItemDelegate@CheckValid
Пока что мне не повезло отследить фактическое сообщение, передаваемое в WindowProc.
Любая помощь будет оценена.
Обновление
Я добился определенного прогресса. Отследил сообщение, которое, кажется, отключает это. Это WM_CHILDACTIVATE. Когда это сообщение передается в WindowProc
формы, оно запускает серию вызовов в среде IDE, которая заканчивается переполнением стека. Теперь мне просто нужно выяснить, почему.