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

C++Builder Discussion :

Liste déroulante des composants-> (méthodes, évènements, propiétés)


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 132
    Par défaut Liste déroulante des composants-> (méthodes, évènements, propiétés)
    Bonjour,

    Que ce soit starter10.1, 10.3 ou rad studio community 10.4 que je viens d'installer (licence gratuite 1 an),
    la liste déroulante après un composant ( Ex : Edit1->Text, ListBox1->Items->Add) ne s'affiche pas. Edit1-> rien ...
    Il faut alors utiliser le vieux compilateur Borland (Projet + Options + Compilateur C++ + cocher compilateur Borland)
    qui ne reconnaît pas certains codes. Le code ci-dessous plante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void __fastcall TForm2::Button1Click(TObject *Sender)
    {
     
      std::vector<int> const tableau_entiers { 1, 2, 3 };
     
    	for (auto const element : tableau_entiers)
    	{
    		ListBox1->Items->Add(IntToStr(element));
    	}
     
    }
    Pas pratique. A moins qu'une solution existe.

    Cordialement

  2. #2
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    Saut
    il existe toujours une solution
    n'aurais tu pas oublier d'inclure le fichier <vector>
    ce code légèrement modifié fonctionne parfaitement chez moi comme tu peux le constater sur la copie écran ci-jointe

    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
     
    #include <vcl.h>
    #pragma hdrstop
     
    #include "Unit140.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
     
    #include <vector>     // ne pas oublier
     
    TForm140 *Form140;
    //---------------------------------------------------------------------------
    __fastcall TForm140::TForm140(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm140::Button1Click(TObject *Sender)
    {
       std::vector<int> const tableau_entiers { 1, 2, 3 };
     
    	for (auto const element : tableau_entiers)
    	{
    		ListBox1->Items->Add(element);
    // inutile de passer par IntoString car il existe un constructeur pour le type int dans la classe UnicodeString
    	}
    }
    Nom : FillListBox.PNG
Affichages : 251
Taille : 3,8 Ko
    bien cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 132
    Par défaut
    Salut DJM.

    J'ai bien inséré #include <vector>.

    Chez moi, à partir du moment où le compilateur Borland est activé, ça plante.

    Que ce soit en vcl ou fmx. Mon 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
    #include <fmx.h>
    #pragma hdrstop
     
    #include "Unit2.h"
    #include <vector>
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.fmx"
    TForm2 *Form2;
    //---------------------------------------------------------------------------
    __fastcall TForm2::TForm2(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm2::Button1Click(TObject *Sender)
    {
      std::vector<int> const tableau_entiers { 1, 2, 3 };
     
    	for (auto const element : tableau_entiers)
    	{
    		ListBox1->Items->Add(element);
    	}
     
     
    }
    Compilation de Project2.cbproj (Debug, Win32)
    [bcc32 Erreur] Unit2.cpp(20): E2108 Utilisation impropre de typedef 'std::vector<int,std::allocator<int> >'
      Contexte d'analyseur complet
        Unit2.cpp(19): analyse : void _fastcall TForm2::Button1Click(TObject *)
    [bcc32 Erreur] Unit2.cpp(20): E2379 ; manquant dans l'instruction
      Contexte d'analyseur complet
        Unit2.cpp(19): analyse : void _fastcall TForm2::Button1Click(TObject *)
    [bcc32 Erreur] Unit2.cpp(22): E2304 La variable Constante 'element' doit être initialisée
      Contexte d'analyseur complet
        Unit2.cpp(19): analyse : void _fastcall TForm2::Button1Click(TObject *)
    [bcc32 Erreur] Unit2.cpp(22): E2141 Erreur de syntaxe de déclaration
      Contexte d'analyseur complet
        Unit2.cpp(19): analyse : void _fastcall TForm2::Button1Click(TObject *)
    [bcc32 Erreur] Unit2.cpp(28): E2139 ; manquant dans la déclaration
      Contexte d'analyseur complet
        Unit2.cpp(19): analyse : void _fastcall TForm2::Button1Click(TObject *)
    [bcc32 Erreur] Unit2.cpp(28): E2188 Syntaxe de l'expression
      Contexte d'analyseur complet
        Unit2.cpp(19): analyse : void _fastcall TForm2::Button1Click(TObject *)
    [bcc32 Erreur] Unit2.cpp(28): E2378 ; manquant dans l'instruction For

  4. #4
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    Salut
    cela veut simplement dire qu'l faut utiliser la version CLANG du compilateur (BCC32X).
    le compilateur bcc32 bien que distribué n'est plus maintenu.
    si tu reste au niveau de la vcl ou de la FMX cela ne pose pas de problème,mais si tu utilise le framework STD et les dernières évolution du langage C++ et C+/ le compilateur compilateur BCC32C est indispensable

    extrait de l'aide Embarcadero

    Le mot clé auto a été redéfini dans les standards C++11 et C++17. Par conséquent, C++Builder supporte deux définitions différentes de auto, déterminées par le standard suivi par chaque compilateur C++.

    La définition C++98 est prise en charge par des compilateurs C++ de précédente génération (BCC32 et BCCOSX).
    La définition C++11 est prise en charge par les compilateurs C++ améliorés par Clang compatibles C++11.
    Les définitions C++14 et C++17 sont prises en charge par les compilateurs C++ améliorés par Clang compatibles C++11.

    Cette page décrit les définitions de auto.

    référence:https://docwiki.embarcadero.com/RADS...andria/fr/Auto

    cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 132
    Par défaut
    Salut

    Merci pour tes réponses.

    Sur le site https://docwiki.embarcadero.com/RADS...%A9s_par_Clang

    "Comment utiliser le nouveau compilateur basé sur Clang pour des projets Windows 32 bits

    BCC32C et BCC32X ne remplacent pas BCC32. En effet, RAD Studio vous offre la possibilité d'utiliser le compilateur de votre choix pour chacun de vos projets. BCC32 est le compilateur C++ par défaut pour Windows 32 bits.

    Pour activer BCC32C ou BCC32X pour un projet spécifique, sélectionnez Projet > Options > Compilateur C++ et désactivez l'option Utiliser le compilateur Borland 'classique' sous Compilateur classique.

    L'EDI utilise ensuite le compilateur Win32 amélioré par Clang. La différence entre bcc32c et bcc32x existe uniquement sur la ligne de commande. Le compilateur EDI est hébergé dans le processus de l'EDI et n'est pas piloté depuis la ligne de commande. "

    La dessus pas de problème. Mais lorsque le compilateur Borland est désactivé, plus moyen d'avoir la liste déroulante qui donne accès aux propriétés, évènements, méthodes ... des composants.

    Edit1-> rien ne se passe. Pas pratique. A moins que quelque chose m'échappe ....

    Cordialement

  6. #6
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    Salut,
    effectivement le compilateur Clang est plus lent concernant les audit de code
    ce problème n'est toujours pas résolu correctement chez Embarcadero

    aide Embarcadero ici:https://docwiki.embarcadero.com/RADS...7audit_de_code

    toutefois il existe un plan B permettant sur des machines avec un bon processeur d'améliorer significativement les performances de l'audit de code et de conseil
    pour ce faire il faut

    vérifier que les options audit de code soient identiques à cette copie écran

    Audit de code :Nom : audit.PNG
Affichages : 226
Taille : 79,8 Ko
    1. sauvegarder ton projet sur disque avant la compilation
    2 activer toutes les cases à cocher comme indiquer dans la copie écran ci dessous
    option LSP:Nom : Capture.PNG
Affichages : 258
Taille : 44,7 Ko

    3 compile un bout de code
    suivant les performances de ta machine tu devrais avoir l'audit de code dans les 15 secondes (la première fois)


    Cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

Discussions similaires

  1. [MySQL] liste déroulante des pays
    Par tchaw dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 10/12/2009, 09h30
  2. Afficher une liste déroulante des villes
    Par kamclasse dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 20/07/2009, 16h21
  3. Liste déroulante des polices
    Par The SorroW dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 19/02/2009, 12h15
  4. '30/12/1899' dans la liste déroulante des dates
    Par amka dans le forum Access
    Réponses: 3
    Dernier message: 11/08/2006, 10h21
  5. ajustement de la taille de la liste déroulante des combobox
    Par mdevlieg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 09/08/2006, 13h36

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