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 8135
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 7836
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 10260
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 15352
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 17048
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 12792
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 32256
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 167901
40 TMS 파이어몽키용 테이블뷰 컴포넌트 출시 [1] 박병일 2012.02.07 7490
39 파이어 몽키 이퀼라이저 데모 동영상 박병일 2012.02.06 10015
38 파이어몽키 써드파티 라이브러리 ApeSuite file 박병일 2012.02.06 9072
37 파이어몽키 3D Text Editor file 박병일 2012.02.06 13862
36 Platforms Expert for XE2 Beta 2 file 박병일 2012.02.06 8294
35 파이어몽키를 이용하여 당구 게임을 시뮬레이션한 데모 file 박병일 2012.02.06 10593
34 델파이로 만든 구글 지오코딩 쎔플 입니다. 박병일 2012.02.06 10924
33 파이어 몽키를 이용한 공학 계산과 그래프 박병일 2012.01.28 11387
32 델파이 라이브러리 패스 에디터 file 박병일 2012.01.27 7002
31 RAD Studio Resource Center 박병일 2012.01.26 16478
30 파이어몽키 기반의 아이폰앱 개발에서 주소록 가져오기 박병일 2012.01.25 14364
29 델파이XE2 파이어몽키 기반 아이폰앱 개발에서 제스춰를 인식시키는 방법 박병일 2012.01.25 21982
28 파이어 몽키란 무었인가? 박병일 2012.01.19 11012
27 델파이XE2의 VCL Styles 활용하기 박병일 2012.01.19 15228
26 델파이 XE2의 DataSnap 서버와 OSX Client의 연동 박병일 2012.01.19 13468
25 델파이 XE2 로 아이폰 하드웨어 컨트롤 하기 박병일 2012.01.19 15428
24 델파이 XE2의 Namespace 문제 박병일 2012.01.19 8629
» Delphi XE2에서 맥 애플리케이션을 만들어 보자 박병일 2012.01.18 12878
22 델파이 XE2로 아이폰앱 만들기 박병일 2012.01.18 12980
21 델파이 XE2로 만든 아이폰 앱 - TicTacToe file 박병일 2012.01.17 13887