Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Darstellung nach compilern anders als vor 3 Jahren (https://www.delphipraxis.net/214763-darstellung-nach-compilern-anders-als-vor-3-jahren.html)

DR_Oetker 5. Mär 2024 18:17

Darstellung nach compilern anders als vor 3 Jahren
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo zusammen,

ich habe ein Problem mit einem alten erstellten Programm.

Ich habe vor 2020/2021 wieder mit dem Programmieren angefangen und eine Software zur Terminverwaltung in unserer Firma erstellt.

Das läuft alles wunderbar.

Jetzt möchte ich nach 3 Jahren an dem Programm noch etwas anpassen.

Damals habe ich (ganz sicher) mit Delphi 10.4 programmiert und das habe ich wieder (auf meinem aktuellen PC) installiert.
Nach anfänglichen Schwierigkeiten mit verwendeten Units/Packages etc. kann ich das Programm wieder compilern.

ABER, obwohl ich nichts geändert habe, sieht das erstellte Programm anders aus, als in der Version von 2021.

Ich habe z.B. einen TMonthCalendar. Der sieht im Delphi auf der Unit so aus, wie ich das erwarte und wie das mein Programm von 2021 auch anzeigt.
Compilere ich jetzt neu, ist der Kalender größer, der aktuelle Tag ist mit einem roten "offenen" Kreis umrandet.
Eine TListView zeigt zwar noch Inhalt an, ist aber nicht mehr mit Gruppen unterteilt.

Schlicht weg, ist das Programm jetzt nicht mehr zu gebrauchen.

Starte ich das alte Programm von 2021 auf meinem neuen PC ist aber alles wie es sein soll.

Ich schätze, irgendwas stimmt mit meinen Einstellungen nicht ??

Hat jemand eine Idee wie ich das wieder hinbügeln kann?

Als Anschauung in der Anlage Screenshots von dem angesprochenen Kalender


Ich hoffe ihr könnt mir helfen!
Schon mal herzlichen Dank und noch einen schönen Abend
Frank

Der schöne Günther 5. Mär 2024 19:49

AW: Darstellung nach compilern anders als vor 3 Jahren
 
Du hast in deinem Programm den wunderschönen "Windows 2000"-Look.
Das liegt entweder daran, dass du auf deinem PC das Programm in einem Kompatiblitätsmodus startest (wohl eher nicht), oder, dass in deinem Delphi-Projekt in den Projekteinstellungen die "Laufzeit-Themes" nicht explizit aktiviert sind.

Guckst du hier:
https://docwiki.embarcadero.com/RADS...ndungsoptionen

DR_Oetker 5. Mär 2024 20:09

AW: Darstellung nach compilern anders als vor 3 Jahren
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1534211)
Du hast in deinem Programm den wunderschönen "Windows 2000"-Look.
Das liegt entweder daran, dass du auf deinem PC das Programm in einem Kompatiblitätsmodus startest (wohl eher nicht), oder, dass in deinem Delphi-Projekt in den Projekteinstellungen die "Laufzeit-Themes" nicht explizit aktiviert sind.

Guckst du hier:
https://docwiki.embarcadero.com/RADS...ndungsoptionen

Hallo Günther,

vielen Dank für deine Antwort.

Ich habe bei den Anwendugsoptionen geschaut. Unter dem Punkt "Erscheinungsbild" ist kein "Benutzerdefinierter Style" ausgewählt und bei Standardstil steht "Windows".
Was anderes lässt sich nicht auswählen.

Wähle ich in der Liste einen benutzerdefinierten Style, ändert sich das Erscheinungsbild. Allerdings bleibt die Ansicht das Kalenders gleich. Gibt es denn hier die Möglichkeit den "Windows 2000"-Look auszuwählen???
Die Gruppenanzeige in meiner ListView ist übrigens vom Style völlig unberührt... :(

himitsu 5. Mär 2024 20:44

AW: Darstellung nach compilern anders als vor 3 Jahren
 
Es hat erstmal garnichts mit Styles/Themes zu tun.

Seit Windows XP muß jedem Programm ein Manifest beiliegen, in welchem unter anderem die Verwendung der neuen API (neue DLLs) der ConmonControls verwendet werden soll.
Ohne Manifest, oder wenn im Windows es deaktiviert wird, werden die Fenster im alten Windows 2000-Stil dargestellt.
(einige Controls verhalten sich auch anders, entsprechend der alten API)

Projektoptionen > Anwendung > Manifest > Laufzeit-Themes aktivieren
Achtung: Bei solchen Settings aufpassen, dass du sowas möglichst ausschließlich in der "Basis" änderst (oben die Combobox)

Was zum Lesen, wie es "manuell" ging
https://www.delphi-treff.de/tipps-tr...yle-verwenden/

Auch wird dort z.B. angegeben, mit welcher Windows-Version dein Programm kompatibel ist, oder ob es virtualisiert wird (z.B. Dateizugriffe auf schreibgeschützte Verzeichnisse umgeleitet, weil alte Programmierer oft schlampen waren z.B. ins Programme-Verzeichnis geschrieben hatten, obwohl das seit 25 Jahren eigentlich verboten ist)
uvm.
https://learn.microsoft.com/de-de/wi...tion-manifests



Ja, und zusätzlich gibt es auch noch Styles/Themes ("andere" Themes, als die Vorgabe vom aktuellen Windows).

DR_Oetker 5. Mär 2024 21:52

AW: Darstellung nach compilern anders als vor 3 Jahren
 
Zitat:

Zitat von himitsu (Beitrag 1534215)
Es hat erstmal garnichts mit Styles/Themes zu tun.

Seit Windows XP muß jedem Programm ein Manifest beiliegen, in welchem unter anderem die Verwendung der neuen API (neue DLLs) der ConmonControls verwendet werden soll.
Ohne Manifest, oder wenn im Windows es deaktiviert wird, werden die Fenster im alten Windows 2000-Stil dargestellt.
(einige Controls verhalten sich auch anders, entsprechend der alten API)

Projektoptionen > Anwendung > Manifest > Laufzeit-Themes aktivieren
Achtung: Bei solchen Settings aufpassen, dass du sowas möglichst ausschließlich in der "Basis" änderst (oben die Combobox)

Was zum Lesen, wie es "manuell" ging
https://www.delphi-treff.de/tipps-tr...yle-verwenden/

Auch wird dort z.B. angegeben, mit welcher Windows-Version dein Programm kompatibel ist, oder ob es virtualisiert wird (z.B. Dateizugriffe auf schreibgeschützte Verzeichnisse umgeleitet, weil alte Programmierer oft schlampen waren z.B. ins Programme-Verzeichnis geschrieben hatten, obwohl das seit 25 Jahren eigentlich verboten ist)
uvm.
https://learn.microsoft.com/de-de/wi...tion-manifests



Ja, und zusätzlich gibt es auch noch Styles/Themes ("andere" Themes, als die Vorgabe vom aktuellen Windows).


Oh man, herzlichen Dank für die Antwort.

Ich hab den Haken aktiviert, und schon ist es so wie es immer war!!! :-D:-D:thumb:


Ich hab's zwar (noch) nicht verstanden. Aber da beschäftige ich mich die nächsten Tage mit.
Jetzt kann ich erst mal beruhigt ins Bett gehen..


HERZLICHEN DANK!!

jaenicke 5. Mär 2024 22:19

AW: Darstellung nach compilern anders als vor 3 Jahren
 
Zitat:

Zitat von DR_Oetker (Beitrag 1534217)
Ich hab's zwar (noch) nicht verstanden. Aber da beschäftige ich mich die nächsten Tage mit.

Das Manifest teilt Windows mit, dass die Anwendung "neu" ist und daher die aktuellen Controls und das aktuelle Aussehen verwenden kann. Ansonsten geht Windows davon aus, dass es eine alte Anwendung ist und geht in den Kompatibilitätsmodus. Dadurch sieht die Anwendung dann aus wie vor Windows XP.


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