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

VB 6 et antérieur Discussion :

Gérér la langue d'une DLL générée par VB6


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 74
    Points : 44
    Points
    44
    Par défaut Gérér la langue d'une DLL générée par VB6
    Bonjour,

    Je génére un DLL ActiveX avec VB6.
    Projet|Propriété de.. permet de changer quelques informations de la DLL générée mais pas sa langue (anglais, français etc..).

    Quelqu'un sait il où se trouve ce paramètrage ? (ou un moyen de changer la localisation de DLL, par exemple de Français vers anglais ? ) ?

    Merci par avance !
    lbgl

  2. #2
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Tu peux changer les infos de version de la DLL.

    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
    1 VERSIONINFO
    FILEVERSION 5,131,2600,2180
    PRODUCTVERSION 5,131,2600,2180
    FILEOS 0x40004
    FILETYPE 0x2
    {
    BLOCK "StringFileInfo"
    {
    	BLOCK "040904B0"
    	{
    		VALUE "CompanyName", "Microsoft Corporation"
    		VALUE "FileDescription", "Microsoft Trust UI Provider"
    		VALUE "FileVersion", "5.131.2600.2180 (xpsp_sp2_rtm.040803-2158)"
    		VALUE "InternalName", "CRYPTUI.DLL"
    		VALUE "LegalCopyright", "© Microsoft Corporation. All rights reserved."
    		VALUE "OriginalFilename", "CRYPTUI.DLL"
    		VALUE "ProductName", "Microsoft® Windows® Operating System"
    		VALUE "ProductVersion", "5.131.2600.2180"
    		VALUE "OleSelfRegister", ""
    	}
    }
    
    BLOCK "VarFileInfo"
    {
    	VALUE "Translation", 0x0409 0x04B0
    }
    }
    Utilises Resource Hacker: http://www.angusj.com/resourcehacker/

    Il y a peut être une solution plus facile, mais je ne la connais pas

  3. #3
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 74
    Points : 44
    Points
    44
    Par défaut
    Merci pour la réponse !

    Hélas bien que resourcehacker possède apparemment une fonction pour changer le langage de la dll je n'ai pu la faire fonctionner: à la sauvegarde de ma dll, la langue est invariablement 'Français', quelque soit les changements que j'effectue.

    • Aurais-je fait une erreur de manip avec resoucrehacker ?
    • Quelqu'un connait il un autre logiciel capable de changer la langue d'une dll ?

    Merci par avance de vos réponses,
    lbgl

  4. #4
    Membre averti
    Homme Profil pro
    Développeur VB6 et tout neuf en .Net
    Inscrit en
    Avril 2005
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VB6 et tout neuf en .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 377
    Points : 446
    Points
    446
    Par défaut
    Bonjour lbgl,

    Je ne connais pas grand chose aux problèmes de langues et de localisation de programmes.

    En quoi le fait que ta dll soit marquée en Francais te pose un problème ?

  5. #5
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 74
    Points : 44
    Points
    44
    Par défaut
    Merci de vos réponses.

    En fait, j'ai deux DLL a priori très proches voire identiques, l'une fonctionne l'autre pas. Une de leur différence était la langue indiquée de la DLL, d'où mon souhait de modifier cette langue pour voir ...

    Hélas, si finalement resourecehack m'a bien permis de changer la langue (il faut faire "change language code" dans version_info ET changer apparement l'adresse de block_info puis compiler le script), ça n'a rien changé à mon pb initial.

    Merci cependant de votre aide. je reviendrais sur le forum si j'ai une autre piste concernant mon réel problème.
    lbgl

  6. #6
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    J'ai essayer avec Ressource Hacker et sa fonctionne il faut que tu changes la ligne:
    VALUE "Translation", 0x0409 0x04B0

    Dans ce cas-ci 0x0409 est anglais donc tu dois mettre 0x040C pour français.

    Pour la liste de code va voir le site web:
    http://msdn2.microsoft.com/en-us/library/aa381057.aspx

  7. #7
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    as tu fait un diff binaire entre tes deux DLL ? Elles ne sont peut être pas identique.
    Dernièrement j'ai eu un problème similaire, deux dll normalement identiques ne l'étaient pas.
    La différence est dut au fait que la compilation de la dll n'a pas etait fait de la même façon les deux fois. La deuxième, il y a eu une mise à jour d'une API utilisé avant la compilation.

  8. #8
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 74
    Points : 44
    Points
    44
    Par défaut
    Tout d'abord Merci de vos réponses.

    En effet les DLL sont générées avec des références d'API dont les versions sont différentes (la génération qui ne marche pas concerne les API les plus récentes...).
    Pour info, la dll est générée sur un poste et testée sur un autre.

    J'ai essayé de mettre les "vieilles" API en référence et de regénérer ma DLL, sans succés. Ca semble logique puisque la machine de test possède les API/DLL les plus récentes.

    Quoi qu'il en soit je ne comprends pas pourquoi "à un moment" mon projet VB6 a génèré une DLL en anglais et à un autre une DLL en français.

    la langue de la DLL générée est-elle fondée sur les DLL en références ou sur la version(us ou fr) de VB6 ?

    Pour l'instant la différence de langue est celle que j'ai pu identifié entre les deux DLL (la diff. des sources n'est pas signficative) mais même si resourcehack m'a permis de changer la langue ça n'a pas fait mieux marcher ma dll..

    Merci par avance de vos éclairages (bien que je sois conscient que mon probème est légèrement flou....)

    lbgl

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/11/2006, 17h49
  2. Supprimer une méthode générée par Matisse
    Par Babaôrom dans le forum NetBeans
    Réponses: 2
    Dernier message: 21/11/2006, 09h13
  3. Réponses: 7
    Dernier message: 11/09/2006, 16h44
  4. Réponses: 14
    Dernier message: 03/07/2006, 16h55
  5. [GD] Enregistrer une image générée par PHP sur disque dur
    Par Alex01 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 03/05/2006, 11h16

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