在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
If you don't explicitly initialize a global variable, the compiler initializes it to 0. Object instance data (fields) are also initialized to 0. On the Wiin32 platform, the contents of a local variable are undefined until a value is assigned to them. -------------------------------------------------------------------------------- autosize是类里面的字段 -------------------------------------------------------------------------------- 参考: ms-help://borland.bds4/bds4ref/html/Variables.htm -------------------------------------------------------------------------------- 另外,Delphi会优化布尔表达式: function TControl.CheckNewSize(var NewWidth, NewHeight: Integer): Boolean; var W, H, W2, H2: Integer; begin Result := False; W := NewWidth; // cx H := NewHeight; // cy if DoCanResize(W, H) then // 类函数,给程序员控制的机会,然后再继续传递。程序员要求限制,才进行限制 begin W2 := W; H2 := H; Result := not AutoSize // 通常情况下下AutoSize=false,这样Result就已经等于true or (DoCanAutoSize(W2, H2) and (W2 = W) and (H2 = H)) // 问题: 编译器优化的话,还会执行这个函数吗? or DoCanResize(W2, H2); // 这个函数也是如此 if Result then begin NewWidth := W2; NewHeight := H2; end; end; end; 我觉得上面的代码是故意为之: 参考:http://bbs.2ccc.com/topic.asp?topicid=496677 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论