AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Fenster ungefragt immer vor Hauptfenster - warum?

Fenster ungefragt immer vor Hauptfenster - warum?

Offene Frage von "p80286"
Ein Thema von ralfiii · begonnen am 18. Jul 2012 · letzter Beitrag vom 19. Jul 2012
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#1

AW: Fenster ungefragt immer vor Hauptfenster - warum?

  Alt 19. Jul 2012, 11:51
Wenn die Spalshform nicht über CreateForm erstellt wird, sollte sie sich nicht als MainForm registrieren und es dürfte IMHO keine Probleme damit geben.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Patito

Registriert seit: 8. Sep 2006
108 Beiträge
 
#2

AW: Fenster ungefragt immer vor Hauptfenster - warum?

  Alt 19. Jul 2012, 13:35
Zu einem Splashscreen hatte ich gerade einen netten Effekt:
- mein Splashscreen ist fsStayOnTyp
- wenn man jetzt irgendwann zwischen Splashscreen.Show und Splashscreen.Hide
zu einer anderen Anwendung wechselt passiert folgendes:
-> die ganze Anwendung ist auf einmal immer über allen anderen Programmen

Workaround: immer warten bis der Splashscreen weg ist...
Fix im Code: Splashscreen.Free einfügen...
?!????
  Mit Zitat antworten Zitat
Benutzerbild von Sybok Factor
Sybok Factor

Registriert seit: 15. Jan 2003
Ort: Billerbeck
39 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Fenster ungefragt immer vor Hauptfenster - warum?

  Alt 19. Jul 2012, 13:44
Wenn die Spalshform nicht über CreateForm erstellt wird, sollte sie sich nicht als MainForm registrieren und es dürfte IMHO keine Probleme damit geben.
Naja, wie man es nimmt: In der Taskbar wird ein leerer Eintrag erzeugt, der mit dem Schließen des Splashscreens nicht verschwindet. Davon abgesehen, läuft dann alles wie gewünscht. So ist das zumindest bei mir unter Win 7 Prof, 32 Bit.
Jetzte michse verstehen dein Problem!
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#4

AW: Fenster ungefragt immer vor Hauptfenster - warum?

  Alt 19. Jul 2012, 14:50
Das passiert, wenn man Application.MainFormOnTaskbar erst nach dem Erzeugen des Splashscreens setzt. Denn dann ist das Application-Window schon auf der Taskleiste. Also einfach als erstes (z.B. direkt nach dem begin) Application.MainFormOnTaskbar auf true setzen und dann funktioniert das auch korrekt.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Sybok Factor
Sybok Factor

Registriert seit: 15. Jan 2003
Ort: Billerbeck
39 Beiträge
 
Delphi 2010 Professional
 
#5

AW: Fenster ungefragt immer vor Hauptfenster - warum?

  Alt 19. Jul 2012, 15:24
da hast du recht, jaenicke. Sieht der Projektcode ungefähr so aus, klappt es:

Delphi-Quellcode:
begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.ShowMainForm := False;

  frmSplash := TfrmSplash.Create(nil);
  frmSplash.Show;
...
end.
Jetzte michse verstehen dein Problem!
  Mit Zitat antworten Zitat
Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
489 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Fenster ungefragt immer vor Hauptfenster - warum?

  Alt 19. Jul 2012, 15:29
Selbst das scheint zu funktionieren:

Delphi-Quellcode:
begin
  Application.MainFormOnTaskbar:=True;
  frmSplash := TfrmSplash.Create(nil);
  frmSplash.Show;
  frmSplash.Refresh;
  Application.Initialize;
  Application.CreateForm(TfrmMain, frmMain);
  ...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#7

AW: Fenster ungefragt immer vor Hauptfenster - warum?

  Alt 19. Jul 2012, 16:30
Delphi-Quellcode:
  Application.MainFormOnTaskbar:=True; // <<<<<<<<<<<<<
  frmSplash := TfrmSplash.Create(nil);
  frmSplash.Show;
  frmSplash.Refresh;
  Application.Initialize; // <<<<<<<<<<<<<
  Application.CreateForm(TfrmMain, frmMain);
Selbst wenn Application.Initialize; in vielen Delphis nichts macht, sollte es dennoch aufgerufen werden, bevor man die Application-Instanz irgendwie verwendet.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:13 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