请指教 在 FormCreate 事件中 进行某些控件的处理时,会出现错误,窗体似乎没有完全创建完成(5分)

  • 主题发起人 主题发起人 privateer
  • 开始时间 开始时间
P

privateer

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟现在只好用计时器 延时 代替初始化处理 请教 改用那个事件可以解决
 
定义一个全局变量,isCreate, 然后在 Form 的 OnActive 里面处理:
var
Form1: TForm1;
isCreate: Boolean = True;
...
procedure TForm1.FormActive(Sender: TObject);
begin
if isCreate then
begin
//在这里放你的初始化处理
end;
isCreate := False;
end;
 
project/view source 菜单
到你要的窗体的 Application.CreateForm(TForm1, Form1)下面添加代码
 
postmessage(Handle,wm_close,0,0)似乎可以。
另外使用constructor也可以。
 
里面使用
try..except..end语句

另外,如果处理的代码很多的话,最好不要在FormActive(Sender: TObject);事件里写
小心白屏现象....
 
beta 的方法还是不行的 在构造函数中也不行 很奇怪
yfdciom 的方法可以的 哈哈 所以放分了
 
后退
顶部