SendMessage problemchen



  • hola leute

    ich moechte gerne mehreren Forms ne Message schicken.

    // Msg 
    #define WM_ARTIKELCHANGED WM_USER + 1
    
    // in der header hab ich im public bereich folgendes:
    
    void __fastcall ArtikelChanged(TMessage *mes);
    ...
    
    BEGIN_MESSAGE_MAP
       VCL_MESSAGE_HANDLER(WM_ARTIKELCHANGED, TMessage*, ArtikelChanged);
    END_MESSAGE_MAP(TForm);
    

    ArtikelChanged wird auch aufgerufen. jedoch zeigt 'mes' ins nirvana;
    wollte mit

    SendMessage(form_handle, WM_ARTIKELCHANGED, (int)artikel_list_address, 0);
    

    noch die adresse der class artikel_list mitschicken, jedoch zeigt 'mes'
    ins nirvanva. was mach ich da falsch ?

    Meep Meep



  • Hallo

    MESSAGE_MAP hat eine feste Definition. Das bedeutet das du per Referenz übergeben must, anstatt per Pointer

    VCL_MESSAGE_HANDLER(WM_ARTIKELCHANGED,TMessage, ArtikelChanged)
    ...
    void __fastcall ArtikelChanged(TMessage& AMessage);
    

    bis bald
    akari


Anmelden zum Antworten