Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi XP-Style in DLL (https://www.delphipraxis.net/59767-xp-style-dll.html)

Flocke 31. Dez 2005 15:06

Re: XP-Style in DLL
 
Zitat:

Zitat von xaromz
Hallo,
Zitat:

Zitat von Flocke
Das Problem ist, dass der Aufruf (Themes.pas):
Delphi-Quellcode:
FNewComCtrls := GetFileVersion(comctl32) >= ComCtlVersionIE6;
je nach vorhandenem Manifest eine andere Version zurückliefert (ohne: 5.irgendwas, mit: 6.irgendwas) und danach entschieden wird, ob theming benutzt werden kann.

Das ist nicht das Problem, sondern genau der Grund für das Manifest. Dieses entscheidet, welche Version verwendet wird. Nur mit der Version >= 6 ist Theming möglich.

Gruß
xaromz

In diesem Fall ist es doch das Problem, da wir ja Themes *OHNE* Manifest für die Exe benutzen wollen.

xaromz 31. Dez 2005 15:18

Re: XP-Style in DLL
 
Hallo,
Zitat:

Zitat von Flocke
In diesem Fall ist es doch das Problem, da wir ja Themes *OHNE* Manifest für die Exe benutzen wollen.

das ist kein Problem, das ist unmöglich. Ohne Manifest wird die Version 6 nicht geladen, außerdem vermute ich, dass das Hauptprogramm entscheidet, welche Version geladen wird und nicht die DLL. Deshalb kann man vielleicht in einer DLL Themes ausschalten, aber vermutlich nicht einschalten. Wenn es aber jemand schafft, in der DLL die Version 6 nachzuladen... (aber das wäre dann beeindruckend).

Gruß
xaromz

c113plpbr 31. Dez 2005 16:50

Re: XP-Style in DLL
 
Liste der Anhänge anzeigen (Anzahl: 1)
... *lach* :lol: :mrgreen: ...

oh man ... lang hats gedauert, aber ihr habt mich auf ne idee gebracht ... und ich hab mich mal ein wenig besser über manifeste informiert ... zumindest hab ichs versucht, bis ich dann auf diese seite gestoßen bin:
http://msdn2.microsoft.com/en-us/lib...US,VS.80).aspx

klang ganz interessant, habs mir durchgelesen, und fast diesen einen kleinen zusatz überlesen:
Zitat:

Note that the manifest ID is 1 for an EXE, 2 for a DLL.
Habs natürlich sofort ausprobiert, allerdings ohne erfolg ... doch nun dachte ich mir, es MUSS einen Weg auch für dll's geben (wenn die es da schon extra reinschreiben), also hab ich den resource hacker genommen, und mir ein paar viele m$ dlls angeschaut ... und siehe da, nicht 2, sondern 123 ist der schlüssel ...

Im Anhang hab ich euch mal das neue Resourcefile für dll's angehängt ... ^^, einfach per {$R WindowsXP_DLL.res} einbinden.

ciao und DANKE AN ALLE,
Philipp


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr.
Seite 3 von 3     123   

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 by Thomas Breitkreuz