델파이 4 IDE의 내부 (Internals of Delphi 4’s IDE)

Similar documents
슬라이드 1

슬라이드 1

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

ISP and CodeVisionAVR C Compiler.hwp

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

델파이 4 프로그래밍의 이해 (Understandings of Delphi 4 Programming)

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

PowerPoint Template

View Licenses and Services (customer)

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

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

이것이 델파이 4

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

PowerPoint Presentation

슬라이드 1

Visual Basic Visual Basic 소개

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

Dialog Box 실행파일을 Web에 포함시키는 방법

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

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

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

JAVA PROGRAMMING 실습 08.다형성

C# Programming Guide - Types

슬라이드 1

Orcad Capture 9.x

쉽게 풀어쓴 C 프로그래밍

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

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

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

tut_modelsim(student).hwp

Microsoft Word - Modelsim_QuartusII타이밍시뮬레이션.doc

NTD36HD Manual

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

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

01장

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

Microsoft Word - src.doc

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Interstage5 SOAP서비스 설정 가이드

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

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

JDK이클립스

슬라이드 1

Microsoft PowerPoint - 07_04_s7기초기술교육_simatic_manager_operation.ppt [호환 모드]

슬라이드 제목 없음

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

슬라이드 1

제8장 자바 GUI 프로그래밍 II

4장기본프로그래밍2

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

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

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

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

Windows 8에서 BioStar 1 설치하기

CODESYS 런타임 설치과정

슬라이드 1

행자부 G4C

오버라이딩 (Overriding)

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

Microsoft Word - Armjtag_문서1.doc

1

PowerPoint 프레젠테이션

MVVM 패턴의 이해

윈도우시스템프로그래밍

DE1-SoC Board

Convenience Timetable Design

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

JVM 메모리구조

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

CD-RW_Advanced.PDF

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

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

PowerPoint Presentation

서현수

DBMS & SQL Server Installation Database Laboratory

MF5900 Series MF Driver Installation Guide

슬라이드 1

Microsoft PowerPoint - CPLD_수정1.pptx

_USB JTAG Ver1.0 User's Manual.hwp

17장 클래스와 메소드

Secure Programming Lecture1 : Introduction

<4F B8A620C0CCBFEBC7D120C8B8B7CE20C0DBBCBAC0C720B1E2C3CA2E687770>

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp

gnu-lee-oop-kor-lec06-3-chap7

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

Microsoft PowerPoint - CSharp-10-예외처리

Chapter 1

MAX+plus II Getting Started - 무작정따라하기

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

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

Visual Basic 반복문

Studuino소프트웨어 설치

Microsoft PowerPoint - chap-02.pptx

1. 외국어 메뉴판 만들기 (상세 메뉴판) 외국어 메뉴판 만들기 서비스 중 상세 메뉴판 만들기 코너를 이용하기 위해서는, 먼저 한국관광공사 홈페이지 ( 회원가입을 해야 합니다. 상세 메뉴판 만들기 코너를 이용하면, 메뉴

슬라이드 1

쉽게 풀어쓴 C 프로그래밍

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

Endpoint Protector - Active Directory Deployment Guide

Transcription:

델파이 4 IDE 의내부 (Internals of Delphi 4 s IDE) 이번장에서는델파이의통합개발환경에대하여알아보도록한다. IDE(Integrated Development Environment) 는어플리케이션을설계하고, 실행시키고, 테스트할수있도록해주는환경을말하는것으로, 프로그램을쉽게개발할수있도록도와주는기능을한다. 과거에는개발자가통합개발환경이없이텍스트에디터로소스를편집해서, 컴파일러로컴파일하고, 전용디버거로디버깅을했었지만볼랜드에서터보 C 를내놓으면서처음으로통합된개발환경을지원하게되었다. 그후, 통합개발환경은 MS 에의해서도지원되면서개발자에게는점점더편리한환경으로변모해가고있는데델파이 3 까지는다소부족한면이많다고느껴왔던통합개발환경이델파이 4 에서는많이향상되어 역시볼랜드 라는탄성이나오게하였다. 그럼델파이 4 의통합개발환경에대해서알아보는시간을가지도록하자. 메인윈도우 델파이를실행시켜서, 프로그램이모두로딩되고나면다음과같은그림이나타나게된다. 메인윈도우 오브젝트인스펙터 폼디자이너 전체적인 IDE 의형태는메인윈도우와오브젝트인스펙터, 그리고코드에디터와모듈탐

색기와폼디자이너로구성되어있다. 일단처음실행하면메인윈도우와오브젝트인스펙터, 폼디자이너가보이게된다. 델파이의메인윈도우는크게나누어메뉴바 (Menubar), 스피드바 (Speedbar), 컴포넌트팔레트 (Component Palette) 로이루어진다. 메뉴바 스피드바 컴포넌트팔레트 델파이 4 의 IDE 에서델파이 3 와바뀐점을든다면, 기본적으로이런윈도우들이도킹을지원한다는것이다. MS 오피스 97 에서부터채용된이런형태의툴바는이제는거의표준이되어간다는느낌이다. 오피스 97 과마찬가지로델파이 4 의메뉴바, 스피드바, 컴포넌트팔레트도마음대로위치를이동시킬수도있고, floating 윈도우로나타나게할수도있다. 스피드바 (Speedbar) 스피드바는가장자주사용되는기능들을쉽고빠르게사용할수있도록하기위해설계되었다. 기본적으로가장자주사용될것으로예상되는기능을모아놓은것으로, 이들기능은델파이의메뉴바를통해메뉴를직접선택하여사용할수도있다. 이들각각에대해서는나중에주요메뉴를설명할때자세히기술하도록하겠다. 컴포넌트팔레트 (Component Palette) 컴포넌트팔레트는 VCL(Visual Component Library) 에포함되어있는구성요소를가리킨다. 이들항목들은개발자가원하는데로그룹을형성할수도있지만, 기본적으로는기능별로구성되어있다. 이들그룹은페이지탭의형태로나뉘어있다. 개발자는컴포넌트팔레트에서사용하고자하는컴포넌트를클릭해서선택한후, 이를폼에위치시키거나더블클릭하여폼에컴포넌트를추가할수있다. 폼디자이너 (Form Designer) 기본적으로거의모든델파이어플리케이션은폼으로구성된다. 델파이에서폼은다른델파이의컴포넌트들을위치시킬수있는장소로사용된다. 개발자는마우스를가지고폼의위치와크기등을마음대로조절할수있으며, 컴포넌트를

폼에올려놓고자신에입맛에맞도록디자인할수있게된다. 오브젝트인스펙터 (Object Inspector) 오브젝트인스펙터는각컴포넌트의속성을변경시키거나, 객체가반응을하게되는이벤트를조정하는데매우편리한인터페이스를제공하고있다. 오브젝트인스펙터를잘살펴보면, 속성 (Properties) 탭과이벤트 (Event) 탭으로구성되어있음을알수있다. 속성탭에서는객체의프로퍼티를살펴보거나이를마음대로수정할수있는기능을제공하고있다. 속성이름의옆에 + 기호가나타나는것은그아래에하위속성들이있음을나타낸다. 예를들어, 폼을선택한다음에오브젝트인스펙터에서 Font 속성을살펴보면그옆에 + 기호가있음을볼수있다. 그리고 Font 속성을더블클릭하거나 + 기호를클릭하면글꼴에대한 Color, Height, Name 등의하위속성들이나타나는것을볼수있다. 이러한형식은객체의속성을변경시키는데매우간단하면서효과적인방법을제공하고있다. 이벤트탭에서는개발자가선택한객체에반응할수있는이벤트를선택하여, 이이벤트가발생할때어떤동작을취하라고지정하는것이가능하다. 예를들어, 어플리케이션에서윈도우를닫을때에어떤작업을실행하고자한다면, 폼의 OnClose 이벤트를사용하면된다.

코드에디터 (Code Editor) 와모듈탐색기 (Module Explorer) 델파이 4 IDE 에서가장많은변화가있었던부분을꼽으라면코드에디터와모듈탐색기를 들수있다. 먼저폼뒤에숨어있는코드에디터를살짝클릭하면다음과같이모듈탐색 기와코드에디터가붙어서나타나는것을볼수있다. 모듈탐색기 모듈탐색기는클래스의생성을자동화하고, 보다쉽게유닛파일들을탐색할수있는기능을제공한다. 디폴트로모듈탐색기는코드에디터의좌측에도킹되어있다. 모듈탐색기를닫으려면, 코드에디터에서떼어낸후우상부코너를클릭한다. 이를다시열고자할때에는 View Module Explorer 메뉴를선택하면된다. 모듈탐색기는유닛에정의된모든데이터형과클래스, 프로퍼티, 메소드, 전역변수와전역루틴등을보여주는트리다이어그램 (tree diagram) 을포함하고있다. 또한, 여기에는 uses 절에들어있는다른유닛의내용도찾아볼수있게되어있다. 트리뷰의노드를확장하거나축소하며뒤져볼수있다. 모듈탐색기와코드에디터사이를토글하려면, Ctrl+Shift+E 키를누르거나또는우측버튼을클릭하고 View Editor 메뉴를선택한다. 모듈탐색기는점진적검색 (incremental searching) 을지원한다. 클래스, 프로퍼티, 메소드, 변수, 루틴등을검색하려면단지그이름만을적어넣으면된다. 모듈탐색기에서아이템

을선택하면커서가코드에디터에서연관된부분으로이동해가며, 코드에디터에서커서를이동하면모듈탐색기에적절한아이템으로하이라이트된부분이옮겨진다. 또한, 모듈탐색기의클래스완료 (class completion), 모듈탐색 (module navigation) 등의기능을이용하면반복적인코딩작업을자동화할수있다. 클래스완료 (Class completion) 델파이 4 의클래스완료기능을이용하면새로운클래스의뼈대를자동을만들어낼수있으므로코딩에필요한노력을많이줄일수있다. 유닛의 interface 섹션의클래스선언부에커서를위치시키고, Ctrl+Shift+C 키를누른다. 이렇게하면, 델파이는자동으로프로퍼티에해당되는 private read, write 필드에해당되는부분의코드를생성하고, implementation 섹션에모든클래스메소드에대한뼈대코드를생성한다. 예를들어, 다음의코드를 interface 섹션에작성했다고하자. type TMyButton = class(tbutton) property Size: Integer; procedure DoSomething; end; 여기에커서를위치시키고, Ctrl+Shift+C 키를누르면 interface 섹션에는다음과같은코 드가생성된다. type TMyButton = class(tbutton) property Size: Integer read FSize write SetSize; private FButtonSize: Integer; procedure SetSize(const Value: Integer); 그리고, implementation 섹션에는다음과같은코드가생성된다. { TMyButton } procedure TMyButton.DoSomething; begin

end; procedure TMyButton.SetSize(const Value: Integer); begin FSize := Value; end; 클래스완료기능은 implementation 섹션에정의된메소드에대한 interface 선언부를작성하게할수도있다. 방법은마찬가지로 implementation 섹션의메소드정의부에커서를위치시키고 Ctrl+Shift+C 키를누르면된다. 모듈탐색 (Module navigation) 델파이 4 는유닛파일에서 Ctrl+Shift 키와각종방향키를누르면쉽게모듈전체를탐색할수있는모듈탐색기능을제공한다. 일단유닛의 interface 섹션의특정메소드나전역프로시저의 prototype 에커서를위치시키고, Ctrl+Shift+Up 또는 Ctrl+Shift+Down 키를누르면그프로시저나함수의구현부분으로이동한다. 마찬가지로구현부분에서이들키를누르면 interface 섹션의선언부로이동하는토클키로작동한다. 코드브라우저 (Code browser) 코드에디터에서 Ctrl 키를누르면서마우스를특정클래스, 변수, 프로퍼티, 메소드등의여러가지 identifier 이름위로지나가게하면마우스포인터가손모양으로변하면서포인터위치의 identifier 가하이라이트되면서밑줄이쳐진다. 이를클릭하면, 코드에디터는그 identifier 의선언부로위치를옮겨간다. 이때유닛의 interface 섹션에선언된메소드나루틴의선언부를찾으려할때에는모듈탐색기능을이용해서 Ctrl+Shift+Arrow 키를이용하면된다. 메뉴바 (Menubar) 델파이환경에서명령을실행시키는방법은기본적으로메뉴바의메뉴를이용하는방법과스피드바를이용하는방법, 그리고마우스의오른쪽버튼을클릭하면나오는스피드메뉴를선택하는 3 가지방법이있다. 여기에서델파이 4 에서제공되는모든메뉴에대한설명을하는것은지면낭비일뿐이므로, 델파이의도움말파일을참고하기바라며주요메뉴에대해서만설명하도록하겠다.

File 메뉴 File 풀다운메뉴에는프로젝트와소스코드파일에대한여러가지작업명령들을포함하고있다. 프로젝트와관련이있는명령은 New, New Application, Open, Reopen, Save Project As, Save All, Close All 등이있다. 이것들외에도프로젝트에대해서는 Project 풀다운메뉴가특별히따로만들어져있다. 소스코드파일에관계되는명령은 New, New Form, Open, Reopen, Save, Save As, Close, Print 이다. 대부분의명령들이직관적으로금방알수있으므로설명은생략하고, 몇가지명령에대한것만더알아보도록하자. Reopen 메뉴명령은최근에작업했던프로젝트나소스코드파일을열때사용하는것으로오피스등의제품을사용할때보는 history 와비슷한역할을한다. New 명령은 Object Repository 에저장되어있는아이템을재사용할때사용하는메뉴로, New Items 대화상자를열게된다. 여기에는델파이의각종위저드를불러내거나새로운어플리케이션의형태와기존의폼을상속하는폼, 쓰레드나 DLL, 델파이컴포넌트와각종액티브 X 와관련된아이템들을만들어낼수있다. Object Repository 에대한내용은나중에따로설명하도록하겠다. Print 명령은소스코드나폼을인쇄할수있는명령이다. Edit 메뉴 Edit 풀다운메뉴에는 Undo 와 Redo, Cut, Copy, Paste 와같이전형적인명령들과폼이나코드에디터윈도우를위한몇가지특별한명령들이포함되어있다. 이런명령들은윈도우어플리케이션에서흔히쓰이는것들이기때문에몇번만직접사용해보면어떤기능을하는지쉽게알수있을것이다. 그밖에폼에관련된많은명령어들이있다. 폼을위한명령어들은폼의스피드메뉴 ( 마우스오른쪽버튼을클릭할때나타나는팝업메뉴 ) 에도나타나는것들로컨트롤을그리드에맞추어정렬하게하거나, 컨트롤의앞뒤로보내는메뉴, 여러개의컨트롤들을정렬하거나, 탭순서를설정하는등의메뉴가포함된다. 이들각각에대한설명은도움말을참고하기바란다. 참고로 Lock Control 명령의경우스피드메뉴에나타나지않는데, 이명령은폼위에서컴포넌트의위치가잘못해서바뀌지않도록하는역할을한다. 예를들어, 어떤컴포넌트를더블클릭하려했는데잘못해서그만위치를옮겨버릴수도있는데, 이럴경우폼에는 Undo 기능이없으므로상당히곤란할경우가있다. 이럴때에는폼을일단디자인해서더이상바뀔것이없다면그다음에컨트롤을잠궈두면이런실수를막을수있다. Search 메뉴

Search 메뉴에는기본적인 Search( 찾기 ) 와 Replace( 바꾸기 ) 명령과여러개의파일에서찾기를할수있는 Find in Files 명령이있다. 또한, 찾고자하는문자열을하나씩적어나가면서매칭되는소스코드를찾아주는 Incremental Search 명령도있다. Find in Files 명령은찾기를원하는문자열을라디오버튼을체크함에따라프로젝트의소스파일들과또는모든열려있는파일들, 또는특정디렉토리안의모든파일들중에서찾을수있도록해준다. 검색결과는코드에디터윈도우밑에있는메시지영역에표시되며, 표시된내용을더블클릭하면그파일의내용이있는곳으로코드에디터가옮겨가게된다. Incremental Search 기능은상당히편리하게사용할수있는데, 이명령의단축키인 Ctrl+E 는외워두었다가써먹으면좋을것이다. 이명령은일단단축키를누르고나서찾고자하는문자열을찍어나가면, 여기에맞는부분으로계속이동해나간다. Find Error 명령은컴파일러에러가아닌특정한런타임에러를찾을때쓰이는명령으로어떤단독실행프로그램을실행시키는데심각한에러에부딪히게되면, 델파이는어떤내부주소를가리키는숫자를표시하게된다. 즉, 컴파일된코드의논리적주소를표시하는것인데, 이값을 Find Error 대화상자에입력하면델파이가프로그램을다시컴파일해서지정한주소를찾아준다. 만약이주소를찾게되면, 델파이코드에디터에해당소스코드라인을찾아서표시한다. 그런데, 에러가소스코드에있는것이아니라라이브러리나시스템코드의문제로발생하는경우도있다. 이런경우에는 Find Error 명령으로오류를발견할수없게된다. Browse Symbol 명령은컴파일된프로그램에서정의한모든심볼들을살펴볼수있도록하는명령으로 Object Browser 를불러서이를표시해준다. View 메뉴 View 풀다운메뉴에는델파이환경의각윈도우들을표시하기위해사용된다. 델파이환경의윈도우라면프로젝트관리자 (Project Manager), 정지점 (Breakpoint) 리스트, 모듈탐색기와컴포넌트리스트등여러가지가있게되는데, 이들각각은직접실행해보면어떤윈도우를가리키는것인지알수있을것이다. 프로젝트관리자와정지점에대한부분은델파이 4 에서많이바뀐부분의하나인데프로젝트관리자는조금뒤에설명할것이다. View 메뉴에는이렇게서로다른윈도우를표시하기위한명령들이외에여러가지명령들이포함되어있다. Toggle Form/Unit 메뉴는작업하고있는폼과그폼의소스코드사이를토글해주는명령으로, 상당히자주쓰이게되므로이명령의단축키인 F12 는외워두기바란다. 또한, 편리한명령으로는 New Edit Window 가있는데, 이명령을선택하면델파이가두번째코드에디터윈도우를열어준다. 에디터화면을두개만들어놓으면서로

다른파일을각각보이게해놓을수있고, 한파일의서로다른부분을보이게할수도있기때문에대단히편리하다. 마지막 Toolbars 메뉴는델파이 4 에서추가된명령으로서브메뉴를살펴보면, 델파이 4 의여러툴바를보이게하거나, 숨기게할수있다. Project 메뉴 Project 풀다운메뉴는프로젝트를관리하고컴파일하는명령들을가지고있다. Add to Project 와 Remove from Project 명령은폼이나파스칼소스코드유닛을프로젝트에추가하거나제거할때사용된다. Import Type Library 명령은타입라이브러리를읽어올때사용하는것으로이책의후반부에서자세히다루게되므로설명을생략하겠다. Add to Repository 는폼을 Object Repository 에등록하고자할때사용하는명령으로자주사용되는폼의모양을디자인하고, 이를계속재사용할때유용하다. View Source 명령은프로젝트의소스를보여준다. 델파이 4 에서는프로젝트와관련된부분이많이향상되었으며, 여기에관련된명령들이 Project 풀다운메뉴에많이추가되었다. 이들을설명하기위해서프로젝트관리자의변화된부분에대해서조금더알아보도록하자. 델파이 4 의프로젝트관리자는프로젝트그룹에서여러개의프로젝트들을쉽게관리할수있게해준다. 프로젝트그룹은상호연관성이있는프로젝트들 (DLL 과이를사용하는어플리케이션, 멀티-tiered 어플리케이션에서각각의 tier 등 ) 을유기적으로관리하는데편리하게사용할수있다. 프로젝트관리자를이용하면연관된모든프로젝트의파일들을볼수있으며, 이들을디스플레이하고, 파일을추가삭제하고컴파일하는등의여러가지조작을할수있다. 또한, 이들을한꺼번에컴파일할수도있다. 프로젝트관리자의메인화면을살펴보면프로젝트그룹이나프로젝트에속해있는모든파일들을트리의형태로관찰할수있다. 여기에서트리의루트는프로젝트그룹이며, 프로젝트그룹에는각각의프로젝트를나타내는아이콘을포함하고있다. 프로젝트의종류는 DLL, EXE, 패키지또는리소스등일수있다. 프로젝트가프로젝트그룹의일부이면, 프로젝트관리자는프로젝트그룹에있는모든프로젝트들에대한정보를제공한다. 우측의파일뷰에는프로젝트내의모든소스파일 (.pas,.rc 파일등 ) 과이진객체파일 (.res,.lib,.obj 파일등 ) 을들을보여준다. 각각의프로젝트파일은.dpr 확장자를가지고있다. 프로젝트관리자를이용해서파일을추가, 제거하면델파이는프로젝트파일을자동으로업데이트해준다. 프로젝트그룹파일은.bpg 확장자를가지고있으며, 프로젝트그룹에프로젝트를추가, 삭제할때마다내용이바뀌게된다. 델파이 4 의프로젝트관리자의실제모습은다음과같다.

Create New Target 과 Open New Target 명령은델파이 4 에서새롭게추가된것으로새로운어플리케이션이나 DLL, 패키지등의아이템을프로젝트그룹에추가할때사용한다. 또한, 델파이 4 에서는복수프로젝트를관리할수있는프로젝트관리자에부합하여, 컴파일과관련된명령들이많이추가되었다. Compile, Build, Syntax Check 등의기존명령말고도 Make 명령이추가되었는데, 이명령들의뒤에는대상이되는프로젝트의이름이같이디스플레이된다. 또한, 프로젝트그룹에있는모든프로젝트를한꺼번에컴파일할때사용할수있는 Complie All Projects, Build All Projects 명령이추가되었다. Information 명령도프로젝트그룹안에서컴파일된특정프로젝트에대한정보를보여주어야하므로, Information for [ 프로젝트이름 ] 의형태로바뀌었다. Web Deploy, Web Deploy options 명령은액티브 X 폼과컨트롤에대한것으로이책의후반부에서자세히다루게될것이다. 프로젝트메뉴의가장마지막명령은 Options 메뉴이다. 여기에서는컴파일러와링커옵션, 어플리케이션객체의여러가지옵션을설정할수있다. Run 메뉴 Run 메뉴는주로디버깅에관련된내용을많이담고있다. 델파이환경에서 Run 명령을선택하면작성된어플리케이션은델파이의내장디버거내에서실행된다. 물론이기능을환경옵션에서해제할수도있다. 어쨌든 Run 명령은델파이를사용할때가장자주사용하게되는명령이므로 F9 단축키는외워두는것이좋을것이다. Parameters 명령은커맨드라인을실행시키려고하는프로그램에전달하고, DLL 을디버그할때에는실행파일의이름을제공하기위해파라미터를설정할수있게한다. 이명령도델파이 4 에서향상된것중에하나인데, 기존의파라미터설정탭에원격으로디버깅을할수있게하기위해호스트어플리케이션과원격지패스등을설정할수있도록변경되었다. Run 풀다운메뉴에서디버깅에관련된명령이외에는액티브 X 개발에관련된명령이몇

가지있다. Register ActiveX Server 와 UnRegister ActiveX Server 명령은현재프로젝트에의해정의되어있는액티브 X 컨트롤에대한윈도우레지스트리정보를추가하거나삭제하는역할을한다. 또한, Install MTS Objects 메뉴를통해마이크로소프트트랜잭션서버를지원하는객체를설치할수있다. Component 메뉴 Component 메뉴의명령들은컴포넌트를작성하고이것들을패키지에넣거나패키지를델파이에설치하는데주로사용된다. New Components 명령은간단한컴포넌트위저드를호출하여컴포넌트를새로작성하는데도움을주며, Install Components, Import ActiveX Library, Install Packages 명령은새로운델파이컴포넌트, 패키지또는액티브 X 컨트롤을환경에추가하여사용할수있도록해준다. 이들에대한더욱자세한내용은제 4 부에서다루게된다. Create Component Template 명령은하나이상의컴포넌트를폼에서선택하고이명령을호출하면새로운컴포넌트의이름, 팔레트에서의페이지, 아이콘을입력하는대화상자등이나타나는데이를이용해새로운컴포넌트템플릿을구성할수있게해준다. Database 메뉴 Database 풀다운메뉴에는 Database Form Wizard, SQL Explorer, SQL Monitor 등의데 이터베이스관련도구를호출할수있는메뉴가모여있다. 이들을선택하면데이터베이스 도구들이실행되는데, 여기에대한자세한내용은 13 장의내용을참고하기바란다. Tools 메뉴 Tools 풀다운메뉴는외부프로그램과툴들을실행시키기좋게모아놓은것과델파이개발환경의옵션을설정하는명령, Object Repository 의초기화를위한명령이포함되어있다. Environment Options 대화상자에는포괄적인환경설정, 패키지와라이브러리설정, 많은에디터옵션, 컴포넌트팔레트설정, Object Browser 설정, 코드인사이트설정등을할수있는많은페이지가있다. 이들각각에대한것은도움말을참고하기바란다. 또한, Configure Tools 명령을이용하면자신이자주쓰는외부의도구를등록했다가쉽게불러쓸수있다. 여기서간단히메모장 (Notepad) 을등록해보도록하자. Configure Tools 명령을선택하면대화상자가나타나는데, 여기서 Add 버튼을클릭하면등록할도구의속성을설정할수있는대화상자가보인다. 속성을다음과같이설정하도록하자.

Browse 버튼을클릭해서추가하고자하는도구의실행파일을선택하고, 이도구가메뉴에 나타나게될타이틀과작업디렉토리를설정하고 OK 를선택하면 Tools 메뉴에메모장이 추가되며, 이를선택하면메모장이실행된다. 그밖에도 Workgroup 과 Help 메뉴가있는데, Workgroup 메뉴에는델파이의버전컨 트롤프로그램인 PVCS 를실행시키는명령이포함되어있으며 Help 메뉴에서는도움 말을불러올수있다. 객체저장소 (Object Repository) 델파이 1.0 의 Gallery 는템플릿의저장과폼위저드의기능으로사용되었다. Gallery 는 델파이 2.0 이후부터객체저장소로바뀌게되었다. Tools 메뉴에서 Repository 를선택하 면다음과같은대화상자가나타나게된다.

페이지리스트박스에는 Forms, Dialogs, Projects, Data Modules, Object Repository 의 5 가지선택항목이나타난다. 이대화상자를사용하면선택항목을편집하거나새로운폼이나프로젝트를생성할때사용되는기본값을변경시킬수도있다. 여기서는개발자자신의페이지를생성하거나 Object Repository 대화상자에서저장소 (Repository) 로추가시킬수있다. 이러한객체저장소의기능은델파이에서코드의재사용기능을더욱강력하게만들어주고있다. 대부분의가장일반적으로사용되는기능들은이미기본적으로제공되고있지만, 개발자자신의것들을생성하여추가하면그활용도는훨씬높을것이다. 델파이에서 File New 메뉴를선택했을경우에델파이는객체저장소를연다. 객체저장소의여러페이지중에서 New 페이지와 ActiveX 페이지에는여러가지형태의새로운아이템을만들수있도록한다. 다음그림의객체저장소대화상자밑에있는라디오버튼을눌러서기존의아이템을복사할것인지, 아니면상속할것인지, 그대로사용할것인지를지정하게되는데위저드의경우처럼이런내용을선택할수없는경우에는라디오버튼의기능이비활성화상태로나타난다. 객체저장소에제공되는기본아이템에대해모두설명하는것은지면관계상생략하도록하고, 델파이 4 에서새롭게제공되는것이어떤것들이있는지알아보도록하자. 델파이 4 에서는객체저장소에새로운위저드를많이지원하는데, 여기에는다음과같은것들이있다. 이들각각에대한자세한내용은해당되는장을참고하기바란다.

CORBA Data Module Wizard: 데이터모듈이 CORBA 를지원하도록해주는위저드이다. MTS Data Module Wizard: 데이터모듈이마이크로소프트트랜잭션서버를지원하도록하는위저드이다. Project Group: 새로운프로젝트그룹을생성한다. Resource DLL Wizard: 세계화를위해서필요한위저드로문자열을여러나라의언어로지정할수있는쉬운방법을제공하며, 하나의프로젝트를여러나라버전으로저장관리할수있게해준다. Service Wizard: 윈도우 NT 서비스를생성해주는위저드이다. Service Application Wizard: 윈도우 NT 서비스어플리케이션을생성해준다. COM object Wizard: COM 객체를생성해주는위저드이다. MTS Automation Object Wizard: MTS 자동화객체를자동으로생성해준다. 정리 이번장에서는델파이 4 의 IDE 에대해서간단하게알아보았다. 더욱자세하게설명할수 도있겠으나, 이책에서는주로다른책에서는다루지못한여러가지테크닉들을많이소 개하려고하기때문에단순히도움말을찾아보면알수있는내용들은되도록생략하였다.

더자세한사항은도움말을직접참고하기바란다. 델파이 4 는그동안개발자들이불편해하던많은부분을해결한멋진 IDE 를제공하고있다. 복수로프로젝트를관리할수있게되었고, 모듈탐색기를통해 interface 섹션과 implementation 섹션사이의이동과코드에디터내부에서의탐색기능의효율을높였다.