XE3/XE4에서 TClientDataSet의 한글 길이 버그, 패치 파일

앞서의 글, http://blog.devquest.co.kr/imp/786에서 썼던 문제, 즉 TClientDataSet에서 10자 이상의 한글 필드를 사용했을 때 'Field xxx not found' 에러가 발생하는 문제에 대한 패치를 만들었습니다. 반나절 가까이 작업했네요.

엠바카데로에 버그리포트는 올리지 않을 생각입니다. 알고 있는 버그들이 꽤 많은데, 이 한건을 리포트하고 나면 나머지 버그들은 어떻게 할지 갑갑해서요. 이미 리포트된 버그들도 '재연이 안되네용?' 하면서 방치된 것들이 많으니 제가 명확한 재연과 버그 패치까지 다 만들어줘야만 해결이 되겠고요. 일일이 다 패치할 시간도 없고. 괜히 신경 써주다가 줄줄이 뒤통수가 껄쩍지근해질 것 같네요.

그러니 아마도 곧 발표될 XE5에서도 동일 버그가 그대로 있을 겁니다. 그때 추가로 패치 파일을 올리겠습니다.

델파이용:

DelphiXE3_DBClient.zip

DelphiXE4_DBClient.zip

C++빌더용:

CBuilderXE3_DBClient.zip

 CBuilderXE4_DBClient.zip

이런 식의 패치를 해보신 분은 잘 아시겠지만, 이 패치파일들을 적용하는 방법은 간단합니다. 압축파일을 풀어보시면 Datasnap.DBClient.dcu 혹은 Datasnap.DBClient.obj 파일 하나만 들어있습니다.

현재 프로젝트에만 적용하시려면, 프로젝트 소스와 같은 디렉토리에 넣으시고 프로젝트에 추가하세요. 현재 피씨의 모든 프로젝트에 적용하려면 BDS 설치 디렉토리 아래의 \lib\win32\debug 및 \lib\win32\release 디렉토리에 풀어넣으시면 됩니다.

물론 이런 방식으로는, 런타임 패키지를 사용하는 프로젝트에서는 적용되지 않습니다. 물론 그 경우라도 해당 패키지의 전체 소스 유닛을 모두 새 패키지 프로젝트에 넣어 똑같이 bpl 파일을 만들면 됩니다만, 그러기에는 일이 너무 많네요. 반드시, 꼭 필요하신데 직접 하시기 어려운 분은 따로 요청해주세요.

1 comment for “XE3/XE4에서 TClientDataSet의 한글 길이 버그, 패치 파일

  1. 박지훈.임프
    2013.12.01 at 3:46 오후

    참고로 이 패치는 완벽한 것이 아닙니다. 경우에 따라 이 패치를 적용한 후에도 문제가 발생할 수 있습니다.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.