|
우선 답변에 감사드립니다.
읽은 분은 많은데 답변이 없어서 내심 조바심이 났습니다.
첫번째 답변은 적당하지 않은 것 같습니다. 그럼 델파이도 안되어야 하는 거 아닙니까? 같은 회사의 제품인데 BCB만 안된다는 것은 문제가 있다고 봅니다(품질 관리가 안된다는 이야기죠). 그리고 경로라는 것은 파일 시스템인데 운영체제의 표준을 따르지 않는다는 것은 문제가 있다고 봅니다. 현재 제가 알기론 리소스DLL 저장을 제외하곤 BCB에서 프로젝트, 파일, DFM 등 여타의 것을 2바이트 문자로 이루어진 경로에 저장할 수 있습니다.
두번째 답변은 2000의 문제만은 아닌 것 같습니다. 왜냐하면 함께 작업하는 분들의 경우 98에서는 이런 현상이 없고 NT 계열(NT4, 2000, XP)에서 이런 문제가 생깁니다. 제가 알기론 같은 OS에서 실행한다고 가정할 때 사용하고자 하는 폰트가 없을 때 대체글꼴이 사용되는 것으로 알고 있습니다. 폰트가 없음으로 인해 발생할 수 있는 문제를 막기 위해서 이지요. DEFAULT_CHAR는 이런 경우를 위해 정해 놓은 것입니다. 즉, OS 디폴트라는 것이지요. 한글 OS가 아니라면 문제가 다르지만 그렇지 않다면 적절하게 처리해 주는 것이 당연합니다. 그리고 이건 별 문제가 아니라고 넘어가더라도 글자가 커지는 현상은 있어서는 안되는 현상입니다. 이 현상이 매번 일어나는 현상이 아니라는 점을 다시 한 번 강조해서 알려드리고 싶네요. 먼저 예제로 들었던 TLabel 테스트는 DEFAULT_CHAR 조건에서 98에서는 전혀 문제가 없습니다. NT 계열에서만 엉뚱한 현상이 발생한다는 것이지요.
그리고 Memproof 등으로 분석해 보시면 알겠지만 VCL 라이브러리에는 리소스 해제가 안되는 문제가 많이 있습니다. 이런 문제로 인해 과다한 시스템 리소스를 소모하는 경우도 종종(이것도 경우에 따라 다릅니다. 즉 예측이 불가능하다는 겁니다.)있습니다.
프로그래머 입장에서는 이런 문제는 편의의 문제가 아니라 기본 요건이라는 생각이 드는군요.
다른 분들 의견은 어떤 지 모르겠네요. 저도 BCB를 애용하는 프로그래머로서 드리는 말씀입니다.
유영인 [Chris] 님이 쓰신 글 :
: 첫째, 경로는 한글 경로는 되도록 사용을 자제하시는 것이 좋습니다. 이건 BCB만의 문제가 아닌, VC도, 다른 몇몇 언어들도 마찬가지 입니다. (VB 의 경우는 꽤 잘 되는것 같더군요)
:
: 둘째, 이 문제는 2000에서 개발할 때 생기는 문제 같네요. 영문 폰트의 경우에는 HANGEUL_CHARSET가 아닌 ANSI_CHARSET 으로 해야합니다. 이것은, 폰트분석을 통해서 어떤 CHARSET을 사용할지 알 수 있습니다. 정확하지 않은 CHARSET일 경우 다르게 표시되는것은 어떤 측면에서 본다면 당연한 일입니다.
:
:
: 저는 위의 기능들을 버그라고 생각하지는 않습니다. 몇몇 언어가 사용자들의 이해와 편의를 위하여 제공한 기능들이, 어느새 당연시하게 프로그래머에게 인식이 되어버린것 같습니다.
:
: 답변은 아니지만.. 참고가 되시길 바라며..
:
:
: 공부중 님이 쓰신 글 :
: : 안녕하세요...
: :
: : BCB6를 쓰면서 이상한 점이 있어서요.
: :
: : 첫째, Resource DLL Wizard를 실행하고 경로 입력하는 부분에서 .bpr 파일이 위치한 파일의 경로가 한글이면 다음으로 진행이 안되더군요. 혹시나 해서 델파이에서도 해 보았는데 거기서는 넘어 가더군요. 영문일 경우는 BCB6도 되나, 한글일 때는 아무리해도 안되요. 한글 경로를 인식 못하는 거 같더군요. 예전에 BCB3일 때도 그러더니...
: :
: : 둘째, BCB를 다룰 때 겪는 이상한 문제 중 하나가 폰트 속성 중 DEFAULT_CHAR 속성으로 한 채 기본적으로 정의된 폰트(MS San Serif, Size 8)를 사용하여 TLabel이나 TButton 등을 사용하면 어느 순간(매번 일어나는 것은 아니라서) 글자가 커지는 현상이 일어나요. 98에서는 폰트가 모양이 바뀌는 현상으로 나타나지요. 저만 겪었나요? 버전에 관계없이 계속 나타나는 현상이던데.. 이런식으로 작성된 소스를 컴파일하면 실행할 때 글자가 커지는(또는 깨지는) 현상이 나타납니다. 이를 해결하는 방법으로 많이 제시되는 의견이 HANGEUL_CHAR(완성형)으로 바꾸라는 것입니다. 이럴 경우 일괄적으로 폰트의 모양이 한글을 기준으로 바뀌기 때문에 영문은 다른 폰트를 쓰고자 하는 사람에게는 해결책이 안됩니다. 정말 이상한 건 DEFAULT_CHAR 속성으로 한 채 폰트 크기를 10 이상의 크기로 하고 한글을 적고 Form의 정확히(!) 0,0 위치에 두면 글자가 작아집니다. 다른 위치에서는 제대로 보여요.(델파이도 마찬가지) 한 번 해보세요.
: :
: : 예)
: : Form1.h
: : ...
: : TLabel *Label1;
: : ...
: :
: : Form1.cpp
: : ...
: : Label1->Caption = "가나다라";
: : Label1->Size = 32;
: : ...
: :
: :
: : 전에 비트맵 헤더를 정의한 헤더 파일에 이상이 있어 에러가 난다는 분의 글도 읽은 적도 있고 해서...
: :
: : 제 견해로는 아직 BCB6가 BCB5보다 버그가 많은 것 같아요.
: :
: : 아시는 분은 답글 좀 올려 주세요.
|