中国开发网: 论坛: Delphi/BCB: 贴子 78277
pcplayer
教训:TStream.Read 在把数据写进缓冲区的时候,如果写越界,会造成奇怪的BUG
我一个程序有一个对象,这个对象有几个事件。

这个对象里还有一个变量FDeviceInfo,是 Packed record 内型。

AStream.Read(FDeviceInfo,AStream.Size); 因为默认以为这两个数据一样大,没注意到AStream.Size比SizeOf(FDeviceInfo)更大,编译运行都很正常,只出了一个奇怪的现象:本来应该触发某个事件的行为,引发了另一个事件去了!

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录