게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
mfc 에러좀 잡아주세요 엉엉 ㅠㅠㅠㅠ 자고싶어여 ㅠㅠ
게시물ID : computer_61800짧은주소 복사하기
작성자 : 간지늅늅이
추천 : 0
조회수 : 3320회
댓글수 : 7개
등록시간 : 2012/10/10 11:42:24


void Cex1Dlg::OnBnClickedPopen()
{
 // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
 CString sPortName;
 DWORD dwBaud;

 m_ComAccess = new CCommThread(this);

 if(m_ComAccess->m_bConnected == FALSE)
  //Check to close port
 {
  //GetCurSel()로 현재 선택된 순서를 얻어옴
  switch(dwBaud.GetCurSel())//BaudRate search
  {
  case 0:
   dwBaud = 9600;
   break;
  case 1:
   dwBaud = 115200;
  }
   //GetCurSel()로 현재 선택된 순서를 얻어옴
  switch(sPortName.GetCurSel())//Port search
  {
  case 0:
   sPortName="COM1";
   break;
  case 1:
   sPortName="COM2";
   break;
  case 2:
   sPortName="COM3";
   break;
  case 3:
   sPortName="COM4";
   break;
  case 4:
   sPortName="COM5";
   break;
  }

  //통신 포트를 연다
  if(m_ComAccess->OpenPort(sPortName,dwBaud))
   //Open port
  {
   AfxMessageBox(_T("Port open"));
  }
  else //Port open fail
  {
   AfxMessageBox(_T("Port open false"));
  }
 }
 else if(m_ComAccess->m_bConnected == TRUE)
  AfxMessageBox(_T("Already Port open"));

 else
  AfxMessageBox(_T("The Port don't open"));
 
}

 

 

 

-----CCommThread.h-------

#ifndef _CCOMMTHREAD_H_
#define _CCOMMTHREAD_H_

#define WM_COMM_READ (WM_USER +1)
#define BUFF_SIZE 4096


class CQueue
{
public:
 BYTE buff[BUFF_SIZE];
 int m_iHead, m_iTail;
 CQueue();
 void Clear();
 int GetSize();
 BOOL PutByte(BYTE b);
 BOOL GetByte(BYTE *pb);
 BOOL GetByte(BYTE *pb, int pos);
};


///////////////////////////////////////////////////////////////////////////////////////
// TEXT Control Define
#define STX  0x02
#define ETX  0x03
#define AGIN 0x04
#define ACK  0x06
#define NAK  0x15

///////////////////////////////////////////////////////////////////////////////////////
// Define ASCII
#define ASCII_BEL       0x07
#define ASCII_BS        0x08
#define ASCII_LF        0x0A
#define ASCII_CR        0x0D
#define ASCII_XON       0x11
#define ASCII_XOFF      0x13
///////////////////////////////////////////////////////////////////////////////////////

class CCommThread
{
 //DECLARE_DYNCREATE( CCommThread )
public:
 CCommThread();
 CCommThread(CWnd *wnd);
 ~CCommThread();

 CWnd  *m_Wnd;
 HANDLE  m_hComm;
 CString  m_sPortName;
 BOOL  m_bConnected;
 OVERLAPPED m_osRead, m_osWrite;
 HANDLE  m_hThreadWatchComm;
 WORD  m_wPortID;
 CQueue      m_QueueRead;

 BOOL OpenPort(CString sPortName,DWORD dwBaud);//,WORD wParam);
 BOOL checkPort();
 void ClosePort();
 DWORD WriteComm(BYTE *pBuff,DWORD nToWrite);
 //DWORD WriteComm(LPWSTR pBuff,DWORD nToWrite);
 DWORD ReadComm(BYTE *pBuff,DWORD nToRead);
};

DWORD ThreadWatchComm(CCommThread* pComm);

#endif

 

 

 

대략 이런 코드인데

1>c:\documents and settings\administrator\my documents\visual studio 2008\projects\ex1\ex1\ex1dlg.cpp(169) : error C2228: '.GetCurSel' 왼쪽에는 클래스/구조체/공용 구조체가 있어야 합니다.
1>        'DWORD' 형식입니다.
1>c:\documents and settings\administrator\my documents\visual studio 2008\projects\ex1\ex1\ex1dlg.cpp(178) : error C2039: 'GetCurSel' : 'ATL::CStringT<BaseType,StringTraits>'의 멤버가 아닙니다.

 

이런식의 에러가 뜨네요.
제가 MFC는 공부한적이없어 걍 책보고 따라가기식으로하는데, 고치질 못하겠네요 ㅠㅠ

도와주실분 없나요?

 

 

 

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호