[step up! 마이그레이션] rad 업그레이드 마이그레이션_점검과 수행
DESCRIPTION
델파이 업그레이드 마이그레이션을 진행할 때 점검항목과 각 대응방법, 팁을 정리한 문서입니다.TRANSCRIPT
EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES
마이그레이션 진행 시 점검항목과 대응방법
• 소스코드 마이그레이션 • 데이터 엑세스 아키텍쳐 변경 • 마이그레이션 팁과 정보
EMBARCADERO TECHNOLOGIES
소스코드 마이그레이션 서드파티 컴포넌트 유니코드 대응 데이터 엑세스 아키텍처 변경 화면(UI)과 UX 윈도우 64 Bit 성능 그리고 생산성
마이그레이션 시 점검항목
EMBARCADERO TECHNOLOGIES
마이그레이션 시 점검항목 – 소스코드 마이그레이션
1. 업그레이드 유형 별 RAD Studio 버전선택 ‒ 성능과 최신기술(모바일, BYOD, UX, 유니코드, 64-bit) 도입 à XE6
‒ ANSI 문자열 그대로 Windows 7,8에 대응하고 싶다 à 2007
‒ 최신버전 구매 시 이전버전 사용 가능
2. 프로젝트를 XE6로 업그레이드 하려면 ‒ 프로젝트 파일을 XE6에서 열면~ 끝!
‒ Application.MainFormOnTaskBar := True; 설정
‒ Vista의 Aero에 대응하기 위해
EMBARCADERO TECHNOLOGIES
마이그레이션 시 점검항목 – 서드파티 컴포넌트
1. 사용하려는 버전의 컴포넌트 지원여부 확인 ‒ 컴포넌트 제공(제작)사 홈페이지
‒ 엠바카데로 파트너사 검색(회사명 / 제품명으로 검색)
‒ http://tp.embarcadero.com/partnercentral.exe/default
‒ 새버전의 컴포넌트도 Property와 Function, Procedure의 차이가 있을 수 있음
2. 직접 컴포넌트 컨버팅 시 유의사항
‒ 컴포넌트가 최신버전 지원하지 않는 경우 진행
‒ 대체할 컴포넌트를 찾지 못하는 경우
‒ 소스코드 필요 (컴포넌트 구매 시 소스코드 포함 버전 권장)
‒ 가능하면 2009 버전(유니코드 지원) 이후로 진행
EMBARCADERO TECHNOLOGIES
마이그레이션 시 점검항목 – 서드파티 컴포넌트
3. 컴포넌트 컨버팅 절차
‒ uses 절 유닛명 정리
‒ 유닛명을 모르면 함수 선택 후 Help(F1) 파일 참고
‒ 네임스페이스 적용(XE2)
‒ 조건부 컴파일(Conditional Compilation, $IFDEF / $DEFINE)
‒ 여러버전 지원을 위해 버전별 로직 구성 à 사용할 버전 코드 추가 필요
‒ 컴파일러 버전 : http://tech.devgear.co.kr/404886
‒ 유니코드 대응
EMBARCADERO TECHNOLOGIES
마이그레이션 시 점검항목 – 유니코드 대응 1. 유니코드
‒ 전 세계 모든 문자를 컴퓨터에서 일관되기 표현하고 다룰 수 있도록 설계된 산업표준
2. 점검항목 ‒ UnicoeString 타입과 AnsiString 타입간 데이터 변환에 의한 손실 조심
‒ 문자 사용 시 ASCII(1 Byte) à Unicode(2 Byte)
‒ String / Char / Pchar
‒ Length, Pos, Insert, Delete, Copy, LeftStr, RightStr
‒ 스트링과 문자의 바이트 크기 à Length * SizeOf(Char)
‒ Stream : Read / Write
‒ PChar 대신 PByte
‒ SaveToFile / LoadFromFile
‒ DLL Export / Import 문자열 타입을 명시작으로(PAnsiChar, PWideChar)
http://tech.devgear.co.kr/405017
EMBARCADERO TECHNOLOGIES
마이그레이션 시 점검항목 – 데이터 엑세스 아키텍쳐 변경
h-p://www.devgear.co.kr/products/rad-‐studio/firedac/
1. FireDAC – 새로운 데이터 엑세스 엔진 ‒ BDE와 높은 호환성
‒ 멀티플랫폼 지원
2. High Performance, Easy-to-use ‒ 데이터셋의 양방향 탐색
‒ Array DML(Data Manipulation Language)
3. 통합 API 지원 ‒ SQL 별 고유 언어 추상화
‒ 일원화된 SQL 스크립트
‒ 통합 에러 레포트와 트렌젝션
‒ DBMS 별 네이티브 드리이버 지원으로 고유기능 사용
EMBARCADERO TECHNOLOGIES
NaAve FireDAC Drivers
• MySQL • MicrosoK SQL
Server • Oracle Database • InterBase • PostgreSQL • DataSnap • SQLite
• Sybase SQL Anywhere • MicrosoK Access • IBM DB2 Server • Informix • Firebird • Advantage Database • ODBC gateway • dbExpress gateway
EMBARCADERO TECHNOLOGIES
FireDAC 성능 DEMO
• 데이터 입력/엑세스 – dbExpress – FireDAC – FireDAC Array DML
• 메모리 테이블 – FDMemTable – ClientDataSet
EMBARCADERO TECHNOLOGIES
BDE 마이그레이션(“reFind” 유틸리티 이용)
h-p://devgear.co.kr/l/?q=bdetofiredac
EMBARCADERO TECHNOLOGIES
마이그레이션 시 점검항목 – 현대식 UI와 UX
1. VCL 스타일 ‒ 어플리케이션의 모든것에 적용
‒ 컨트롤, 폼의 타이틀, 테두리, 메뉴와 시스템 메뉴
‒ 일관성 있는 외관 / 런타임 시 스타일 변경(스킨 기능 적용)
‒ 직접 스타일 파일 제작 가능 – Bitmap Style Designer
2. 최신 윈도우 8 지원
‒ 윈도우 8 태블릿 앱 개발이 용이
‒ Metropolis UI 프로젝트 제공
‒ 멀티 터치와 터치 키보드 지원
‒ 윈도우 8 스타일 제공
‒ Taskbar 미리보기 / 센서 컴포넌트 제공
EMBARCADERO TECHNOLOGIES
마이그레이션 시 점검항목 – 윈도우 64 bit 1. 델파이와 윈도우 64 bit
‒ 동일한 소스코드
‒ 동일한 VCL
‒ 동일한 RTL
‒ 동일한 Windows API
2. 주의 할 점
‒ 32 bit로 컴파일된 라이브러리 사용할 수 없음
‒ 64 bit에서는 데이터 패킹 시 8byte로 하는 것이 좋음
‒ 포인터와 핸들에 Integer, DWORD로 캐스팅하지 말것, 64 bit API 사용권장
32 bit 64 bit
Integer 4 bytes
Int64 4 bytes
NaAveInt 4 bytes 8 bytes
Pointer 4 bytes 8 bytes
• SendMessage(hWnd, WM_SETTEXT, 0, Integer(@MyCharArray)); à LPARAM • Message.Result := Integer(Self); à LRESULT(Self); • SetWindowLong(hWnd, GWL_WNDPROC, Logint(@MyWIndowsProce)); à
SetWindowLongPtr(hWnd, GWLP_WNDPROC, LONG_PTR(@MyWIndowsProc));
h-p://docwiki.embarcadero.com/RADStudio/XE6/en/ConverAng_32-‐bit_Delphi_ApplicaAons_to_64-‐bit_Windows
EMBARCADERO TECHNOLOGIES
마이그레이션 시 점검항목 – 새로운 기능들
1. 새로운 VCL/RTL 기능들 ‒ 추가된 컴포넌트 / 개선된 UI / 추가된 속성 등
2. 새로운 IDE 기능들 ‒ Version Control(Subversion)
‒ 리팩토링 / IDE 인사이트 등
3. 새로운 디버깅 기능들 ‒ 개선된 Watch, Local Variables 등
4. 새로운 언어 기능들 ‒ 제너릭 / 익명 메소드 / 메소드 헬퍼
‒ for – in 루프 등
h-p://tech.devgear.co.kr/7201
EMBARCADERO TECHNOLOGIES
어떻게 시작하나요? 1. 시작은? 컨버전 질의서
‒ 컨버전 질의서 (체크리스트) : http://tech.devgear.co.kr/1708
‒ 작성 후 데브기어로 전달 (무상으로 검토 의견을 드립니다)
2. 개별 방문 컨설팅이 필요하다면? ‒ 관련 컨설팅 회사 또는 고급 개발자를 연결하여 드립니다. (유상, 이 경우에서 체크리스트는 미리 작성)
‒ 혹시! 마이그레이션 경험이 풍부하여 컨설팅 서비스를 할 수 있는 경우에도 연락 바랍니다.
데브기어 : [email protected] 마이그레이션 담당자 앞
EMBARCADERO TECHNOLOGIES
추가 정보 • 처음 만나는 RAD Studio XE6 온라인 세미나 다시보기
h-p://goo.gl/NvQmqt • IoT와 RAD Studio -‐ 다양한 디바이스 연동
h-p://tech.devgear.co.kr/347981 • 모바일 개발 사례
h-p://tech.devgear.co.kr/345279 • 한글 도움말
h-p://www.devgear.co.kr/docwiki • 데브기어 기술 자료실
h-p://tech.devgear.co.kr/ • 델파이 교육 일정 (매월)
h-p://www.devgear.co.kr/edu • 마이그레이션 자료와 가이드
h-p://www.devgear.co.kr/rad-‐in-‐acAon/migraAon-‐upgrade-‐center/ • 각버전별 신기능 요약
h-p://www.devgear.co.kr/products/rad-‐studio/whats-‐new-‐history/
EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES
감사합니다.
h-p://tech.devgear.co.kr h-p://www.devgear.co.kr h-p://www.facebook.com/devgear