Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Delphi 11: Nicht-Visuelle Komponenten springen beim speichern (https://www.delphipraxis.net/210168-delphi-11-nicht-visuelle-komponenten-springen-beim-speichern.html)

BigAl 12. Mär 2022 09:06

Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Hallo zusammen,

Ich nutze hier die Delphi 11 IDE mit allen aktuell verfügbaren Patches unter Windows 11. Damit ich am Bildschirm was lesen kann habe ich die Skalierung des Bildschirms auf 125% eingestellt.

Setze ich eine nicht-visuelle Komponente auf ein Formular, dann spring diese beim Speichern an eine andere Position. Das macht sie genau einmal. Erneutes speichern belässt sie dann an ihrer Position. Sobald ich die Komponente auf dem Formular verschiebe springs sie allerdings beim nächsten Speichern erneut.

Setze ich die Bildschirmskalierung auf 100% passiert das nicht. So wie es aussieht stimmen die Koordinaten die nach dem Verschieben erfasst werden nicht mit denen am Bildschirm überein. Ich hatte mich schon gewundert, dass teilweise Komponenten außerhalb des sichtbaren Bereichs meines Formulars platziert wurden.

Ist das Problem bekannt? Habt ihr das auch oder ist da bei mir was verbogen?

Alex

Uwe Raabe 12. Mär 2022 09:19

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Non-visual components changed position after saving
Non-Visual Components Moving with Save in IDE
Nonvisual components on forms when using 4K monitor
Problem when save the form, with non-visible component

Ich hoffe da mal auf Delphi 11.1

BigAl 12. Mär 2022 10:02

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Hallo Uwe,

danke für Deine schnelle Antwort. Keine Ahnung warum meine Suche da nichts ergeben hat. Hatte ich mich wohl vertippt...

Alex

blawen 12. Mär 2022 10:16

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1503206)
Ich hoffe da mal auf Delphi 11.1

Existiert hierzu eine (offizielle) Roadmap, wann dieses in etwa erscheinen wird?
Bei Embarcadero bin ich nur auf veraltete Roadmaps gestossen.

BigAl 12. Mär 2022 10:26

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von blawen (Beitrag 1503209)
Zitat:

Zitat von Uwe Raabe (Beitrag 1503206)
Ich hoffe da mal auf Delphi 11.1

Existiert hierzu eine (offizielle) Roadmap, wann dieses in etwa erscheinen wird?
Bei Embarcadero bin ich nur auf veraltete Roadmaps gestossen.

Das ist eine super Frage. Irgendwie tut sich da gar nichts mehr. Die letzten patches waren auch nicht prickelnd und haben eigentlich nur Dinge behandelt die mich eh nicht betreffen. Das Einzige was noch gut funktioniert ist das Abkassieren der Abos. Und wir Software-Entwickler sind ja nicht wirklich so stark eingeschränkt durch Corona. Im Gegenteil - ich habe wohl zwei der produktivsten Jahre hinter mir...

peterbelow 12. Mär 2022 10:30

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von blawen (Beitrag 1503209)
Zitat:

Zitat von Uwe Raabe (Beitrag 1503206)
Ich hoffe da mal auf Delphi 11.1

Existiert hierzu eine (offizielle) Roadmap, wann dieses in etwa erscheinen wird?
Bei Embarcadero bin ich nur auf veraltete Roadmaps gestossen.

Zumindest ein Webinar zu dem Thema ist angekündigt:
https://blogs.embarcadero.com/whats-...oming-webinar/

Harry Stahl 12. Mär 2022 14:13

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von BigAl (Beitrag 1503210)
Zitat:

Zitat von blawen (Beitrag 1503209)
Zitat:

Zitat von Uwe Raabe (Beitrag 1503206)
Ich hoffe da mal auf Delphi 11.1

Existiert hierzu eine (offizielle) Roadmap, wann dieses in etwa erscheinen wird?
Bei Embarcadero bin ich nur auf veraltete Roadmaps gestossen.

Das ist eine super Frage. Irgendwie tut sich da gar nichts mehr. Die letzten patches waren auch nicht prickelnd und haben eigentlich nur Dinge behandelt die mich eh nicht betreffen. Das Einzige was noch gut funktioniert ist das Abkassieren der Abos. Und wir Software-Entwickler sind ja nicht wirklich so stark eingeschränkt durch Corona. Im Gegenteil - ich habe wohl zwei der produktivsten Jahre hinter mir...

Doch, da tut sich so einiges und ich gehe mal davon aus, dass sich so einiges in Sachen HighDPI sehr bald spürbar verbessern wird.

Ich plaudere da jetzt nicht aus dem Nähkästchen, sondern beziehe mich auf ganze offizielle Infos aus diesem (wirklich sehr sehenswerten) Video von Matthias Eissing:

https://youtu.be/RZa6Iek4zN8?t=555

BigAl 15. Mär 2022 20:28

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1503206)
Ich hoffe da mal auf Delphi 11.1

Das war ein Satz mit X :-(

Wahrscheinlich ist das so wie bei einem meiner Fehler die ich gelmeldet hatte. 2 (Zwei) Jahre später hat mich Emba kontaktiert und wollte über den Fehler diskutieren. Da hatten mittlerweile schon viele Leute geschrieben die ihn bestätigt hatten und um schnelle Lösung baten. Ich wurde dann letztendlich damit abgespeist, dass der Fehler ja schon sehr lange existiert und man sich nicht sicher ist welche Seiteneffekte eine eventuelle Lösung verursachen könnte...

Uwe Raabe 15. Mär 2022 22:00

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von BigAl (Beitrag 1503360)
Das war ein Satz mit X :-(

Also:
Zitat:

Zitat von BigAl (Beitrag 1503204)
Setze ich eine nicht-visuelle Komponente auf ein Formular, dann spring diese beim Speichern an eine andere Position.

Delphi 11.1 auf 150% mit Form-Designer auf automatisch:
- neue VCL-Anwendung
- TActionList drauf
- speichern

act: bleibt auf Position

BigAl 15. Mär 2022 22:08

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Hallo Uwe

Bei mir leider nicht. Mein Monitor läuft mit 125%. Wenn ich die ActionList oben links setze springt sie ein bisschen. Setze ich die unten rechts, dann macht sie einen entsprechend größeren Satz. Das mach sie jedes mal wenn ich sie etwas bewegt habe einmal. Dort bleibt die Komponente dann bis ich sie ein weiteres mal bewege. Das passiert im Fall einer ActionList leider öfter, da mein Doppelklick manchmal etwas zittert :-).

Was meinst Du mit "Form-Designer auf automatisch"?

Uwe Raabe 15. Mär 2022 22:29

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von BigAl (Beitrag 1503364)
Was meinst Du mit "Form-Designer auf automatisch"?

Das hier:

Uwe Raabe 15. Mär 2022 22:32

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Das hier gilt aber als behoben: Problem when save the form, with non-visible component
This seems to be fixed in 11.1. Thank the lord!

BigAl 16. Mär 2022 05:57

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Hallo Uwe

Das mit dem "Formdesigner automatisch" wars. Der stand bei mir noch auf Low DPI.

Vielen Dank!

Alex

Harry Stahl 16. Mär 2022 16:05

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von BigAl (Beitrag 1503373)
Hallo Uwe

Das mit dem "Formdesigner automatisch" wars. Der stand bei mir noch auf Low DPI.

Vielen Dank!

Alex

Allerdings muss man sich bewusst sein, dass die Form dann schon auf 125% beim designen hoch skaliert wird (also Form und Cotnrols größer dargestellt werden). Ich habe das bislang noch vermieden, da sich teilweise unerwünschte Effekte ergaben. Aber vielleicht ist das ja inzwischen nicht mehr der Fall.

Es gibt aber auch keinen Grund, warum das nicht mit der Einstellung 96 DPI fix funktionieren sollte, da muss man wohl noch mal ran...

BigAl 16. Mär 2022 16:11

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von Harry Stahl (Beitrag 1503452)
Zitat:

Zitat von BigAl (Beitrag 1503373)
Hallo Uwe

Das mit dem "Formdesigner automatisch" wars. Der stand bei mir noch auf Low DPI.

Vielen Dank!

Alex

Allerdings muss man sich bewusst sein, dass die Form dann schon auf 125% beim designen hoch skaliert wird (also Form und Cotnrols größer dargestellt werden). Ich habe das bislang noch vermieden, da sich teilweise unerwünschte Effekte ergaben. Aber vielleicht ist das ja inzwischen nicht mehr der Fall.

Es gibt aber auch keinen Grund, warum das nicht mit der Einstellung 96 DPI fix funktionieren sollte, da muss man wohl noch mal ran...

Ich entwickle auf zwei Rechnern. Einer hat einen 34" Monitor mit WQHD und einer hat zwei 24" Bildschirme mit 1920x1200. Den WQHD habe ich auf 125%, den anderen auf 100%. Bisher gab es da keine Probleme. In der Vergangenheit (das ist aber schon Jahre her) hat's mir mal eine App zerschossen (hatte aber ein Backup). Das ist mir aber die letzten Jahre eigentlich nicht mehr passiert...

Uwe Raabe 16. Mär 2022 16:17

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von Harry Stahl (Beitrag 1503452)
Es gibt aber auch keinen Grund, warum das nicht mit der Einstellung 96 DPI fix funktionieren sollte, da muss man wohl noch mal ran...

Gerade bei High-DPI Problemen ist es wichtig, die Umgebung genau zu beschreiben. Oft ist auch relevant, welche Auflösung der Primärmonitor hat.

BigAl 16. Mär 2022 16:23

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1503454)
Zitat:

Zitat von Harry Stahl (Beitrag 1503452)
Es gibt aber auch keinen Grund, warum das nicht mit der Einstellung 96 DPI fix funktionieren sollte, da muss man wohl noch mal ran...

Gerade bei High-DPI Problemen ist es wichtig, die Umgebung genau zu beschreiben. Oft ist auch relevant, welche Auflösung der Primärmonitor hat.

In den Formulardateien steht bei mir überall 125 PPI. Wie gesagt: Ich hatte da schon lange keine Probleme mehr. Irgendwie scheint sich da was getan zu haben...

(Schaut keiner von Euch das Webinar :-))

Bbommel 17. Mär 2022 08:52

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich wundere mich, dass das bei euch funktioniert. Bei mir fliegen nicht-visuelle Komponenten weiterhin durch die Gegend. Der Fehler ist also nicht korrigiert.

So reproduzierbar:
- Formulardesigner steht auf "automatisch"
- Mein Rechner (Laptop) hängt an Dockingstation, Ausgabe auf Monitor mit 125%-Skalierung
- Neue VCL-Anwendung in D11.1 starten. 7 Popup-Menüs aufs Formular klatschen und "hübsch" anordnen.
- Speichern, Delphi schließen.
- Rechner von Dockingstation abklemmen und direkt am Laptop arbeiten, Skalierung hier 300%
- Delphi 11.1 starten, Anwendung öffnen.
- ==> Popup-Komponenten werden falsch Positioniert und stehen im Formular im Weg. Visuelle Komponenten scheinen korrekt positioniert zu werden.

Ärgerlich ist das. :-(

Testprojekt im Anhang. Nicht wundern: da ist noch was mit Frames drin, weil ich damit auch Probleme habe und versuche, das in einem einfachen Test nachzuvollziehen, aber das ist ja hier jetzt nicht das Thema. :-)

Nachtrag: okay, der Unterschied zum ursprünglichen Problem scheint zu sein, dass das auch schon aufgetreten ist, wenn man mit der selben, unveränderten Skalierung gearbeitet hat. Aber macht es für uns nur bedingt besser, da mein Kollege und ich mit unterschiedlichen Skalierungen arbeiten (und ich selbst ja auch, wenn, wie oben beschrieben, der Rechner nicht am Monitor hängt).

Uwe Raabe 17. Mär 2022 09:45

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Dann solltest du für dieses Szenario einen entsprechenden Bugreport aufmachen.

Bbommel 17. Mär 2022 09:47

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Klar, Bugreport ist der Plan. Ich wollte nur hier vorher, wenn es eh schon ein Thema dazu gibt, Feedback einholen. Hätte ja sein können, dass jetzt noch ein "ach so, das! Ja, da musst du noch diese Option einstellen und alles läuft!" kommt.

Uwe Raabe 17. Mär 2022 09:50

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Embarcadero ist mittlerweile bewusst, dass der Einzelentwickler mit fester Skalierung oder das Team mit einheitlichen Systemen nicht die ganze Realität abdeckt. Man arbeitet an einer Lösung.

Bbommel 17. Mär 2022 12:09

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
So. https://quality.embarcadero.com/browse/RSP-37652

Bbommel 17. Mär 2022 16:42

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1503510)
Embarcadero ist mittlerweile bewusst, dass der Einzelentwickler mit fester Skalierung oder das Team mit einheitlichen Systemen nicht die ganze Realität abdeckt. Man arbeitet an einer Lösung.

Noch eine Nachfrage in dem Kontext, auch wenn es vom ursprünglichen Thema etwas weggeht: weißt du auch, ob man darüber nachdenkt, das Konzept auch für visuelle Komponenten nochmal zu überdenken? Ich finde es nämlich ziemlich nervig und verwirrend, dass so Eigenschaften wie "Height" und "Width" zur Designzeit an die Skalierung des Rechners, auf dem die IDE gerade läuft, angepasst werden (obwohl in den dfm-Dateien weiterhin die "originalen" Werte stehen). Das macht ggf. die Abstimmung unter Kollegen auch mühsamer, zumal man auch schwerer erkennen kann, ob z.B. ein TEdit noch seine Standard-Höhe hat oder angepasst wurde. Ich kann mir vorstellen, dass das die einfachste Lösung war, um die IDE selbst auf High-DPI zu bekommen, aber schön ist das irgendwie nicht.

Sonst würde ich überlegen, da mal einen Feature-Request für zu schreiben, denn ein Bug ist es ja auch nicht.

Uwe Raabe 17. Mär 2022 17:20

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von Bbommel (Beitrag 1503551)
Sonst würde ich überlegen, da mal einen Feature-Request für zu schreiben, denn ein Bug ist es ja auch nicht.

Vielleicht ist hier ja was dabei:
Option to design in Screen PPI but save in 96 PPI
Improved design of High DPI settings for form designer
VCL designer should have a zoom slider
In the High DPI environment, the designer should also be DPI Unaware
High DPI settings should be specific to each project

Bbommel 17. Mär 2022 17:34

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Ah ja, Danke. :thumb: Im Prinzip meine ich genau das, was Kiriakos hier geschrieben hat.

Bbommel 26. Apr 2022 17:10

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Ein Nachtrag zu diesem etwas älteren Thema: ich hatte jetzt endlich mal die Zeit, um einen passenden Feature Request ausführlich zu formulieren, der das, was damals in dem kurzen Kommentar von Kiriakos vielleicht etwas untergegangen ist, noch einmal als eigenen Wunsch ausführlich beschreibt:

Hier zu RSP-38062.

BigAl 26. Apr 2022 17:34

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von Bbommel (Beitrag 1505109)
Ein Nachtrag zu diesem etwas älteren Thema: ich hatte jetzt endlich mal die Zeit, um einen passenden Feature Request ausführlich zu formulieren, der das, was damals in dem kurzen Kommentar von Kiriakos vielleicht etwas untergegangen ist, noch einmal als eigenen Wunsch ausführlich beschreibt:

Hier zu RSP-38062.

Super, Danke :-). Es nervt schon ziemlich. Wenn man im "Form Designer/High DPI" die entsprechende Einstellung macht ist es zwar weg, dafür kann ich dann die Formulare nicht mehr so einfach auf ein anderes System portieren. Es wird dann zwar entsprechend umgerechnet aber aufgrund von Rundungsfehlern wandern dann z.T. einzelne Controls. Meine Lösung hier ist alle System auf 96 PPI zu stellen, dann funktioniert zumindest das Übertragen problemlos. Natürlich mit der Einschränkung, dass in der IDE die Formulare bei höheren PPI etwas kleiner dargestellt werden. Zur Laufzeit passt es dann aber. Gott sei dank habe ich keine Ultra-Auflösungen hier. Das wäre ein no-go.

softtouch 25. Mär 2023 08:17

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1503366)

Bei mir macht Delphi das jetzt wieder, mit 11.3

4K Monitor, 125% Scaling, Windows 11, Delphi Pro 11.3

Ich setze einen Timer oben links auf Position 80,80 und schließe das Projekt.
Dann öffne ich das Project wieder, und der Timer hat sich weiter nach rechts/unten bewegt, obwohl als Position immer noch 80,80 angezeigt wird.

Setze ich das Windows Scaling auf 100%, ist alles ok.

Uwe Raabe 25. Mär 2023 08:23

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Wenn du das reproduzierbar nachstellen kannst, solltest du einen QP-Eintrag dafür anlegen.

softtouch 25. Mär 2023 08:35

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1520309)
Wenn du das reproduzierbar nachstellen kannst, solltest du einen QP-Eintrag dafür anlegen.

Habe ich gemacht. Ich kann das immer reproduzieren, andere wahrscheinlich wie immer nicht.
Bei 100% Windows Scaling ist alles ok.

Uwe Raabe 25. Mär 2023 10:27

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von softtouch (Beitrag 1520310)
Habe ich gemacht.

Und die Nummer ist?

softtouch 25. Mär 2023 10:54

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1520311)
Zitat:

Zitat von softtouch (Beitrag 1520310)
Habe ich gemacht.

Und die Nummer ist?

The url is https://quality.embarcadero.com/browse/RSP-41266

Uwe Raabe 25. Mär 2023 12:01

AW: Delphi 11: Nicht-Visuelle Komponenten springen beim speichern
 
Ich kann das hier auf meinem mit 150% skalierten 4K Monitor nachstellen. Der Form-Designer arbeitet im Automatischem High-DPI Modus.

Dazu habe ich einen Timer auf einem Form platziert und ein Edit mit der linken oberen Ecke bündig zum Timer platziert.

Das Edit zeigt im Hint eine Position von 80,80, was auch den Einstellungen von Left und Top und der Position zur Runtime entspricht.
Im Gegensatz dazu zeigt der Timer im Hint eine Position von 120,120 (also nochmal skaliert), ist aber wie gesagt auf der gleichen Position wie das Edit.

Speichere ich das Form ab und lade es wieder, wird der Timer versetzt dargestellt. Der Hint zeigt immer noch 120,120 (was vermutlich der optischen Position entspricht).

Zeige ich das Form als Textdarstellung, steht beim Timer 80,80. Schalte ich wieder auf Form-Modus um, wird er wieder versetzt dargestellt.

Speichere ich nun das Form, springt der Timer auf die passende Position und bleibt auch dort bis das Form neu erstellt wird (durch Laden oder Rückschalten aus Text-Mode).
Auch nach dem Speichern wird im Hint 120,120 angezeigt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:58 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