Problem mit Messages



  • Hallo Leute,

    ich habe da ein Problem,

    ich habe mit VS 6.0 gearbeitet und habe dann nach V C++ .net gewechselt.
    Jetzt bekomme ich beim Kompelieren eine Fehlermeldung die ich nicht ganz verstehe.

    Ich sende eine Nachricht aus einer Funktion an CMainFrame mit

    #define WM_MY_ADDTRING_MESSAGE WM_USER+1 
    
    ... 
    // in der Funktion
    char *str = "Hallo"; 
    AfxGetMainWnd()->SendMessage(WM_MY_ADDTRING_MESSAGE,(WPARAM)str); 
    
    // in der CMainFrame
    BEGIN_MESSAGE_MAP... 
    ... 
    ON_MESSAGE( WM_MY_ADDTRING_MESSAGE, OnMyAddstringMessage ) 
    ... 
    END_MESSAGE_MAP() 
    
    void CMainFrame::OnMyAddstringMessage(WPARAM wParam, LPARAM pParam) 
    { 
       char *myString = (char*)wParam; 
       // hier gehts weiter.... 
    }
    

    der Kompiler spukt folgenden Fehler aus :

    MainFrm.cpp(22) : error C2440: 'static_cast': 'void (__thiscall CMainFrame::* )(WPARAM,LPARAM)' kann nicht in 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)' konvertiert werden
    

    Was kann ich nun machen ??

    Gruß
    andy_mann



  • Hat sich erledigt,

    die Funktion darf nicht void sein, sondern LRESULT.

    Gruß
    andy_mann


Anmelden zum Antworten