![]() |
Form kommt nicht in den Vordergrund, neuer VCL Bug in D2009?
Hi,
kurze Frage, hat jemand anders auch mit D2009 ein Problem mit übereinanderliegenden Forms? Testlauf: - Projekt mit D2009 defaults, Form1 und Form2 erzeugen - Button auf Form1, der Form2.Show aufruft - starten In D2006 wäre es jetzt so, daß wenn Form2 offen ist und man zwischen den Forms hin- und herklickt (aktives Form also wechselt), daß das jeweils andere in den Hintergrund geht. Bei D2009 bleiben beide Forms im Vordergrund, es ändert sich nur der aktive Zustand. Hat jemand hierzu einen QC? Betrifft das nur meine Installation? Gruß Assertor |
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Ist mir bis jetzt noch nicht aufgefallen. D2009 und Vista 64.
|
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Hi divBy0,
Zitat:
Gruß Assertor |
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Auf der Arbeit haben wir noch D2007, zu Hause habe ich D2009 und abends bastel ich gerade an einer kleinen DMX-Controller-Software, da hab' ich mehrere Forms, da ist der Fehler nicht aufgetreten.
|
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Liste der Anhänge anzeigen (Anzahl: 4)
Ok, ich hab jetzt mal ein paar Screenshots gemacht... Die verdeutlichen das Problem besser.
Gruß Assertor |
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
:shock:
Das probiere ich heute Abend mal aus. EDIT: :shock: :shock: :shock: Gleicher Fehler auch bei D2007 und XP pro SP2. Gerade getestet. :shock: :shock: :shock: |
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Zitat:
Übrigens: Falls jemand sagt, es läge an MainFormOnTaskbar - nein, das ist es nicht :) Gruß Assertor |
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Hi,
hast du mal die Ide/VCL Fix Packs von Andreas ausprobiert? Da sind ein paar Fixes für ähnliche Probleme drin... Speziell: # QC #59963: Closing non-modal forms after a task switch can deactivate the application (2007-2009) # QC #66892: Closing forms deactivates the application (missing “stdcall”) (2009) ![]() Gruß, Stefan |
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Zitat:
Zitat:
Zitat:
|
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Jetzt hast du mich aber durcheinander gebracht. :-D
Ist doch ganz normal, setz
Delphi-Quellcode:
,dann geht es auch.
Application.MainFormOnTaskbar := False;
|
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Hi Andreas,
Zitat:
MainFormOnTaskbar war ja in D2007 grob vereinfacht gesagt ja dazu gedacht, Delphi Vista UI tauglich zu bekommen. Das UI Problem mit Delphi < D2007 und der Hidden Application Form ist ja auch lösbar über andere Ansätze (InstallationExcellence z.B.). Mit diesen Workarounds war es auch möglich, ein korrektes Verhalten zu implementieren. Peter Below hat afaik vor einigen Jahren mal etwas gesagt - frei übersetzt "Leg dich nicht mit der VCL Logik der Forms an". Das stimmt, aber wenn es um den übliche Verhalten von Windows Fenstern geht, ist diese Lösung von MainFormOnTaskBar ein Bug. Höchstens, "As Designed" ... "but it's Design is poor". Es kann nicht sein, daß ein zweites Fenster trotz Aktivierung des MainForm im Vordergrund bleibt. Das entspricht nicht dem jahrelangen Look-And-Feel der UI. Punkt. Ich habe andere Informationen dazu, die ich Dir gleich per PN schicke. Gruß Assertor |
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Zitat:
Zitat:
Wenn du das verhalten unter Delphi 2007/2009 samt Windows Vista Unterstützung haben willst musst du CreateParams überschreiben und dort Params.ExStyle |= WS_EX_TOOLWINDOWS; und Params.WndParent := HWND_DESKTOP; einstellen. Zitat:
|
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Zitat:
Zitat:
Zitat:
Zitat:
Das grundlegende Änderungen möglich sind, zeigt ja Delphis .NET Geschichte. Oder BDE, Interbase, oder, oder... Trotzdem vielen Dank fürs Brainstorming. Dein Ansatz ist das, was ich jedem empfehlen würde, der vor diesem "Problem" steht bzw. damit durch Kunden konfrontiert wird. Wie so oft entstehen Pseudo-Standards durch Gewöhnung, Anwendungen die hier aus der Reihe tanzen fallen auf - nicht immer positiv. Mit dem Überschreiben von CreateParams läßt sich für wichtige, untergeordnete aber sachlich eigenständige Forms eine eigene Desktop-Zugehörigkeit erreichen. Zusätzlich ließe sich per WS_EX_APPWINDOW ja noch ein eigener Taskbar Button dafür spendieren, ich nutze daher
Delphi-Quellcode:
im CreateParams override.
Params.ExStyle := Params.ExStyle and not WS_EX_TOOLWINDOW or WS_EX_APPWINDOW;
Das reicht mir und hilft vielleicht allen, die ebiges wollen. Gruß und herzlichen Dank, Assertor :dp: |
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Zitat:
|
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Hi Andreas,
Gute Idee! Dann wären alle glücklich und ich müsste nicht gleich mit der QC-Bugentry-Pistole zielen ;) Zitat:
Mach doch ein Enhancement Request, dann vote ich für Dich :) Gruß Assertor |
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Liste der Anhänge anzeigen (Anzahl: 1)
Ich weis das der Thread schon etwas alt ist, aber ich kann das Problem unter Delphi 2007 nicht lösen. Vielleicht habe ich auch etwas übersehen. Aber trotz der veränderten Routine CreateParam klappt es bei mir nicht, das die Hauptform in den Vordergrund kommt. Ich hänge mal das Musterprojekt an.
|
Re: Form kommt nicht in den Vordergrund, VCL Bug in D2007+
Hallo,
ich habe Dein Beispiel nachvollzogen. Es spielt, wenn man das Gedöns bei Form2 statt bei Form1 macht. An alle die vielleicht auch zwischenzeitlich mal den Faden verloren haben: Es geht um das Umschalten zwischen Hauptformular und zweitem Formular. Zwischen dem Zweiten und einem dritten Formular kann man so umschalten, wie bisher (<2007) auch. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:24 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