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 15448
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13963
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16499
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22057
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23268
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18924
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39259
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174726
1398 N 윈도우와 맥 개발 시작을 위한 파이어몽키 코스북: 무료 다운로드 제공(385페이지) 관리자 2013.04.05 152331
1397 ComPort(시리얼 통신) 컴포넌트 설치안내 [11] file 험프리 2013.12.04 107387
1396 [REST API] REST 기반 파일 업로드와 다운로드 구현하기 험프리 2020.08.31 83125
1395 델파이 튜토리얼 자습서 이용 안내 관리자 2014.09.01 71936
1394 이 달의 기술자료 - 2014년 11월 험프리 2014.10.13 54120
1393 이 달의 기술자료 - 2014년 6월 file 험프리 2014.06.05 50357
1392 Find the O/S Language Type c2design 2014.07.30 47784
1391 RAD Studio Resource Center 박병일 2012.01.26 46456
1390 CD-ROM 열고 닫기 박병일 2011.12.22 44762
1389 [Android] 폰번호 가져오기 [1] 타락천사 2014.09.05 38543
1388 이 달의 기술자료 - 2014년 12월 file 험프리 2014.11.26 32457
1387 RAD Studio XE6 Update1 발표 [1] Humphery 2014.06.20 29462
1386 델파이XE2 파이어몽키 기반 아이폰앱 개발에서 제스춰를 인식시키는 방법 박병일 2012.01.25 23256
1385 [10.4 시드니 신기능] 새로운 VCL TEdgeBrowser 컴포넌트 험프리 2020.05.18 22916
1384 SendMessage 함수를 이용한 메세지 전송 관리자 2012.01.05 18259