[wxWidgets] dynamiczne podpinanie zdarzeń

0

funkcja inline w klasie TCommPort

    void VerifyOpen()
    {
        if (!m_CommOpen)
        {
            throw ECommError(ECommError::PORT_NOT_OPEN) ;
        };
    }

dynamicznie przepinam zdarzenia przy button-ach
np button o nazwie waga, i teraz dla takiego wywołania

Connect(ID_WAGA_POBIERZ,wxEVT_COMMAND_BUTTON_CLICKED,wxCommandEventHandler(LRSConfig::waga_pobierz));

jest ok, nie ma żadnych problemów,

ale dla wywołania

waga->Connect(ID_WAGA_POBIERZ,wxEVT_COMMAND_BUTTON_CLICKED,wxCommandEventHandler(LRSConfig::waga_mensor_pobierz));

też jest niby OK, metoda waga_mensor_pobierz jest wywoływana...

przy czym w tej metodzie jest zmienna 'com' klasy TCommPort i wywołanie com->VerifyOpen wywala program, bez żadnych ostrzeżeń,

dokładnie dzieje się to w punkcie

if (!m_CommOpen)

przeglądałem sample z dynamicznym podpinaniem zdarzeń i właściwie w każdym z nich jest wywołanie
zmienna->Connect

i z ciekawości, jaka może być przyczyna...

0

Zapewne chodzi o parametr eventSink, który powinien być wskaźnikiem do obiektu, na rzecz którego wywoływany będzie handler.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.