글쓴이: 박지훈.임프

Delphi/C++Builder 컨설턴트, 볼랜드포럼 운영자, 데브퀘스트 대표

XE3/XE4에서 TClientDataSet의 한글 길이 버그

프로젝트를 진행하다가, 델파이/C++빌더 XE3 및 XE4의 TClientDataSet의 이상한 버그 하나를 추가로 발견했습니다. 필드 이름이 한글이고 대략 10글자가 넘을 때 "Field xxx not found" 에러가 나는 것인데요. VCL의 소스를 확인해보니 필드 이름을 UTF8로 변환한 후 길이를 32보다 크면 32길이로 잘라버리더군요. UTF8에서는…

터치스크린 여부와 터치포인트 갯수 알아내기

델파이와 C++빌더는 2010 버전부터 멀티터치와 제스추어를 지원하고 있습니다. 경쟁 개발툴인 비주얼스튜디오에서 터치 개발을 하는 것보다 훨씬 간단하면서도 강력하기 때문에 멀티터치 애플리케이션을 개발하는 데 있어 델파이와 C++빌더에게 적수는 없죠. 그런데 의외로, 현재 PC(혹은 디바이스)에서 멀티터치가 지원되는지 여부를 알아낼 방법은 지원하지 않더군요.…

임프 블로그 WordPress로 이전

임프의 블로그는 지난 2009년 초에 개설한 후로 줄곧 TextCube 기반으로 운영해왔는데요. 몇가지 기능의 한계와 편의성 문제로, WordPress로 이전을 했습니다. 대략 3일 정도 내내 작업을 거쳐야 했네요. 다행히 블로그 컨텐츠 자체를 TextCube에서 WordPress로 임포트하는 좋은 툴이 있어 큰 도움이 되었지만, 기존의 TextCube와는 다른…

모바일 개발을 위한 델파이 언어 – PDF

지난 4회에 걸쳐 연재로 마르코 칸투의 문서 "The Delphi Language for Mobile Development"를 번역했는데요. 하나로 엮어 한번에 보기에 좋고 프린트 하기도 더 나은 pdf 문서로 다시 만들어봤습니다. 다운로드 링크는 아래와 같습니다. 이 pdf 문서는 비영리, 비변경의 조건 하에 누구나 자유롭게…

모바일 개발을 위한 델파이 언어 (4)

델파이 XE4 버전에서는 iOS 및 ARM 컴파일러 지원을 위해, 기존의 델파이와는 다른 새로운 델파이 컴파일러를 도입했습니다. 기존 델파이 컴파일러와의 호환성을 위해 대부분의 문법들은 하위호환되지만 델파이로 모바일 개발을 하기 위해서는 알아두어야 할 주의해야 할 부분들이 상당히 많습니다. 현재 엠바카데로에서 델파이 프로덕트…

모바일 개발을 위한 델파이 언어 (3)

델파이 XE4 버전에서는 iOS 및 ARM 컴파일러 지원을 위해, 기존의 델파이와는 다른 새로운 델파이 컴파일러를 도입했습니다. 기존 델파이 컴파일러와의 호환성을 위해 대부분의 문법들은 하위호환되지만 델파이로 모바일 개발을 하기 위해서는 알아두어야 할 주의해야 할 부분들이 상당히 많습니다. 현재 엠바카데로에서 델파이 프로덕트…

모바일 개발을 위한 델파이 언어 (2)

델파이 XE4 버전에서는 iOS 및 ARM 컴파일러 지원을 위해, 기존의 델파이와는 다른 새로운 델파이 컴파일러를 도입했습니다. 기존 델파이 컴파일러와의 호환성을 위해 대부분의 문법들은 하위호환되지만 델파이로 모바일 개발을 하기 위해서는 알아두어야 할 주의해야 할 부분들이 상당히 많습니다. 현재 엠바카데로에서 델파이 프로덕트…

모바일 개발을 위한 델파이 언어 (1)

델파이 XE4 버전에서는 iOS 및 ARM 컴파일러 지원을 위해, 기존의 델파이와는 다른 새로운 델파이 컴파일러를 도입했습니다. 기존 델파이 컴파일러와의 호환성을 위해 대부분의 문법들은 하위호환되지만 델파이로 모바일 개발을 하기 위해서는 알아두어야 할 주의해야 할 부분들이 상당히 많습니다. 현재 엠바카데로에서 델파이 프로덕트…

엠바카데로, 멀티디바이스 네이티브 개발을 위한 RAD Studio XE4 발표

몇시간 전에 RAD Studio XE4, Delphi XE4, C++Builder XE4가 발표되었습니다. 기존 XE3 버전에 비해 이번 XE4 버전의 가장 눈에 띄는 점은 iOS 지원입니다. 이제 델파이와 C++빌더로 직접 아이폰, 아이패드 앱을 개발할 수 있습니다. 아래는 보도자료 번역입니다. ----------------------------- 샌프란시스코, 2013년 4월 22일…

PC 판매량 폭락을 불러온 윈도우8의 치명적인 문제는

IDC에 따르면 2013년 1분기 PC 판매량이 무려 14%나 폭락했다고 합니다. 이것은 스스로 발표한 IDC가 이전에 예상 발표를 했던 하락폭 7.7%의 거의 두배에 가깝습니다. IDC는 물론 그 발표를 인용한 대부분의 보도들도 그 주원인으로 윈도우8의 부진을 꼽고 있습니다. 물론 태블릿 시장의 확대로 PC…

엠바카데로, AnyDAC 인수후 FireDAC으로 공개

엠바카데로에서 Delphi, C++Builder를 위한 새로운 데이테베이스 연결 아키텍처, FireDAC을 발표했습니다. 기존의 dbExpress, ADO 외에 새로운 데이터베이스 연결 방법을 제공하는 것입니다. FireDAC Multi-Device Data Access Library FireDAC은 Oracle, SQL Server, DB2, MySQL, Informix, InterBase,Firebird, SQLite, PostgreSQL, SQL Anywhere, Advantage DB, Access 등 아주 다양한 데이터베이스를 지원하고 델파이/C++빌더…

FireMonkey에서 썸네일을 만들려면 (2)

저번 포스트에서 썼다시피, 파이어몽키에도 썸네일을 만들어주는 TBitmap.CreateThumbnail 메소드가 있습니다. 현재 버전에서 버그가 있지만 그 버그를 회피해서 제대로 썸네일을 만들 방법을 설명했습니다. 그런데, 아래 캡쳐 이미지들에서 보시다시피, GDI+ 캔버스와 맥의 Quartz 캔버스의 경우에는 아주 좋은 품질의 썸네일이 만들어집니다만, Drect2D 캔버스의 경우에는 좀 심하게…

FireMonkey에서 썸네일을 만들려면 (1)

바로 전에 VCL에서 썸네일을 만드는 방법에 대해 글을 올렸었는데요. 이번에는 파이어몽키에서의 썸네일에 대해서도 살펴보지요. 파이어몽키에는 정확히 썸네일을 만들기 위한 루틴이 이미 준비되어 있는데요. 바로 TBitmap.CreateThumbnail 메소드입니다.

(참고로, 파이어몽키 TBitmap은 VCL의 TBitmap과 달리 bmp만이 아니라 jpg나 png등 라스터 그래픽 포맷을…

고품질 썸네일 이미지를 쉽게 만들려면

델파이, C++빌더에서 이미지 파일의 썸네일, 즉 작은 크기로 줄인 이미지를 만들어내는 방법은 비교적 간단하고 또 많이 알려져 있습니다. 바로 TCanvas의 StretchDraw 프로시저를 이용하는 것인데요. 그런데, 이렇게 StretchDraw를 이용해서 썸네일을 만들어보면 품질이 그다지 좋지 않습니다. 그냥 좋지 않다 정도가 아니라 흔히…

FireMonkey에서 DirectX 사용을 강제하려면

윈도우비스타/7/8인데도 불구하고 FireMonkey 애플리케이션이 DirectX 기반이 아닌 GDI+ 기반으로 돌아가는 경우가 있습니다. 주로 그래픽 칩셋이 저성능 버전일 때인데요. (윈도우 XP/2003의 경우는 DirectX 10.1을 지원되지 않아 오직 GDI+만 사용할 수 있음) GDI+ 캔바스는 DirectX 캔바스에 비해 드로잉 성능이 많이 떨어집니다. 같은 그래픽 칩셋에서 GDI+…

XE2, XE3 버전부터 윈도우2000 지원 중단

윈도우 2000의 지원 문제는, 대부분의 개발자분들께는 별다른 문제가 아닐텐데요. 이미 윈도우 XP 이상으로 대부분 옮겨간 상태이니까요. 그런데 소수라도 일부 개발자분들께는 윈도우 2000의 지원 여부가 꽤 중요할 수 있습니다. 그리고 그다지 중요하지 않은 분들이라도 정확하게 델파이와 C++빌더의 어느 버전까지 윈도우 2000을…

모니터 연결을 알아채고 제대로 처리하려면?

델파이와 C++빌더의 VCL에서는 이미 멀티모니터, 즉 둘 이상의 모니터를 지원하기 위한 훌륭한 준비가 되어 있습니다. TScreen 구조체가 그것인데요. TScreen 타입인 Screen 전역 객체를 참조하면 현재 시스템에 연결된 모니터들에 대한 정보들을 상세하게 알아낼 수 있습니다. 예를 들면 연결된 모니터들의 갯수를 알아내려면 Screen.MonitorCount를 읽어오면 되고,…

2010년, 대한민국 IT 업계에 도대체 무슨 일이?

구글 트렌드로 이것저것 살펴보다가, 국내 IT 업계의 개발자 변동 추이를 짐작할 수 있는 재미있는 통계 하나를 발견했습니다. 아래 그래프는, 대한민국으로 한정해서 2004년부터 2012년까지 Java, Delphi, C++, C#의 이름들을 검색한 횟수를 구글 트렌드에서 집계해본 결과인데요. 새로 등장해서 관심을 조금씩 모아가던 C#을…

Firebird에서 Insert SQL을 모니터링하려면

몇달 전에 파이어버드에서 대용량 벌크 인서트를 하는 방법을 알아봤었는데요. 물론 벌크 인서트는 단일 INSERT 문을 대량으로 날리는 것에 비하면 대단히 빠르기는 하지만, 그 목적상 당연히 단 하나의 SQL 문으로서는 아주 긴 실행 시간을 가지게 됩니다. (앞서의 예에서는 INSERT...SELECT 문에서 22초가 걸렸죠)…

프로그램에서 AI 파일을 보여주기: Ghostscript

델파이와 C++빌더의 최근 버전에서는, bmp, wmf/emf, ico, jpeg 등 전통적으로 지원해왔던 이미지 포맷들 외에도 gif와 png 까지 지원하게 되었습니다. 또한 WIC를 통해 tiff와 raw 포맷까지 지원합니다. 이만하면 라스터 그래픽쪽으로는 막강한 파일 포맷 지원을 하고 있다고 할 수 있죠. 게다가, 무료…