AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Tutorial: Splash Screens
Tutorial durchsuchen
Ansicht
Themen-Optionen

Tutorial: Splash Screens

Ein Tutorial von sakura · begonnen am 9. Sep 2003 · letzter Beitrag vom 31. Jan 2009
 
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.413 Beiträge
 
Delphi 12 Athens
 
#4

Re: Tutorial: Splash Screens

  Alt 9. Sep 2003, 12:58
Das Splash laden und schließen

Ab hier ist der Vorgang wieder für beide Methoden identisch. In das Splash-Formular sollte jetzt noch das OnClose-Ereignis behandelt werden. Damit wir uns nicht um die Resourcen und den Speicherverbrauch sorgen müssen, reichen folgende Zeilen.

Delphi-Quellcode:
procedure TfrmSplash.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
  frmSplash := nil;
end;
Damit wird dem Formular mitgeteilt, daß es sich selbst zerstören soll. Außerdem setzen wir noch die globale Formvariable wieder auf nil (just in case...).

Die Anwendung selbst

Wenn Ihr jetzt mal das Code-Fenster der Anwendung ladet, dann seht ihr am Ende folgenden Code

Code:
begin
  Application.Initialize;
  Application.CreateForm(TfrmMain, frmMain);
  [color=#0000FF]Application.CreateForm(TfrmSplash, frmSplash);[/color]
  Application.Run;
end.
Die blau dargestellte Zeile ist unter Umständen nicht vorhanden. Das hängt von Euren Einstellungen ab. Sollte diese da sein, einfach löschen!

Genug der Vorworte. Lasst es uns tun. Hier die Theorie, unten die Implementierung. Wir müssen dazu den Startablauf unseres Programmes ein wenig manipulieren. Als erstes müssen wir das Splash-Form erstellen, aber so, daß die Anwendung dieses nicht als Hauptformular erkennt. Ansonsten würde die Anwendung sich schließen, sobald das Splash-Form freigegeben wird

Anschließend müssen wir das Splash-Form dazu bringen sich darzustellen und es "zwingen" sich neu zu zeichnen, ansonsten wird es wohl nur ein graues Rechteck zu sehen geben.

Jetzt wird die Anwedung gestartet und sämtliche Formulare und Datenmodule geladen. Abschließend setzen wir die Eigenschaft frmSplash.InitializationDone auf True und überlassen die Anwendung dem Benutzer.

Delphi-Quellcode:
begin
  frmSplash := TfrmSplash.Create(Application);
  try
    frmSplash.Show;
    frmSplash.Refresh;
    Application.Initialize;
    Application.CreateForm(TfrmMain, frmMain);
    // (1)
    // weitere Formulare und Datenmodule hier her verschieben (siehe 2)
  finally
    frmSplash.InitializationDone := True;
  end;
  // (2)
  // Standardmäßig erstellte Formulare wird Delphi hier eintragen
  // nach (1) verschieben !!!
  Application.Run;
end.
Fertig!

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
 


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 06:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz