Woher kommt der Wert?



  • Hallo zusammen,

    ich habe ein fertige Projekt und versuche das gerade zu verstehen.

    Ich habe eine Funktion die durch eine andere Funktion aufgerufen wird. Aber woher kommen die Werte für funktion 1?

    Also diese Funktion:

    void CUsbxContDlg::OnMeasureArrivedUsbxctrl1(const VARIANT FAR& Measurement, short DeviceHandle) 
    {
    	CString tmp;
    
    	m_selHandle.GetLBText(m_selHandle.GetCurSel(), tmp);
    	if(DeviceHandle == atoi(tmp))
    	{
    		m_csCSTM = Measurement.bstrVal;			//set edit box with measurment.
    	}
    	UpdateData(false);
    }
    

    wird durch diese Aufgerufen (so verstehe ich das zumindestens):

    BEGIN_EVENTSINK_MAP(CUsbxContDlg, CDialog)
        //{{AFX_EVENTSINK_MAP(CUsbxContDlg)
    	ON_EVENT(CUsbxContDlg, IDC_USBXCTRL1, 1 /* MeasureArrived */, OnMeasureArrivedUsbxctrl1, VTS_VARIANT VTS_I2)
    	//}}AFX_EVENTSINK_MAP
    END_EVENTSINK_MAP()
    

    Aber kommt jetzt der Wert der hier drin steht: Measurement.bstrVal ???
    😕 😕 😕

    ON_EVENT steht sonst auch nirgends!! 😞

    Danke schonmal





  • Das bringt mir nicht wirklich was!

    Hab gerade damit heraus gefunden, dass ON_EVENT aufgerufen wird, aber woher der wert kommt weiß ich immer noch nicht. woher weiß das ON_EVENT ereignis welchen wert es der Funktion OnMeasureArrivedUsbxctrl1 übergeben muss??



  • Setzt dir nen Breakpunkt für das Event und geh schon Step für Step durch 😉 Das hilft am meisten



  • Hallo,

    JBOpael schrieb:

    Das bringt mir nicht wirklich was!

    Hab gerade damit heraus gefunden, dass ON_EVENT aufgerufen wird, aber woher der wert kommt weiß ich immer noch nicht. woher weiß das ON_EVENT ereignis welchen wert es der Funktion OnMeasureArrivedUsbxctrl1 übergeben muss??

    Das (OLE-)Steuerelement mit der ID IDC_USBXCTRL1 löst dieses Ereignis aus, und nur wenn du den Quelltext des Steuerelements hast, kannst du erkennen, wie die Werte für Measurement und DeviceHandle vom (OLE-)Steuerelement erzeugt werden.

    MfG,

    Probe-Nutzer


Anmelden zum Antworten