if not assigned(cx_in_for) then cx_in_for:= Tcx_in_for.create(application); cx_in_for.showmodal; //此处会进入mainform的onactive的事件中,这是为何? cx_in_for.release; cx_in_for:=Nil; 你这些代码是不是不在mainform上?? 我估计这是borland自家代码的问题,比如它子窗体的showmoral之前,可能要调用到主窗体 一些函数或街面上的问题,激活了主窗体。
cx_in_for.showmodal;
//此处会进入mainform的onactive的事件中,这是为何?
cx_in_for.release;
cx_in_for:=Nil;
你这些代码是不是不在mainform上??
我估计这是borland自家代码的问题,比如它子窗体的showmoral之前,可能要调用到主窗体
一些函数或街面上的问题,激活了主窗体。
如果你要避免这个问题。最简单是自己加写标志量(用全局变量作为标志量);
还有,onactive是不是 onactivate ? 注意这个事件不同于oncreate, 每次一个窗口
从不活动到活动都会触发,比方mainform 在弹出dialog的时候会变成不活动,但dialog
关闭的时候mainform回到前台,这个时候就会触发onactivate的
如果是这后面触发,还比较好理解。