AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Loginform soll geschlossen werden bevor MainForm erscheint
Thema durchsuchen
Ansicht
Themen-Optionen

Loginform soll geschlossen werden bevor MainForm erscheint

Ein Thema von Mackhack · begonnen am 25. Sep 2006 · letzter Beitrag vom 26. Sep 2006
Antwort Antwort
Seite 4 von 4   « Erste     234   
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#31

Re: Loginform soll geschlossen werden bevor MainForm erschei

  Alt 26. Sep 2006, 08:40
Hi all,

auch mir missfällt das Abändern des Projekt-Quelltextes. Mir missfällt aber auch so ziemlich jede andere Restriktion. Bei Datenbankanwendungen gibt es einen sehr komfortablen Ansatz, der lediglich die automatische Erzeugung des Hauptdatenmoduls vor allen anderen Datenmodulen und Formularen erfordert. Im Ereignis OnCreate() werden dort zuerst die user credentials entgegengenommen. Scheitert der Verbindungsaufbau mit diesen Angaben, dann kann die Anwendung einfach verlassen werden.

Delphi-Quellcode:
procedure HaltApplication(msg: String);
begin
  if msg <> 'then
    ShowMessage(msg); // shutdown reason
  with Application do
  begin
    Terminate; // walk the TermProc chain
    Free; // free resources
    Halt; // shut down
  end;
end;

procedure TDM.DataModuleCreate(Sender: TObject);
var
  userName, passWord, roleName: String;
  canceled: Boolean;
begin
  with TLoginForm.Create(nil) do
  begin
    canceled := not Execute();
    Free;
  end;

  if canceled then
    HaltApplication('');

  Connection.ConnectionString := GetConnectionString(userName, passWord, roleName);

  try
    Connection.Connected := True;
  except
    on E: Exception do
      HaltApplication(E.message);
  end;

  // ...
end;
In allen anderen Fällen hat sich bei mir das Einklinken in die InitProc bewährt.

Grüße vom marabu
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#32

Re: Loginform soll geschlossen werden bevor MainForm erschei

  Alt 26. Sep 2006, 09:06
Hallo,

also ich finde, das "Rumwurschteln im Projekt-Quellcode" am einfachsten.
Allerdings steht in meiner DPR nur 1 Zeile

DoStart; naja, program bla; uses unit_Start; usw.

und die Unit Start enthält dann halt

Delphi-Quellcode:
unit_Start;

bla

procedure DoStart;
begin
  Application.Initialize;

  if not ExcecuteFormLogin32(Application) then Exit;

  Application.CreateForm(TForm_MainZES, Form_MainZES);
  Application.Run;
end;

Heiko
Heiko
  Mit Zitat antworten Zitat
moonwhaler

Registriert seit: 22. Dez 2005
57 Beiträge
 
Delphi 5 Enterprise
 
#33

Re: Loginform soll geschlossen werden bevor MainForm erschei

  Alt 26. Sep 2006, 10:08
Zugegeben: Den Projektquelltext für diesen Zweck zu modifizieren mag dem ein oder anderen nicht gefallen, für mich persönlich ist es eine elegante und absolut fehlerfreie Möglichkeit vor Ausführung von egal-was-auch-immer diverse Einstellungen und Abfragen vorzunehmen. Probleme hatte ich damit bisher nie und diese Art von Programmierung nutze ich jetzt seit Delphi 5 und aufwärts ohne jemals damit auf die Nase zu fallen.

Letztlich ist das natürlich Geschmackssache, denn jeder hat so seine Eigenarten und Vorstellungen, wenn es ums Programmieren geht. Viele Wege führen nach Rom.

In diesem Sinne.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


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 22:55 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