Jump to content
uniGUI Discussion Forums
Sign in to follow this  
multimesut

MainForm 2 Kere Create Oluyor

Recommended Posts

Merhaba,

 

 

Yeni bir proje açıp sadece LoginForm ekliyorum. Aşağıdaki gibi basit bir kullanımda MainForm 2 kere create oluyor. Örnek için basit kod yaptım. Aslında login durumlarına göre yetkili formu create edip main içerisine basıyorum. "tKullanici.Parent:=Main.MainForm;". Değişkenlerine eriştiğim zaman create oluyor. Birde login form kapatırken create ediyor. Zaten Create edildi ise birdaha create edilmemesi lazım. Bir bug gibi geldi bana. Kullandığım sürüm "1.0.0.1420".

 

Teşekkürler..

 

 

procedure TUniLoginForm1.btnLoginClick(Sender: TObject);

begin

main.MainForm.UniEdit1.Text:='Merhaba';

ModalResult:=mrOK;

end;

Share this post


Link to post
Share on other sites

Hi,

 

You should use like in this demo example:

\FMSoft\Framework\uniGUI\Demos\Desktop\LoginForm
type
  TUniMainModule = class(TUniGUIMainModule)
  private
    { Private declarations }
  public
    { Public declarations }
    AUserName : string;
  end;
procedure TUniLoginForm1.UniButton1Click(Sender: TObject);
begin
  UniMainModule.AUserName := 'This User'; //<----------
  ModalResult:=mrOK;  
end;
procedure TMainForm.UniFormShow(Sender: TObject);
begin
  UniLabel1.Caption := UniMainModule.AUserName;
end;

Share this post


Link to post
Share on other sites

Thanks #Delphi Developer. But "Parent" Same Problem.

tKullanici:=FrmKullanici.TKullaniciFrm.Create(UniApplication);
tKullanici.Parent:=Main.MainForm;

Share this post


Link to post
Share on other sites

Çözümü aşağıdaki gibi buldum. Fix it;

procedure TMainForm.UniFormShow(Sender: TObject);
begin
if TMainForm(Sender).Name<>'MainForm' then
  begin
  UniMainModule.UnRegisterFormInstance(TMainForm(Sender));
  UniMainModule.RegisterFormInstance(MainForm);
  Hide;
  end;
end;

Share this post


Link to post
Share on other sites

Tüm ortak verilerim MainModule de. Fakat UniGUI de tek bir MainForm Page olabildiği için diğer sayfalarımı MainForm a Parent kullanıyorum (tFirma.Parent:=Main.MainForm;). Hal böyle oluncada MAIN e dokunmak gerekiyor. Aslında UniGUI sadece tek bir MainForm Page olarak tasarlanmış, ikinci MainForm i create etmemesi gerek.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×