개인적으로 저는 잘 사용하지 않지만, DBNavigator 컴포넌트는 데이터베이스 애플리케이션에서 정말 유용한 컴포넌트입니다. TDBNavigator의 역할은 현재 연결되어 있는 데이터셋의 레코드 단위 운영을 위한 컴포넌트로서, 아시다시피 데이터셋의 앞으로/뒤로, 최초/최종 등의 작업을 위한 UI를 간단히 구성해줍니다. 그런데, 델파이/C++빌더의 XE2 이후 버전들부터는, 이 TDBNavigator가 TClientDataSet과 연결해서…
이번 포스트에서는, 윈도우7의 Aero UI에 맞게 THeaderControl의 헤더섹션을 제대로 OwnerDraw 하는 방법에 대해 살펴봅니다. THeaderControl은 글자 그대로 헤더 섹션들을 정의해놓은 헤더 컨트롤입니다. ListView에도 포함되어 있구요. 이 HeaderControl의 각 섹션에는 Text 속성을 통해 나타날 텍스트를 지정해줄 수 있습니다. 그런데 이 Text에는 멀티라인, 즉 여러…
Delphi 및 C++Builder에는 dfm 폼 파일을 바이너리에서 텍스트로 혹은 그 반대로 변환하기 위한 유틸리티 convert.exe가 포함되어 있습니다. 일반적으로는 텍스트 포맷의 dfm 파일이 유리한 점이 많은데, 예를 들면 당연히 텍스트 파일만이 diff가 가능하기 때문에 SubVersion 같은 버전 관리 시스템에서 관리하기도 편리합니다. Delphi…
간단하지만 경우에 따라 꽤 유용하게 쓸 수 있는 팁입니다. (아쉽게도, Delphi/C++Builder의 XE2 버전 이상에서만 가능한 기능입니다 -.-;;) VCL에 InputQuery와 InputBox라는 함수가 있습니다. 아주 초보적인 함수인데, 아주 자주 쓰는 개발자도 있고 전혀 존재조차 모르는 분들도 꽤 많이 있습니다. 이 두 함수는 본질적으로…
Delphi5로 작업된 대규모 프로젝트를 Delphi XE3로 마이그레이션하던 중, E2283이라는 생소한 컴파일 에러를 만났습니다. 이 에러에 대해 온라인 헬프를 살펴보면 다음과 같이 설명되어 있는데요. E2283 Too many local constants. Use shorter procedures One or more of your procedures contain so…