打算在修改密码窗体在加载窗体时显示登陆的用户名:
procedure TForm3.FormCreate(Sender: TObject);begin
StaticText1.Caption:=log.conuser;
end; 
其中:
conuser为全局变量;在log 窗体中已经定义,用全局变量取登陆的用户名
procedure TForm1.Button1Click(Sender: TObject);
begin
conuser:=self.Edit1.Text;
end;
log为登陆窗体,在修改密码窗体中已经引用,如下
var
  Form3: TForm3;implementation
  uses
  log;为什么在窗体加载的时候StaticText1.Caption不显示用户名呢???但是在执行按钮的Click的时候却能显示出登陆的用户名,这是为什么?
procedure TForm3.Button1Click(Sender: TObject);
begin
self.StaticText1.Caption:=log.conuser;
end;

解决方案 »

  1.   


    StaticText1.Caption:=log.conuser;
    移到 窗体的 OnShow事件中去。在FormCreate中最好做初始化,变量之类的初始化,而不是“界面”的初始化。
    要做“界面显示”相关的操作,最好在 OnShow中写代码!好象近几天有几个朋友都问到这类问题了,呵呵
      

  2.   

    应该不是自动创建的窗体,在TForm3.FormCreate时,TForm1.Button1Click尚未执行。若是这样,则让TForm3动态去创建,而不要程序自动创建
      

  3.   

    谢谢楼上的回答!
    我修改了一下onactivate事件,把他的事件写成了FormCreate,也显示出来了