AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[XE4] Themes, Splashscreen

Ein Thema von 4dk2 · begonnen am 27. Nov 2015 · letzter Beitrag vom 30. Nov 2015
Antwort Antwort
Perlsau
(Gast)

n/a Beiträge
 
#1

AW: [XE4] Themes, Splashscreen

  Alt 27. Nov 2015, 08:44
Da würde ich gerne nen splashscreen einblenden, und das Formular solange verstecken. Schonmal jemand gemacht?
Ja, hier, ich, sogar schon öfters. Was ist dein Problem dabei?
  Mit Zitat antworten Zitat
4dk2

Registriert seit: 4. Sep 2007
176 Beiträge
 
#2

AW: [XE4] Themes, Splashscreen

  Alt 27. Nov 2015, 11:23
Hey Perlsau,
ich hab noch nen bisl getestet, und da alle Komponenten auf einem Panel sind, bzw das als backgroundpanel dient, hab ich folgendes gemacht:

Delphi-Quellcode:
//im create
..
pbBack.visible := false;
..

//bei nem button dann:
pbBack.visible := true;
//und die zeit gemessen. 3,5 sekunden braucht des !
//beim nem erzwungen repaint danach, braucht er nur noch 600 ms
Kann ich irgendwie bei dem unsichtbaren panel/komponente einen repaint erzwingen, obwohl es nicht sichtbar ist? repaint update usw hab ich schon durch, das erste Visible= true dauert trotzdem so lange, und man sieht wie er die elemente zeichnet. (denke das repaint visible oder ähnliches abfragt)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#3

AW: [XE4] Themes, Splashscreen

  Alt 27. Nov 2015, 11:40
Du fragtest doch nach einem Splash-Sreen, nicht wahr? Das, was du da machst, ist kein Splash-Screen. Ein Splash-Screen ist ein Formular mit einem ansprechenden Äußeren, auf dem z.B. zu lesen steht: "Bitte warten ... Ihre Anwendung wird initialisiert ..." oder irgendwas derartiges. Dieses Formular rufst du als erstes in der Projekt-Quelldatei auf. Ich verwende die Splash-Screens meist auch gleichzeitig als Info-Screen, deshalb gebe ich sie nicht frei, nachdem das Programm vollständig initialisiert wurde. Ansonsten kannst du dieses Splash-Formular auch gleich nach dem Durchlauf von OnShow deines Hauptformulars freigeben. Zudem findest du hier, wenn du mal die Forensuche bemühst, zahlreiche Diskussionen zum Thema.

Delphi-Quellcode:
program Project1;

uses
...
begin
  FormSplash := TFormSplash.Create(Application);
  FormSplash.Show;
  FormSplash.Update;
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.Title := 'Soundso-Anwendung vS.x by PC-Heil';
  Application.CreateForm(TFormMain, FormMain);
...
end.

UNIT UnitMain;
...
Procedure TFormMain.FormShow(Sender: TObject);
begin
  ...
  FormSplash.Hide; // wenn du's noch als Info-Screen benötigst oder:
  FormSplash.Free; // ganz rausschmeißen
end;
...
end.
  Mit Zitat antworten Zitat
4dk2

Registriert seit: 4. Sep 2007
176 Beiträge
 
#4

AW: [XE4] Themes, Splashscreen

  Alt 28. Nov 2015, 06:09
Naja es hat aber ja mit splashscreen zu tun, weil solange er nicht fertig ist mit allem würd ichs anzeigen . wie ein splash form usw funktioniert weiss ich und ist nicht das problem.

Mein muss doch möglich sein das ding zeichnen zu lassen ohne das es sichtbar ist oder ? (Also das es denkt es wäre sichtbar)
ich glaub ich guck mal in die Winapi...
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: [XE4] Themes, Splashscreen

  Alt 28. Nov 2015, 07:06
Guten Morgen

Naja es hat aber ja mit splashscreen zu tun, weil solange er nicht fertig ist mit allem würd ichs anzeigen . wie ein splash form usw funktioniert weiss ich und ist nicht das problem.
Nicht wirklich

Mein muss doch möglich sein das ding zeichnen zu lassen ohne das es sichtbar ist oder ? (Also das es denkt es wäre sichtbar)
ich glaub ich guck mal in die Winapi...
Du möchtest also auf einem Panel, das auf deinem Haupt-Formular liegt, was zeichnen, um das verzögerte Zeichnen auf eben diesem Formular zu verbergen? Klingt irgendwie seltsam, findest du nicht? Jetzt stell es dir doch mal bildlich-chronologisch vor:

In deinem Mainformular hast du gewisse Aktionen beim OnCreate, OnActivate und/oder OnShow am Laufen. Diese Aktionen bewirken, daß das Formular nur sehr zögerlich gezeichnet wird. Das möchtest du nun gerne verbergen. Verständlich. Ergo erzeugst du vor dem Mainformular ein anderes, nämlich dein Splashformular, das diese Aktionen nicht beinhaltet und daher noch vor dem Mainformular flott gezeichnet wird. Erst danach erzeugst du dein Mainformular, und zwar verdeckt durch das Splashformular. Alles andere macht in meinen Augen absolut keinen Sinn. Und sinnvoll sollte das, was du programmierst, doch wohl sein, zumindest ein wenig, oder ...?

Soweit alles gut rübergekommen?
  Mit Zitat antworten Zitat
4dk2

Registriert seit: 4. Sep 2007
176 Beiträge
 
#6

AW: [XE4] Themes, Splashscreen

  Alt 28. Nov 2015, 07:17
Ja so ungefähr XD



1. Splash Form Create/show
2. Normale Forms Create
3. Main Form Show
4. Panel visible = true
5. Main form erst jetzt sichtbar
6. Splashform hide.


Klar man kann einfach das Splashform drüber legen, aber das halte ich dann wiederum für nicht sinnvoll bzw. ne krücke.
Und da mein Mainform maximiert ist, wär das splashform dann auch auf dem ganzen screen XD.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#7

AW: [XE4] Themes, Splashscreen

  Alt 28. Nov 2015, 07:26
Klar man kann einfach das Splashform drüber legen, aber das halte ich dann wiederum für nicht sinnvoll bzw. ne krücke.
Wieso Krücke? Das ist die Art & Weise, wie Splashscreens gewöhnlich realisiert werden.

Und da mein Mainform maximiert ist, wär das splashform dann auch auf dem ganzen screen XD.
Du hast es offenbar noch immer nicht verstanden: Wenn es möglich wäre, das Zeichnen der Mainform flott zu organisieren, so daß die Aktionen in den Startmethoden keine Verzögerungen bewirken, bräuchtest du doch gar keinen Splash-Screen, um dieses verzögerte Zeichnen zu verbergern. Kannst du mir soweit folgen? Und weil das eben nicht möglich ist, setzt man zu diesem Zweck ein extra Formular ein. Natürlich kannst du weiterhin versuchen, das Zeichnen der Mainform doch noch zu beschleunigen, ich wünsche dir viel Spaß dabei und klinke mich jetzt hier aus.
  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 21:12 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