컴포넌트 제작시에 ComponentEditor, PropertyEditor 를 만들어 주게되면 런타임 패키지(Editor 를 제외한 순수 컴포넌트 모음), 디자인 패키지(Editor 모음) 로 나눠 주어야한다. 그렇지 않으면 Proxies.dcu(Delphi), Proxies.obj(C++Builder) 를 달라고 떼쓴다.
그런데 대충 연습 코딩중인데 열심히 해놓고 확인하려할 때 저 에러를 만나면 귀찮아진다. 그래서 Proxies 유닛을 포함시켜다 놓고 해버렸다. Delphi 7 의 경우 Proxies.pas 를 포함시키면 된다. 이걸 C++Builder 에 포함시켰더니 끝끝내 Proxies.obj 를 달라길래 cpp 로 변환해 놨다.
많이들 소리 없이 퍼가는데... 가사 퍼가려면 좀 수정 된 걸로 하던가... 수정한지가 언젠데 내가 잘못 듣고 적어놓은 틀린 가사가 아직도 떠돌아 다니나? 그리고 mp3 올리려면 받아서 니들이 올려 아무소리 없이 퍼가놓고 링크에 내 블로그 주소 버젓이 뜨면 기분 드럽다. 다시 또 보이면 그냥 지워버려야지...
2월 10일 무한도전 게릴라 콘서트에서... 1절을 넋놓고 듣고는 뒤늦게 디카로 녹화를 했으나 7천명 안에 들지 못하고 8천등 쯤 해서 뒤에 서서 본 관계로 영상으로는 확인할 수 없어 mp3 로 떴습니다. -------------------------------------------------------------------------
그래 난 노래 못해 - 하하
그래 난 노래 못 해 그래도 난 노래 해 내 Soul 과 My feel 로
그래 난 노래 못 해 그래도 난 노래 해 내 Soul 과 My feel 로 예에헤 뒤에서 다들 그래 난 노래 하지 말래 웃기고 앉아 있네 노래 할래
여러분 난 병에 걸렸어 이놈의 병 때문에 암 것도 못해 성대 결절에 내가 들어도 듣기 싫은 이 목소리 노래 노래 그 놈의 노래 나는 병에 걸려 버렸어 상처를 덮어두면 더 깊어지는 법 그래 난 노래 못 해
그래 난 노래 못 해 그래도 난 노래 해 내 Soul 과 My feel 로 예에헤 뒤에서 다들 그래 난 노래 하지 말래 웃기고 앉아 있네 노래 할래 이렇게
라 라라 라라라 라라라라 라라라
아버지가 말씀하셨어 신께서 모두 다 주시지 않는다고 그래서 세상은 공평하다고 인정했어 맘은 안 그래도 어릴땐 때로 세상에 주먹질과 욕도 맘껏 해봤어 잘못된 길의 지도를 만들었던거 그래 난 노래 못 해
그래 난 노래 못 해 그래도 난 노래 해 내 Soul 과 My feel 로 예에헤 뒤에서 다들 그래 난 노래 하지 말래 웃기고 앉아 있네 노래 할래
Rap) 몹쓸 병에 걸려 누워있는 병실에도 흘러 나오길 오늘도 살기위해 야근하고 있는 회사에도 흘러 나오길 어두운 밤 꿈을 위해 펜을 잡고 있는 학교에서 흘러 나오길 진정으로 일으켜 세울 수 있는 노래가 되길 더 크게 더 크게 더 크게 이렇게
그래 난 노래 못해 그래도 난 노래해 내 Soul 과 My feel 로 예에헤 뒤에서 다들 그래 난 노래 하지 말래 웃기고 앉아 있네 노래 할래
그래 넌 잘 될 거야 이제는 잘 될 거야 세상이 몰라줘도 잘 될거야 그래 난 잘 될 거야 죽어도 잘 될 거야 세상이 몰라줘도 노래 할래
도움말 참고 시 VCL 만 쓰기 때문에 선택 창이 매번 떠 귀찮다. 예전에 위의 팁으로 도움말을 제거했었는데 다시 해보려니 안된다. (되면 이 글은 무시) Delphi 7, C++Builder 6 이라서 그런가... Delphi 는 버젼이 다르다 쳐도 C++Builder 는 6 버젼으로 예전에 바꿨던 기억이 있다.
어쨌든 적용이 안되서 헤매다가 그냥 간단하게 해결봤다. d7clx.hlp(Delphi 7), blx2clx.hlp(C++Builder 6) 파일을 Help 폴더에서 다른 곳으로 옮겼다. 아예 쓰지 않을 계획이면 지워도 무방할 것이다.
메세지 구분자는 정수형의 상수이다. 1024($0400) 이하의 영역은 위도우에서 사용되는 영역이다. 그래서 WM_USER 를 정의해 놓고 1 이상의 값을 더해 새로 정의해 사용하게 된다. const WM_USER = $0400;
그러나 이 경우에도 VCL 컨트롤의 메세지와 중복되는 경우가 있는데 다음이 이에 해당한다. { Edit Control Notification Codes } const EN_ERRSPACE = $0500; EN_MAXTEXT = $0501; EN_HSCROLL = $0601; EN_VSCROLL = $0602;
사용되는 컨트롤을 파악하여 중복되는 메세지를 잘 피해야 할 것이다.
이 외에 WM_APP 를 이용하는 방법도 있지만, 이 또한 여러 Third-Party 컴포넌트와 섞이거나 내 것을 남이 쓰게 만들 경우 충돌 무결을 보장할 수 없다. const WM_APP = $8000;
RegisterWindowMessage 함수를 사용하면 문자열을 통해 프로그램에서 자동으로 윈도우 메세지를 등록해주면 더 깔끔할 듯 싶다. Delphi> function RegisterWindowMessage(lpString: PChar): UINT; stdcall;
Exam> var WM_TEST: UINT; begin WM_TEST := RegisterWindowMessage('Test Message'); end;
RegisterWindowMessage RegisterWindowMessage 함수는 시스템이 유일함을 보증하는 새로운 윈도우 메세지를 정의한다. 반환 된 메세지 값은 SendMessage 또는 PostMessage 함수를 호출하는 데 사용된다.
UINT RegisterWindowMessage( LPCTSTR lpString // 메세지 문자열의 주소 );
매개변수 lpString : 등록 될 메세지를 나타내틑 NULL 종료 문자열 포인터.
반환값 메세지 등록 성공시, 반환 값은 0xC000 부터 0xFFFF 사이의 메세지 확인자다. 실패 시, 반환 값은 0 이다.
설명 RegisterWindowMessage 함수는 전형적으로 두 협력 어플리케이션 간의 대화용 메세지 등록에 사용된다. 두개의 다른 어플리케이션에서 같은 메세지 문자열로 등록을 한다면, 어플리케이션은 같은 메세지 값을 반환한다. 메세지는 윈도우 세션이 종료될 때 까지 등록된 채로 남아있다. RegisterWindowMessage 는 둘 이상의 어플리케이션 간에 같은 메세지로 처리해야 할 경우에만 사용한다. 윈도우 클래스 간의 전용 메세지 전송에서 어플리케이션은 WM_USER 부터 0x7FFF 범위의 아무 정수 값이나 사용할 수 있다. (이 영역의 메세지들은 윈도우 클래스 전용이다, 어플리케이션 용이 아니다. 예를 들어, 미리 정의된 BUTTON, EDIT, LISTBOX, COMBOBOX 같은 컨트롤 클래스는 이 범위의 값을 사용할 것 이다.)
부팅 또는 게임(스타크래프트 등)같은 최대 해상도가 아닌 낮은 해상도의 표현시에 전체화면 확장으로 보여지는 것이 아니라 가운데 몰리게 보이는 경우가 있다. 그냥 그런가 보다하고 사용했다. (처음에는 확장되어 보였는데 포맷 후 이래서 의아하긴 했다.)
그런데 스타크래프트를 실행하려고 보니 이만저만 불편한게 아니다. 보기 힘들다. ㅜㅜ 그래서 지식iN을 힘차게 뒤져본 결과 CMOS 설정에서 하면된다 더라.
boot 항목에서 graphics mode expansion---->enabled text mode expansion--------->enabled
이렇게 써있기는 한데 내 것에서는 저런 비슷한 메뉴도 없는 것이다. 결국 아는 선배의 도움으로 디스플레이 등록정보에서 설정하는 것을 찾아냈다.
Samsung Sens Q35 에서 다음과 같은 순서로 하면된다. (이런 경우 다른 것도 비슷하게 하면 될 것이다.) 1. 디스플레이 등록 정보(바탕화면 우클릭 후 속성, 새 창이 뜬다) 2. 설정 페이지 3. 고급 버튼 (새 창이 뜬다) 4. 그래픽 드라이버 탭 5. 그래픽 속성 버튼 (새 창이 뜬다) 6. 디스플레이 설정 탭 7. 가로 세로 비율 옵션 버튼 (새 창이 뜬다) 8. 가로 세로 비율 유지 선택 9. 확인 버튼 10. 끝
최명희 원작 '혼불'에서는 "정월 보름이 지나고도 연을 날리면 '고리백정'이라고 욕을 듣는다"는 부분이 나온다. 실제로 과거에는 정월 대보름(음력 1월 15일)이 지나면 연날리기를 하지 않았다는데, 그렇게 된 사연이 재밌다. 과거 연날리기는 궁에서만 즐기는 궁중놀이였다. 그러던 어느날 궁에서 날린 정승의 연이 끊어져 한 농부가 이를 줍게 됐다. 농부는 연을 돌려 주러 갔으나 정승은 "자네가 가지고 가서 날리도록 하게나"라고 했다. 농부가 띄워보니 너무 재미있어 같은 연을 만들어 사람들과 날리게 됐고 결국 남녀노소 할 것 없이 모두가 연날리는 재미에 빠져 농사는 점점 엉망이 됐다. 이 사실이 왕의 귀에까지 들어갔다. 왕은 신하들과 회의를 열었고 이때 한 신하가 "정월 대보름이 지나서 연을 띄우는 자는 '백정'이라 칭한다고 하면 어떠하겠습니까"라고 말했다. 왕은 다음날 바로 방을 붙이도록 했고 이때부터 대보름 이후에도 연을 날리면 '백정'으로 불리게 됐다고 한다. 연 날리기에 빠져 한해 농사준비에 소홀할까 염려한 조상들의 지혜가 담긴 전설이다.