AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi eine frage zu splash screen
Thema durchsuchen
Ansicht
Themen-Optionen

eine frage zu splash screen

Ein Thema von chrys · begonnen am 28. Jan 2003 · letzter Beitrag vom 28. Jan 2003
Antwort Antwort
chrys

Registriert seit: 21. Jan 2003
Ort: Italien
34 Beiträge
 
Delphi 6 Personal
 
#1

eine frage zu splash screen

  Alt 28. Jan 2003, 22:05
hallo ich moechte gerne eine sagen wir mal FORM2 als splashscreen laden

ich will das wenn das programm startet zuerst das splashscreen startet und ein fullscreen movie ablaeuft... wenn dann der film fertig ist sollte der splash screen verschwienden und die form1 geladen werden ...

hat jemand eine ahung wie man das macht ???
  Mit Zitat antworten Zitat
Brüggendiek

Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
 
Delphi 5 Standard
 
#2
  Alt 28. Jan 2003, 22:33
Hallo Chrys!

Eine gute Möglichkeit ist das OnPaint-Ereignis des Hauptformulars.

Delphi-Quellcode:
procedure tForm1.BildAusgabe(Sender: Tobject);
begin
  Self.Hide;

  SplashAnzeigen;

  Self.Show
  OnPaint := nil; //darf nur einmal aufgerufen werden, deshalb löschen
end;
Dann wird einmal beim Zeichnen des Hauptformulars die Prozedur SplashAnzeigen aufgerufen.

In der Unit2 schreibst Du zunächst wie gewohnt das Formular und den ganzen Anzeige-Bedarf. Wichtig: Wenn der Film abgelaufen ist, muß ModalResult gesetzt werden, z.B. auf mrOk (ist nicht wichtig, welcher Wert, nur ungleich mrNone!). Dann brauchst Du noch eine Prozedur. In den Implementations-Teil der Unit (vor, zwischen oder hinter die Klassen-Funktionen) schreibst Du:
Delphi-Quellcode:
procedure SplashAnzeigen;
var Form2: tForm2;
begin
  Application.Createform(tForm2, Form2);
  try
    Form2.ShowModal;
  finally
    Form2.Free;
  end;
end;
und kopierts die erste Zeile zusätzlich in den Interface-Abschnitt der Unit. Die unit2 im Implementation-Abschnitt der Unit1 in die USES-Liste einbinden und natürlich das automatische Erzeugen von Form2 abschalten (alle Formulare im Speicher kostet unnötig RAM - und Dein Vorhaben scheint groß zu werden).

Nebenbei: ICH benenne meine Sachen immer aussagekräftig um - nicht tForm1, sondern tHauptBild, nicht tForm2, sondern tSplash etc!

Theoretisch kann man auch den Code der Aufruf-Prozedur direkt in die aufrufende Routine schreiben, aber wenn man etwas mehrmals aufruft, schreibt man den Aufruf mit Bild erzeugen/aufrufen/freigeben mehrmals. Deshalb habe ich in Formular-Units immer den Aufruf des Formulars mit drin.

Gruß

Dietmar Brüggendiek
Dietmar Brüggendiek
  Mit Zitat antworten Zitat
chrys

Registriert seit: 21. Jan 2003
Ort: Italien
34 Beiträge
 
Delphi 6 Personal
 
#3
  Alt 28. Jan 2003, 23:42
sorry aber ich schnall das nicht .... bin warscheinlich schon ein wenig zu muede ..... hmmm
  Mit Zitat antworten Zitat
Brüggendiek

Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
 
Delphi 5 Standard
 
#4
  Alt 28. Jan 2003, 23:53
Hallo Chrys!

Wenn Du Fragen hast, nur her damit. Leider kann ich Deinen Kenntnisstand nicht abschätzen, so daß ich das vielleicht etwas zu kompliziert erklärt habe.

Die von mir geposteten Codes laufen (mit kleinen Anpassungen) so bei einem meiner Programme. Allerdings verzieht sich Programm neben die Uhr - der Splash-Screen ist ein einfaches Bild und wird schlicht über einen Timer beendet.

Gruß

Dietmar Brüggendiek
Dietmar Brüggendiek
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:57 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