FireDAC: FDMemTable vs. ClientDataSet Android 성능 비교

Delphi 및 C++Builder의 새로운 데이터 액세스 컴포넌트로 추가된 FireDAC은, 다양한 데이터베이스 서버들을 지원할 뿐만 아니라 기능 면에서도 대단히 강력합니다. 또한 성능도 매우 뛰어난데요.그런데 성능 면에서의 장점 설명들은 보통 윈도우 플랫폼에 치중되어 있습니다. 최근 저는 Delphi 기반 Android 프로젝트를 진행하던 과정에서, 안드로이드에서 FDMemTable의…

FireDAC에서 DB2 AS/400 네이티브 연결 (수정)

IBM의 중형 컴퓨터 AS/400 (iSeries, System i)은 역시 IBM의 메인프레임(zSeries, System z)과 마찬가지로 매우 폐쇄적인 시스템으로, OS 자체적으로 데이터베이스 서버도 내장하고 있는 것이 한 특징입니다. AS/400의 OS 자체가 데이터베이스와 완전히 통합되어 있는 구조인데요. AS/400의 데이터베이스를 ‘DB2’라고 부르기는 하지만 유닉스나 윈도우, 리눅스…

ZXing.Delphi 바코드 스캔 예제 소스

앞서 바코드 스캔 라이브러리 ZXing.Delphi에 대한 소개와 버그 수정에 대한 포스트를 올렸는데요. 이번에는 이 라이브러리를 제대로 사용하기 위한 예제 프로젝트에 대해 설명해보겠습니다. 원론적으로 보면, ZXing.Delphi 라이브러리의 사용법 자체는 꽤 간단합니다. 먼저 TScanManager 객체를 생성해놓습니다. 카메라를 액티브시킨 후, TCameraComponent의 OnSampleBufferReady 이벤트가 발생되면 이벤트…

FMX: 바코드 스캔 라이브러리, ZXing.Delphi 소개 및 버그 수정

ZXing.Delphi

저는 현재 공장 자동화 목적의 안드로이드 앱을 개발중인데, 라인/공정별 각 단계마다 라벨에 찍혀있는 QR code를 스캔하는 기능이 필요합니다. (QR code도 바코드의 한 종류로서 2D barcode에 속합니다) 바코드를 스캔하는 방법에는 바코드 스캐너 전용 기기를 사용하는 경우와 스마트폰/태블릿 등의 범용 기기를 이용하는…

FMX: CameraComponent의 Quality 속성 버그

안드로이드 기반 단말기를 위한 앱을 개발하던 중, Firemonkey 카메라 컴포넌트의 해상도 설정 기능에서 작은(?) 버그를 발견했습니다. 기기의 최고 해상도보다 해상도를 낮춰 설정한 후 카메라를 재구동하면 해상도가 최고 해상도로 강제 설정되어버리는 것입니다. 더 골치아픈 것은, 이것을 막기 위해 카메라 재구동 전에 해상도를…

지정 시간 후 자동으로 닫히는 Modal 폼

잘 아시다시피 델파이/C++빌더에서 폼을 여는 방식에는 Show와 ShowModal 두 가지 방법이 있습니다. 각각 modeless, modal이라고 하는데요. modal로 폼을 연다는 것은 해당 폼을 닫기 전에는 다른 폼으로 입력 포커스를 이동할 수 없도록 강제하는 것입니다. 그런데 가끔은, modal 방식으로 폼을 열었으면서도 일정…