Delphi XE2에서 새로 지원하는 크로스 컴파일 기능을 이용하여 Mac OSX 에서 동작하는 델파이 응용 프로그램을 만들어 보겠습니다.


Delphi XE2에서 작성하는 Mac OSX 프로그램은 FireMonkey를 기반으로 동작하므로 위의 그림과 같이 FireMonkey HD Application 프로젝트를 만드는 것을 시작점으로 Hello OSX를 만들어 봅니다.

FireMonkey 기반의 프로그램 개발은 기존의 VCL기반의 프로그램 개발과 동일한 방법으로 진행 할 수 있으므로 버튼 컴포넌트와 에디트 컴포넌트를 화면에 디자인하고 버튼클릭 이벤트에 다음과 같이 코딩합니다.

 

procedure TForm1.Button1Click(Sender: TObject);

begin

Edit1.Text := ‘Hello OSX!’;

end;

 

프로그램을 바로 실행하면 기존 Win32 기반의 FireMonkey Application을 볼 수 있습니다.

  • Add Platform

FireMonkey 기반으로 작성된 프로그램은 Delphi IDE에서 플랫품을 추가 하는 방법으로 Mac OSX에서 실행 가능한 실행 모듈을 생성할 수 있습니다.

아래의 그림과 같이 Delphi Project Manager에서 Add Platform메뉴를 선택하고 Select Platform 다이얼로그에서 OSX를 선택하고 확인을 누릅니다.

컴파일후 실행하면 Deploy 오류를 만나게 됩니다. 이때 배포를 위해 필요한 것이 PA(Platform Assistant) Server 입니다.

  • PA(Platform Assistant) Server

PA Server는 타겟 플랫폼(OSX, Windows64 등)에 설치해서 배포, 실행, 디버깅을 원격에서 실행 할 수 있는 프로그램으로 아래의 위치에 있는 프로그램을 복사하여 타겟 플랫폼에 설치합니다.

C:\Program Files\Embarcadero\RAD Studio\9.0\PAServer

Setup_paserver.exe 파일은 Windows64 용이며 Setup_paserver.zip 파일은 Mac OSX용입니다. Setup_paserver.zip 파일을 실행 하고자 하는 맥킨토시에 복사하고 압축을 해제하면 Mac OSX에서 실행 가능한 Setup_paserver.app 파일이 생성됩니다.

위의 그림과 같이 맥킨토시에서 PA Server를 설치하면 /Users/사용자명/Applications/Embarcadero 위치에 PA Server가 아래의 그림과 같이 설치됩니다.

맥 컴퓨터에서 터미널 혹은 Mac Finder를 이용하여 paserver를 실행 시키면 아래의 그림과 같은 터미널 프로그램이 동작됩니다. 참고로 scratch-dir 에는 Delphi XE2에서 실행 후 배포할 실행 파일이 생성됩니다.

Password 입력란에 원하는 패스워드를 입력하면 맥용 paserver가 기본포트번호 64211번을 오픈하고 대기상태로 원격 접속을 기다립니다. 프롬프트에서 help 키워드를 입력하면 도움말을 참조 할 수 있습니다. paserver가 실행중인 컴퓨터의 ip번호를 확인하고 다시 윈도우로 돌아가서 Delphi XE2에서 원격 프로파일 설정을 마무리해 봅시다.

  • 원격 프로파일 설정

원격으로 맥 OSX에서 FireMonkey 응용 프로그램을 실행 시키기 위해서는 원격접속을 위한 프로파일을 먼저 정의 해 주어야만 실행, 디버깅, 배포를 할 수 있습니다. 프로파일을 정의 하기 위해서는 위의 그림과 같이 타겟 플렛폼을 선택하고 오른쪽 버튼을 눌러 Edit Profile을 선택합니다.


위의 그림과 같이 Host name 항목에 원격 컴퓨터의 아이피, 그리고 Port Number 에 앞에서 실행해 두었던 paserver가 동작하면서 지정된 포트번호 그리고 paserver 실행시에 입력했던 패스워드를 입력하고 Test Connection 버튼을 눌러서 연결을 확인해 봅니다. 테스트 연결이 정상적으로 실행되지 않는다면 앞으로 돌아가 다시 처음부터 차근차근 점검해 보세요.

테스트 커넥션이 정상적으로 진행 되었다면 이제는 Max OSX에서 Delphi XE2로 작성한 프로그램을 실행할 수 있습니다. F9키를 눌러서 실행 시키면 원격 Mac 컴퓨터에서 다음의 화면과 같은 실행 화면을 볼 수 있을 것입니다.

Paserver는 원격 컴퓨터에서도 기존 Win32 환경과 동일한 방법으로 디버깅을 수행 할 수 있으므로 F7, F8 키와 Break Point를 이용하여 디버깅 할 수 있습니다.

Hello OSX의 실행결과 화면

배포파일은 원격 컴퓨터의 paserver가 설치된 디렉토리의 아래에 scratch-dir 이하에 .app 확장자가 붙어서 배포됩니다.

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15428
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13961
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16497
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22054
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23268
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18922
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39253
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174698
543 [시애틀] FireDAC NoSQL 드라이버로 몽고DB를 완벽 지원합니다. Humphery 2015.09.04 971
542 [시애틀] 개발 효율성을 극대화할 수 있도록 멀티-모니터를 활용해 개발환경 레이아웃을 구축할 수 있습니다. Humphery 2015.09.04 645
541 [발표자료] 9월 3일 "사물인터넷 실제 구현하기, DeepDive" 관리자 2015.09.04 453
540 [시애틀] 알림, 계약(Contract) 등의 윈도우 10 서비스 기능을 컴포넌트와 API로 쉽게 활용할 수 있습니다. 험프리 2015.09.02 766
539 [시애틀] VCL 스타일이 공용 대화 상자와 웹브라우저까지 적용됩니다. Humphery 2015.09.02 477
538 [시애틀] VCL 스타일을 적용해 1분만에 윈도우 10 최신신 룩앤필을 적용할 수 있습니다. 험프리 2015.09.02 1234
537 [시애틀] 윈도우 10 용 새 VCL UI 컨트롤로 윈도우 10 UI를 손쉽게 적용할 수 있습니다. 험프리 2015.09.02 2381
536 초대합니다! 새로운 RAD Studio : 윈도우 10 혜택을 누리세요! file 관리자 2015.08.28 290
535 이 달의 기술자료 - 2015년 09월 file 험프리 2015.08.26 497
534 [다음 버전 정보] C++11을 32비트 윈도우 앱 개발에서 사용할 수 있습니다. Humphery 2015.08.25 553
533 [다음 버전 정보] 안드로이드 서비스로 백그라운드 작업을 실행할 수 있습니다. Humphery 2015.08.25 774
532 [앵콜세미나] 사물인터넷 실제 구현하기, DeepDive!: 비콘, 스마트조명, 블루투스 체중계 관리자 2015.08.19 525
531 20150811 사물인터넷 실제 구현하기 DeepDive 세미나 발표자료 관리자 2015.08.12 499
530 RAD Studio VCL/FMX 앱에 윈도우 10 스타일 적용하기 file 관리자 2015.07.30 842
529 [따라하기] 위험지역 경보 시스템 #1 - 위험지역 진입 경보앱 만들기 [1] Humphery 2015.07.30 3740
528 [사물인터넷 동영상] 위험 지역 경보 시스템 관리자 2015.07.28 504
527 [XE8] IDE 설정값을 내보내고 불러올 수 있어, 일관된 IDE 설정을 유지할 수 있습니다. file Humphery 2015.07.28 575
526 이 달의 기술자료 - 2015년 08월 험프리 2015.07.28 645
525 데이터스냅에서 제공하는 JSON 포맷 데이터 사용(분석)하기 [1] file Humphery 2015.07.20 3775
524 [XE8] 모바일 튜토리얼 무료 다운로드(영문), 총 364페이지 관리자 2015.07.09 1545