?
Ok dann mit Code:
BOOL CXXXApp::ProcessMessageFilter(int code, LPMSG lpMsg)
{
// TODO: Fügen Sie hier Ihren spezialisierten Code ein, und/oder rufen Sie die Basisklasse auf.
CString strTemp = "";
if(lpMsg->message == WM_KEYDOWN)
{
if(lpMsg->wParam == VK_RETURN && m_bHandscannerAktiv)
{
memset(&m_chScanValue, 0, sizeof(m_strScanBuffer));
m_hwndMainDialog = m_pMainWnd->GetSafeHwnd();
SendMessage (m_hwndMainDialog, WMU_SCANNER, NULL, (LPARAM) &m_chScanValue);
m_bHandscannerAktiv = FALSE;
}
So, mach ich nun im Debug Mode einen Haltepunkt hier, sehe ich in
m_chScanValue
"schlechtes Ptr" in
m_strScanBuffer
den korrekten gescannten Wert, und in der Aufruffunktion
LRESULT XXXDlg::ScannerEingabe(WPARAM wParam, LPARAM lParam)
{
return true;
}
bei lParam einen longwert und als &lParam steht Müll drin.