Hallo ich habe eine Klasse "CMessengerSocket" erstellt, die von "CSocket" abgeleitet ist.

Die Verbindungsherstellung erfolgt über den folgenden Code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
void CDesktopChatMessengerApp::ConnectServer()
{
    //Initialization
    m_NotificationServer = "messenger.hotmail.com";
    m_NotificationServerPort = 1863;
 
    //Create connection
    CMessengerSocket* pMessengerSocket = new CMessengerSocket;
    m_pMessengerSocket = pMessengerSocket;
    m_pMessengerSocket->Create();
    m_pMessengerSocket->Connect(m_NotificationServer, m_NotificationServerPort);
 
}

Der Verbingunsaufbau verläuft erfolgreich. (Mit netstat kann man die Verbindung sehen.)
Nun sollte eigentlich der Aufruf des Eventhandlers CMessengerSocket::OnConnect() erfolgen.
Die Deklaration:
Code :
1
2
public:
    virtual void OnConnect(int nErrorCode);

Die überschriebene Funktion:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void CMessengerSocket::OnConnect(int nErrorCode)
{
    // TODO: Add your specialized code here and/or call the base class
    if(0 != nErrorCode)
    {   
        m_ConnectionFailed.LoadString(IDS_CONNECTION_FAILED);
        AfxMessageBox(m_ConnectionFailed);
    }
    else
    {
        //Call NewFrame() to create new mainframe
        theApp.NewFrame();
    }
    
    CSocket::OnConnect(nErrorCode);
}

Doch irgendwie wird der Eventhandler einfach nicht ausgeführt, und ich finde einfach nicht die Ursache. Keine Errors beim Kompilieren.

J!M!