Languages
delete 후에 NULL 집어넣기
CClass *cls = new CClass; delete cls; cls = NULL; delete후엔 반드시 NULL을 집어넣는다.NULL을 집어넣지 않으면 해당 주소에 쓰레기값이 들어있어서 엉뚱한 곳이 참조될 수 있으므로디버그시에 굉장히 힘들어 질 수 있다.
복사생성자 정리
#include "stdafx.h" #include class Mae{ private : char* myName; int age; public: Mae(){ std::cout
CString를 DWORD로 형변환하기
CString m_strAddress = _T("김태환"); DWORD m_wordAddress = (DWORD)_ttoi((LPCTSTR)m_strAddress); _ttoi() 함수는 컴파일러가 일반 프로그램의 경우 _atoi()로 자동으로 변환해주며 UNICODE 프로그램의 경우엔 _wtoi()로 자동으로 변환해준다.
데이터 소스 연결시 다운 문제
MFC 프로젝트 생성 시 데이터베이스 지원항목에 데이터소스를 선택하려고 한다. 내가 생성한 CustomerDSN을 데이터 소스로 선택하였다. 하지만 프로젝트를 생성하려고 하면 자꾸 에러가 발생하여 비쥬얼 스튜디오가 자동 종료되었다. 문제는 비쥬얼 스튜디오 2010과 Microsoft Offce Access간의 호환문제였다. "Access 2007 데이터베이스"로 저장하면 accdb라는 확장자로 저장되는데내가 위에 설정한 CustomerDSN이 accdb의 확장자 파일로 등록된 DSN이었다.그 밑에 "Access 2002-2003 데이터베이스"를 선택하면 mdb의 확장자로 저장된다. 사용자 DSN추가할 땐 Microsoft Access Driver를 선택하는데 (*.mdb, *.accdb)로 하지말고 (*..
ODBC 드라이버의 설치 및 제거 - Win7 64bit
(작업환경 : Windows7 64bit, Visual Studio 2010, Microsoft Office 2007 입니다) 제어판-관리도구- 데이터원본(ODBC)에서 사용자 DSN을 추가하려고 하면 드라이버가 "SQL Server"밖에 나오지 않는다. Microsoft Access Driver로 설정해야 하는데 목록엔 없다. 하지만... Visual Studio 2010을 사용하여 MFC프로젝트 생성시에는 목록이 뜬다....그래서 추가했다. 이번엔 방금 추가한 드라이버를 제거하기로했다. 제어판-관리도구- 데이터원본(ODBC)에서 제거하려고 하니 제거가 안된다. Microsoft Access 드라이버 (*.mdb, *.accdb) ODBC 드라이버의 설치 루틴: Microsoft Access 2010 ..
CDC클래스
CDC클래스는 운영체제로부터 DC(Device Context)를 얻어서 화면이나 프린터 장치에 출력을 할 수 있도록 하는 클래스이다.DC(Device Context)란 응용 프로그램 화면에 출력하는 작업을 처리하기 위해서 필요한 속성을 정의하고 있는 자료구조인데 MFC에서는 DC를 관리하기 위한 클래스로 CDC를 제공한다.
호출한 객체를 지시하는 this 포인터
클래스 안의 함수에서 this는 그 함수를 호출한 객체의 "포인터"를 참조한다. (포인터가 지시하는 값이 아니다. 포인터가 지시하는 값은 알다시피 내용참조연산자 *를 붙여서 *this를 사용한다.) void Stock::show() { using std::cout; using std::endl; cout