dynamic_cast< void* > ( evt.GetClientData() ) kann ich nicht casten?



  • Hi,

    ich versuche gerage folgendes (da ich mich wieder daran erninnert habe, das ich nie in einem wxThread GUI-Aurufe tätigen darf, weil der wxThread keine Messageloop besitzt und somit das ganze nicht sicher ist.

    also...

    wenn ich eine array übergeben möchte ( wahrscheinlich so totaler Blödsinn )

    Im Thread Konstruktor....

    ...
     m_Float_Array = new float [ MAX_SIZE];
    ...
    

    Dann in der Entry Funktion

    ...
      wxCommandEvent evt( wxEVT_MY_EVENT, wxID_ANY );
      evt.setClientData( m_Float_Array );
      m_Handler->GetEventHandler()->AddPendingEvent( evt );
    ...
    

    im Frame...

    void myFrame::OnThread( wxCommandEvent& evt )
      {
         ...
         void* p_tmp_Array = dynamic_cast<void*> (evt.GetClientData() );
         ...
      }
    

    error: cannot dynamic_cast '((wxCommandEvent*)evt)->wxCommandEvent::GetClientData()' (of type void*')...

    Gruß


Anmelden zum Antworten