C2065 und C2227



  • Hi

    Ich schreibe ein kleines Programm , aber der Compiler gibt mir 2 Fehler
    Fehlermeldung: error C2065: 'StatusPanel1' : undeclared identifier
    error C2227: left of '->Text' must point to class/struct/union/generic type

    da sind die abschnitte worum es geht
    :
    Form1.h
    ****************************************************************************************
    #pragma once

    namespace MeinProjekt_07 {

    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;

    ...
    private: System::Windows::Forms::ToolStripStatusLabel^ StatusPanel1;
    ...
    private: System::Void Connect_Btn_Connect_Click(System::Object^ sender, System::EventArgs^ e);
    ********************************************************************************************************************
    bei Connect.cpp steht:
    **************************************************************
    #pragma once
    #include "stdafx.h"
    #include "Form1.h"

    using namespace MeinProjekt_07;
    using namespace System::Windows::Forms;
    using namespace System::Diagnostics;
    System::Void Connect_Btn_Connect_Click(System::Object^ sender, System::EventArgs^ e)
    {
    StatusPanel1->Text = L"NOT_CONNECTED.";
    ...
    }
    *************************************************************

    Ich bin ein stolzer Anfänger 😕

    Gruß
    Kal



  • 1. pack es in den passenden Namensraum
    2. schau Dir mal an wie man die Trennung vornimmt. Du musst in der .cpp angeben wohin das gehört.

    #pragma once 
    #include "stdafx.h" 
    #include "Form1.h" 
    
    using namespace System::Windows::Forms; 
    using namespace System::Diagnostics; 
    
    namespace MeinProjekt_07 { 
    System::Void Form1::Connect_Btn_Connect_Click(System::Object^ sender, System::EventArgs^ e) 
    { 
    StatusPanel1->Text = L"NOT_CONNECTED."; 
    ... 
    } 
    }
    


  • Danke für die schnelle Antwort 👍 👍
    Die Fehler bleiben aber die selben... 😕
    bitte was meinst du mit dem zweiten Punkt???



  • Du zeigst in Deinem Quellcode nicht gerade viel.

    Wohin gehört Connect_Btn_Connect_Click ?
    Form1 oder irgendwo anderst hin ?

    Mit punkt 2 ist gemeint: Mal ins Grundlagenbuch unter Klassen u. Objekte nachlesen. Wenn Du was in eine .cpp schiebst und dort auch sagen wohin diese gehört.

    Wenn Connect_Btn_Connect_Click eine lose Funktion ist, musst Du dieser auch die Daten bekannt geben woher es das Panel nehmen soll.

    Wenn Connect_Btn_Connect_Click zu irgend einer anderen Klassen gehört, musst Du dafür sorgen, das eine Instanz von Form1 an dieser stelle bekannt ist, über die (idealerweise mit protperties) auf das Panel zugegriffen wird.

    Wenn Connect_Btn_Connect_Click zu Form1 gehört (Connect.cpp ?) , muss einfach ein Form1:: vor Connect_Btn_Connect_Click damit der Compilter weiß das die Methode zu Form1 gehört.



  • 1-Ja Connect_Btn_Connect_Click geört zu Form1
    2-ja das ist wahr ich brauche es zu machen ...

    Danke



  • Knuddlbaer schrieb:

    Du zeigst in Deinem Quellcode nicht gerade viel.

    Wohin gehört Connect_Btn_Connect_Click ?
    Wenn Connect_Btn_Connect_Click zu Form1 gehört (Connect.cpp ?) , muss einfach ein Form1:: vor Connect_Btn_Connect_Click damit der Compilter weiß das die Methode zu Form1 gehört.

    super jetzt hab ich kein C2065 aber C2227 bleibt leider 😞


Anmelden zum Antworten