AGB  ·  Datenschutz  ·  Impressum  







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

10.3.1: OnActivate wird vor OnCreate ausgeführt

Ein Thema von Bbommel · begonnen am 21. Mär 2019 · letzter Beitrag vom 26. Mär 2019
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.044 Beiträge
 
Delphi 12 Athens
 
#1

AW: 10.3.1: OnActivate wird vor OnCreate ausgeführt

  Alt 22. Mär 2019, 19:25
Ein sehr trauriger Bug ehrlich gesagt.
Angesichts der Tatsache, daß er offenbar nur in ganz wenigen Umgebungen auftaucht (ich konnte ihn auf einem 150% Monitor immer nicht nachvollziehen), sehe ich das etwas zurückhaltender. Gerade im High-DPI Bereich gibt es so viele Konstellationen von Hardware, Windows Version (MS hat sich da auch nicht gerade mit Ruhm bekleckert und viele falsche Erwartungen geweckt) und Delphi Version, daß es nahezu unmöglich ist, alle Möglichkeiten auf Herz und Nieren zu testen. Wenn denn dann jemand so eine Kombination findet, bei der dieses Verhalten reproduzierbar ist, dann sollte man das entsprechend in QP einstellen. Also sicher kein Grund traurig zu sein
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#2

AW: 10.3.1: OnActivate wird vor OnCreate ausgeführt

  Alt 22. Mär 2019, 19:27
Wenn man denn nicht wegen dem Bug traurig wird, ob es einer ist oder nicht, dann spätestens dann, wenn der Fix mal wieder Jahre auf sich warten lässt
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.044 Beiträge
 
Delphi 12 Athens
 
#3

AW: 10.3.1: OnActivate wird vor OnCreate ausgeführt

  Alt 22. Mär 2019, 20:22
wenn der Fix mal wieder Jahre auf sich warten lässt
Die Wartezeit beginnt aber halt erst, nachdem ein QP Report mit reproduzierbaren Steps vorliegt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 30. Nov 2003
Ort: Luterbach (CH)
654 Beiträge
 
Delphi 12 Athens
 
#4

AW: 10.3.1: OnActivate wird vor OnCreate ausgeführt

  Alt 22. Mär 2019, 21:21
Bei mir ist es relativ einfach nachstellbar:

- Neues Projekt
- 2 leere Formulare

Win10 mit 4k+HD Monitor (Mischbetrieb):
- Beide Formulare mit wsMaximized-> 2 Formulare werden geöffnet/angezeigt
- Form1 auf "wsNormal" und Form2 auf "wsMaximized" -> Form2 überdeckt Form1, Form2 kann aber nicht geschlossen werden

Wenn ich nur einen HD-Monitor angeschlossen habe, funktioniert es bei mir auch mit 10.3.1 wie erwartet.
Ebenso funktioniert es mit einer gepatchten 10.2.3 wie erwartet
Roland
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.044 Beiträge
 
Delphi 12 Athens
 
#5

AW: 10.3.1: OnActivate wird vor OnCreate ausgeführt

  Alt 22. Mär 2019, 22:37
Win10 mit 4k+HD Monitor (Mischbetrieb):
Welche DPI hat der primäre Monitor?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.366 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: 10.3.1: OnActivate wird vor OnCreate ausgeführt

  Alt 23. Mär 2019, 08:06
Zu dem OnActivate...
Ich mache das schlicht so, dass ich darin dem Formular per PostMessage eine Nachricht schicke. Die wird dann verarbeitet nachdem es angezeigt wurde, egal wann das OnActivate aufgerufen wird.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#7

AW: 10.3.1: OnActivate wird vor OnCreate ausgeführt

  Alt 23. Mär 2019, 12:14
Zu dem OnActivate...
Ich mache das schlicht so, dass ich darin dem Formular per PostMessage eine Nachricht schicke. Die wird dann verarbeitet nachdem es angezeigt wurde, egal wann das OnActivate aufgerufen wird.
Ich mache das im OnPaint so mit WMFormVisible. Ist Paint oder Activate besser?
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 30. Nov 2003
Ort: Luterbach (CH)
654 Beiträge
 
Delphi 12 Athens
 
#8

AW: 10.3.1: OnActivate wird vor OnCreate ausgeführt

  Alt 24. Mär 2019, 23:22
Win10 mit 4k+HD Monitor (Mischbetrieb):
Welche DPI hat der primäre Monitor?
150% (144 dpi)

Aktuell habe ich auf besagte Monitor-Kombination keinen Zugriff (Geschäfts-Monitor), aber beim testen mit zwei unterschiedlichen Notebooks (W10, HD-Auflösung) kann ich das Problem problemfrei nachstellen.
Zitat:
Bei mir ist es relativ einfach nachstellbar:

- Neues Projekt
- 2 leere Formulare

Win10 mit 4k+HD Monitor (Mischbetrieb):
- Beide Formulare mit wsMaximized-> 2 Formulare werden geöffnet/angezeigt
- Form1 auf "wsNormal" und Form2 auf "wsMaximized" -> Form2 überdeckt Form1, Form2 kann aber nicht geschlossen werden

Wenn ich nur einen HD-Monitor angeschlossen habe, funktioniert es bei mir auch mit 10.3.1 wie erwartet.
Ebenso funktioniert es mit einer gepatchten 10.2.3 wie erwartet
Sobald die Auflösung > 100% (> 96 DPI) ist, tritt das beschriebene Problem auf. Analog gilt dies bei mir bei einer ungepatchten 10.2.3.

Schlussendlich scheint die Kombination HD/4k keinen Einfluss zu haben, es reicht zumindest bei mir aus, wenn die Auflösung > 100% (> 96 DPI) ist.
Roland
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#9

AW: 10.3.1: OnActivate wird vor OnCreate ausgeführt

  Alt 24. Mär 2019, 23:36
Zitat:
Schlussendlich scheint die Kombination HD/4k keinen Einfluss zu haben, es reicht zumindest bei mir aus, wenn die Auflösung > 100% (> 96 DPI) ist.
Das könnte noch ein sehr interessantes Problem werden. Ich habe das eben mal nachgestellt und bekomme Create immer vor Activate. Windows 10 Pro 64 bit.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.044 Beiträge
 
Delphi 12 Athens
 
#10

AW: 10.3.1: OnActivate wird vor OnCreate ausgeführt

  Alt 25. Mär 2019, 07:56
Sobald die Auflösung > 100% (> 96 DPI) ist, tritt das beschriebene Problem auf.
Es ist vermutlich noch etwas subtiler: Offenbar muss der Primäre Monitor eine Auflösung > 100% haben. In meiner Mischkombination (100% - 100% - 200%) habe ich deutlich weniger Probleme mit High-DPI, vermutlich weil mein Primärer Monitor auf 100% steht.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 08:34 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