Archive for December, 2008

Visual Studio 2008 Express Edition에서 WTL 사용하기

Visual Studio 2008 Express Edition은 Microsoft 사에서 무료로 배포하는 IDE 입니다. 한글화도 잘 되어 있고, 무엇보다 무료라는 점이 참 마음에 들지만, MFC도 없고 SDK 조차 없어서 직접 설치/설정해야 하는 번거로움이 꽤 많습니다.

개인적으로는 MFC가 원래 마음에 들지 않았기 때문에, MFC가 없는 것은 불편하지 않았지만 설정을 직접 하는 과정이 무척 귀찮았습니다. 그 중에서도 얼마전부터 관심을 가지고 있는 WTL은 설정하는 과정이 다소 까다로워 기록도 할 겸해서 블로그에 남겨둡니다.

1. WTL 설치

우선 WTL을 소스포지에서 다운로드 받아 원하시는 폴더에 압축을 해제합니다. C:\WTL 도 좋고 C:\Program Files\WTL 도 좋고, WTL대신 WTL80을 사용하셔도 좋습니다. Azyu님이 기존의 스크립트를 수정해 작성하신 AppWizVC9.zip 파일을 다운로드 받습니다. WTL이설치된폴더\AppWiz\ 에 다운로드 받은 파일의 압축을 해제하면 setup90.js 와 setup90x.js 파일이 나타날 것입니다. 여기서 setup90x.js 를 탐색기에서 더블 클릭해서 실행하면 됩니다. 자세한 내용은 Azyu님 블로그의 글을 참고하세요.

2.  SDK 설치

당연히 SDK도 다운로드 받아 설치해야 합니다. 자세한 내용은 위키 피디아의 글을 참고하세요.

3. Trouble Shooting

- 컴파일 도중 ‘ATL.LIB’이 없다는 메시지가 나타나면…
프로젝트 -> 속성 -> (좌측에서)구성 속성 -> 일반을 선택하고, “ATL 사용” 항목의 값을 “ATL에 정적 링크”로 바꿉니다.

- ‘atlthunk.lib’ 파일을 열 수 없다는 메시지가 나타나면…
WTL폴더\include\atlbase.h 파일을 메모장 등의 텍스트 에디터에서 열고,

#define AllocStdCallThunk() __AllocStdCallThunk()
#define FreeStdCallThunk(p) __FreeStdCallThunk(p)
 
#pragma comment(lib, "atlthunk.lib")

부분은 삭제하고 삭제된 위치 바로 아래에 다음과 같은 내용을 추가한다.

#define AllocStdCallThunk() HeapAlloc(GetProcessHeap(), 0, sizeof(_stdcallthunk))
#define FreeStdCallThunk(p) HeapFree(GetProcessHeap(), 0, p)

IE의 텍스트박스 버그

얼마 전에 직장 동료가 알려준 버그입니다.

IE6~IE7까지 나타난다고 했던 것으로 기억합니다(IE8은 테스트를 못해봤습니다).
바로 아래의 이미지처럼 제 블로그 우측 상단의  검색어를 입력하는 텍스트 박스에서 “#” 다음부터 끝까지 드래그해서 글자를 선택해보세요.

'#' 뒤에서 시작합니다

'#' 뒤에서 시작합니다

문자열 끝까지 '드래그'해서 선택합니다

문자열 끝까지 '드래그'해서 선택합니다

잘 되시나요? ^^;;

이 현상은 문자열 첫 문자가 알파벳이나 숫자가 아니면 발생합니다. #뿐만 아니라 $ % ! ^ 공백까지 알파벳과 숫자 이외의 어떤 문자가 첫번째 문자여도 이 문제가 발생합니다(한글 등의 유니코드 문자는 예외인 듯 합니다).

IE는 참 신기합니다. ;;

덧// 노력해보았지만, 아직까지는 해결책도 없고 원인조차 알 수가 없었습니다.

국제학생증 신청했다

Visual Studio Professional Edtion을 공짜로 받을 수 있다는 말에, 얼른 신청했다.

라이센스에 보면 더 이상 학생이 아니게 되어도 학생일 때 취득한 소프트웨어의 사용권은 그대로 허가된다고 하니… 계속 사용할 수 있겠다. 안 그래도 VS2008 Express Edition으로 WTL 공부를 하며 뭔가 불편함이 많았던 상황이라 잘됐다 싶었다.

또 다시 만져볼게 많이 생기게 되어서 기쁘다.

드림스파크에서 VS를 무료로 준다

드림스파크에서 VS를 무료로 준다

Page 2 of 41234