AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Showmodal - modalresult

Ein Thema von youuu · begonnen am 11. Jul 2009 · letzter Beitrag vom 11. Jul 2009
Antwort Antwort
Seite 1 von 2  1 2      
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#1

Showmodal - modalresult

  Alt 11. Jul 2009, 17:09
Hi,

ich möchte gern ein Login realisieren, wie mach ich das am besten?

Ich hatte gedacht es am besten so zurealisieren:

Login Form anzeigen --> eingabe ok --> login Form schließen --> Main Form öffnen.

Wenn ich dies aber so realisier, wird unten in der Taskleiste mein Programm nicht mehr angezeigt, da das Login Fenster als Hauptanwendungs-Fenster deklariert ist und mit Hide verschwindet.

Wie kann ich dies besser per Showmodal realisieren?

Häng grad fest.
Steven
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Showmodal - modelresult

  Alt 11. Jul 2009, 17:16
Erzeuge dein Login-Form im OnCreate des Hauptformulars.
Und bei fehlerhaften Login beende das Hauptformular mit PostMessage(self.Handle, WM_CLOSE, 0, 0);
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.586 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Showmodal - modelresult

  Alt 11. Jul 2009, 17:20
Man kann das Loginformular auch einfach im Projektquelltext erzeugen. Dann spart man sich die Verrenkung mit der Message und auch gleich das Erzeugen des Hauptfensters, wenn der Login nicht erfolgreich war.

Man darf das Loginfenster nur nicht mit Application.CreateForm erzeugen, sondern muss ganz normal den Konstruktor benutzen, dann geht das...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Showmodal - modelresult

  Alt 11. Jul 2009, 17:22
Zitat von Bernhard Geyer:
Erzeuge dein Login-Form im OnCreate des Hauptformulars.
Und bei fehlerhaften Login beende das Hauptformular mit PostMessage(self.Handle, WM_CLOSE, 0, 0);
Problem dabei ist das ich im Main Form etwas im OnShow Event habe und das Ereignis darf vor dem Login einfach nicht auftreten.
Steven
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.586 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Showmodal - modelresult

  Alt 11. Jul 2009, 17:28
OnCreate wird vor OnShow ausgelöst. Das heißt du könntest an der Stelle auch einfach ein Flag setzen, ob das ausgeführt werden soll.

Aber das ist wie gesagt alles gar nicht notwendig, erzeuge das Hauptformular einfach gar nicht erst, wenn der Login nicht erfolgreich war.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Showmodal - modelresult

  Alt 11. Jul 2009, 17:34
Zitat von jaenicke:
OnCreate wird vor OnShow ausgelöst. Das heißt du könntest an der Stelle auch einfach ein Flag setzen, ob das ausgeführt werden soll.

Aber das ist wie gesagt alles gar nicht notwendig, erzeuge das Hauptformular einfach gar nicht erst, wenn der Login nicht erfolgreich war.
Kannst du mir ein Beispiel geben, habe da mit noch gar keine Erfahrung.
Steven
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.586 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Showmodal - modelresult

  Alt 11. Jul 2009, 17:37
Naja, wie ich geschrieben habe...
Delphi-Quellcode:
  Application.Initialize;
  frmLogin := TfrmLogin.Create(nil);
  try
    if (frmLogin.ShowModal <> mrOk) or (frmLogin.UserName <> 'Test') then
      Exit;
  finally
    frmLogin.Free;
  end;
  Application.CreateForm(TfrmMain, frmMain);
  Application.Run;
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Showmodal - modelresult

  Alt 11. Jul 2009, 17:39
âh danke
Steven
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.586 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Showmodal - modelresult

  Alt 11. Jul 2009, 17:40
Ich habe gerade noch die Freigabe des Formularobjekts hinzugefügt, das hatte ich eben vergessen.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Showmodal - modelresult

  Alt 11. Jul 2009, 18:10
Delphi-Quellcode:
  Application.Initialize;
  FormLogin := Application.Initialize;
  FormLogin := FormLogin.Create(nil);
  try
    if Login_exist then
      Exit;
  finally
    FormLogin.Free;
  end;
  Application.CreateForm(TFormMain, FormMain);
  Application.CreateForm(TFormKunden, FormKunden);
  Application.CreateForm(TFormPosition, FormPosition);
  Application.Run;
Edit ok hab

FormLogin.Create(nil); in
TFormLogin.Create(nil); geändert dummer Fehler meinerseits, allerdings wenn ich nun starte, wird trotzdem wieder FormMain.Show gestartet und ich krieg logischerweise eine Fehlermeldung, da meine Objekte alle noch af nil stehen.

Jedoch sollte das Ereignis FormShow des Hauptformulars noch warten bis der Login erfolgreich war.
Steven
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz