![]() |
SplashScreen erst nach Button ausblenden und Anwendung start
Hallo. Ich habe einen SplashScreen. Dieser soll aber erst nach nach einen gewissen Zeitpunkt sich schließen (ca. 10 sec) und dann auch nur über einen OK Button. Erst dann soll das Hauptprogramm gestartet werden. Doch leider ploppt der Splashscreen selbst für mich kaum sichtbar (und ich weiß, das es ihn gibt) auf und ist dann verschwunden. Dieser scheint auch erst auf zu ploppen, wenn die Hauptform onScreen ist.
Grund: Der Lizenzgeber erlaubt die freie Nutzung der Daten, jedoch nur mit einen gut Sichtbaren CopyRight. Als Beispiel wird ein Ginweiß auf einen SplashScreen genannt. Hier meine Startroutine:
Delphi-Quellcode:
Und hier mein SplashScreen.OnShow
// SplashScreen Fenster erstellen
SplashScreenForm := tSplashScreenForm.Create (Application); SplashScreenForm.Show; SplashScreenForm.Update; // SplashScreen Fenster anzeigen Application.Initialize; Application.CreateForm(TMainForm, MainForm); Application.CreateForm(TAboutBox, AboutBox); // SplashScreen Fenster ausbelenden SplashScreenForm.Hide; SplashScreenForm.Release; // SplashScreen Fenster freigeben Application.Run;
Delphi-Quellcode:
procedure TSplashScreenForm.FormShow(Sender: TObject);
var s : string; begin inherited; GetDir(0, s); Label1.Caption:= 'Suche nach Unterverzeichnissen'; s := s + '\Data'; if DirectoryExists(s) = false then mkdir('\data'); s:= s+'\'; Label1.Caption := 'Unterverzeichnisse gefunden.'; if FileExists(s+'Namen.tdt') then begin Label1.Caption := 'Lade Datenbank: Namen'; NamenList := TMyObjectList.Create; NamenList.LoadFromFile(s+'Namen.tdt'); end else begin Label1.Caption := 'Erstelle Datenbank: Namen'; NamenList := TMyObjectList.Create; NamenList.SaveToFile(s+'Namen.tdt'); end; end; |
Re: SplashScreen erst nach Button ausblenden und Anwendung s
|
Re: SplashScreen erst nach Button ausblenden und Anwendung s
dann mach anstelle von
Delphi-Quellcode:
einfach
SplashScreenForm.Show;
Delphi-Quellcode:
und auf das SplashForm packst du einen Timer der den Schließen Button erst nach 10 Sekunden enabled
SplashScreenForm.ShowModal;
|
Re: SplashScreen erst nach Button ausblenden und Anwendung s
Delphi-Quellcode:
Das war auch ursprünglich mein gedanke, aber ich bekomme immer einen Laufzeitfehler.
SplashScreenForm.ShowModal;
Edit: Aus eienn sichbaren Fenster kann kein Modales gemacht werden, oder so ähnlich kommt da immer |
Re: SplashScreen erst nach Button ausblenden und Anwendung s
das liegt dann wohl daran das das fenster zu dem Zeitpunkt schon sichtbar ist. Also solltest du das Property Visible auf False setzen (im Objectinspektor). Wenn der Fehler dann trotzdem noch ist musst du visible eben auf False setzen, danach am besten noch ein Application.ProcessMessages und dann sollte ShowModal auch funktionieren
|
Re: SplashScreen erst nach Button ausblenden und Anwendung s
Danke. Das funzt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 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 by Thomas Breitkreuz