昨天改了一个bug, 这个程序是一个支持VBA的MFC C++程序,里面涉及到很多ole的东东,
看得我头很大。虽然代码没有看得太明白,却解决了问题,因为想到了对称性问题。
因为我发现在增加一个ole item 的时候调用了一个XXX方法,而在删除的时候却没有调用UnXXX(正好该方法声明在XXX一起,所以注意到了),导致序列化的存储之后,无法打开该ole 文档
所以直觉删除的时候应该调用UnXXX.改完之后,一切OK.
其实想想真的很多BUG都与对称性有关,例如new了之后没有delete, AddRef之后没有Release, open之后没有close等等