AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi SplashScreen / Timer / Messages ohne Fenster
Thema durchsuchen
Ansicht
Themen-Optionen

SplashScreen / Timer / Messages ohne Fenster

Ein Thema von rantanplan · begonnen am 8. Jan 2004 · letzter Beitrag vom 1. Jul 2005
Antwort Antwort
rantanplan

Registriert seit: 8. Jan 2004
3 Beiträge
 
#1

SplashScreen / Timer / Messages ohne Fenster

  Alt 8. Jan 2004, 13:33
Hallo !

Ist es möglich einem Objekt, welches kein Fenster hat, eine Nachricht zu schicken ??

Ich möchte einen SplashScreen für eine Anwendung einblenden, die verschiedene DLLs linkt und andere Sachen initialisiert.
Bevor Application.Run ausgeführt wird, verarbeite ich noch andere Sachen, die unabhängig von der SplashScreen-Initialisierung sind (nebenläufig sozusagen)
Jetzt will ich aber nach Bedarf mit oder ohne SplashScreen starten.

Was funktioniert hat: ein TForm (=SplashScreen) hat einen User-Message WM_USERINIT - Handler der nach und nach mehr Dinge initilisiert (sich selbst 'posted'), während das Hauptprogramm (in ... .dpr) sich nach Application.Run vorarbeitet.

Was nicht mehr funktioniert: wenn ich den SplashScreen verstecke werden keine Nachrichten mehr verarbeitet. Dann habe ich alles in Initialiasierung ('Startup' = einfache class) und SplashScreen (=immer noch TForm) (d.h. zwei Klassen) aufgeteilt, damit ich den Splash weglassen kann.

Ich habe versucht die fensterlose initalisierungs-klasse über API-Timer zum Hauptprogramm nebenläufig zu machen. Diese Timer springen aber erst ab Application.Run an. Messages wurden vorher schon verarbeitet.

Das heisst, wie kann ich die Message-Technik für meine fensterlose Klasse verwenden ?

Ich hoffe, das war nicht alles zu verwirrend.

Danke im voraus!
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#2

Re: SplashScreen / Timer / Messages ohne Fenster

  Alt 1. Jul 2005, 14:37
Fensternachrichten heißen nicht umsonst so ... ist also etwas sinnlos ohne Fenster. Aber es geht dennoch. Dazu brauchst du einen separaten Thread mit eigener Message-Loop. An den kannst du dann auch Nachrichten "posten":

MSDN-Library durchsuchenPostThreadMessage
  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 06:44 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