发现一怪事:
一Form,上一dbgrid,一dataSource,一adoquery,FormShow时adoquery.open
1.发现事件触发顺序是这样的:
dataSource的OnStateChange——Form的Create——Form的Show等
很奇怪,应该是FromCreate最先发生的才对
2.另有一些窗体是正常顺序:
FormCreate——FormShow——StateChange
经过对比,发现
是因为1中的窗体设计时,adoquery是open的
应该是窗体在create的时候,会把dataset close,所以引发了datasource的StateChange
而这时,还没有调用FormCreate,导致了StateChange事件比FormCreate还早触发
设计时关闭数据库连接,重新编译,就是2的状态了。
做个记录,嘻嘻