我的变量都不是指针,为什么用点号说我类型不对呢?!/*******************代码*************************/
class CCanSampleDlg : public CDialog
{
// Construction
public:
CCanSampleDlg(CWnd* pParent = NULL); // standard constructor// Dialog Data
//{{AFX_DATA(CCanSampleDlg)
enum { IDD = IDD_CANSAMPLE_DIALOG };
CEdit m_edtRevData;
CComboBox m_cmbFrameType;
CComboBox m_cmbFrameFormat;
CComboBox m_cmbIOPortList;
DWORD m_dwIOPortBaud;
DWORD m_dwFrameID;
DWORD m_dwSndData1;
DWORD m_dwSndData2;
DWORD m_dwSndData3;
DWORD m_dwSndData4;
DWORD m_dwSndData5;
DWORD m_dwSndData6;
DWORD m_dwSndData8;
DWORD m_dwSndData7;
//}}AFX_DATA // ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCanSampleDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL// Implementation
protected:
HICON m_hIcon;
RT_CAN m_RtCan; // Generated message map functions
//{{AFX_MSG(CCanSampleDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnIoportOpen();
afx_msg void OnChangeBaud();
afx_msg void OnIoportClose();
afx_msg void OnCanSend();
afx_msg void OnCanReceive(WPARAM wParam, LPARAM lParam);
afx_msg void OnClose();
static void CanReceiveCallBack(void *pParam, const BYTE * byBuf, DWORD dwLen)
{
CAN_msg msg;
CString strMsg,strByte;
CCanSampleDlg *pDlg = (CCanSampleDlg*)pParam;
pDlg->UpdateData(TRUE); m_RtCan.RecvCANMessage(&msg);
strMsg.Format("CANID:%d",msg.id);
for(int i=0;i<8;i++)
{
strByte.Format("%d",msg.data[i]);
strMsg +=(" " + strByte);
}
strMsg +="\r\n"; m_edtRevData.SetSel(-1,-1);
m_edtRevData.ReplaceSel(strMsg);
m_edtRevData.ScrollWindow(0,0); pDlg->UpdateData(FALSE); }
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};/**************错误提示********************/
\cansample\cansampledlg.h(74) : error C2228: left of '.RecvCANMessage' must have class/struct/union type
\cansample\cansample\cansampledlg.h(84) : error C2228: left of '.SetSel' must have class/struct/union type
\cansample\cansample\cansampledlg.h(85) : error C2228: left of '.ReplaceSel' must have class/struct/union type
\cansample\cansample\cansampledlg.h(86) : error C2228: left of '.ScrollWindow' must have class/struct/union type
class CCanSampleDlg : public CDialog
{
// Construction
public:
CCanSampleDlg(CWnd* pParent = NULL); // standard constructor// Dialog Data
//{{AFX_DATA(CCanSampleDlg)
enum { IDD = IDD_CANSAMPLE_DIALOG };
CEdit m_edtRevData;
CComboBox m_cmbFrameType;
CComboBox m_cmbFrameFormat;
CComboBox m_cmbIOPortList;
DWORD m_dwIOPortBaud;
DWORD m_dwFrameID;
DWORD m_dwSndData1;
DWORD m_dwSndData2;
DWORD m_dwSndData3;
DWORD m_dwSndData4;
DWORD m_dwSndData5;
DWORD m_dwSndData6;
DWORD m_dwSndData8;
DWORD m_dwSndData7;
//}}AFX_DATA // ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCanSampleDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL// Implementation
protected:
HICON m_hIcon;
RT_CAN m_RtCan; // Generated message map functions
//{{AFX_MSG(CCanSampleDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnIoportOpen();
afx_msg void OnChangeBaud();
afx_msg void OnIoportClose();
afx_msg void OnCanSend();
afx_msg void OnCanReceive(WPARAM wParam, LPARAM lParam);
afx_msg void OnClose();
static void CanReceiveCallBack(void *pParam, const BYTE * byBuf, DWORD dwLen)
{
CAN_msg msg;
CString strMsg,strByte;
CCanSampleDlg *pDlg = (CCanSampleDlg*)pParam;
pDlg->UpdateData(TRUE); m_RtCan.RecvCANMessage(&msg);
strMsg.Format("CANID:%d",msg.id);
for(int i=0;i<8;i++)
{
strByte.Format("%d",msg.data[i]);
strMsg +=(" " + strByte);
}
strMsg +="\r\n"; m_edtRevData.SetSel(-1,-1);
m_edtRevData.ReplaceSel(strMsg);
m_edtRevData.ScrollWindow(0,0); pDlg->UpdateData(FALSE); }
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};/**************错误提示********************/
\cansample\cansampledlg.h(74) : error C2228: left of '.RecvCANMessage' must have class/struct/union type
\cansample\cansample\cansampledlg.h(84) : error C2228: left of '.SetSel' must have class/struct/union type
\cansample\cansample\cansampledlg.h(85) : error C2228: left of '.ReplaceSel' must have class/struct/union type
\cansample\cansample\cansampledlg.h(86) : error C2228: left of '.ScrollWindow' must have class/struct/union type
静态成员函数里,没有类的this指针,不能使用类的成员变量