|
예전에 황당한 경험한 적이 있습니다.
USHORT n = 0;
.............
n = n+1; <== 원래는 1이되어야 하는데, 3이 되어버리더군요.
뭐~~ 이런 류의 에러들이 발생하더군요.
//////////////////////////////////////////////////////////////////
음... 상황이 하도 급해서 원인분석보다는~
1) 컴퓨터를 깨끗하게 포멧을 하고,
2) 빌더를 새로 설치하고,
3) 예전의 소스에서 프로젝트 파일만 재 생성해서
4) 다시 컴파일 했더니.. 그런~ 이상한 현상이 없어졌습니다.
//////////////////////////////////////////////////////////////////
고민을 해보았지만, 소스단에는 문제가 없는 것을 보면,
아마도~~ 컴포넌트가 잘못 설치되었다던가~~
뭐~~ 그랬지 않나 싶습니다.
참고로,
시스템을 다시 까는 것은 최후의 방법~~.
신중하시길...
(1. 시간많이 잡아먹음... 2. 해결이 않되는 수도 있슴... 3. 그러나 맘은 편한해짐...)
@ㅏ^ㅏ달 님이 쓰신 글 :
: 이해할 수 없는 이상한 현상이 몇가지 일어납니다.
:
: 첫번째, 콤보박스가 여러개 있는데 특정 콤보박스에서만 ItemIndex를 0으로 지정했을때
: ItemIndex에 해당하는 텍스트가 나오는것이 아니라 0이 나옵니다. 아무리 봐도 다른 콤보박스와
: 똑같고 아이템들도 같습니다. 그런데 이것을 소스상에서 ItemIndex를 -1로 바꿨다가 0으로 바꾸면
: 0번째에 해당하는 텍스트가 나옵니다.
:
: 두번째, unsigned char ucCommand = 0x30; 이런 코드를 실행하면 ucCommand의 값이 0이 됩니다.
: 단지 선언부에서 값을 대입했을뿐인데 값이 안들어갑니다. 물론 샘플로 하나 만들어서 해보면 값이 잘 들어가겠지만
: 지금 하고 있는 작업에서 이런현상이 생깁니다.
:
: 세번째, int형 변수(단지 0으로 초기화됨)를 for루프안에서 참조만 합니다. 값의 변화를 일으키는 연산은 없습니다.
: 단지 값을 읽을 뿐입니다. 그런데 어느 순간 값이 256으로 변합니다. 이게 무슨 귀신 술먹고 죽을거 같다는 소린지...
:
: 이런 경험 있으신분... 의심이 되는것은 이 프로젝트에서 리소스를 엄첨 잡아먹는다는 겁니다.
: 컨트롤이 수천개고... 또.. 무지 많습니다. 혹 메모리 때문에 그런것은 아닌지.
|