여기 참조.. http://openxb.com/28 으어어.. 약 3~400개 이상의 자료를 관리해야되는데, 아무 생각 없이 평소에 자주쓰는 List로 그냥 자료구조를 짰다. 근데 특정 이벤트를 실행 시킬 때 마다 해당 자료가 정렬이 되어 있어야 한다는 조건이 나중에 붙어서.. List로 짠 지금은 이벤트 실행때마다 소트를 다시 해준다 -_- 그리고 삽입, 삭제가 빈번하게 일어나는데 List로 짠 덕분에 미치고 팔짝 뛰겠다. 차라리 처음부터 우선순위 큐(Priority_Queue)를 이용해서 짤걸... 다 경험이다~~~ 나중엔 잘 하자!!
몇일째 고민했던가... 더블 버퍼링으로 화면 출력을 시켰는데도 계속 깜빡이는 것이었다. 나는 이것의 문제를 내부에 사용한 MoveWindow나 BitBlt로 옮기는 대상과 타겟의 가로 영역 너비가 너무 길어서 라고 생각했다. 문제는 그것이 아니였다.. '음악 재생'시 사용하는 '바'가 움직일 때 화면을 계속 리프레쉬하면서 보여주기 위해 타이머를 사용하였는데, 이때 타이머에서 Invalidate(FALSE); 를 해주는 것이 문제였다. 어짜피 계속해서 Invalidate가 들어오고 있기 때문에 다른 곳에서는 이걸 해줄 필요가 없는데, 나는 MouseMove등에서도 계속해서 Invalidate를 호출해 주고 있었다. 그러니 마우스를 움직일때마다 엄청나게 호출되는 Invalidate덕분에 깜빡거렸던 것이다....
MFC에서 더블버퍼링 사용하기. 이걸 왜 지금까지 안올려놨었지 -.-?;; 일단 제일 중요한건 헤더 파일에 CBitmap m_Bitmap; 를 선언 하는 것. 이 비트맵에 객체를 생성하고 이것저것 해줄 것임. 우선 아래와 같이 Bitmap에 그림을 그려줌. void CDlgXXX::MakeMemBitmap(void) { CClientDC dc(this); //실제 dc CBitmap* pOldBmp; //oldbmp CDC MemDC; //메모리DC m_Bitmap.DeleteObject(); //기존꺼 지워줌 m_Bitmap.CreateCompatibleBitmap(&dc, 500, 200); //새로 만들어줌 MemDC.CreateCompatibleDC(&dc); //memDC도 새로 만들어줌 pOl..
오오 멋지당
오류코드 43이라고 뜨면서 그래픽드라이버를 윈도우에서 계속 못잡는다.. 신기한게 부트캠프를 삭제하면 잡힌다.. 수없이 지웠다 깔았다를 반복하다가 nvidia드라이버를 받아서 해당 폴더 압축 풀고 강제로 잡아주려고했더니, 여전히 안된다. 마지막으로 다시 똑같이 시도한다음에 이번에는 '찾아보기'에서 기존 드라이버 목록에 원래 드라이버가 보이길래 그걸로 해주고 재부팅했더니 된다. 기본 맥락은 다음을 따라갔음. http://cafe.naver.com/inmacbook.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=355947& 제발 완전히 고쳐졌길!!
Android의 SD카드에 파일을 쓸려는데 자꾸만 java.io.FileNotFoundException이 떴다. 처음에는 에러메세지가 No such file or directory이길래 File class가 mkdirs()를 제대로 못하나? 싶었다. 그래서 메모리에 강제로 폴더를 만들고 접근 시켰더니 이번에는 Permission denied가 나오는게 아닌가? 뭐가 문제일까 뭐가 문제일까 하다가 매니페스트를 확인해봤다. 라고 잘 있었는데... 음......... 저놈의 S는 뭐란 말인가.. EXTERNALS라니............... 로 고쳐주니까 잘 되었다. 오오.. 역시 이런 간단한 삽질로 한두시간 빼앗기고 나면 멘탈이 붕괴된다.... 근데 도대체 예전 버전에선 어떻게 됐던거지?? 분명 예전 리비..
패키지 명이 같은 프로그램은 올라가지 않기 때문에, 만든 어플의 데모(demo)버전, lite버전을 게시하기 위해선 아래와같이 패키지명을 바꿔줘야 한다. Package Explorer에서 gen폴더 바로 밑에 있는 패키지에 우측버튼 눌러서 Refactor->Rename 함. 그러면 Rename Package라는 친절한 창이 뜸. 이제 패키지 명이 testwidget.pe.kr.roter.regular 였다면, 이걸 testwidget.pe.kr.roter.lite, 이런식으로 바꿔준다. 굳이 다른 패키지까지 다 바꿀 필요는 없고, R.java 파일이 있는 패키지명만 수정해 주면 되는듯 하다. 기존에 R파일을 import했던 경로 역시 자동으로 다 바뀐다. 이제 Manifest로 가보자. 이곳에 이런식으로..
- Total
- Today
- Yesterday
- Python
- MFC
- linux
- 안드로이드
- C
- java
- 리눅스
- Troubleshooting
- winapi
- driver
- Cloud
- jni강좌
- algorithm
- jni
- database
- 프로그래밍
- Quiz
- 드라이버
- 음악
- AWS
- API
- Visual C++
- kering
- C++
- android
- it
- source
- NDK
- gcc
- db
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |