在valedit.pas中,tvalueliststrings类没有实现虚拟的destroy方法,
它实现了虚拟的clear方法, 但是它的父类tstringlist的
destroy中并不通过调用clear()来释放资源,因此tvalueliststrings
中为成员itemprops分配的内存就丢失了.
所以如果在form中添加了tvaluelisteditor控件,并且在代码中
使用了其itemproperty成员(因为它是延迟分配,只有第一次使用时才分配内存),
则需要在form.destroy()方法中显式的调用clear()方法,如下:
myform.destroy()
{
...
myvaluelisteditor->strings->clear();
...
}
这是在c++ builder 6的vcl source中发现的, 估计 delphi 6中
也应该有这个bug.