我刚刚在help中看到form的release方法时,发现他提示要尽量用release方法,而不用free或destroy,而且说如果用free或destroy可能导致access violation.所以我想问问高手这三者究竟有什么区别?如果用release的话,他 的触发事件是不是应该是onrelease事件,如果是free或destroy的话,是否是ondestroy事件。还有,用一些方法的时候,在drived from 。。中,是否要尽量用越近的祖先类中的越好?还有能否就帮助中mothod中的drived from 。。具体讲解一下。谢谢!
Release内部调用Free,Free内部调用Destroy。在我们的程序中,几乎从来不直接调用Detroy,因为Free会首先判断对象指针是否为nil,如果不是才调用Destroy。在对象指针为nil时调用Destroy将触发异常。所以在一般情况下,销毁对象都是调用Free或者另外一个全局过程FreeAndNil。
因为它们三者最终都是调用Detroy,所以都触发OnDestroy事件。“是否要尽量用越近的祖先类中的越好”
不是。—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————