我正在运行 Delphi 2009。当我尝试在表单编辑器中查看表单时,一直出现堆栈溢出的错误。所以我做了任何人都会做的事情。我使用 Delphi 自身来调试它自己,或者说是另一个 IDE 实例。
因此,我知道了溢出发生的位置,但不知道该怎么办。这个表单上有一个自定义组件,它截取对
当我在异常处中断时,调用堆栈中充满了数百个调用:
到目前为止,我还没有找到传递给WindowProc的实际消息。如有帮助将不胜感激。
更新:我已经有所进展。追踪到了似乎引发此问题的消息。它是WM_CHILDACTIVATE。当这个消息被传递到窗体的WindowProc时,它会触发IDE中的一系列调用,最终导致堆栈溢出。现在我只需要弄清楚原因。
因此,我知道了溢出发生的位置,但不知道该怎么办。这个表单上有一个自定义组件,它截取对
TForm.WindowProc
的调用,以便响应某些 WinAPI 消息。当组件调用 真正的 WindowProc
时,就会发生堆栈溢出。当我在异常处中断时,调用堆栈中充满了数百个调用:
delphicoreide120.@Comppalmgr@TComponentPalettePageItemDelegate@CheckValid
到目前为止,我还没有找到传递给WindowProc的实际消息。如有帮助将不胜感激。
更新:我已经有所进展。追踪到了似乎引发此问题的消息。它是WM_CHILDACTIVATE。当这个消息被传递到窗体的WindowProc时,它会触发IDE中的一系列调用,最终导致堆栈溢出。现在我只需要弄清楚原因。