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

Delphi Discussion :

Passage à Delphi 10.1 Berlin update 1


Sujet :

Delphi

  1. #1
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 658
    Points : 3 599
    Points
    3 599
    Billets dans le blog
    2
    Par défaut Passage à Delphi 10.1 Berlin update 1
    Bonsoir,

    Je viens de passer à l'update 1 de Delphi Berlin 10.1 (et accessoirement à Windows 10 "Anniversaire"). Depuis, je constate que le code suivant affiche les boutons de la boite de dialogue en anglais alors que Windows est paramétré en français :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Vcl.Dialogs.MessageDlg('Essai', mtConfirmation, [mbYes, mbNo, mbYesToAll, mbNoToAll, mbCancel], 0, mbYes);
    Alors qu'avant le passage à l'update 1, les boutons s'affichaient bien en français lorsque Windows était paramétré en français.

    A noter, qu'en utilisant MessageBox, avec le code ci dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    messagebox(0,'Essai','ceci est un essai', MB_YESNOCANCEL+mb_iconinformation);
    les boutons de la boite de dialogue sont bien en français.

    Avez vous déjà constaté cela et comment y remédier ? (il n'y a pas d'équivalent aux valeurs mbYesToAll et mbNoToAll dans le messagebox)

    Je vous remercie par avance pour vos réponses.
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Bonjour,

    C'est surprenant, Vcl.Dialogs.MessageDlg est une fiche crée par Delphi; le texte des boutons provient de Vcl.Consts qui contient des resourcestring, en français normalement.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 658
    Points : 3 599
    Points
    3 599
    Billets dans le blog
    2
    Par défaut
    Bonjour Paul,

    Oui c'est surprenant
    Pour le test, il suffit de faire une nouvelle application VCL, de poser un TButton sur la fiche et dans l'événement Onclick du bouton mettre le code :
    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
    29
    30
    31
    32
    unit Unit1;
     
    interface
     
    uses
      Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
     
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Vcl.Dialogs.MessageDlg('Essai', mtConfirmation, [mbYes, mbNo, mbYesToAll, mbNoToAll, mbCancel], 0, mbYes);
      messagebox(0,'Essai','ceci est un essai', MB_YESNOCANCEL+mb_iconinformation);
    end;
     
    end.
    Voici la capture d'écran du premier message (MessageDlg):
    Nom : messagedlg.png
Affichages : 415
Taille : 2,5 Ko

    et voici la capture du second message (MessageBox) :
    Nom : messagebox.png
Affichages : 500
Taille : 2,2 Ko


    J'ai fait également l'essai sous Firemonkey. Le code suivant affiche les boutons en anglais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FMX.Dialogs.MessageDlg('Test', System.UITypes.TMsgDlgType.mtConfirmation, FMX.Dialogs.mbYesAllNoAllCancel, 0, System.UITypes.TMsgDlgBtn.mbNoToAll);
    alors que le code suivant affiche les boutons en français :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FMX.Dialogs.MessageDlg('Test', System.UITypes.TMsgDlgType.mtConfirmation, FMX.Dialogs.mbYesNo, 0, System.UITypes.TMsgDlgBtn.mbNoToAll);
    Lors de la mise à jour de Delphi, j'ai bien sélectionné la langue française.

    Cordialement,
    Grégory.
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  4. #4
    Membre émérite
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    Avril 2002
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 391
    Points : 2 529
    Points
    2 529
    Par défaut
    Bonjour,

    Dans le répertoire BIN de l'installation de votre Delphi. Normalement :

    C:\Program Files (x86)\Embarcadero\Studio\18.0\bin

    Vous trouverez l'exe : BDSSetLang.exe

    En le lançant vous trouverez 2 onglets le 1er pour modifier la langue de l'IDE et le 2ème pour modifier la langue des librairies. Une fois la modification faite il faudra bien entendu relancer Delphi.

  5. #5
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 658
    Points : 3 599
    Points
    3 599
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Je vous remercie pour votre réponse. Je ne connaissais pas l'utilitaire BDSSetLang.exe.

    Malheureusement pour moi, sur les 2 onglets la langue française était déjà sélectionnée. J'ai modifié pour mettre en anglais puis relancé Delphi : le comportement toujours identique.
    J'ai fermé Delphi, reparamétré en français sur les 2 onglets et relancé Delphi. J'ai toujours le comportement curieux...

    Le comportement est identique lorsque j'exécute project1.exe sur un PC équipé de Windows 7 français.

    Par contre, j'ai essayé en compilant (mon test VCL) en 64 bits, et là j'ai bien les boutons en français !

    Y aurait il un paramétrage qui m'échappe dans les options du projet en Windows 32 bits (le projet de test n'a rien d'extraordinaire : Fichier / Nouveau / Application fiches VCL Delphi) ?

    Cordialement,
    Grégory.
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  6. #6
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 658
    Points : 3 599
    Points
    3 599
    Billets dans le blog
    2
    Par défaut
    J'ai oublié : l'exemple avec Firemonkey compilé en Windows 64 bits :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FMX.Dialogs.MessageDlg('Test', System.UITypes.TMsgDlgType.mtConfirmation, FMX.Dialogs.mbYesAllNoAllCancel, 0, System.UITypes.TMsgDlgBtn.mbNoToAll);
    => les boutons s'affichent aussi en français alors qu'en 32 bits, ils s'affichent en anglais.
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  7. #7
    Membre émérite
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    Avril 2002
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 391
    Points : 2 529
    Points
    2 529
    Par défaut
    En fait si vous regardez pour la VCL dans les répertoire :

    C:\Program Files (x86)\Embarcadero\Studio\18.0\source\vcl

    ou pour Firemonkey :

    C:\Program Files (x86)\Embarcadero\Studio\18.0\source\fmx

    vous trouverez pour la VCL l'unité : Vcl.Consts.pas et pour Firemonkey l'unité : FMX.Consts.pas avec les constantes en Anglais, mais vous verrez que dans chacun des repértoire vous trouverez un sous répertoire FR dans lequel vous retrouverez ces unités mais en Français cette fois.
    Est-ce que ces unités sont bien présentes chez vous, est-ce qu'il n'y aurait pas de problème d'installation avec des fichiers manquants ?
    Est-ce que dans les options (Outils/Options/Options Delphi/Bibliothèques) il n'y aurait pas des paramétrages de répertoires différents selon les plateformes Win32 ou Win64 ?
    Enfin peut être pouvez vous jeter un oeil aux options du projet pour la langue : Projet/Options/Informations de version/Langue ou Projet/Options/Compilateur de ressources/Langue par défaut

  8. #8
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 658
    Points : 3 599
    Points
    3 599
    Billets dans le blog
    2
    Par défaut
    Bonsoir Thierry,

    Je n'ai pas eu le temps de vérifier en détails le second point que vous indiquez. Par contre, pour les points 1 et 3, j'ai vérifié (pour l'instant que la partie VCL). J'ai la version Pro de Delphi.

    • Je dispose bien de Vcl.Consts.pas dans C:\Program Files (x86)\Embarcadero\Studio\18.0\source\vcl et dans C:\Program Files (x86)\Embarcadero\Studio\18.0\source\vcl\fr. Les différences entre les deux (hormis la traduction en français), sont qu'il manque dans le fichier "français" les paramètres SInvalidColorString et SActionManagerNotAssigned. Les traductions sont bonnes : par exemple le paramètre SMsgDlgNoToAll est bien à 'Non &pour tout' dans la version française du fichier. J'ai même recopié le Vcl.Consts.pas "français" directement dans le répertoire C:\Program Files (x86)\Embarcadero\Studio\18.0\source\vcl, refais une construction complète de mon projet de test mais sans succès non plus.

    • Les options du projets pour la langue n'ont pas eu d'effet non plus.


    J'étais déjà sous Delphi 10.1 Berlin avant de passer à l'update 1 avec quelques composants tiers (TMS Software, JCL/JVCL et mes propres composants). Après la mise à jour update 1 (suppression et réinstallation complète via l'installeur web : je n'ai pas téléchargé l'iso), j'ai également réinstallé ces composants tiers (pour ceux de TMS, j'ai repris les dernières versions disponibles).

    Je regarderai demain soir le point 2 que vous m'avez indiqué (ce soir je fatigue).

    Mon problème ne se reproduit pas chez d'autres utilisateurs de Delphi 10.1 update 1 ?
    Pour info, sous "C:\Program Files (x86)\Embarcadero\Studio", j'ai les sous répertoires 15.0 (qui prend 265 Mo), 17.0 (46,8 Mo) et 18.0 (qui prend 8,72 Go). Il faudrait peut être que je supprime les 15.0 et 17.0 pour éviter d'éventuelles confusions ?

    En tout cas merci pour votre aide.
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  9. #9
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Bonjour,

    Les fichiers dans Source ne sont utilisés que pour le débugage, les dcu de compilation sont dans

    C:\Program Files (x86)\Embarcadero\Studio\18.0\lib\win32\release et \fr
    ou
    C:\Program Files (x86)\Embarcadero\Studio\18.0\lib\win32\debug et \fr

    à priori lors de la compilation de ton projet il ne prend pas le dcu dans \fr

    regarde au niveau des Options générales, tu as une entrée "Bibliothèque - Traduite"

    Nom : Presse-papiers-1.png
Affichages : 482
Taille : 35,9 Ko
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  10. #10
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 658
    Points : 3 599
    Points
    3 599
    Billets dans le blog
    2
    Par défaut
    Bonsoir,

    Merci Paul c'était ça !!!
    Les rubriques "Chemin..." dans les "Options Delphi"/"Bibliothèques traduites" étaient vides pour la plateforme Windows 32 bits alors qu'elles sont correctement renseignées pour les autres plateformes.

    Je ne sais pas ce que j'ai fait pour arriver à cette situation mais maintenant je connais la parade

    Cordialement,
    Grégory.
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

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

Discussions similaires

  1. Delphi 10.1 Berlin Update 1 disponible
    Par Thierry Laborde dans le forum Delphi
    Réponses: 7
    Dernier message: 20/09/2016, 09h53
  2. Problème passage Delphi 7 à Delphi XE
    Par Alex39570 dans le forum Langage
    Réponses: 5
    Dernier message: 23/06/2011, 11h28
  3. Réponses: 0
    Dernier message: 17/01/2011, 19h03
  4. pb passage delphi 6 a delphi 2007
    Par el.meyo dans le forum Langage
    Réponses: 5
    Dernier message: 26/11/2008, 11h41
  5. [Kylix] Passage Delphi/Kylix
    Par JP.NUAGE dans le forum EDI
    Réponses: 2
    Dernier message: 03/04/2006, 20h29

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