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