cs_Bernard74
Messages postés40Date d'inscriptionsamedi 1 mars 2003StatutMembreDernière intervention26 janvier 2013
-
11 févr. 2010 à 11:18
cs_exar
Messages postés286Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention22 avril 2012
-
11 févr. 2010 à 14:34
Bonjour,
Je suis débutant en C++ et je rencontre le problème suivant :
J'ai un source existant en C++ et je veux rajouter une form pour saisir des données.
J'ai donc créer une form avec visual c++ 2008 express et quand je veux rajouter cette form avec le code suivant :
MyForm.visible=true;
J'ai l'erreur de compilation suivante :
2>.\MonProg.cpp(533) : error C2065: 'MyForm' : identificateur non déclaré
2>.\MonProg.cpp(533) : error C2228: la partie gauche de '.visible' doit avoir un class/struct/union
2> le type est ''unknown-type''
cs_exar
Messages postés286Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention22 avril 20121 11 févr. 2010 à 11:53
Essaie avec MyForm->visible=true.
Pour l'identifiant non déclaré, es-tu certain d'avoir déclaré correctement MyForm ?
Mon_type_de_form *MyForm=new Mon_type_de_form;
Naturellement, si tu as des paramètres sans valeur par défaut dans ton constructeur, il faut les mettre...
J'espère avoir répondu à tes questions...
cs_Bernard74
Messages postés40Date d'inscriptionsamedi 1 mars 2003StatutMembreDernière intervention26 janvier 2013 11 févr. 2010 à 12:01
Merci pour ta réponse,
Je viens d'essayer, mais j'ai toujours la meme erreur ! (dur dur de débuter !)
Que représente Mon_type_de_form *MyForm=new Mon_type_de_form; ?
cs_exar
Messages postés286Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention22 avril 20121 11 févr. 2010 à 12:09
Tu crées une instance de Mon_type_de_form. Je ne sais pas comment tu l'as appelé dans VC++... Si ton type est MyForm (ce dont j'ai bien l'impression):
MyForm* MaFenetre=new MyForm;
J'ai oublié de préciser que quand tu n'as plus besoin de ta form, tu libères la mémoire (on travaille avec un pointeur):
delete MaFenetre;
Si tu as d'autres questions, ne te gênes pas !
2>.\MonProg.cpp(532) : error C2065: MyForm: identificateur non déclaré
2>.\MonProg.cpp(532) : error C2065: 'MaFenetre' : identificateur non déclaré
2>.\MonProg.cpp(532) : error C2061: erreur de syntaxe : identificateur MyForm
2>.\MonProg.cpp(533) : error C2065: 'MaFenetre' : identificateur non déclaré
2>.\MonProg.cpp(533) : error C2227: la partie gauche de '->visible' doit pointer vers un type class/struct/union/générique
2> le type est ''unknown-type''
2>.\MonProg.cpp(534) : error C2065: MyForm: identificateur non déclaré
2>.\MonProg.cpp(534) : error C2227: la partie gauche de '->visible' doit pointer vers un type class/struct/union/générique
2> le type est ''unknown-type''
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Bernard74
Messages postés40Date d'inscriptionsamedi 1 mars 2003StatutMembreDernière intervention26 janvier 2013 11 févr. 2010 à 14:15
Je te remercie pour ta patience !
J'avais oublié de mettre :
#include "MyForm.h"
Je l'ai rajouté ... et ç'est la cata complète :
================================================================
#include "stdafx.h"
#include "MyForm.h"
#include "sha/sha.h"
#import "C:\\Program Files\\Common Files\\Research In Motion\\USB Drivers\\BbDevMgr.exe" no_namespace named_guids
#include "BBDevMgr_errors.h"
#include <conio.h>
#include <crtdbg.h>
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonPro\MyForm.h(3) : error C2871: 'System' : un espace de noms avec ce nom n'existe pas
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonProg\MyForm.h(4) : error C2653: 'System' : n'est pas un nom de classe ni d'espace de noms
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonProg\MyForm.h(4) : error C2871: 'ComponentModel' : un espace de noms avec ce nom n'existe pas
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonProg\MyForm.h(5) : error C2653: 'System' : n'est pas un nom de classe ni d'espace de noms
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonProg\MyForm.h(5) : error C2871: 'Collections' : un espace de noms avec ce nom n'existe pas
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonProg\MyForm.h(6) : error C2653: 'System' : n'est pas un nom de classe ni d'espace de noms
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonProg\MyForm.h(6) : error C2871: 'Forms' : un espace de noms avec ce nom n'existe pas
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonProg\MyForm.h(7) : error C2653: 'System' : n'est pas un nom de classe ni d'espace de noms
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonProg\MyForm.h(7) : error C2871: 'Data' : un espace de noms avec ce nom n'existe pas
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonProg\MyForm.h(8) : error C2653: 'System' : n'est pas un nom de classe ni d'espace de noms
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonProg\MyForm.h(8) : error C2871: 'Drawing' : un espace de noms avec ce nom n'existe pas
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonProg\MyForm.h(22) : error C2059: erreur de syntaxe : 'public'
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonProg\MyForm.h(22) : error C2059: erreur de syntaxe : 'public'
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonProg\MyForm.h(22) : error C2653: 'System' : n'est pas un nom de classe ni d'espace de noms
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonProg\MyForm.h(23) : error C2143: erreur de syntaxe : absence de ';' avant '{'
2>c:\program files\research in motion\blackberry jde 5.0.0\samples\MonProg\MonProg\MyForm.h(23) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
2>.\MonProg.cpp(438) : error C2365: 'MonProg' : redéfinition ; la précédente définition était 'espace de noms'
2>.\MonProg.cpp(603) : error C2882: 'MonProg' : utilisation non conforme d'un identificateur d'espace de noms dans l'expression
cs_Bernard74
Messages postés40Date d'inscriptionsamedi 1 mars 2003StatutMembreDernière intervention26 janvier 2013 11 févr. 2010 à 14:25
Voila le contenu du fichier MyForm.h :
#pragma once
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
namespace MonProg {
/// <summary>
/// Description résumée de MyForm
///
/// AVERTISSEMENT : si vous modifiez le nom de cette classe, vous devrez modifier la
/// propriété 'Nom du fichier de ressources' de l'outil de compilation de ressource managée
/// pour tous les fichiers .resx dont dépend cette classe. Dans le cas contraire,
/// les concepteurs ne pourront pas interagir correctement avec les ressources
/// localisées associées à ce formulaire.
/// </summary>
public ref class MyForm : public System::Windows::Forms::Form
{
public:
MyForm(void)
{
InitializeComponent();
//
//TODO : ajoutez ici le code du constructeur
//
}
cs_exar
Messages postés286Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention22 avril 20121 11 févr. 2010 à 14:34
Je n'ai pas regardé le code en profondeur, mais après ton include, ça devrait fonctionner. Donne-moi ton mail en PV, je te répondrai (peut-être plus aujourd'hui, mais qui sait...), et je te donnerai mon mail pour que tu puisses m'envoyer ton code.
Exar.