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:
// 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;
Und hier mein SplashScreen.OnShow
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;