본문 바로가기

Development

[VC++] 링크 에러 LIBCMTD.lib(sprintf.obj) : error LNK2005: * 전체공개 1>Linking... 1>LIBCMTD.lib(sprintf.obj) : error LNK2005: _sprintf already defined in msvcrtd.lib(MSVCR90D.dll) 1>LIBCMTD.lib(sprintf.obj) : error LNK2005: _sprintf_s already defined in msvcrtd.lib(MSVCR90D.dll) 1>LIBCMTD.lib(swprintf.obj) : error LNK2005: _swprintf_s already defined in msvcrtd.lib(MSVCR90D.dll) 1>LIBCMTD.lib(tidtable.obj) : error LNK2005: __encode_pointer already defined in msvc.. 더보기
[Flash] Using “setTimeout()” in a custom class. September 2nd, 2008 at 4:55 PM | 3 Comments | trackback Categories: AS2, AS3 Tags: ActionScript 2.0, ActionScript 3.0, clearTimeout, setTimeout ActionScript 2.0을 사용할 때, 플래시 8에서 추가된 setTimeout() 메소드를 사용하면 편리하지만, 클래스에서 setTimeout()를 사용하면 다음과 같이 에러가 발생합니다. There is no method with the name ’setTimeout’. 그래서 setTimeout() 대신 setInterval() 메소드를 사용하는 경우가 생기죠. 그럴 필요 없이 $(LocalData)/Classes/toplevel.as 파일.. 더보기
[VC++] Window 테두리 그리기 기본적으로 테두리는 WS_THICKFRAME style이 적용 되어 있어야 한다. void CWnd::OnNcPaint() { CRect rcWindow; GetWindowRect( &rcWindow ); rcWindow.OffsetRect( -rcWindow.left, -rcWindow.top ); int nX = 0; int nY = 0; LONG lStyle = ::GetWindowLong( this->GetSafeHwnd(), GWL_STYLE ); // WS_BORDER 속성이 적용되어 있느냐 없느냐에 따라 두께 계산 if ( lStyle & WS_BORDER ) { nX = GetSystemMetrics(SM_CXSIZEFRAME); nY = GetSystemMetrics(SM_CYSIZEFR.. 더보기
[VC++] SystemParametesInfo(각종시스템정보조사) - GetSystemMetrics함수는 16비트 윈도우즈부터 지원되는 함수였다. 그런데 32비트 윈도우즈에서는 설정 사항들이 더 많아지고 복잡해져서 이 함수만으로는 모든 설정 사항을 조사할 수 없게 되었다. 더구나 이 함수는 정수형을 리턴하기 때문에 좀 더 복잡한 형태의 정보는 리턴할 수 없으며 설정 정보를 변경하는 기능도 가지고 있지 않다. 그래서 95부터는 좀 더 많은 설정 정보를 다룰 수 있는 함수가 나오게 됨. BOOL SystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni); uiAction : 동작을 지정하는 값 무려 140여개. 두번째, 세번째 인수 : uiAction에 따라 의미가 달라지는데 설정 정보를 돌.. 더보기
[VC++] SystemParametersInfo로 SPI_GETNONCLIENTMETRICS 오류시 방법(VS2008 이상) 잘 돌아가던 함수가 안돌아가는 현상~ ㅡ,.ㅡ 출처 http://blog.hanafos.com/blogView.asp?blogerid=yeamaec&cateNo=73026&serialNo=699 SystemParametersInfo로 SPI_GETNONCLIENTMETRICS 값 얻어올때 실패 나는 오류 해결방법(VS2008이상 버전) SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ...) problem // Initially use the system message font for the GridCtrl font NONCLIENTMETRICS ncm; memset(&ncm,0,sizeof(NONCLIENTMETRICS)); ncm.cbSize = sizeof(NONC.. 더보기
[VC++] SystemParametersInfo() 트레이 주위에 윈도우 생성 하기 안녕하세요? 맨날맑음 입니다. 네이트온을 사용하다 보면 친구가 로그인 했더나 대화 요청이 들어올때 트레이 아이콘 주위에 알림창이 뜨는것을 볼 수 있습니다. 이와 같이 트레이창의 위치를 윈도우 주위로 위치하는 것은 .NET에서도 Win32API의 SystemParamete rsInfo를 사용하면 간단하게 구현 할 수 있습니다. .NET에서 Win32API를 사용하기위해 우선 using System.Runtime.InteropServices; 이 필요합니다. 또한 SystemParametersInfo에 대한 아래와 같은 선언도 필요합니다. [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] public static extern int.. 더보기
[VC++] DLL 생성과 익스포트 섹션 [DLL 생성과 익스포트 섹션] 먼저 DLL 이 먼지 보자 DLL 이란 동적 링크 라이브러리 (Dynamic link library) 로서 일단 라이브러리 부터 보자.. 라이브러리란 우리가 항상 써오던 printf , scanf 등과 같은 입출력 함수들을 라이브러리라고 했다.. 일단 DLL도 똑같은 라이브러리 축에 들어간다.. 하지만 printf, scanf 와 같은 일반 #include 을 써서 사용하는 함수들은 정적!!!! 정적!!! 정적!!! 라이브러리 이고 우리가 말하는 DLL 은 동적!! 동적!!! 동적!! 라이브러리이다.. 무슨 차이가 있느냐 -_-ㅋ... 정적라이브러리는 컴파일시에 해당 라이브러리 코드가 실행파일과 합쳐진다. (정적) 그래서 printf문을 쓰는 5개의 프로그램이 있다면 | .. 더보기
[c++ compile] Visual C++ 링커 옵션 VERBOSE(진행 메시지 표시) Visual C++ 링커 옵션 /VERBOSE(진행 메시지 표시) /VERBOSE[:ICF |:LIB |:REF |:SAFESEH] 설명 링커에서는 링크 세션의 진행에 대한 정보를 출력 창으로 보냅니다. 명령줄에서 이 정보는 표준 출력으로 보내지며 파일로 리디렉션될 수 있습니다. 옵션 설명 /VERBOSE 링크 진행 과정을 자세하게 표시합니다. /VERBOSE:ICF /OPT:ICF를 사용하여 발생하는 링커 작업에 대한 정보를 표시합니다. /VERBOSE:LIB 검색된 라이브러리만 나타내는 진행 메시지를 표시합니다. 표시되는 정보에는 라이브러리 검색 프로세스가 포함되며, 각 라이브러리 및 개체 이름 목록(전체 경로 포함)과, 라이브러리에서 확인되는 기호, 그리고 기호를 참조하는 개체 목록도 표시됩니다. .. 더보기