AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi animierter Splashscreen mit mehreren Timern für Animation
Thema durchsuchen
Ansicht
Themen-Optionen

animierter Splashscreen mit mehreren Timern für Animation

Ein Thema von PAX · begonnen am 6. Mär 2006 · letzter Beitrag vom 9. Mär 2006
Antwort Antwort
Benutzerbild von PAX
PAX

Registriert seit: 22. Jun 2003
Ort: Karlsruhe
88 Beiträge
 
Delphi 7 Personal
 
#1

animierter Splashscreen mit mehreren Timern für Animation

  Alt 6. Mär 2006, 18:38
nabend freunde!

ich verwende in meinem programm beim start einen splash-screen, welchen ich ein bisschen animiert habe. dafür brauchte ich mehrere timer. leider musste ich feststellen, dass wenn ich diesen splash einbaue, die ontimer-ereignisse nicht anspringen. ich hab gehört, dass dies erst ab application.run möglich sein soll?

nagut. dann bräuchte ich eine alternative variante, den splash zu realisieren.

ich danke euch schon mal, für eure hilfe!
viva los tioz!


hier der code:
Delphi-Quellcode:
program Project1;

uses
  Forms, SysUtils,
  Unit1 in 'Unit1.pas{Form1},
  Siegel1 in 'Siegel\Siegel1.pas{Siegel},
  Splash1 in 'Splash\Splash1.pas{Form23z};
{$R *.res}

begin
// Produktsiegel (dieser Splash ist animiert)
 Application.Title := 'Produktsiegel';
 Siegel := TSiegel.Create(Application);
 Siegel.Show;
 Application.Initialize;
 Siegel.Update;
  Sleep(1500);
 Siegel.Hide;
// Splash Screen (und der Bursche hier nicht) (also einfach nur ein Bild)
 Application.Title := 'Splash Screen';
 Form23z := TForm23z.Create(Application);
 Form23z.Show;
 Application.Initialize;
 Form23z.Update;
  Sleep(1500);
 Form23z.Hide;

// Hauptprogramm
 Application.CreateForm(TForm1, Form1);
  Siegel.Free; Form23z.Free;
 Application.Title := 'Fleissnerin'' with Fleissnerer';
 Application.Run;
end.


PAX
Andreas
"Wenn man irgendwann mal von allen akzeptiert wird, dann weiß man, dass man irgendwas falsch gemacht hat." Zitat: Herr Weidner

  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: animierter Splashscreen mit mehreren Timern für Animatio

  Alt 6. Mär 2006, 19:47
Hi,
ich weiß nicht wirklich wie deine Animationen ablaufen, aber dir ist sicherlich klar, dass ein sleep den gesamten Prozess schlafen legt? Das heißt natürlich auch, dass Timer (die gehören imho zum Hauptthread) nie ein Ereignis auslösen können. Wenn du auf etwas bestimmtes warten willst, solltest du dafür lieber etwas wie Delay nehmen (gibt hier in der DP irgendwo eine hübsche Implementierung).

Die andere Sache ist, warum die Projektdatei editieren? Du kannst dir auch einfach ein eigenes Formular schaffen, dass für die Verwaltung zuständig ist. Dieses kann die beiden Splashscreens nacheinander öffnen und dann ein drittes, vierstes, x-tes Fenster. Kannst natürlich auch das normale Hauptformular solange unsichtbar machen, wie du andere Fenster anzeigst.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von PAX
PAX

Registriert seit: 22. Jun 2003
Ort: Karlsruhe
88 Beiträge
 
Delphi 7 Personal
 
#3

Re: animierter Splashscreen mit mehreren Timern für Animatio

  Alt 7. Mär 2006, 18:51
also lags am sleep? ich würde diese gesamte splashscreensache nur in die eigentliche applikation einbauen (oder noch ein extraformular), wenns garnicht mehr anders geht.
ich wollte nun eigentlich testen, ob es am sleep-befehl lag und habe die delayprozedur geschrieben (in der projektdatei) und sleep ersetzt. leider war ein test nicht möglich, da der compiler anscheinend, gettickcount angeblich noch nie gesehen hat (in der formular-unit kennt ers wieder). was isn nun los? fehlt die deklaration einer unit? welche?

Andreas
"Wenn man irgendwann mal von allen akzeptiert wird, dann weiß man, dass man irgendwas falsch gemacht hat." Zitat: Herr Weidner

  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

Re: animierter Splashscreen mit mehreren Timern für Animatio

  Alt 7. Mär 2006, 20:41
In der Uses-Klausel die Unit Windows mit aufnehmen.

Delphi-Quellcode:
program Project1;

uses
  Forms,
  Windows, // <---<<<
  Unit1 in 'Unit1.pas{Form1};

{$R *.res}

begin
  //...
  Application.Initialize;
  //...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von PAX
PAX

Registriert seit: 22. Jun 2003
Ort: Karlsruhe
88 Beiträge
 
Delphi 7 Personal
 
#5

Re: animierter Splashscreen mit mehreren Timern für Animatio

  Alt 7. Mär 2006, 21:15
dankeschön!

eine frage noch:

da ich im animierten splash timer benutze, kann es sein, dass auf älteren rechnern die zeiten nicht ganz stimmen und das delay bei ihnen zu kurz angesetzt ist? weil, während das delay läuft, spielen sich gerade auch die animationen ab. ich habe angst, dass es passieren kann, dass die zeiten mal, aus welchem grund auch immer (existiert einer?), nicht ganz passen könnten...
Andreas
"Wenn man irgendwann mal von allen akzeptiert wird, dann weiß man, dass man irgendwas falsch gemacht hat." Zitat: Herr Weidner

  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: animierter Splashscreen mit mehreren Timern für Animatio

  Alt 7. Mär 2006, 21:31
das delay sorgt doch nur dafür das windowsbotschaften verarbeitet werden. Die Timerevents sollten also bei ordentlicher delay-implementierung auch überall gleich aufgerufen werden.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von PAX
PAX

Registriert seit: 22. Jun 2003
Ort: Karlsruhe
88 Beiträge
 
Delphi 7 Personal
 
#7

Re: animierter Splashscreen mit mehreren Timern für Animatio

  Alt 8. Mär 2006, 06:24
is praktisch also ohne bedenken einzusetzen in dieser form? denn, die zeit im delay is so angesetzt, dass zum einen die ganzen timer ablaufen können (starten zu unterschiedlichen zeiten, hören zu unterschiedlichen zeiten auf, laufen unterschiedlich lang) und zum anderen, nach dem alle timer fertig sind, der splash noch eine weile verharrt. ?

und was is dieses GetTickCount eigentlich? es startet ja nciht bei 0... wie generiert er seinen wert?


danke für eure hilfe!
Andreas
"Wenn man irgendwann mal von allen akzeptiert wird, dann weiß man, dass man irgendwas falsch gemacht hat." Zitat: Herr Weidner

  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#8

Re: animierter Splashscreen mit mehreren Timern für Animatio

  Alt 8. Mär 2006, 08:24
Zitat von PAX:
und was is dieses GetTickCount eigentlich? es startet ja nciht bei 0... wie generiert er seinen wert?
Tja, ein Blick in die (Windows-SDK-) Hilfe ist manchmal ganz aufschlussreich (die findest du normal auch in deinem Hilfe-Menu in Delphi), da steht dazu:

"The GetTickCount function retrieves the number of milliseconds that have elapsed since Windows was started."
  Mit Zitat antworten Zitat
Benutzerbild von PAX
PAX

Registriert seit: 22. Jun 2003
Ort: Karlsruhe
88 Beiträge
 
Delphi 7 Personal
 
#9

Re: animierter Splashscreen mit mehreren Timern für Animatio

  Alt 9. Mär 2006, 09:41
wie weit weicht denn die timer-komponente ab? und wann tut sie das?

und noch was:
Zitat:
Achtung: Die maximale Anzahl der Zeitgeber ist systemabhängig.
kennt jemand genauere werte, wieviel wo möglicht sind?
Andreas
"Wenn man irgendwann mal von allen akzeptiert wird, dann weiß man, dass man irgendwas falsch gemacht hat." Zitat: Herr Weidner

  Mit Zitat antworten Zitat
Benutzerbild von PAX
PAX

Registriert seit: 22. Jun 2003
Ort: Karlsruhe
88 Beiträge
 
Delphi 7 Personal
 
#10

Re: animierter Splashscreen mit mehreren Timern für Animatio

  Alt 9. Mär 2006, 16:53
kennt keiner eine antwort, oder mögt ihr mich einfach nicht, weil ich so dumm bin ?
Andreas
"Wenn man irgendwann mal von allen akzeptiert wird, dann weiß man, dass man irgendwas falsch gemacht hat." Zitat: Herr Weidner

  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 07:45 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