Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Anwenden von XPManifest (https://www.delphipraxis.net/56863-anwenden-von-xpmanifest.html)

Chrissi91 12. Nov 2005 13:44


Anwenden von XPManifest
 
Hallo,

ich habe schon viele Threads im DP - Forum gefunden, jedoch keine geeignete Lösung für mein Problem.

Ich programmiere mit Delphi 7 Personal Edition. Wenn ich das XPManifest auf die Form packe, passiert beim Compilieren nichts ... Mir ist schon klar, dass ich etwas falsch mache, aber was? In vielen Threads wurde ja geschrieben, einfach nur auf die Form packen ...

Ich hoffe mir kann jemand helfen ;)

Chrissi91

Khabarakh 12. Nov 2005 13:47

Re: Anwenden von XPManifest
 
Das ist komisch :gruebel: . Es reicht normalerweise, einfach nur die Unit "XPMan" und damit die Manifest-Resource irgendwo im Projekt einzubinden.

PS: Du solltest natürlich XP haben :mrgreen: .

Chrissi91 12. Nov 2005 14:02

Re: Anwenden von XPManifest
 
Ups ... Geht das nicht mit 98? Habe es irgendwo gelesen ... Sonst macht das in meinen Augen wenig Sinn ... ;)

Chrissi91

Zacherl 12. Nov 2005 14:04

Re: Anwenden von XPManifest
 
Ne, das geht natürlich nur unter XP. Heißt ja auch XPManifest. :wink:

Florian

Chrissi91 12. Nov 2005 14:05

Re: Anwenden von XPManifest
 
Aber das XPManifest ändert doch den Style in ein XP Style, oder? Und was soll das auf einem PC bewirken, der eh unter XP läuft? Das macht für mich wenig Sinn ...

Gibt es keine andere Möglichkeit :?:

Zacherl 12. Nov 2005 14:10

Re: Anwenden von XPManifest
 
Ohne das Manifest wird der normale Style auch unter XP verwendet. Das Manifest inplementiert die XP Steuerelemente. Natürlich nur unter XP.

Z.b. bei den Jedis gibt es XP Komponenten, die den XP Style immitieren.

Florian

Chrissi91 12. Nov 2005 14:11

Re: Anwenden von XPManifest
 
Zitat:

Zitat von Chrissi91
Gibt es keine andere Möglichkeit :?:

Ist es wirklich nicht möglich?

Zacherl 12. Nov 2005 14:13

Re: Anwenden von XPManifest
 
Nur wie bereits erwähnt mit Komponenten von Drittanbietern, die aber nicht das XP Design direkt aktivieren, sondern nur immitieren.

Chrissi91 12. Nov 2005 14:16

Re: Anwenden von XPManifest
 
Zitat:

Zitat von Florian Bernd
Nur wie bereits erwähnt mit Komponenten von Drittanbietern, die aber nicht das XP Design direkt aktivieren, sondern nur immitieren.

Schon klar, jetzt wo ich es lese ... Nur habe ich den Beitrag geschrieben, als du deinen editiert hast ;)

Alles klar ... Naja ... werde ich schon irgendwie schaffen ... Wenn ich jetzt trotzdem das XP Manifest unter 98 raufmache und das Programm bei mienem Vater starte (der hat XP), wird das dort als XP Style angezeigt? Oder muss ich es erst auf einem XP - Rechner kompilieren?

Zacherl 12. Nov 2005 14:23

Re: Anwenden von XPManifest
 
Wenn du das Programm auf einem XP Rechner startest, wird auch das XP Design verwendet ohne das Programm neu zu kompilieren.

Ralf Kaiser 12. Nov 2005 15:06

Re: Anwenden von XPManifest
 
Zitat:

Zitat von Chrissi91
Aber das XPManifest ändert doch den Style in ein XP Style, oder? Und was soll das auf einem PC bewirken, der eh unter XP läuft? Das macht für mich wenig Sinn ...

Gibt es keine andere Möglichkeit :?:

Hallo,

wenn du ein "normales" (also Manifest-loses) Programm auf einem XP System startest dann werden die Common Controls der Version 5 benutzt und du siehst den "alten" Style.

Wenn im Programm eine Manifest-Resource vorhanden ist dann werden die Common Controls der Version 6 benutzt und das Programm wird im XP-Style angezeigt. Da auf einem System kleiner XP keine Controls der Version 6 vorhanden sind sieht man dort keine Änderung ob mit oder ohne Manifest.

Ciao,
Ralf

Chrissi91 12. Nov 2005 15:23

Re: Anwenden von XPManifest
 
Danke ...

aber kann ich das nicht trotzdem zusätzlich auf meinem PC installieren? ;o

Ralf Kaiser 12. Nov 2005 15:39

Re: Anwenden von XPManifest
 
Zitat:

Zitat von Chrissi91
Danke ...

aber kann ich das nicht trotzdem zusätzlich auf meinem PC installieren? ;o

Hallo,

Nein.

Das Manifest sorgt eben nur dafür, daß dynamisch eine andere Version der Common Controls benutzt werden kann. Im Moment wird dabei nur zwischen Version 5 und 6 gewechselt. Vielleicht wird unter späteren Windowsversionen auch die Auswahl weiterer Versionen über das Manifest möglich sein. Das Manifest ist ja eigentlich nur eine XML-Datei die bei Verwendung von TXPManifest als Resource eingebunden wird.

In dieser XML-Datei ist irgendwo die zu benutzende Version (hier also 6) eingetragen. Es wird wahrscheinlich später möglich sein dort weitere Versionen festzulegen, je nachdem welche Versionen das Programm unterstützen soll. Microsoft versucht so der berüchtigten "DLL-Hell" zu entkommen, indem es so möglich wird mehrere verschiedene Versionen von DLLs auf einem System zu verwenden.

Wenn du auf Win 98 oder 2000 die 6er-Versionen verwenden wolltest müsstest du also einen Grossteil von XP auf diesen Systemen installieren, was wohl schwerlich möglich ist.

Noch ein kleiner Tipp: Man kann das Manifest auch verwenden, ohne daß es als Resource im Programm vorhanden ist. Dazu muss man eine Manifestdatei in das selbe Verzeichnis kopieren in dem sich das Programm befindet und muss dieser Datei den Dateinamen "Programmname.exe.manifest" geben. ("Programmname" ist dabei natürlich durch den echten Namen des Programmes zu ersetzen). Manifestdateien findest du auf einem XP System einige z.B. im Windows-Verzeichnis oder im System32-Verzeichnis (da kannst du auch mal nachsehen, wie diese Dateien aufgebaut sind).

Auf diese Weise kann man auch Programme mit XP-Style laufen lassen, die das von Hause aus nicht unterstützen (da sie kein Manifest enthalten). Sollte man aber im Einzelfall testen obs funktioniert, es gab da z.B. Probleme wenn Imagelisten im Programm benutzt werden, aber man kann die Manifest-Datei ja einfach wieder löschen :???:

Ciao,
Ralf


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