![]() |
VCL Controls Erscheinungsbild bei per Monitor V2
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn ich in meinen Programmen im Manifest die Option per Monitor V2 aktiviere, erscheinen die VCL Controls (z.B. DBNavigator, siehe Bildanhang) unter Windows 7, wie ausgegraut. Unter Windows 10 ist alles in Ordnung. Wie kann ich das Problem umgehen?
|
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Kannst du sicherheitshalber mal das gesamte Manifest posten?
|
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Ich denk das ist ein Bug in VCL.Buttons.pas (in D10.4.1/2).
This change in VCL.Buttons.pas should fix that. // LStyle.DrawText(DC, FThemeDetails, Text, TextRect, LFormats, LOptions); //according RSP-30755 (minor subfix) - fix Bitbtn and SpeedButton background color error in win7 LStyle.DrawText(DC, FThemeDetails, Text, TextRect, LFormats, LColor); //according RSP-30755 (minor subfix) - fix Bitbtn and SpeedButton background color error in win7 |
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Zitat:
Das hört sich doch gut an - teste ich nachher ;) |
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Leider ist der Fehler damit nicht behoben. Ich benutze übrigens die Version 10.4.3.
Der Fehler ist aber sicherlich mit dem obigen Fix verbunden... |
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Zitat:
|
AW: VCL Controls Erscheinungsbild bei per Monitor V2
sorry vertippt 10.4 Update 2 natürlich also 1.4.2
|
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Stell doch mal ein demo prog hier ein.
|
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Zitat:
|
AW: VCL Controls Erscheinungsbild bei per Monitor V2
TClientDataSet oder sonst irgendein Memory-DataSet, mit 2-3 Datensätzen voll Dummydaten, in mindestens "einer" Spalte/Field. :angle:
|
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Liste der Anhänge anzeigen (Anzahl: 1)
Ok, im Anhang ist die Testdatei...
Unter Win10 alles ok Unter Win7 Bug! |
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Wie bekomm ichs unter Win7 zum laufen? Ich bekomm erst mal den Fehler: Error loading Midas.dll (und dann sind alle Buttons disabled)
Da ich bisher nicht mit Datenbanken gearbeitet hab weiß ich nicht, wie ich das fixe. |
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Alles, was mit dem ururururalten MIDAS zu tun hat, aus dem Programm rauswerfen. (leider ist das ClientDataSet bissl alt)
Die Midas.dll mitgeben, oder es über die MidasLib.pas einkompilieren. Und am Besten gleich das tote Windows 7 mit wegwerfen. |
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Zitat:
![]() |
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Zitat:
|
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Dafür ist ja mein Link da (Kunden zeigen das es mehr als veraltet ist und kein Support mehr angeboten wird)
|
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Wenn dein Programm kein Win7 mehr unterstützt, dann müssen sie halt eben upgraden. (OK, oder sie bezahlen für eigentlich unnötige abwärtskompatibilitäten)
* hatten ja immerHIN schon 6 Jahre Zeit dafür * und offiziell, laut Hersteller, ist Windows 7 seit nun fast 1,5 Jahren ausgestorben (*1) 1) Neue Dinge hatte ich mit aktuellen Funktionen implementiert. Wenn das in Windows 7 nicht lief, dann hab ich auch nicht explizit dafür den Code geändert. (also einige neuere Module waren dann einfach nicht nutzbar, oder die Arbeitzzeit muß eben gezahlt werden) Und die Einstellung des Supports, hat bei uns auch den letzten Kunden dazu gebracht, seine PCs upzugraden. OK, abgesehn alten Industrie-PC mit Windows 7-Embedded, wo aber nur ein altes Modul verwendet wird. (wird eh nur als Test-System genutzt und die 3000€ für eine neue Version wird nicht finanziert werden) |
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Ok, würde mich freuen, wenn wir zurück zur Frage kommen. Das verwässert immer ein wenig die Fehlersuche.
Abhilfe bringt ja schon, wenn ich im Manifest die per Monitor V2 Option deaktiviere. Aber das sollte auch eleganter gehen. |
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Hab den fix nun mit deinem Programm getestet.
Er funktioniert! Ohne siehts aus, wie disabled, mit ist wie enabled. Du must die VCL.Buttons.pas in dein Verzeichnis kopieren und dort ändern (ggf. Delphi nach dem kopieren neu starten). |
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Zitat:
Delphi-Quellcode:
if CheckPerMonitorV2SupportForWindow(Handle) then
PPI := FCurrentPPI else PPI := 0; LStyle.DrawElement(Canvas.Handle, Details, R, nil, PPI); Aber der eigentliche Grund ist natürlich, das DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 erst mit Windows 10 erfunden wurde und Windows 7 das nicht kennen kann. Lösung: Wenn Programm in Windows < 10 ausgeführt, dann kein PerMonitorV2 verwenden |
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Zitat:
|
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Zitat:
Falls ja, ist der schon gemeldet? Falls nein, könnte den jemand der sich besser damit auskenn als ich melden? Grüße TurboMagic |
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Das ist an 2 Stellen so eingebaut.
Denke mal jemand hat sich etwas dabei gedacht, als diese Komponente so kunterbunt umgebaut wurde. :angle2: Nja, aber ich vermute einfach Mal, dass es nicht mehr mit Windows 7 getestet wurde. |
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Ist das nun ein Bug in der VCL oder nicht?
|
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Wenn du das meldest, geht der Status bestimmt auf "das ist halt so" :roll:
Der Bug "geht halt nicht", in aktuelle lebenden Windowsen, ist ja nicht existent. :wink: |
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Jetzt weiß ich, warum der Patch bei mir nicht läuft ;) Ich habe die VCL nicht neu kompiliert... geht das irgendwie einfach?
|
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Zitat:
Vielleicht wird der Fehler ja in einer der nächsten Versionen behoben. Ich habe zumindest den Bug gemeldet. |
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Ich möchte nur noch ergänzen, dass der Windows-7-Support per ESU erst am 23.10.2023 bzw. 14.10.2024 endet. Erst danach ist es wirlich ganz ganz tot. Trotzdem solltest du dir den Aufwand, für Win 7 zu testen gut bezahlen lassen.
|
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Das ist richtig ... aus diesem Grunde sollte ein Programm auch noch auf WIN 7 laufen.
|
AW: VCL Controls Erscheinungsbild bei per Monitor V2
Wie gesagt, wenn "DU" beim Start erkennst, dass das Programm auf einem alten Windows (z.B. 7) läuft,
dann die Einstellung/Property ändern und etwas verwenden, wass dort noch funktioniert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 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