Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Typenfehler bei Wechsel von D7->XE10.1 (https://www.delphipraxis.net/191684-typenfehler-bei-wechsel-von-d7-xe10-1-a.html)

Delphi-Laie 10. Feb 2017 21:33

AW: Typenfehler bei Wechsel von D7->XE10.1
 
Hätte...wäre...Dabei hat Delphi doch schon den Wechsel von 16 auf 32 Bit miterlebt. Damals sollten "mitwachsende" (generische?) Typen (integer, cardinal, string ohnehin) doch schon die "ultimative Zukunftssicherheit" gewährleisten. Und in der Tat waren und sind Turbo-Pascal und Delphi vorbildlich abwärtskompatibel, leider aber nicht vollständig.

Captnemo 11. Feb 2017 01:00

AW: Typenfehler bei Wechsel von D7->XE10.1
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1361301)
Und in der Tat waren und sind Turbo-Pascal und Delphi vorbildlich abwärtskompatibel, leider aber nicht vollständig.

Das bekomme ich auch gerade zu spüren. Formsize und Alignments werden fehlerhaft compiliert. Zumindest unterscheidet sich die Ansicht der Forms in der GUI und zur Laufzeit in diesen Punkte extrem. Das geht soweit, dass sich Buttons außerhalb der Form befinden, oder Komponenten schlichtweg weit über den Formrand hinausragen, und Fenster nicht die gleiche Größe haben wie in der GUI. D7 hab ich immer nur unter W7 betrieben, 10.1 jetzt aber unter W10.

Vielleicht liegt das aber auch gar nicht zwingend an Delphi. Die Ursache dafür hab ich noch nicht gefunden. Bei neuen Projekten passiert das jedenfalls nicht.

himitsu 11. Feb 2017 02:49

AW: Typenfehler bei Wechsel von D7->XE10.1
 
Früher hatte Delphi Width/Height der Forms gespeichert, was schief gehen musste, wenn sich die Größe der Ränder ändert.
Inzwischen wird ClientWidth/ClientHeight gespeichert.

Problem ist dennoch, wenn der Desktop kleiner ist, als das Fenster zur Entwicklungszeit,
denn der VCL-Loader läd erstmal alles blind und ignoriert, wenn Windows die Fenster/Komponenten dabei verkleinert oder verschiebt.
Align und Co. wird dann aber auf die falschen Fenster-/Komponentengrößen und Positionen angewendet, womit selbst mit automatischer Ausrichtung etwas außerhalb der Form liegen bleibt.

Da kann man nur alles in ein Panel legel und das beim Start selber ausrichten.
Und alles, was rechts und/oder unten ausgerichtet wird, müsste man auch noch neu ausrichten, wenn dessen Größe falsch geladen wird.

Uwe Raabe 11. Feb 2017 09:27

AW: Typenfehler bei Wechsel von D7->XE10.1
 
Zitat:

Zitat von Captnemo (Beitrag 1361307)
Zumindest unterscheidet sich die Ansicht der Forms in der GUI und zur Laufzeit in diesen Punkte extrem. Das geht soweit, dass sich Buttons außerhalb der Form befinden, oder Komponenten schlichtweg weit über den Formrand hinausragen, und Fenster nicht die gleiche Größe haben wie in der GUI.

Wir hatten hier ähnliche Probleme in einem D7-Projekt, wo die Controls im FormResize von Hand skaliert und positioniert werden. Das passierte aber nur, wenn man Laufzeitthemes verwendet. Nach Umstellung auf mit Align- und Anchor-positionierte Controls war das allerdings erledigt.

Captnemo 11. Feb 2017 11:55

AW: Typenfehler bei Wechsel von D7->XE10.1
 
Okay, danke für die Tipps. Ein Deaktivieren der Hochauflösung hat erst mal alles wieder auf "Normalzustand" gebracht. Ist zwar nicht die Endlösung, aber für's erste schon mal zu gebrauchen.
Die notwendigen Änderungen lassen sich bei 240 Formen nur Stück für Stück umsetzen.

Uwe Raabe 11. Feb 2017 12:30

AW: Typenfehler bei Wechsel von D7->XE10.1
 
Zitat:

Zitat von Captnemo (Beitrag 1361323)
Die notwendigen Änderungen lassen sich bei 240 Formen nur Stück für Stück umsetzen.

Ist hier ähnlich. Die Themes werden erst mit einem zukünftigen New-Look-Update eingeführt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:43 Uhr.
Seite 2 von 2     12   

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