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

Merhaba,

 

LoginForm'un içinden MainForm'a ulaşmaya asla çalışmayın. Sorunun kaynağı budur.

Ortak verilerinizi MainModule'de saklayın.

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  

×