tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
1
ZUGRIFFE
472
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Silvercreast Silvercreast ist offline Mitglied Gold
    Registriert seit
    Aug 2005
    Ort
    Solingen ( NRW )
    Beiträge
    152
    Guten Morgen,

    ich arbeite an einem Server/Client Programm unter MFC, ich habe folgendes Problem ich kriege von meinem Compiler folgende Fehlermeldung:

    C:\Dokumente und Einstellungen\Dors\Desktop\C++\Client\mfc common\ssmcSocket.cpp(858) : error C2227: Der linke Teil von '->connectToServer' muss auf Klasse/Struktur/Union zeigen
    Ich würde diese Fehlermeldung ja verstehen, wenn mir der Compiler dann nicht noch den Fehler im Code zeigen würde
    Code:
    Code :
    1
    
    if (m_pClient->connectToServer(serverIPAddress, ADDRESS))

    Diese Fehlermeldung bezieht sich auf den Zeiger m_pClient der wie Ihr hier seht:

    Code :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    
    class CClientDlg : public CDialog
    {
    // Konstruktion
    public:
    CClientDlg(CWnd* pParent = NULL); // Standard-Konstruktor
     
    // Dialogfelddaten
    //{{AFX_DATA(CClientDlg)
    enum { IDD = IDD_CLIENT_DIALOG };
    // HINWEIS: der Klassenassistent fügt an dieser Stelle Datenelemente (Members) ein
    //}}AFX_DATA
     
    // Vom Klassenassistenten generierte Überladungen virtueller Funktionen
    //{{AFX_VIRTUAL(CClientDlg)
    protected:
    virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV-Unterstützung
    //}}AFX_VIRTUAL
     
    // Implementierung
    protected:
    HICON m_hIcon;
    ssmcTcpSocket * m_pClient;
    CString m_strServerName;
    DWORD m_dwServerIP;
    CString m_strThreadId;
    HANDLE m_hWriteMutex;
     
    void LoginUser();
    int ReceiveMessageFromServer(CString& strMessage);
    CString ReadServerConfig();
    int SendMessages(LPCTSTR lpszMessage, int nRepeat);
    int SendMessageToServer(LPCTSTR lpszMessage);
    BOOL StartClient();
     
     
    // Generierte Message-Map-Funktionen
    //{{AFX_MSG(CClientDlg)
    virtual BOOL OnInitDialog();
    afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
    afx_msg void OnPaint();
    afx_msg HCURSOR OnQueryDragIcon();
    afx_msg void OnbtnVermietung();
    afx_msg void OnbtnLeasing();
    afx_msg void OnbtnReturn();
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
    };
    Code:
     
    if (m_pClient->connectToServer(serverIPAddress, ADDRESS))
     
    Diese Fehlermeldung bezieht sich auf den Zeiger m_pClient der wie Ihr hier seht:
     
    class CClientDlg : public CDialog
    {
    // Konstruktion
    public:
        CClientDlg(CWnd* pParent = NULL);    // Standard-Konstruktor
     
    // Dialogfelddaten
        //{{AFX_DATA(CClientDlg)
        enum { IDD = IDD_CLIENT_DIALOG };
            // HINWEIS: der Klassenassistent fügt an dieser Stelle Datenelemente (Members) ein
        //}}AFX_DATA
     
        // Vom Klassenassistenten generierte Überladungen virtueller Funktionen
        //{{AFX_VIRTUAL(CClientDlg)
        protected:
        virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV-Unterstützung
        //}}AFX_VIRTUAL
     
    // Implementierung
    protected:
        HICON m_hIcon;
        ssmcTcpSocket * m_pClient;
        CString            m_strServerName;
        DWORD            m_dwServerIP;
        CString            m_strThreadId;
        HANDLE            m_hWriteMutex;
     
        void LoginUser();
        int                ReceiveMessageFromServer(CString& strMessage);
        CString            ReadServerConfig();
        int                SendMessages(LPCTSTR lpszMessage, int nRepeat);
        int                SendMessageToServer(LPCTSTR lpszMessage);
        BOOL            StartClient();
     
     
        // Generierte Message-Map-Funktionen
        //{{AFX_MSG(CClientDlg)
        virtual BOOL OnInitDialog();
        afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
        afx_msg void OnPaint();
        afx_msg HCURSOR OnQueryDragIcon();
        afx_msg void OnbtnVermietung();
        afx_msg void OnbtnLeasing();
        afx_msg void OnbtnReturn();
        //}}AFX_MSG
        DECLARE_MESSAGE_MAP()
    };


    aber auf eine Klasse zeigt . Jetzt denkt Ihr sicherlich der hat bestimmt nur ne include vergessen, aber das habe ich nich, ich habe auch nochmals geprüft ob ich den Befehl in der richtigen cpp ausführe und das habe ich auch richtig gemacht.

    Ich kann mir nur noch einen Fehler vorstellen aber ich weiss net wieso das nicht gehen sollte und zwar ist die ssmcTcpSocket.h abgeleitet von einer anderen Class ssmcSocket.h diese beiden Klassen habe ich in einer Headerdatei. Zuerst die ssmcSocket.h dann die ssmcTcp Socket.h. Kann ich da irgendeinen Fehler gemacht haben Ich kann es mir nicht vorstellen. Wenn Ihr den Code dazu sehen wollt sagt nur bescheid.

    MFG Silver
     
    Code :
    1
    
    [COLOR=Blue][B]Wer [/B][I]Wie[/I] [B]Was[/B] [I]Wieso [/I][B]Weshalb[/B] [I]Warum [/I][B]Wer nicht fragt bleibt dumm [/B][/COLOR]

  2. #2
    Silvercreast Silvercreast ist offline Mitglied Gold
    Registriert seit
    Aug 2005
    Ort
    Solingen ( NRW )
    Beiträge
    152
    So schnell kann es gehen mit der Lösung, nachdem ich einen Kollegen befragt habe und der sich das mit mir angeguckt hat, haben wir festgestellt das ich eine doppelte winsock.h definition gemacht habe
     
    Code :
    1
    
    [COLOR=Blue][B]Wer [/B][I]Wie[/I] [B]Was[/B] [I]Wieso [/I][B]Weshalb[/B] [I]Warum [/I][B]Wer nicht fragt bleibt dumm [/B][/COLOR]

Ähnliche Themen

  1. static Zeiger in Klasse definieren
    Von Futzel im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 26.04.10, 17:10
  2. Container-Klasse (Zeiger?)
    Von chriss_2oo4 im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 22.09.08, 15:05
  3. Adresse oder Zeiger eines Klasse
    Von maltor im Forum Java
    Antworten: 9
    Letzter Beitrag: 18.04.06, 00:29
  4. Zeiger auf Zeiger nicht verstanden
    Von Razorhawk im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 17.10.05, 12:24
  5. pDoc-Zeiger in neu angelegter Klasse verwenden
    Von steffi1985 im Forum VisualStudio & MFC
    Antworten: 3
    Letzter Beitrag: 05.06.05, 18:51