A Tour of Delphi 2009

Similar documents
Microsoft PowerPoint - chap01-C언어개요.pptx

View Licenses and Services (customer)

ISP and CodeVisionAVR C Compiler.hwp

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

This is a title of the whitepaper

Windows 8에서 BioStar 1 설치하기

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

PowerPoint Template

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

Windows 10 General Announcement v1.0-KO

Delphi 7 ~ Delphi 2010 IDE의 새로운 기능들

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

Studuino소프트웨어 설치

슬라이드 1

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Install stm32cubemx and st-link utility

슬라이드 1

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

IRISCard Anywhere 5

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

슬라이드 1

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

vRealize Automation용 VMware Remote Console - VMware

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

SIGIL 완벽입문

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

CODESYS 런타임 설치과정

4S 1차년도 평가 발표자료

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

untitled

C# Programming Guide - Types

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

tiawPlot ac 사용방법

MF3010 MF Driver Installation Guide

Microsoft PowerPoint - e pptx

Endpoint Protector - Active Directory Deployment Guide

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft Word - src.doc

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

System Recovery 사용자 매뉴얼

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

슬라이드 1

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

제 2 장 기본 사용법

Windows Server 2012

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

ThinkVantage Fingerprint Software

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

MF5900 Series MF Driver Installation Guide

Microsoft PowerPoint - chap-02.pptx

Visual Studio online Limited preview 간략하게살펴보기

Office 365, FastTrack 4 FastTrack. Tony Striefel FastTrack FastTrack

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

슬라이드 1

윈도우시스템프로그래밍

이 드리는 혜택 완벽 을 위한 발환경 : Team Foundation Server 200 & CAL 제공 최저의 비용으로 구현을 위해 Visual Studio Team Foundation Server 200 서버 라이센스와 CAL이 에 포함되어 있습니다 을 모든 팀원이

MF Driver Installation Guide

Cisco FirePOWER 호환성 가이드

목 차 1. 드라이버 설치 설치환경 드라이버 설치 시 주의사항 USB 드라이버 파일 Windows XP에서 설치 Windows Vista / Windows 7에서 설치 Windows

NTD36HD Manual

chap 5: Trees

Microsoft PowerPoint - CSharp-10-예외처리

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Microsoft Word - 임베디드월드_WindowsEmbeddedCompact7_rev

PowerBuilder 2017 New Features 1. Updated software requirements OS Windows XP, Vista 더이상지원하지않음 Windows or 64-bit with SP1 Windows 8.1 Windows Se

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

ADP-2480

쉽게 풀어쓴 C 프로그래밍

오버라이딩 (Overriding)

(Veritas\231 System Recovery 16 Monitor Readme)

JDK이클립스

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax

1

RAD Studio 2010: UML과 Audits & Metrics

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사

Microsoft Word - PLC제어응용-2차시.doc

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

Microsoft Word - codevision사용법_pdf버전.docx

슬라이드 1

서현수

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

Microsoft Word - CSWP_sample(KOR).docx

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

게임 기획서 표준양식 연구보고서

DBMS & SQL Server Installation Database Laboratory

Microsoft PowerPoint - chap-02.pptx

Microsoft Word - release note-VRRP_Korean.doc

Transcription:

백서 Delphi 2009 투어 작성자 : Marco Cantù 2008 년 11 월 Corporate Headquarters Asia-Pacific Headquarters DEVGEAR 100 California Street, 12th Floor L7. 313 La Trobe Street 서울특별시서초구 San Francisco, California 94111 Melbourne VIC 3000 반포동 743-14 Australia 데브기어 4층

소개 : DELPHI IDE Delphi 에는 Delphi 8 for.net 과 Delphi 2005 for Win32 이후로지금까지와는약간다른방식의새 IDE 가채택되었으며, 이새 IDE 에서는플로팅에디터와플로팅디자이너가아닌, 디자이너창의옆으로도킹된임베디드에디터를지원합니다. 이 두번째버전 의 Delphi IDE 는종종내부코드명인 Galileo 로불려집니다. Delphi 2009 는 Galileo IDE 의 6 번째버전입니다. IDE 내의모든디자이너를 Unicode 로변환한최초의버전일뿐만아니라, 흥미로운몇가지새로운기능들, 특히프로젝트관리관련으로새로운기능들이포함되어있습니다. 설치와실행 Delphi 2007 과마찬가지로, Delphi 2009 의설치는 InstallAware 기반입니다. 그러나이번의 Delphi 2009 에서는설치작업에서, 특히속도면에서많이개선되었습니다. Delphi 2009 의설치는이전처럼몇시간이아닌 20 분내에완료할수있게되었습니다. 설치관련으로놀라운변화는, 헬프를따로설치하기때문에주제품과는별도로, 더자주업데이트할수있다는점입니다. 따라서헬프를업데이트하려고 Delphi 를다시설치하거나, IDE 를다시설치할때헬프를다시설치할필요가없습니다. 헬프를설치하는데에는실제제품설치보다더많은시간이걸릴수있으며헬프설치이미지는 IDE 설치이미지보다크기가큽니다. Windows Vista 에서설치하는경우제품은기본적으로다음폴더에설치됩니다. C:\Program Files\CodeGear\RAD Studio\6.0 C:\Users\Public\Documents\RAD Studio\6.0\Demos\ C:\Program Files\Common Files\CodeGear Shared.NET SDK 불필요 Delphi 8 에서부터 Delphi 2007 까지는 IDE 를설치하려면 Microsoft.NET SDK( 앞버전들에서는버전 1.1, 뒷버전들에서는 2.0) 가반드시있어야했습니다. Delphi 2009 에서는 Microsoft.NET SDK 가필요없습니다. Microsoft.NET 의런타임은여전히설치해야하지만, 크기가아주작으며운영체제의일부로이미설치되어있을수도있습니다. 하지만이보다훨씬크기가크고수백 MB 의공간이필요한 Microsoft.NET SDK 는설치할필요가없습니다. 이번버전의 Delphi 에서 CodeGear 는 Microsoft 의 Document Explorer(DExplorer) 를사용합니다. 이전버전에서는 SDK 에포함된형태로만설치가가능했지만, 이제는개별설치로배포할수있습니다. Delphi 헬프는 CodeGear 문서와 Microsoft 플랫폼문서모두를포함하므로설치에시간이많이걸리며크기가매우큽니다. 그러나이번릴리스에서개발팀은일반플랫폼주제들이나열되기전에항상 Delphi 관련주제들이먼저나열되도록 순서 문제를수정했습니다. 또한 Delphi 관련콘텐츠도많이개선되었습니다. 2

WINDOWS 설치클린업 경우에따라 Delphi 를설치제거한후업데이트된버전으로재설치할때, 설치프로그램이중지되어기대한대로동작하지않을수있습니다. 이러한경우, 애플리케이션폴더 ( 운영체제에종속되는일부숨겨진폴더들포함 ) 를모두삭제하는것이좋습니다. 또는다음경로에있는 Microsoft 의자체 Windows 설치클린업유틸리티를사용할수있습니다. http://support.microsoft.com/default.aspx? scid=kb;en-us;290301 이런저수준툴을사용하면시스템작동에문제가생길수도있으므로, 사용법을읽은후주의해서사용하십시오. -IDECAPTION 플래그 공식적으로발표되지는않았지만, 여러분은 R 커맨드라인플래그를사용해여러레지스터리설정으로여러 IDE 인스턴스를동시에실행할수있다는것을알고있을수도있을것입니다. 문제는서로다른버전의두 IDE 를동시에실행하는경우, 어느것이어느버전인지알기가어렵다는것입니다. 이문제를해결하기위한 IDE 의커맨드라인파라미터가 -idecaption 인데, 캡션을이파라미터의값으로넘깁니다. 두플래그를합하여다음링크로 IDE 를실행할수있습니다. "C:\Program Files\CodeGear\RAD Studio\6.0\bin\bds.exe" -pdelphi - rsmall -idecaption="small Delphi" 이명령은더작은레지스트리설정만을사용하여 Delphi Win32 퍼스낼리티만을사용하는 Delphi IDE 를실행하며, 아래에표시된대로 IDE 캡션을 Small Delphi 로변경합니다. 커맨드라인에서 IDE 캡션이지정되지않은경우, 레지스트리의퍼스낼리티섹션에서캡션을읽어내며, 이섹션에는 IDE 의각버전 ( 또는활성퍼스낼리티 ) 에대한여러문자열값들이있습니다. DELPHI 프로젝트관리 프로젝트관리는매우흔한작업입니다. Delphi 2007 에 MSBuild 지원, 타겟빌드 (Debug/Release), pre 빌드 /post 빌드이벤트등새로운개념들이추가되었다면, 이번의새로운버전에서는프로젝트매니저가크게개선되어이러한기능을훨씬쉽고유연하게사용할수있게되었습니다. 그러나프로젝트매니저를살펴보기전에, 먼저프로젝트파일업그레이드와새로워진프로젝트옵션다이얼로그를살펴보겠습니다. 3

프로젝트설정파일업그레이드 Delphi 초기버전에서부터.DPR 확장자를가진프로젝트소스코드파일에는 Object Pascal 코드가포함되어있었으며, 기타설정들을저장하기위해하나이상의별도설정파일이사용되었습니다. 프로젝트설정파일의형식과확장자는최근버전에서몇차례변경을거쳐 INI 파일에서 XML 파일로, 그리고다시 MSBuild(.DPROJ 파일형식 ) 용 XML 파일로변경되었습니다. Delphi 2007 에서 Delphi 2009 로업그레이드되면서이프로젝트설정파일의전체형식은변하지않았습니다. 그러나사실상그내용은매우다르며, Delphi 2007 에서는새로운버전의 IDE 에서추가된옵션이인식되지않습니다. 기존의 Delphi 2007 프로젝트를열면, Delphi 2009 IDE 는기존버전의프로젝트설정파일을복사해둘백업파일이름을물어보게됩니다. 프로젝트설정백업파일의기본이름은프로젝트이름에확장자는.dproj.2007 입니다. 이번예에서저는프로젝트파일의이름을 IedMonitor2007.dproj 로변경했습니다. 이작업을수행하고나면 IDE 는다음줄을메시지윈도우에추가합니다. Upgrading project. Backup C:\progetti\IedMonitor\IedMonitor2007.dproj created. 프로젝트설정파일의업데이트된 Delphi 2009 버전은실제로저장할때까지생성되지않습니다. 백업버전을사용하면 Delphi 2007 에서프로젝트를다시열수있습니다. 그러나이전버전과의호환성이필요하면프로젝트의 Delphi 2009 버전을다른이름으로저장하는것이좋습니다. 새.DPROJ 파일에서 Delphi 2009 는새로운프로젝트버전태그를추가합니다. <ProjectVersion>11.1</ProjectVersion> 이런프로젝트파일업그레이드는나중에설명할빌드컨피규레이션및리소스관리에서의변경사항과관련되어있습니다. 다음은신규또는많이수정된섹션들입니다. 4

<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_Release)'!=''"> <Cfg_Release>true</Cfg_Release> <CfgParent>Base</CfgParent> <Base>true</Base> </PropertyGroup> <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_Debug)'!=''"> <Cfg_Debug>true</Cfg_Debug> <CfgParent>Base</CfgParent> <Base>true</Base> </PropertyGroup> <PropertyGroup Condition="'$(Base)'!=''"> <DCC_DependencyCheckOutputName>SimpleApp.exe </DCC_DependencyCheckOutputName> </PropertyGroup> <ItemGroup> <DelphiCompile Include="SimpleApp.dpr"> <MainSource>MainSource</MainSource> </DelphiCompile> <DCCReference Include="SimpleAppMainForm.pas"> <Form>Form30</Form> </DCCReference> <BuildConfiguration Include="Base"> <Key>Base</Key> </BuildConfiguration> <BuildConfiguration Include="Release"> <Key>Cfg_Release</Key> <CfgParent>Base</CfgParent> </BuildConfiguration> <BuildConfiguration Include="Debug"> <Key>Cfg_Debug</Key> <CfgParent>Base</CfgParent> </BuildConfiguration> </ItemGroup> Delphi 2007( 이런형식을인식하는유일한이전버전 ) 에서이프로젝트파일을다시열려고할경우, 다음과같은에러가표시됩니다. 5

재설계된프로젝트옵션다이얼로그 프로젝트옵션다이얼로그는개인적으로더자주사용하는 Delphi 다이얼로그중하나이며, 저만그렇지는않을것입니다. 그때문에 Delphi 2009 에서광범위하게재설계된프로젝트옵션다이얼로그로인해때때로당황하게됩니다. 재설계는빌드컨피규레이션의일부인옵션이포함된페이지와관련이있으며 ( 빌드컨피규레이션및컨피규레이션설정 섹션에서설명 ), 이런다이얼로그페이지는프로젝트설정매니저내에서도사용됩니다. 예를들어, Delphi 2007 과 Delphi 2009 사이에서 Delphi Compiler Options 페이지의차이를살펴보겠습니다. 6

차이가매우큽니다. 체크박스는 True/False 로바뀌었으며, 라디오버튼은여러선택이가능한콤보박스로바뀌었습니다. 또, 다이얼로그의바닥에있는헬프영역에는다양한선택에대한간단한정보를제공됩니다. ( 다이얼로그에페이지의모든옵션들을맞추기위해위그림에서는최소화됨 ) 흥미로운점한가지는, 설명 영역에서옵션에대한기본값을보여준다는것입니다. 화면상의재설계는익숙해지기까지상당한시간이걸립니다. 게다가각그룹내항목들이이제알파벳순으로나열되기때문에이전과는다른순서로나열됩니다. 또디렉토리옵션은 Delphi 컴파일러메인노드로옮겨졌습니다. 하지만구조적변경외에, 없어지거나새로운것이있지는않을까요? 컴파일러에대한새프로젝트옵션 예전에는 Compiler 페이지였던 Delphi Compiler/Compiling 페이지는 Code Generation 섹션에는다음과같은새옵션이있습니다. Code inlining control 은 $INLINE compiler 지시어에해당하며, 인라인함수의처리방법을결정합니다. Emit runtime type information 은커맨드라인 -$M 플래그또는 $M 지시어에해당하며, 지정된클래스, 또는프로젝트의모든클래스에대한런타임시간정보의생성을결정합니다. Minimum enum size 는 -$Z 플래그 ( 혹은 $Z 지시어 ) 에해당하며열거형식의값에사용될최소크기를결정합니다. (Byte, Word, Double Word, Quad Word) String format checking 은기본적으로 ON 으로설정되며, 비활성화하면 EnsureUnicodeString 함수및 Ensure String 계열의기타함수에대한호출과같은일부문자열형식자동확인작업을방지할수있습니다. 이옵션은 $STRINGCHECKS 지시어에해당합니다. 이컴파일러옵션은 Delphi 2009 의새로운특징으로, 이전에는문서화되지않고사실상숨겨져있었습니다. 프로젝트옵션다이얼로그에나타난것은꽤놀랍군요. Code page 는이전버전에도이미있었지만이제 AnsiString 형식이작동되는방법과관련성이훨씬많아졌습니다. ( 이는이문서의시리즈문서인 Delphi 와 Unicode 에설명되어있습니다.) Debugging 섹션에는새로운옵션인 Use imported data references($g 에해당됨 ) 가추가되었으며, 이옵션은임포트데이터참조의생성을제어합니다. 이옵션은메모리효율성을높이지만다른런타임패키지에서정의된글로벌변수를액세스할수없게됩니다. Runtime errors 및 Syntax options 섹션의요소들은 ( 그리고기본값들도 ) 이전버전의 Delphi 와동일합니다. Other options 섹션에는다음과같은새로운옵션들이있습니다. ( 이전에도있었던 Generate XML documentation 은제외 ) Additional switches to pass to the compiler 는 IDE 가명확하게지원하지않는추가커맨드라인컴파일러옵션을직접삽입하는데사용됩니다. 이제이기능을사용할수있다는것은기술적으로볼때 Delphi 2009 가모든컴파일러옵션을지원한다는것을의미합니다. Allow unsafe code 옵션을사용하면.NET 과같은매니지드환경에서안전하지않다고간주되는코드를컴파일할수있으며, Win32 컴파일러에서는사용할수없습니다. Look for 8.3 filenames 는 Windows 의이전버전에서작동하도록컴파일러에지시하며 -P 컴파일러옵션에해당합니다. Output unit dependency information 은 --depends 컴파일러플래그를설정합니다. ( 현재로서는 7

명백하게관리되지않는듯합니다 ) 기타새프로젝트옵션 Hints 및 Warnings 페이지는이전 Compiler Messages 페이지에해당합니다. 당연히 Unicode 문자열및기타새로운컴파일러기능과관련된몇몇새로운힌트가있습니다. 예전에는 Linker 페이지였던 Linking 페이지는보기에많이달라보이지만 ( 더간결해보이기도합니다 ), 새로운옵션은 Set base address for relocatable images 뿐입니다. Delphi Compiler 페이지의메인노드에는이전에 Directories/Conditionals 아래에서볼수있었던것과동일한옵션이있습니다. 혼동을일으킬수있는부분은리소스컴파일러구성의일부로서 Directories and Conditionals 라는다른페이지가 Resource Compiler 페이지의메인노드아래에있다는것입니다. Resource Compiler 노드의페이지들은완전히새로운페이지들로, 리소스컴파일러를 Delphi IDE 에서제어할수있게해주는설정들로서, 예전에는불가능했던것입니다. 이문서뒷부분의 IDE 에서의리소스관리 라는특정섹션에서이항목에대해다룹니다. 기본프로젝트위치 Delphi 2005 부터모든새프로젝트에대한기본위치는사용자의내문서폴더아래에있습니다. 의외로, Tools Options 다이얼로그의 Environment Options 페이지에있는 Default Project 에디트에서값을설정하면이기본프로젝트위치를변경할수있다는것을아는 Delphi 개발자가매우적습니다. 프로젝트매니저 프로젝트옵션다이얼로그의재설계와함께, Delphi 2009 에서는가장일반적으로사용되는 IDE 윈도우들중하나인 Project Manager 윈도우에대한중요한업데이트를볼수있습니다. 이윈도우를간단히만훑어보아도다음과같은몇몇새로운기능을볼수있습니다. 8

하위노드가포함된새 Build Configuration( 빌드컨피규레이션 ) 노드가있으며, 이노드를사용하면 Delphi 2007 에서보다훨씬간단하게특정빌드컨피규레이션을활성화할수있습니다. 이는 " 빌드컨피규레이션및컨피규레이션설정 섹션에서다룹니다. Project Manager 툴바에는몇가지새로운버튼들이있습니다. 새로추가된 Sync 버튼을누르면코드에디터의현재파일이프로젝트매니저에서선택됩니다. 물론파일이프로젝트에포함되어있을경우입니다. 반대로, 즉프로젝트매니저의현재선택된항목을코드에디터에서활성화하려면더블클릭을하면됩니다. Expand 및 Collapse 버튼은현재노드아래의모든노드를축소혹은확장합니다. 프로젝트그룹에서 Expand 버튼을누르면그룹내의모든프로젝트의모든컨피규레이션및파일노드가있는트리를볼수있으며이는매우유용합니다. 네번째새로운버튼인 Views 는다음섹션에서다룹니다. 프로젝트매니저뷰 또다른새기능은프로젝트매니저뷰설정입니다. 툴바의오른쪽에는새로운 Views 버튼이있으며, 이버튼을사용하면프로젝트매니저가다른폴더에위치한파일들을표시하는방법을변경할수있습니다. 여기에는 3 가지옵션이있습니다. 이세가지보기옵션을, 두개의폼이포함된주폴더와두개의유닛이포함된 Shared 라는보조폴더가디렉토리구조에서같은레벨에있는샘플프로그램 (ProjManagerTest) 를작성하여이세가지보기옵션을테스트했습니다. Directory (Nested) 는기본설정 (Delphi 8 로부터 Delphi 2007 까지의유일한옵션 ) 으로, 파일을디렉토리별로그룹화하여표시하며디렉토리는확장가능한개별노드가있는실제디스크구조와비슷합니다. ( 따라서여러단계의하위폴더로가려면여러노드를확장해야합니다.) Directory (Flat) 은새로운뷰로서, 파일들이디렉토리별로나누어지지만, 디렉토리상의위치와는관계없이각각의디렉토리들이나열됩니다. 다시말하면, 이뷰에는폴더리스트가나타나며각폴더에는다른하위폴더가아닌파일들이포함됩니다. List 는새로운뷰로서, 프로젝트매니저에서전통적인 Delphi 7 스타일의파일리스트의형식으로나타납니다. 디렉토리는그냥무시되며, 파일을알파벳순으로나열할수있습니다. 9

빌드컨피규레이션과컨피규레이션설정 이미설명한것처럼 ( 또한이전페이지의이미지에서볼수있듯이 ), 프로젝트매니저에는모든프로젝트에대해빌드컨피규레이션 (Build Configuration) 노드가있습니다. 이노드는 Delphi 2007 에서빌드컨피규레이션을관리하는데사용했던다소번거로웠던개별윈도우를대신합니다. 노드와하부노드를사용하면, 단지더블클릭만으로현재빌드컨피규레이션을변경하고지정된노드에서직접실제빌드를할수있습니다. 빌드컨피규레이션이나메인노드를선택하여새로컨피규레이션을추가할수있습니다. 작업할때선택한항목에따라메인컨피규레이션또는하위컨피규레이션을생성하게됩니다. 더정확히얘기하자면, 개발자가선택하는노드에따라베이스컨피규레이션 (Base Configuration) 이결정됩니다. 미리정의되어있는컨피규레이션들도베이스컨피규레이션의핵심설정을상속하기때문입니다. 제가컨피규레이션에서 설정을상속한다 라고한말이무슨뜻일까요? Delphi 2009 의새컨피규레이션관리시스템에서는, 설정을디버그나릴리스등의특정컨피규레이션에만적용하거나, 그두컨피규레이션이베이스컨피규레이션으로부터상속하도록옵션을설정할수있습니다. 특정컨피규레이션에서특정한값과함께베이스컨피규레이션 (Base Configuration) 으로부터상속된값이이어서나오는것을볼수있으며, 두값이일치하는지보고두가지중하나의값을수정할수있습니다 ( 상위컨피규레이션에서설정하면특정컨피규레이션에도반영됩니다 ). 이렇게하려면왼쪽에있는플러스기호를선택하여각컨피규레이션설정줄을확장하면됩니다. Delphi Compiler/Compiling 페이지에서 3 개의런타임에러줄을확장하면다음과같은결과가나타납니다. 10

베이스컨피규레이션에서설정을수정하면해당설정에서상속된다른컨피규레이션에영향을줍니다. 프로젝트매니저에서빌드컨피규레이션을선택하고해당설정을 option set 파일로내보낼수있습니다. 이것은컨피규레이션의템플릿또는기본구조를외부파일에저장하는것과비슷하며, 컨피규레이션은그파일에링크됩니다. 이기능덕분에프로젝트매니저 ( 빌드컨피규레이션항목에서팝업메뉴항목 Apply Options Set 사용 ) 나프로젝트옵션다이얼로그 (Apply Options 버튼사용 ) 를사용할때새프로젝트나기존프로젝트로간단히설정을이동할수있습니다. 두경우모두 Delphi 에서 Apply Option Set 다이얼로그가나타나며, 이다이얼로그에서파일을선택하고외부컨피규레이션파일을링크하거나 ( 파일의변경사항이해당파일을사용하는프로젝트에반영되도록 ), 어떤우선순위 (priority) 에따라현재설정에통합되도록할수있습니다. 일단외부옵션세트파일을만든후에는, 프로젝트매니저의 Edit 팝업메뉴를사용하면해당옵션파일을링크하는어떤프로젝트에서든옵션을편집할수있습니다. 그러면아래와같은프로젝트옵션다이얼로그의일부페이지들을가지는옵션세트에디터가열립니다..OPTSET 파일은.DPROJ 의포맷과유사한포맷의 XML 파일로서, 역시 MSBUILD XML 포맷을 11

기반으로하며 OptionSet 프로젝트타입입니다. 이예제에서 ProjManagerTestOptionsSet.optset 파일의내용은다음과같습니다. <Project xmlns="http://.../msbuild/2003"> <PropertyGroup> <DCC_RunTimeTypeInfo>true</DCC_RunTimeTypeInfo> </PropertyGroup> <ProjectExtensions> <Borland.Personality> Delphi.Personality </Borland.Personality> <Borland.ProjectType> OptionSet </Borland.ProjectType> <BorlandProject> <Delphi.Personality/> </BorlandProject> </ProjectExtensions> </Project> 프로젝트컨피규레이션매니저 프로젝트매니저에서빌드옵션을직접사용할수있으므로, 현재빌드컨피규레이션을변경하기위해컨피규레이션매니저를사용할필요가없습니다. 하지만 Configuration Manager 다이얼로그를사용하면프로젝트그룹내의여러프로젝트에대해한번에빌드컨피규레이션을변경할수있으므로상당히유용합니다. 사실컨피규레이션매니저는 Delphi 2009 에서계속사용할수있으며여러가지면에서개선되었습니다. 한번에그룹의모든프로젝트에대한다양한빌드컨피규레이션및옵션세트를관리할수있게되었습니다. 컨피규레이션매니저를불러내려면 Delphi 2007 에서처럼프로젝트매니저의팝업메뉴를사용할수는없으며, Delphi 메인메뉴의 Project 메뉴에서해당항목을선택해야합니다. 이렇게하면다음과같이새롭게설계된사용자인터페이스가표시됩니다. 왼쪽에는프로젝트와각프로젝트에대한활성컨피규레이션리스트가표시됩니다. 오른쪽에는기본설정이아닌설정등선택된컨피규레이션에대한몇몇세부정보들이표시됩니다. 12

( 위이미지의내용은이전섹션에서설명했던옵션세트파일의요약입니다.) 탭페이지를통해지정된컨피규레이션또는활성옵션세트에따라왼쪽에있는프로젝트들을필터링할수도있습니다. Delphi 2009 의컨피규레이션매니저를사용하면각빌드컨피규레이션에대해프로젝트옵션을편집하거나, 새컨피규레이션을추가하거나, 옵션세트를만들고수정하거나, 활성컨피규레이션을수정할수있으며, 만만한작업은아니기는하지만, 관련작업들대부분을한곳에서할수있습니다. 프로젝트그룹에서여러개의프로젝트를작업할경우, 컨피규레이션매니저는프로젝트매니저에서찾아일일이빌드컨피규레이션작업을하는것보다훨씬이점이많습니다. 단일프로젝트의경우프로젝트매니저만으로도필요한모든기능을사용할수있습니다. 리소스관리를 IDE 에서 최신버전의 Delphi 에서는리소스스크립트 (.RC 파일 ) 또는컴파일된리소스파일 (.RES 파일 ) 을프로젝트매니저에추가하여프로젝트와함께실행파일에링크할수있습니다. Delphi 2009 에서는몇가지도구들이추가되어리소스관리가더간편해졌습니다. 먼저, 이제아이콘, 비트맵등의리소스파일을프로젝트매니저로드래그하여프로젝트의리소스로포함시킬수있게되었습니다. Delphi 는이런추가프로젝트리소스에대한리소스스크립트파일을생성하고해당파일을프로그램과함께직접컴파일해서실행파일에포함시킵니다. 다음과같이오브젝트인스펙터에서이런리소스파일의속성을변경할수있습니다. ( 내부이름도지정가능 ) 다음으로, IDE 메인메뉴의 Projects 메뉴에새로운 Resources 메뉴항목이추가되었습니다. 이항목을선택하면리소스다이얼로그가나타나며, 이다이얼로그에서프로그램의모든리소스를수정하고, 새리소스파일을추가하고, 리소스이름을변경하며, 포맷을변경하는등의작업을할수있습니다. 13

리소스들을프로젝트에추가하면 Delphi 는컴파일할때적절한리소스파일을생성합니다. 위의이미지에서보이는리소스들을포함하는프로젝트의이름이 ResourceTest 일경우, Delphi 2009 는프로젝트리소스들의리스트를가진 ResourceTestResource.rc 라는리소스스크립트파일을생성합니다. Icon_Factory Icon "FACTORY.ICO" Bitmap_Shipping Bitmap "SHIPPING.BMP" 이리소스스크립트파일은프로젝트에추가되지는않지만 ( 추가할경우 duplicate resource 경고가나타납니다 ) 프로젝트와함께컴파일됩니다. 예를들어비트맵을아이콘으로선언하는등의실수를하게되면컴파일러는다음과같은에러가내고, [BRCC32 Error] ResourceTestResource.rc(2): resource file SHIPPING.BMP is not in 3.00 format 리소스스크립트파일이열리고잘못된코드라인을보여줍니다. Delphi 2009 는컴파일을할때리소스스크립트파일을생성혹은수정하여컴파일하고실행파일에포함시킵니다. 이과정에서중간파일로서확장자가 DRES 인파일이생기는데, 프로젝트소스코드파일에자동으로추가되는컴파일러지시어에의해프로젝트에포함됩니다. ( 프로젝트아이콘과문자열리소스를가진표준 RES 파일도포함됩니다 ) program ResourceTest; {$R *.dres} uses Forms, ResourceTest_MainForm in 'ResourceTest_MainForm.pas' {FormResourceTest}; {$R *.res} begin Application.Initialize;... Delphi 2007 버전부터리소스컴파일단계에서 MSBuild 지원이추가되었습니다. 다음의출력내용은리소스컴파일러옵션의 -Verbose 플래그를설정하면확인할수있습니다. c:\program files\codegear\rad studio\6.0\bin\cgrc.exe -c65001 -v ResourceTestResource.rc -foresourcetest.dres CodeGear Resource Compiler/Binder Version 1.00 Copyright (c) 2008 Embarcadero Technologies Inc. Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0 Copyright (C) Microsoft Corporation. All rights reserved. Creating ResourceTest.dres Using codepage 65001 as default ResourceTestResource.rc. 14

Writing ICON:1, lang:0x409, size 744 Writing GROUP_ICON:ICON_FACTORY, lang:0x409, size 20. Writing BITMAP:BITMAP_SHIPPING, lang:0x409, size 44264 Windows 리소스를직접사용해본경험이없는경우여러분이참고할수있도록, ResourceTest 프로그램에서리소스의아이콘을애플리케이션아이콘및메인폼아이콘으로로드하고리소스의비트맵을이미지컴포넌트로로드하는코드를보여드립니다. procedure TFormResourceTest.btnGifClick(Sender: TObject); begin Image1.Picture.Bitmap.LoadFromResourceName( hinstance, 'Bitmap_Shipping'); end; procedure TFormResourceTest.btnIconClick(Sender: TObject); begin Icon.LoadFromResourceName(hInstance, 'Icon_Factory'); Application.Icon.LoadFromResourceName( hinstance, 'Icon_Factory'); end; 새리소스컴파일러 이전버전의 Delphi 에서는, 즉 Delphi 2007 버전까지는 Borland Resource Compiler(BRCC32.EXE) 를사용했습니다. Delphi 2009 에는새리소스컴파일러, 더정확히말하자면전과는다른리소스컴파일러인 Microsoft Windows SDK 의컴파일러를제공합니다. 이는 Windows 가다루는모든새로운리소스포맷들을지원한다는면에서는장점이많지만, Borland 리소스컴파일러는예전부터 Microsoft 리소스컴파일러의기능을확장했다가지금은사용되지않는추가기능들을제공하는것때문에몇가지문제가발생합니다. 프로젝트옵션다이얼로그의 Resource Compiler 섹션에서해당옵션을설정하면사용할리소스컴파일러를선택하여지정할수있습니다. ( 프로젝트옵션다이얼로그에서는리소스컴파일러의몇가지파라미터들을설정할수도있습니다.) 15

Windows SDK Resource Compiler 는 SDK 컴파일러에대한프런트엔드인새 CodeGear Resource Compiler/Binder 를통해호출됩니다. 그외에리소스컴파일러관련기능의새로운점으로는, 이미지 ( 바이너리 ) 데이터의인라인처리, 스트링리스트에서문자열끝의쉼표에대한지원, 문자열처리방식의변경 (C- 언어문자열로취급되므로파일이름내의 \ 를두개의백슬래시로써야함 ), 파일인클루드관련으로폴더를관리방법의변경등이포함되었습니다. 리소스파일을직접사용해본적이없다면이러한변경사항을무시할수도있습니다. DFM 파일을리소스로포함하는것부터 resourcestring 선언의사용에이르기까지, Delphi 환경에서직접관리되는모든작업들이이전버전과완벽히호환됩니다. 리소스를직접사용하는경우주의를기울여리소스파일을수정해야합니다. DELPHI 클래스익스플로러 Delphi 2009 에서새롭게등장한윈도우로, Delphi 클래스익스플로러윈도우가있습니다 (View 메뉴의 Delphi Class Explorer 메뉴항목 ). Delphi 클래스익스플로러는프로젝트전반에걸친심볼들의다이어그램을보여주며, 이는단일유닛의요소들을비주얼하게보여주는 Structure View 와는약간비슷해보이지만다른것입니다. Delphi 클래스익스플로러의첫수준에서는각유닛과프로젝트파일의글로벌정의인노드목록이나타나며, 나머지노드는프로젝트에서정의된모든클래스들를보여줍니다. 각클래스에대해특정멤버 ( 상속된멤버아님 ) 와다른클래스와의관계를볼수있습니다. 표시방식은툴바의첫번째버튼의선택에따라달라집니다. Base to derived( 위그림과같은상태 ), Derived to base 또는 Container 세가지중의하나입니다. Container 의경우클래스들과글로벌들은유닛별로나누어지며상속관계는표시되지않습니다. 16

팝업메뉴를이용하여아래이미지에서보는것처럼클래스에새필드, 새메소드 ( 생성자및소멸자포함 ) 또는속성을추가할수있습니다. 속성을추가하면 (UML 기반모델링을사용하는것보다훨씬더 ) Delphi 에적합한방식으로동작합니다. 이도구는기본적으로는 read 및 write 메소드로연결되려는경향이있지만, 원하는경우 Create Field 에디트를통해필드를추가하고해당필드가생성되도록요청하고직접필드에연결할수있습니다. 17

Delphi 클래스익스플로러는이전스크린샷의내용에따라다음과같이클래스에코드를추가합니다. type TBaseClass = class strict private function GetAnotherInteger : Integer; procedure SetAnotherInteger(val : Integer); public property AnotherInteger : Integer read GetAnotherInteger write SetAnotherInteger; strict private var FAnotherInteger:Integer; end; strict private var 블록을사용하여이상해보이겠지만, 이는형식상정확하며, var 예약어를추가함으로써코드생성도쉬워지고위험이줄일수있을것입니다. 저는속성을선언하는것외에도작업할것이많아서코드를다시포맷해야해서, 속성만을선언한후클래스컴플리션을사용하는경우가많습니다. 이편이더깔끔한표준 Delphi 코드를생성하기도합니다. 개인적으로볼때, Delphi 클래스익스플로러는프로젝트의소스코드를탐색하는데효율적인도구이며, UML 다이어그램을생성하는경우가아니라면모델뷰보다는 Delphi 클래스익스플로러를사용하는것을선호합니다. 기타새로운기능들 업데이트된프로젝트옵션다이얼로그, 프로젝트매니저의새로운기능들과확장된빌드컨피규레이션, 개선된리소스지원, 그리고클래스익스플로러등이 Delphi 2009 의 IDE 에서가장눈에띄는새기능일것입니다. 물론, IDE 전반에걸쳐 Unicode 가지원되게되었다는사실을제외한다면말입니다. 이섹션에는 Delphi 개발환경에서의일상적인작업에도움이될수있는많은기타기능이나열되어있습니다. 주목할만한기타 IDE 개선사항은다음사항과관련이있습니다. ITM(Integrated Translation Manager), Unicode 지원을위해수정되고여러영역에서개선됨. COM 지원및타입라이브러리편집기에서의대규모변경사항과관련된 IDE 의변경사항 툴팔레트서치박스 Delphi 2006 에서는툴팔레트를선택한상태에서키타이핑을하여그문자들로시작하는컴포넌트들을필터링하여보여주는기능이추가되었습니다 ( 시작의 T 는제외 ). Delphi 2007 에서는그에더해컴포넌트이름안의텍스트를타이핑하여필터링할수있도록기능이더강화되었습니다. 예를들면, HTTP 를타이핑하여 IdHTTP 를선택할수있었습니다. Delphi 2009 의툴팔레트는 Delphi 2007 과같은동작을하지만, 컴포넌트리스트를검색할수있다는것이더명확하게느껴지도록유저인터페이스에변화가있었습니다. 18

툴팔레트를선택하면 ( 단축키 Ctrl+Alt+P) 서치박스에입력을시작할수있습니다 ( 윈도우의캡션이아니라 ). 툴팔레트는필터링된컴포넌트들을다음과같이보여줍니다. 툴팔레트에는또다른변경사항이있습니다. 목록의아래쪽의카테고리에도달하려면지나치게많이스크롤해야한다고많은사람들이불평을해왔습니다. 이제카테고리자동축소가기본동작으로변경되었습니다. 컴포넌트를선택한후서치박스의선택이유지될지의여부도사용자에따라유용하게설정할수있습니다. 업데이트된컴포넌트위저드 새 VCL 컴포넌트를만들거나컴포넌트 (COM 컨트롤처럼사용하기위한 ActiveX 컨트롤이나.NET 어셈블리 ) 를가져오는데사용되는다이얼로그가개선되어여러단계를가진위저드로변경되었습니다. 빈컴포넌트구조를생성하거나외부컨트롤을래핑하는기능자체는크게수정되지않았습니다. 유일한새기능은컴포넌트를기존패키지또는새패키지에설치할수있는기능입니다 ( 두위저드모두에해당 ). 이와관련하여, IDE 의컴포넌트메뉴에서활성화할수있는이위저드의사용자인터페이스도변경되었습니다. 예를들어 New VCL Component Wizard 의첫페이지에는상속받을베이스클래스컴포넌트를필터링하기위한서치박스가있습니다. 19

이위저드를계속진행하여클래스이름과기타표준세부사항들을모두채우면마지막페이지에이르게되고, 새패키지생성혹은새컴포넌트를기존패키지에추가중에선택할수있습니다. 활성패키지프로젝트가있으면새컴포넌트를그프로젝트에추가하기위한추가옵션을볼수있습니다. 비슷한기능이 Import Component Wizard 에도추가되었습니다. 20

디버거 IDE 의나머지모든부분들처럼디버거도 Unicode 를완벽하게지원합니다. 이전버전들에서도부분적으로이런 Unicode 지원이가능했었지만, Delphi 2009 에서는이를확장했습니다. 예를들어, Run Inspect( 또는에디터팝업메뉴의 Debug Inspect) 로문자열변수를검사할경우, 정확한 Unicode 값을볼수있을뿐만아니라하단에서변수의실제문자열타입을알려줍니다. 아래는 AnsiString 및 UnicodeString( 간단히 string 으로보여줌 ) 에대한 Inspect 창을비교한것입니다. 두윈도우는동일한문자열을표시하지만첫번째윈도우는중국어문자때문에적절히변환될수없습니다. 디버거의다른새로운기능들은 CPU 뷰에서의 SSE3 및 SSE4 명령지원과같이 Unicode 지원과관련이없습니다. ( 어셈블리언어를자주사용하지않는개발자에게는별로중요한문제가아닙니다.) 역시저수준의문제이기는하지만훨씬흥미로운기능하나는, Vista 및 Windows Server 2008 의 WCT(Wait Chain Traversal) 기능에대한디버거지원입니다. 자세한내용은운영체제수준의 WCT 가설명된 MSDN 기술문서와아래 URL 에서 Delphi 디버거의새로운기능에대한 CodeGear 의 Chris Hesik 블로그포스트를참조하십시오. http://msdn.microsoft.com/en-us/library/ms681622.aspx http://blogs.codegear.com/chrishesik/2008/07/21/34833 스레드상태윈도우에는데드락을일으키는데에관련된다양한스레드에대한정보를가진컬럼이추가되어멀티스레드애플리케이션의동작을이해하는데도움을줍니다. 디버깅과새언어기능디버거가이전버전과비슷하게보이긴하지만, 사용자가제네릭및익명메소드를사용하는애플리케이션을디버그할수있도록많은노력을기울였습니다. 백그라운드에서복잡한코드생성이이루어지기때문에디버깅하는코드는원래작성한코드와매우다릅니다. 일부한정된문제점이있긴하지만새로운언어기능의디버깅은일반적으로잘실행되며이는대단한성과라고할수있습니다. 21

프로젝트관리를 DELPHI 에포함 최근의버전들에서 Delphi IDE 는눈에띄게확장되었으며 Delphi 2009 도역시마찬가지입니다. 전반적으로가장확장된기능은 IDE 의향상된안정성일것입니다. 그다음으로는, 계층적빌드컨피규레이션지원, 한프로젝트에서다른프로젝트로옮길수있는옵션설정, 통합된리소스관리, 사용자기호에맞게적용할수있는여러프로젝트매니저뷰등으로무장한프로젝트관리기능의확장일것입니다. 개선된컨피규레이션관리로대규모프로젝트들을관리하는것이 Delphi 7 등의이전버전들보다훨씬쉬워졌습니다. 이런새로운기능들이 Delphi 개발자의일상업무에있어미치는영향은매우클것이라고생각합니다. 따라서 Delphi 2009 IDE 는업그레이드할만한충분한가치가있습니다. 필자에대하여 이문서는베스트셀러시리즈인 Mastering Delphi 의저작자 Marco Cantù 가 Embarcadero Technologies 를위해작성하였습니다. 이문서의내용은그의최근저서인 Delphi 2009 핸드북 " (http://www.marcocantu.com/dh2009) 에서발췌한것입니다. Marco Cantù 에대한정보는그의개인블로그 (http://blog.marcocantu.com) 에서읽을수있으며전자메일 (marco.cantu@gmail.com) 을통해연락할수있습니다. Embarcadero Technologies Inc. 는애플리케이션개발자및데이터베이스전문가가자신이선택한환경에서소프트웨어애플리케이션을설계, 빌드및실행하는도구를사용할수있도록합니다. 전세계 3 백만이상의커뮤니티와 Fortune 지선정 100 대기업중 90 개기업이 Embarcadero 의 CodeGear 및 DatabaseGear 제품군을기반으로하여생산성을향상시키고개방적인협업및자유로운혁신을추구하고있습니다. Embarcadero 는 1993 년에설립되어캘리포니아샌프란시스코에본사가있으며전세계에사무소를두고있습니다. Embarcadero 의온라인주소는 www.embarcadero.com 입니다. Embarcadero 의주요제품인 DatabaseGear 의도구에는 ER/Studio, DBArtisan, Rapid SQL 및 Embarcadero Change Manager 가있습니다. 데브기어는미국 Embarcadero Technologies Inc. 와기존의코드기어한국지사의협력으로전략적으로설립된엠바카데로솔루션전문공급기업입니다. 데브기어는 Delphi, C++Builder, JBuilder, Delphi Prism 등개발툴제품들과 ER/Studio, PowerSQL, DB Artisan, EA/Studio 등의데이터베이스툴제품들에대한한국시장에공급은물론기술지원및교육을제공합니다. 데브기어웹사이트는 http://www.devgear.co.kr/ 이며제품에대한문의는 ask@embarcadero.kr 로하면됩니다. 22