问问?我用application.MainForm得到主窗体,单application.MainForm.后什么都没有,我在主窗体的public 里面有放了变量,但是怎么看不见。不知怎么操作呢?

解决方案 »

  1.   

    你可以这样,Tform1是你的主窗体,x为公共变量
    因为你的application.MainForm 是tform型不是tform1型,只能转化一下
    (application.MainForm as Tform1).x
      

  2.   


    这是mainform在Tapplication中的赋值红色部分。你应该能看懂mainform为Tform型,并不是你的主窗体的类型,(Tform1或者Tformmain等),你的公共变量并不是tform的变量。而是Tform1的变量,所以你要用就象我说那样用procedure TApplication.CreateForm(InstanceClass: TComponentClass; var Reference);
    var
      Instance: TComponent;
    begin
      Instance := TComponent(InstanceClass.NewInstance);
      TComponent(Reference) := Instance;
      try
        Instance.Create(Self);
      except
        TComponent(Reference) := nil;
        raise;
      end;
      if (FMainForm = nil) and (Instance is TForm) then
      begin
        TForm(Instance).HandleNeeded;
        FMainForm := TForm(Instance);
      end;
    end;