none
Utilisation d'une classe non managée dans un Windows Form Application (erreur de syntaxe : identificateur '{ctor}' )

    Question

  • Bonjour,

    J'essaye en vain d'utiliser ma classe MonitWell.h (apparemment non managée) dans mon Form1.h. J'ai d'abord eu l'erreur " object reference not set to an instance of an object " en utilisant un objet du type MonitWell dans la fonction label2_Click. J'ai donc essayé de faire comme suit (dans mon code), (avec en entête #include "MonitWell.h") mais sans succès, j'ai maintenant l'erreur "error C2061: erreur de syntaxe : identificateur '{ctor}' ". Mon constructeur est pourtant bien défini (du moins, je n'y vois pas d'erreur) dans mon MonitWell.h et mon MonitWell.cpp.

    Quelqu'un saurait-il me dépatouiller de cette affaire, je ne m'en sors plus !!!

    Merci d'avance.

    public ref class Form1 : public Form { public: Form1(){ InitializeComponent(); //TODO : ajoutez ici le code du constructeur } protected: /// <summary> /// Nettoyage des ressources utilisées. Destructeur /// </summary> ~Form1() { if (components) { delete components; } } private: MonitWell* MW; System::Windows::Forms::Button^ OkNbWells; System::Windows::Forms::TextBox^ NbWells; #pragma region Windows Form Designer generated code /// <summary> /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas /// le contenu de cette méthode avec l'éditeur de code. /// </summary>

    void InitializeComponent()    {

    // c'est la ligne suivant qui provoque l'erreur de syntaxe due au constructeur

    this->MW = (gcnew MonitWell::MonitWell()); this->OkNbWells = (gcnew System::Windows::Forms::Button()); this->NbWells = (gcnew System::Windows::Forms::TextBox()); // // OkNbWells // this->OkNbWells->Location = System::Drawing::Point(123, 47); this->OkNbWells->Name = L"OkNbWells"; this->OkNbWells->Size = System::Drawing::Size(63, 23); this->OkNbWells->TabIndex = 6; this->OkNbWells->Text = L"OK"; this->OkNbWells->UseVisualStyleBackColor = true; this->OkNbWells->Click += gcnew System::EventHandler(this, &Form1::label2_Click); // // NbWells // this->NbWells->Location = System::Drawing::Point(12, 49); this->NbWells->Name = L"NbWells"; this->NbWells->Size = System::Drawing::Size(105, 20); this->NbWells->TabIndex = 4; } #pragma endregion

    ...

    System::Void label2_Click(System::Object^ sender, System::EventArgs^ e) { // C'est la ligne suivante qui provoquait l'erreur " object reference not set to an instance of an object "

    // Ma forme s'affichait correctement, mais dès que j'entrais un entier et cliquais sur ok, j'avais le message d'erreur

    MW->NbWells = int::Parse( this->NbWells->Text );

    // je voudrais en cliquant sur ok, sauvergarder la valeur entrée dans // mon TextBox et l'assigner au champs de NbWells de mon MonitWell *MW } };














    • Modifié Rionms vendredi 19 avril 2013 08:36
    mercredi 17 avril 2013 13:37

Toutes les réponses