티스토리 툴바

☆하늘을보쟈☆: 먜의 개인적인 블로그.네이버에서 2008-07-21에 이사 옴~!!

로드, 이진 파일이 디버그 정보를 사용하여 빌드되지 않았습니다.

2008에서 dll 못가져옴. vc6.0은 정상.


중단점 혹은

이진파일이 디버그 정보를 이용하여 빌드되지 않았습니다.

==>  아래와 같이 설정을 변경함

 

프로젝트  -속성

 

1. 링커- 디버깅  : 디버그 정보 생성: 예  /DEBUG

2. C/C++ - 일반:  디버깅 정보형식 : 편집하며 계속하기를 위한 프로그램  데이터베이스(/ZI)

3. C/C++ - 최적화 : 최적화 사용안함..

 

 

====================================

안되심. 왜그러니?

Write your message and submit

☆하늘을보쟈☆: 먜의 개인적인 블로그.네이버에서 2008-07-21에 이사 옴~!!

Spin 컨트롤, 소숫점 및 다양한 범위 변경

출처 : http://www.codeproject.com/KB/miscctrl/numspinctrl.aspx

 


사용방법은 아래와 같다.

1. 첨부된 파일을 다운받아서 압축을 푼다.

2. 헤더파일과 소스파일을 프로젝트에 포함시킨다.

3. 스핀컨트롤이 들어있는 헤더파일에 다운받은 헤더파일을 포함시키니다.

4. 스핀컨트롤의 컨트롤 변수가 있는 부분을 찾아서 다음과같이 수정해준다.

CSpinCtrl m_spinPosition;  ==> CNumSpinCtrl m_spinPosition;

초기화단계(OnInitDialog 함수가 주로이용된다)에 다음의 코드를 추가한다.

m_spinPosition.SetDecimalPlaces(3);                       // 소수점 이하 세째자리까지 표시하겠다는 뜻이다.

m_spinPosition.SetTrimTrailingZeros(TRUE);          // 소수점 이하의 마지막 0을 표시하지 않겠다는 뜻이다. (ex. 0.320은  0.32로 표시)

m_spinPosition.SetRangeAndDelta(0.1, 10.0, 0.1);   // 차례대로 숫자범위의 최소값, 최대값, 그리고 한단계 움직이는 변화값을 설정해준다.

m_spinPosition.SetPos(1.0);                                      // 위치값을 지정해준다.

그럼 위아래 화살표를 움직일때마다 0.1씩 변하는 모습을 확인할 수 있을 것이다.

아! 정말 중요한것 하나 빼먹을뻔 했다.

스핀컨트롤속성 -> SetBuddyinteger 는 반드시 체크해제하여야한다. 저게 체크되어있으면 꼭 정수로 움직이더라..

 

아..  물론 난 저게 어떤 원리로 작동하는지는 아직 모른다....  다만 퍼왔을 뿐이다.. 무단도용 원츄~ 乃



taborder설정하는거 잊지말고. ctrl+d

 

Write your message and submit

☆하늘을보쟈☆: 먜의 개인적인 블로그.네이버에서 2008-07-21에 이사 옴~!!

failed to return new code element

변수, 함수추가 마법사 쓸려니 2008에서 또 오류. (ocx변수 추가할랬는뎁.)

.ncb파일 지우고 리빌드.

잘된다. 아우. 정말 얘들 왜이럴까.

Write your message and submit

☆하늘을보쟈☆: 먜의 개인적인 블로그.네이버에서 2008-07-21에 이사 옴~!!

Add/Remove operation is impossible, because the code element (null) is read only 버그

출처 : http://ikpil.com/1133

무한감사!!  난 1,2 안먹히고, 3하니깐 됨.

Purpose-built post

이 포스트는 비쥬얼 스튜디오 2005/2008 을 사용 하는 중 발생 하는 버그를 우회시키는 방법을 알리고자 만들었다. 나는 이 버그로 인해 자그마치 2시간 동안 ... - 익필

Content

이 버그는 비쥬얼 스튜디오 2005/2008에서 MFC로 다이얼로그에 이벤트를 추가할 때, 자동으로 코드가 생성되지 않는 버그 이다. 이때 다음과 같은 에러 메시지가 팝업 메세지로 뜬다.

Add/Remove operation is impossible, because the code element (null) is read only

꼭 자동 코드 생성을 사용하지 않고, 수동으로 하여도 되지만, 불편하다. 그러므로 우회 하는 방법 4가지를 정리 한다.

1. 우회 방법 1

먼저 비쥬얼 스튜디오에서 솔루션을 종료 했다가. 다시 켜 본다.

2. 우회 방법 2

방법 1도 안될 경우, 솔루션을 킨 상태에서, 각 모드별(디버그 릴리즈 등등)로 "솔루션 비우기"를 실행한다. 그런 후 솔루션을 닫고, VC++ Intellisence Database 파일인 ncb 파일, Visual Studio Solution User Options 파일인 suo 파일, Visual Studio Project User Options file인 vcproj.(username).user 파일 삭제 한다. 그런후 다시 솔루션을 키고 해본다.

3. 우회 방법 3

방법 2이 안될 경우, 해당 솔루션 폴더 체로 "읽기 속성"을 없앤다.

4. 우회 방법 4

방법 3이 안될 경우, 해당 다이얼로그 cpp에 추가되지 않은 이벤트가 매세지 맵에 들어 있나 살펴 본다. 예를 들어서 WM_CREATE 이벤트가 만들어지지 않는다면, 해당 다이얼로그.cpp 중 BEGIN_MESSAGE_MAP( ...., ...) ~ END_MESSAGE_MAP() 에 ON_WM_CREATE() 가 있을 경우, 삭제 하고, 다시 해 본다.

이 1 ~ 4 까지의 방법으로도 해결이 안된다면, 마이크로 소프트에 연락하여, 피드백 받는 수 밖에 없을 것이다. : )

Digression

  • 나 같은 경우, 우회방법 2와 우회방법 4가 동시에 발생 되어서, 증상 파악조차 안되었다.

  • 비쥬얼 스튜디오 2008을 사용 중 서명없는 UTF-8 로 파일을 구성했을 때, 컴파일을 하면, C4819 오류가 뜨는 것이다. 이 사실을 "한글"로 마이크로 소프트에 알렸다. 그때 받은 답변은, "We would greatly appreciate it if you could submit this issue again in english." 였다.

Write your message and submit

☆하늘을보쟈☆: 먜의 개인적인 블로그.네이버에서 2008-07-21에 이사 옴~!!

vs2008 에서 componets and controls gallery

VS2008에 컴포넌트/컨트롤 추가 어떻게 하나요? 


난 MDI view 라서. 2번으로. 하고,

class CFViewMap2D : public CFormView  
뷰에서 CDmiaeOCX m_miae; 

하고 어디서든 사용해 주세용~!



가하려는 대상이 ActiveX 컨트롤이라는 가정하에....

1. 다이얼로그인 경우
    대화상자 화면에서 마우스 오른쪽 버튼 클릭 -> ActiveX 컨트롤 삽입

2. View 인 경우
    클래스 뷰에서 프로젝트 선택 후 마우스 오른쪽 버튼 클릭 -> 추가 -> 클래스 -> ActiveX 컨트롤의 MFC 클래스 -> 추가 -> 컨트롤 선택

Write your message and submit

☆하늘을보쟈☆: 먜의 개인적인 블로그.네이버에서 2008-07-21에 이사 옴~!!

error C2039 & filebuf::sh_read

1)
cpp에 인클루드 한것
#include "stdafx.h"
#include <fstream.h>
#include "Color.h"
#include "SwatchPalette.h"

->
#include <fstream>

해결.


2)
ifstream ifs(name, ios::in | ios::nocreate*, filebuf::sh_read);

-> filebuf 없음. MSDN 읽어보기 바람. 
 
ifstream ifs(name, ios::in );

http://social.msdn.microsoft.com/Forums/ko-KR/vclanguage/thread/c8350b11-609a-46ea-b748-56727b8a39fa


Write your message and submit

☆하늘을보쟈☆: 먜의 개인적인 블로그.네이버에서 2008-07-21에 이사 옴~!!

클래스간에 포인터 얻는 방법


CXXApp, CMainFram, CXXDoc, CXXView

1)CXXApp
CMainFram* pFrame = (CMainFrame*)AfxGetMainWnd();
CXXDoc* pDoc = (CXXDoc*)((CmainFrame*)AfxGetMainWnd())->GetActiveDocument();
CXXView* pView = (CXXView*)((CMainFrame*)AfxGetMainWnd())->GetActiveView();

2)CMainFrame
CXXApp* pApp = (CXXApp*)AfxGetApp();
CXXDoc* pDoc= (CXXDoc*)GetActiveDocument();
CXXView* pView = (CXXView*)GetActiveView();

3)CXXDoc
CXXApp* pApp = (CXXApp*)AfxGetApp();
CMainFram* pFrame = (CMainFrame*)AfxGetMainWnd();
CXXView* pView = (CXXView*)((CMainFrame*)AfxGetMainWnd())->GetActiveView();

4)CXXView
CXXApp* pApp = (CXXApp*)AfxGetApp();
CMainFram* pFrame = (CMainFrame*)AfxGetMainWnd();   or  (CMainFrame*)GetParent();
CXXDoc* pDoc = (CXXDoc*)((CmainFrame*)AfxGetMainWnd())->GetActiveDocument();  
                          or  (CXXDoc*)GetDocument();

*. 기타 클래스에서 View얻기
CXXView*     pView = (CXXView*)(CFrameWnd*)AfxGetApp()->GetmainWnd())->GetActiveView();



Write your message and submit

☆하늘을보쟈☆: 먜의 개인적인 블로그.네이버에서 2008-07-21에 이사 옴~!!

error LNK2001: unresolved external symbol "class ATL::CComModule _Module" (?_Module@@3VCComModule@ATL@@A)

error LNK2001: unresolved external symbol "class ATL::CComModule _Module" (?_Module@@3VCComModule@ATL@@A)


이라는 오류가 남.

#include <atlbase.h>
extern CComModule _Module;

이런 코드임.



헤더마다 중복안되게 사용하고. 헤더 정의한다음 cpp에 CComModule _Module; 


Write your message and submit

☆하늘을보쟈☆: 먜의 개인적인 블로그.네이버에서 2008-07-21에 이사 옴~!!

error LNK2001: unresolved external symbol


Cxxxxx.obj : error LNK2001: unresolved external symbol __imp__xxxxxx


project setting 에서 ws2_32.lib  추가

Write your message and submit

☆하늘을보쟈☆: 먜의 개인적인 블로그.네이버에서 2008-07-21에 이사 옴~!!

Write your message and submit