IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI Delphi Discussion :

Res vista le programme compile plus


Sujet :

EDI Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 96
    Points : 50
    Points
    50
    Par défaut Res vista look vista
    Bonjour

    Je développe un petit programme et j'ai voulu l'adapter à vista pour qu'il s'éxécute en administrateur.
    J'ai suivi les étapes suivantes :
    NomProg.manifest dans lequel j'ai mis le contenu
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0]
     <assemblyIdentity version="1.1.1.1"
      processorArchitecture="X86"
      name="NomProg"
      type="win32"/>
     <description>elevate execution level</description>
     <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2]
     <security>
      <requestedPrivileges>
       <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
      </requestedPrivileges>
     </security>
     </trustInfo>
    </assembly>

    Puis j'ai créé un fichier NomProg.rc avec comme contenu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1 24 "NomProg.manifest"
    Puis j'ai compilé ce qui m'a crée un NomProg.res

    J'ai rajouté un {$R NomProg.res} en enlevant le {$R *.res}
    Le problème c'est que j'ai aussi un autre .res qui porte le nom de mon application est qui généré par Delphi.
    J'ai ouvert celui ci est j'ai vu qu'il y avait un autre manifeste dedans.

    J'ai supprimé, changer de nom ces .res car j'avais des erreurs comme quoi il y avait le type 24 qui revenait. Bref, j'ai tellement merdé que maintenant , à la compilation j'ai un "impossible de creer le fichier de sorti ****.exe"

    J'ai pourtant remis {$R *.res} et supprimé les .res que j'avais créé.
    Help me please.

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 96
    Points : 50
    Points
    50
    Par défaut
    Bon j'ai en parti résolu mon problème

    J'ai réussit à intégrer mon manifest sous forme d'un .res et ca marche : plus de problème d'éxécution sous Vista.
    J'ai créé mon vista.res et j'ai écrit dans le dpr
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    {$R NomApplication.res}
       {$R vista.res}
    Il me reste quand même un avertissement à la compilation
    ayant deux .res, il me dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [DCC Avertissement] W1056 Warning: Duplicate resource:  Type 24 (user-defined), ID 1; File C:\....\vista.res resource kept; file C:\...\NomApplication.res resource discarded.
    L'execution sous vista marche mais l'apparence n'est pas celle de vista.
    J'ai plus acces (grisé) aux thèmes d'exécution dans options>application.
    Je n'y ai acces que si j'enlève les références aux deux .res du dpr

    Une idée ?

  3. #3
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 752
    Points : 5 460
    Points
    5 460
    Par défaut
    Il y a un moment que je n'ai pas travaillé avec XML mais ton document me semble mal formé.

    Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
     <assemblyIdentity version="1.1.1.1"
      processorArchitecture="X86"
      name="NomProg"
      type="win32">
     <description>elevate execution level</description>
     <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
     <security>
      <requestedPrivileges>
       <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
      </requestedPrivileges>
     </security>
     </trustInfo>
    </assembly>
    J'ai remplacé les ']' par des '>'
    Rajouter un double quote au n° de version
    J'ai enlevé le '/' à 'type="win32">' car il s'utilise lorsque qu'il n'y pas de balise fermante. Toi tu en as bien une !
    Il manquait la quote de à la fin de 'urn:schemas-microsoft-com:asm.v2'.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 96
    Points : 50
    Points
    50
    Par défaut
    L'insertion du manifest est bon maintenant (j'en ai récupéré un ailleur)
    Mais il me reste l'avertissement à la compile et le problème du look vista (voir mon message précédent)

    Merci d'avoir répondu

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 96
    Points : 50
    Points
    50
    Par défaut
    Bonjour

    J'ai installé Vista sur mon PC pour compiler direct sous Vista
    Pas de problème, la compliation marche et le programme se lance sous vista sans problème.

    Par contre le look reste inchangé bien que j'ai activé les thèmes d'exécution dans les options du projets.

    J'ai raté une étape.

    Merci.

  6. #6
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 419
    Points
    1 419
    Par défaut
    bonjour justement faut desactiver le theme dans les options du projet car sinon il y a conflit.

    ainsi ton project gère un res avec numéro version, icône et a coté tu insère un res avec look et droit admin

    clike droit "voir le source" sur ton projet
    et tu met sa:
    ainsi la case theme ne sera plus grisé, décoche la et construit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    {$R 'XP Theme requireAdministrator.RES'}
    {$R *.res}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <assemblyIdentity
        type="win32"
        name="CodeGear RAD Studio"
        version="11.0.2902.10471" 
        processorArchitecture="*"/>
      <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>
    </assembly>
    change sa selon ta version de delphi:
    name="CodeGear RAD Studio"
    version="11.0.2902.10471"

    moi j'ai aucun problème comme sa

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 96
    Points : 50
    Points
    50
    Par défaut
    Euh ca c'est pour compiler sous XP et que le prog soit compatible Vista
    (je vais essayer)

    Mais en compilant sous Vista, je devrai pas avoir de pb de look vista, non ?

    Merci

  8. #8
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 809
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 809
    Points : 13 508
    Points
    13 508
    Par défaut
    Le manifest, Les infos de version et l'icône sont dans les ressources. Mais le manifest n'est pas LES ressources.

    Dans les versions récentes de Delphi, un manifest de base est créé (par l'activation des thèmes) avec des privilèges AsInvoker.

    Si on veut une élévation de privilèges et le manifest ayant toujours un RessourceID =1. On doit obligatoirement (pour ne plus avoir ce warning) désactiver les thèmes "Delphi". Sinon il y a conflit d'Id.

    Du point de vue visuel, il n'y a aucune différence puisque seule la présence d'un manifest suffit à dire au système que cette application est compatible XP "look" (et supérieur) .

    ps: Ce qui est dommage, c'est que ce RequestedPrivileges ne soit pas éditable depuis l'EDI. Peut-être sous D2010...

  9. #9
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 419
    Points
    1 419
    Par défaut
    Citation Envoyé par inspecteur rick Voir le message
    Euh ca c'est pour compiler sous XP et que le prog soit compatible Vista
    (je vais essayer)

    Mais en compilant sous Vista, je devrai pas avoir de pb de look vista, non ?

    Merci
    sa c'est pour avoir le look xp vista et superieur, compiler sous xp vista ou seven ne change rien au look, ce qui fait que l'application prend le look c'est le contenu du manifest, précisément cette partie du manifest
    <dependency>
    <dependentAssembly>
    <assemblyIdentity
    type="win32"
    name="Microsoft.Windows.Common-Controls"
    version="6.0.0.0"
    publicKeyToken="6595b64144ccf1df"
    language="*"
    processorArchitecture="*"/>
    </dependentAssembly>
    </dependency>

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 96
    Points : 50
    Points
    50
    Par défaut
    Merci j'avais oublié de répondre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/01/2010, 13h54
  2. Réponses: 2
    Dernier message: 17/10/2008, 15h56
  3. programme qui ne se compile plus
    Par sissi25 dans le forum NetBeans
    Réponses: 2
    Dernier message: 19/04/2007, 17h33
  4. Mon projet ne se compile plus :/
    Par Higestromm dans le forum MFC
    Réponses: 9
    Dernier message: 31/01/2006, 08h54
  5. [Kylix] Un programme compilé ne veut pas se lancer
    Par LightBeam dans le forum EDI
    Réponses: 1
    Dernier message: 05/08/2003, 10h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo