CnPack Forum

#1 Delphi 2009 VCL 源码中一处可能导致死循环的 Bug
Delphi 2007/2009 的 source\Win32\vcl\Forms.pas 中，GetNonToolWindowPopupParent 函数实现部分：

function GetNonToolWindowPopupParent(WndParent: HWND): HWND;
begin
Result := GetParent(WndParent);
while (Result <> 0) and (GetWindowLong(Result, GWL_EXSTYLE) and WS_EX_TOOLWINDOW = WS_EX_TOOLWINDOW) do
Result := GetParent(WndParent);
... // 以下省略

很明显，如果第一次进入 while 时判断成立，那么 Result 的值就始终是 WndParent 的 Parent ..

#1 >>Next Page

Forum:技术板块灌水区 ...
Thread:Delphi 2009 VCL 源码 ...
Next Thread:Delphi面向对象学习随 ...

Home
Login

Powered by Discuz!