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 :

Erreur aprés migration 2007->2009


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Par défaut Erreur aprés migration 2007->2009
    Bonjour,

    je vien de migré à CodeGear 2009

    Sur un de mes projet 2 erreur fond leur aparition à la compilation
    Elle on l'aire du méme style.
    J'avais aucun probléme sous 2007, l'aplication fonctioné, mais je doit y rajouter des fonctionalité

    Erreur 1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String file,file2;
    ...
    if (!CopyFile(file.c_str(),file2.c_str(), false)){
        ShowMessage("Impossible de faire le backup des fichiers");
        exit(1);
    J'ai comme ereur sur le CopyFile :
    [BCC32 Erreur] Unit1.cpp(218): E2034 Impossible de convertir 'wchar_t *' en 'const char *'
    [BCC32 Erreur] Unit1.cpp(218): E2342 Mauvaise correspondance de type dans le paramètre 'lpExistingFileName' ('const char *' désiré, 'wchar_t *' obtenu)
    Erreur 2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        m=Application->MessageBoxA("Continuer l'importation?","Erreur de valeur",MB_YESNO);
        if (m==7)
                        exit(1);
    J'ai comme erreur sur le MessageBoxA :
    [BCC32 Erreur] Unit1.cpp(243): E2034 Impossible de convertir 'const char *' en 'const wchar_t *'
    [BCC32 Erreur] Unit1.cpp(243): E2342 Mauvaise correspondance de type dans le paramètre 'Text' ('const wchar_t *' désiré, 'const char *' obtenu)

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Salut,
    c'est erreurs me semble logique vu que la version 2009 prend en compte le texte unicode et que ton problème et qu'il n'arrive pas à convertir des chaine de caractère normal en chaine de caractère unicode ou l'inverse.

    Pour le premier cas, je sais que la méthode c_str() à été modifier pour renvoyer un chaine de caractère unicode, or ici tu utilise c_str() pour remplir des paramètre de chaine de caractère normal.
    Une solution serai de modifier file et file2 en std::string ou alors de chercher une éventuelle méthode borland qui ferai la même chose que c_str() mais en chaine non unicode.

    Pour le deuxième cas ceci devrait suffir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m=Application->MessageBoxA(String("Continuer l'importation?").c_str(),String("Erreur de valeur").c_str(),MB_YESNO);

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Par défaut
    Bon, j'ai trouvé des solution :

    1° dans les option du projet, dans répertoire et conditions, j'ai mis wchar_t à la place de char pour le mappage de _TCHAR (trouvé plus bat dans se forum)
    Sa à résolut mes erreur mais en à donner d'autre.
    2°aprés sa, il ma dit que MessageBoxA n'existé pas, j'ai renplacer par MessageBox
    3°il ma à lor redoner des erreur de style inposible à convertir, j'ai donc adapter comme sugerait par pottiez:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m=Application->MessageBox(String("Continuer l'importation?").c_str(),String("Erreur de valeur").c_str(),MB_YESNO);
    4°l'inspection du code à l'aire de bien se passé, mais j'ai maintenat un erreur qui se réfaire à aucune ligne :
    [ILINK32 Erreur] Error: 'wWinMain' externe non résolu, référencé depuis C:\PROGRAM FILES\CODEGEAR\RAD STUDIO\6.0\LIB\C0W32W.OBJ
    J'ai vérifier, le fichier existe bien à l'endroit indiquer???

  4. #4
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Ça c'est une erreur de lieur et non pas de compilateur
    Vérifie que dans les options de ton projet, dans le chemin de bibliothèque, tu as bien le répertoire ou ce trouve ce .obj (C'est bizarre qui lui manque d'ailleurs vu que c'est un de ses répertoires)

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Par défaut
    Citation Envoyé par pottiez Voir le message
    Ça c'est une erreur de lieur et non pas de compilateur
    Vérifie que dans les options de ton projet, dans le chemin de bibliothèque, tu as bien le répertoire ou ce trouve ce .obj (C'est bizarre qui lui manque d'ailleurs vu que c'est un de ses répertoires)
    je supose que $(BDS)\lib fait référance à se chemin, il est donc dans la liste.

  6. #6
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Oui, c'est bien ça, bizarre, je n'ai pas trop de solution pour le moment mais si je pense à quelques chose je te fait signe.

  7. #7
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Par défaut
    J'ai trouvé dans les sortie un autre message un peut plus complet se raportans à la méme erreur :
    c:\program files\codegear\rad studio\6.0\Bin\CodeGear.Cpp.Targets(2089,3): error : Error: 'wWinMain' externe non résolu, référencé depuis C:\PROGRAM FILES\CODEGEAR\RAD STUDIO\6.0\LIB\C0W32W.OBJ

  8. #8
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Par défaut
    Quelque test :
    je remais le le mappage de _TCHAR en char : erreur ,inposible de convertir... sur mes CopyFile
    Je mes mes CopyFile en commantaire : la compilation marche, le programme s'exécute
    Je remais le le mappage de _TCHAR en wchar_t : erreur wWinMain...

  9. #9
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Par défaut
    Bingo.

    Je vien de trouvé.
    Plus d'erreur de compilation.
    Solution que j'ai trouvé :
    Je l'aisse le mappage de _TCHAR en char (paramétre par deffaut)
    et je Remplace mes CopyFile par CopyFileW. Se qui me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CopyFileW(file.c_str(),file2.c_str(), false)

  10. #10
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Félicitation

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/02/2008, 17h24
  2. erreur apres une migration de 5.5 vers 6
    Par Ashen-Shugar dans le forum NetBeans
    Réponses: 2
    Dernier message: 04/01/2008, 08h58
  3. BOXIR2 erreur aprés migration
    Par azziz2005 dans le forum Administration-Migration
    Réponses: 13
    Dernier message: 09/08/2007, 14h04
  4. Erreur après la migration de delphi 2005 vers 2006
    Par sawbo1 dans le forum Delphi
    Réponses: 2
    Dernier message: 21/07/2006, 19h18

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