![]() |
Administrator Manifest und PNG Images .....?
Moin Moin.
Ich verwende folgende Datei als adm.res die entsprechend eingebunden ist in meinem Programm.
Delphi-Quellcode:
Insofern nichts Besonderes, ich verwende diese .res auch in mehreren anderen Programmen. Andere Manifestdateien benutze ich nicht.
<?xml version="1.0" encoding="utf-8"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" /> </requestedPrivileges> </security> </trustInfo> </assembly> Nun ist es aber so das dieses Manifest in meinem aktuellen Programm die PNG-Grafiken der Listviews zerlegt, die über eine Imagecollection dort eingebunden werden. Zerlegt heißt: die Transparenz ist weg. Dies geschieht in der Debug Umgebung, aber auch ausserhalb wenn die IDE nicht läuft. Im übrigen funktioniert alles wie vorgesehen. Aber : Sobald ich die .res auskommentiere ist alles wieder in Ordnung. Verwende ich andere Möglichkeiten, zum Beispiel die Prüfung ob der aktuelle Anwender Admin Rechte hat stürzt das Programm sofort ab. Nach allerlei Forschungsarbeit ist das einzige Delphi Element das ich in diesem Programm verwende - und in den anderen Programmen die dieses Manifest benutzen nicht - die relativ neuen TImageCollection und TVirtualImageList. Tja. Vorschläge? creehawk |
AW: Administrator Manifest und PNG Images .....?
Das sieht ja ein bisschen wenig aus.
Wenn man bspw. ein neues VCL-Projekt in Delphi Tokyo erzeugt und über die Projektoptionen -> Application das Manifest File auf "Auto Generate" stellt und "Enable Runtime Themes" und "Enable High-DPI" aktiviert und zusätzlich bei Execution Level auf "Require Administrator" stellt, dann wird folgendes Manifest als Resource in die EXE eingebaut:
Code:
Ich vermute mal, dein Problem sind die fehlenden Runtime Themes, also alles was innerhalb des XML-Nodes <dependency> liegt.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> <asmv3:application> <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <dpiAware>True/PM</dpiAware> </asmv3:windowsSettings> </asmv3:application> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/> </dependentAssembly> </dependency> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> </requestedPrivileges> </security> </trustInfo> <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> <application> <!--The ID below indicates app support for Windows Vista --> <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> <!--The ID below indicates app support for Windows 7 --> <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> <!--The ID below indicates app support for Windows 8 --> <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> <!--The ID below indicates app support for Windows 8.1 --> <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> <!--The ID below indicates app support for Windows 10 --> <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> </application> </compatibility> </assembly> Vermutlich können die alten Win-Controls keine Transparenz?! |
AW: Administrator Manifest und PNG Images .....?
Okay.
Da ich bisher keinerlei Probleme mit dem zugegeben alten Manifest hatte habe ich es halt benutzt. Das kann man ja ändern wie ich sehe. Ich probier das mal aus. Und das mit den WIN32 Controls kann schon sein. Denn die neben den intransparenten PNG's waren auch die TLabel Elemente nicht mehr Transparent..... Wird getestet. Vielen Dank erstmal. creehawk |
AW: Administrator Manifest und PNG Images .....?
Alles klar.
So funktioniert es jetzt. Und ich gebe offiziell zu das ich diese Möglichkeit der Manifest Einbindung NICHT kannte. Habe ich immer schlicht übersehen. In tiefer Demut. creehawk |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:33 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