Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... ·...

158
Delphi 2005 리뷰가이드

Transcript of Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... ·...

Page 1: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Delphi 2005 리뷰가이드

Page 2: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

Contents

개요 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Delphi.................................................................................................................................... 8

통합 개발 환경 ( IDE).. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

하나의 IDE, 다양한 플랫폼 특성 ..................................................................................... 13

하나의 IDE, 다양한 개발언어 .......................................................................................... 15

Structure Pane ..................................................................................................................... 16

VCL / VCL.NET 디자이너 ................................................................................................ 18

Tool Palette ......................................................................................................................... 19 Tool Palette 기능 향상................................................................................................................... 20 새로운 VCL.NET 컴포넌트 ........................................................................................................ 22

Object Inspector .................................................................................................................. 23

Upgrade Project 마법사...................................................................................................... 24

Delphi 2005 마법사들........................................................................................................ 25

검색기능(Find in Files) 강화 ............................................................................................. 27

International Characters 지원 강화 .................................................................................... 28

Message List 기능 강화 ..................................................................................................... 28

개발 IDE 오류 보고 ........................................................................................................... 28

Visual Studio .NET 프로젝트 IMPORT/EXPORT............................................................ 30

다음세대의 코드 에디터 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

리팩토링 ............................................................................................................................ 33 심볼이름 변경 ............................................................................................................................... 33 Variable 와 Field 선언 ................................................................................................................... 35 리소스 리팩토링 ........................................................................................................................... 36 메소드 추출 리팩토링 .................................................................................................................. 37 Namespace (C#) 와 Unit (Delphi) 임포트 ................................................................................... 38

SyncEdit.............................................................................................................................. 39

Error Insight ........................................................................................................................ 41

Help Insight......................................................................................................................... 43

P a ge 2

Page 3: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

히스토리 관리자................................................................................................................ 44 Content 패인 .................................................................................................................................. 45 Info 패인 ........................................................................................................................................ 46 Diff Pane ........................................................................................................................................ 47

Code Navigation 강화 ........................................................................................................ 48

소스코드 주석처리 토글 기능.......................................................................................... 49

영속적 북마크.................................................................................................................... 49

J2EE / CORBA 와.NET 연동 – Janeva .............................................................................. 50

파일 인코딩의 선택적 사용.............................................................................................. 51

ㄹ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

VCL.NET ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

가상 라이브러리 인터페이스 ...................................................................................................... 53 부분적으로 신뢰하는 호출자에(Partially Trusted Callers) 대한 지원 ....................................... 56

Delphi 컴파일러 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Win32 및 .NET 용 Delphi 컴파일러 업데이트 ............................................................... 58 For…In 루프 .................................................................................................................................. 58 유니코드 및 UTF8 포맷 지원....................................................................................................... 59

.NET 컴파일러용 Delphi .................................................................................................. 59 Delphi 코드와 Namespaces .......................................................................................................... 60 .NET 애플리케이션용 VCL 의 느슨한 패키지 지원 .................................................................. 61 )순방향 선언 기록 타입(Forward Declared 리코드 타입 0 ......................................................... 62

Delphi Win32 컴파일러 .................................................................................................... 62 Funtion Inine .................................................................................................................................. 63 Nested Type 지원........................................................................................................................... 64 클래스 선언 내부의 Nested Type 상수 ........................................................................................ 65 펜티엄 4 SSE3 및 SSE2 지시어 Op 코드 및 데이터 유형에 대한 지원 .................................... 65 XML 문서 생성 ............................................................................................................................. 65

Delphi 디버거 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

다중 디버거 지원............................................................................................................... 68

Exception Dialog Enhancements(예외 대화상자 향상) .................................................... 69

디스어셈블드 뷰................................................................................................................ 71

Breakpoints(Breakpoint) ..................................................................................................... 73 The Log Call Stack Breakpoint Option(로그 호출 스택 Breakpoint 선택)................................... 73

P a ge 3

Page 4: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

Breakpoint Dialog Box 기능 강화(Breakpoint 대화상자 업데이트) ........................................... 75

프로세스로부터의 연결 분리 기능.................................................................................. 76

Win32 지역 변수를 위한 Evaluator 지원 ......................................................................... 76

데이터베이스 개발 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

ADO.NET 용 RAD............................................................................................................. 79 DataSync 와 DataHub 로 제공하기, 문제 해결하기 .................................................................... 80 RemoteServer 와 RemoteConnection 로 하는 데이터 리모팅(remoting) .................................... 83

ADO.NET 용 Borland Data Provider ................................................................................. 85

BDP Data Explorer ............................................................................................................. 86 테이블 관리 ................................................................................................................................... 87 데이터 마이그레이션 ................................................................................................................... 88 Stored Procedure 시험하기............................................................................................................ 89

Delphi2005 로 리포트 작성하기 ....................................................................................... 90

.NET 데이터 액세스 컴포넌트를 위한 VCL ................................................................... 90

ADO.NET 커넥션 스트링 편집기 .................................................................................... 91

웹 /인터넷 개발 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Deployment Manager(배치 관리 프로그램) ..................................................................... 94

Web Forms Designer 에서 HTML 편집하기..................................................................... 97 템플릿 편집 ................................................................................................................................... 99 코드 완료와 구문 강조 기능 업데이트 ..................................................................................... 100 Tag 편집 기능 업데이트 ............................................................................................................. 100 ASP.NET Project Manager 추가 지원......................................................................................... 101

새롭고 향상된 DB 웹 컨트롤 ......................................................................................... 102 새 DB 웹 컨트롤 ......................................................................................................................... 102 DB 웹 컨트롤 업데이트.............................................................................................................. 103

IntraWeb 지원 .................................................................................................................. 103

데이터베이스 개발 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

ADO.NET 용 RAD........................................................................................................... 107 DataSync 와 DataHub 로 제공하기, 문제 해결하기 .................................................................. 108 RemoteServer 와 RemoteConnection 로 하는 데이터 리모팅(remoting) .................................. 111

ADO.NET 용 Borland Data Provider ............................................................................... 113

BDP Data Explorer ........................................................................................................... 114

P a ge 4

Page 5: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

테이블 관리 ................................................................................................................................. 115 데이터 마이그레이션 ................................................................................................................. 116 Stored Procedure 시험하기.......................................................................................................... 117

Delphi2005 로 리포트 작성하기 ..................................................................................... 118

.NET 데이터 액세스 컴포넌트를 위한 VCL ................................................................. 118

ADO.NET 커넥션 스트링 편집기 .................................................................................. 119

웹 /인터넷 개발 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

Deployment Manager(배치 관리 프로그램) ................................................................... 122

Web Forms Designer 에서 HTML 편집하기................................................................... 125 템플릿 편집 ................................................................................................................................. 127 코드 완료와 구문 강조 기능 업데이트 ..................................................................................... 128 Tag 편집 기능 업데이트 ............................................................................................................. 128 ASP.NET Project Manager 추가 지원......................................................................................... 129

새롭고 향상된 DB 웹 컨트롤 ......................................................................................... 130 새 DB 웹 컨트롤 ......................................................................................................................... 130 DB 웹 컨트롤 업데이트.............................................................................................................. 131

IntraWeb 지원 .................................................................................................................. 131

Integrated Application Lifecycle Management .. . . . . . . . . . . . . . . . . . . . 135

Delphi 2005 와 StarTeam ................................................................................................. 135

Unit Testing ...................................................................................................................... 139

Enterprise Core Objects II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

Rapid MDA....................................................................................................................... 142

ECO Space 와 Persistence 매핑 ....................................................................................... 145

ECO 와 OCL..................................................................................................................... 146

ECO II 의 새로운 기능 .................................................................................................... 146 A Highly Scalable Enterprise Object Cache 고 확장성 ............................................................... 146 Object 기능 확장 ......................................................................................................................... 147 ECO II 에서 Web Forms / Web Services 지원 ............................................................................ 147 ECO II 데이터베이스 지원......................................................................................................... 148

다양한 3rd 파타 제품과의 연동 및 통합 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

Borland InterBase 7.5 개발자 에디션.............................................................................. 151

P a ge 5

Page 6: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

Borland Janeva.................................................................................................................. 152

Microsoft .NET Framework 을 위한 Borland Optimizeit™ Profiler ............................... 152

Borland StarTeam 6.0 Standard Edition ........................................................................... 152

Borland Delphi 2005 를 위한 Component One Studio Enterprise ................................... 153

Crystal Reports Borland Edition ....................................................................................... 153

glyFX Borland Special Edition ......................................................................................... 154

IBM DB2 Universal Developers Edition .......................................................................... 154

InstallShield Express for Borland Delphi.......................................................................... 154

Internet Direct (Indy) ........................................................................................................ 154

IntraWeb ........................................................................................................................... 155

Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)............................................ 155

Microsoft SQL Server 2000 Developer Edition................................................................ 155

Rave Reports Borland Edition .......................................................................................... 156

Wise Owl Demeanor .NET Borland Edition..................................................................... 156

기타 .................................................................................................................................. 156

Summary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Borland Software Corporation 에 대하여 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

작가에 대하여 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

P a ge 6

Page 7: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

제품 개요

Borland® Delphi™ 2005

P a ge 7

Page 8: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

개요

Delphi 2005 Reviewer's Guide 에 오신 것을 환영한다. 이 문서를 통해 개발자는

볼랜드에서 가장 중요한 개발 환경으로, 20 년 이상의 기술적인 혁신을 이루어낸

델파이의 최신의 버전인 Delphi 2005 와 친숙해 질 수 있다.

Delphi 2005 Reviewer's Guide 는 두 부분으로 나누어있다. 첫번째 부분은 개요로서,

개발자는 Borland Delphi 2005 의 일반적인 소개를 보실 수 있다.

두번째 부분은 Delphi 2005 에 대하여 안내해 드릴 것이다. Delphi 2005 의 소프트웨어

개발과 지원에 대한 주요 분야에 대하여 소개하고 있어, 각 분야에 대한 개요와 함께

여러 가지의 향상되고 추가된 기능을 상세하게 살펴보실 수 있다. 개발자가 이미

볼랜드의 팬이시라면 개요부분은 빠르게 훝어보시고 향상된 기능에 중점을 두실

것이다. 1995 년에 처음 선보인 이후로 가장 중요한 기능이 향상된 Delphi 2005 를

만나보십시오.

Delphi

Delphi 의 전통은 터보 파스칼 언어가 소프트웨어 엔지니어링의 새로운 표준이 되었을

때인 1983 년에 시작되었다. 터보 파스칼 언어의 발전은 소프트웨어 개발의 진보에서

역사 수업과 같이 읽히고 있었으며, 통합된 개발 환경(IDE), 통합된 디버깅,

신택스(syntax)-하이라이팅, 강력한 객체지향 프로그래밍(OOP) 모델, OWL, 그리고

Object Windows Library 와 같이 매우 창시적인(groundbreaking) 혁신을 포함하고 있다.

1995 년 2 월 Delphi 1.0 을 출시와 함께 볼랜드는 컴포넌트 기반 개발이 객체 지향

환경에서 적용되어 개발자들이 코드의 재사용을 극대화하면서 애플리케이션을 빠르게

개발할 수 있다는 것을 보여주었다. 여러 가지 의미로 보면, Delphi 는 결국

Microsoft .NET Framework.의 프레임워크 클래스 라이브러리(FCS)가 따라올 수 있는

길을 개척하였다.

P a ge 8

Page 9: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서, 볼랜드가

소프트웨어 개발의 또 다른 선도적인 진보를 이끌었음을 의미한다. Delphi 2005 는

그랙픽 사용자 인터페이스 (GUI), Web, database, 그리고 모델 중심 애플리케이션

개발(model-driven application development)을 지원하는 C#, Microsoft .NET Framework

및 Win32 를 모두 포함하고 있다. 그리고 핵심적인 애플리케이션 라이프사이클

관리(ALM) 툴과 통합되어 있어 하나로 통합된 뛰어난 생산성의 RAD(Rapid application

development)환경을 제공한다. Delphi 2005 를 통해 윈도우 애플리케이션 개발자의

생산성, 개별 개발자들의 생산성 및 팀 생산성을 증가시킬 수 있다.

• 윈도우 애플리케이션 개발자의 생산성: The Delphi 2005 IDE 는 윈도우 기반

Microsoft .NET Framework 과 함께 Win32 표준을 지원하기 때문에 윈도우

애플리케이션을 더욱 빠르고, 쉽고, 보다 좋게 개발할 수 있게 한다. 월드

클래스 컴파일러와 디버거, 표준 기반 툴의 풍부한 전통, 현재 플랫폼과 새롭게

등장하는 플랫폼 간의 이음새 없는 통합을 가능하게 하는 Delphi 2005, 오늘날

윈도우 애플리케이션 개발에 있어 이보다 더 나은 강자는 없다.

• 개별 개발자의 생산성: Delphi 2005 는 처음부터 끝까지 빠른 속도와 생산성

상을 제공하여 Delphi 의 힘을 새로운 단계로 이끌어준다. 코드 에디터를 통해

개발자는 프로그래밍 경험의 모든 면을 단순화할 수 있으며, 재사용이 가능한

컴포넌트의 거대한 집합, 강력한 코드 생성 마법사 등 많은 기능을 가진 Delphi

2005 는 가장 풍부한 개발 환경이다.

• 팀 생산성: Delphi 2005 는 개발팀이 애플리케이션 라이프사이클을 모두

관리할 수 있도록 한다. 게다가 소프트웨어개발의 최첨단 개발 툴인 Delphi

2005 의 특정 에디션은 팀 소스코드 제어를 위한 성능관리 제품인

StarTeam , .NET 프레임워크의 모델 중심 개발을 위한 Borland Enterprise Core

Objects II (ECO™ II), 통합된 단위 테스팅 프레임워크, 그리고 성능관리를

위한 for the Microsoft .NET Framework 용 Borland Optimizeit Profiler 를

P a ge 9

Page 10: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

포함하고 있다. 따라서 Delphi 2005 는 개발과 프로젝트 관리에 필요한

개발자의 모든 요구를 충족시켜주는 완벽하고 통합된 솔루션을 제공한다.

Borland Products = Technical Excellence 수십년 동안, Borland 의 제품은 탁월하고 혁신적이라고 인식되어 왔습니다. 아래는 Delphi 2005 의

전통을 포함하는 제품들 최근 수상 경력이다.

● Microsoft .NET Framework 용 Borland Delphi 8 는 2004 년 7 월 2 일 TechEd Europe 에서

개발자 도구 분야에서 Best of Show 를 수상

● Borland C#Builder 는 2004 년 5 월 24 일 최고의 개발자 툴로 the Visual Studio Magazine

Reader Choice Award 를 수상

● Borland Delphi 7 Studio 는 2004 년 2 월 25 일 Web Services 제품 분야의 Best GUI 로 Web

Services Journal Readers' Choice Award 를 수상

본 가이드의 남은 부분은 소프트웨어 개발과 관련된 주제들로 구성되어 있다. 각각의

장에서는 일반적인 개요로 시작하여 Delphi 2005 에서 소개되는 새롭고 향상된 기능을

상세히 설명할 것이다.

P a ge 10

Page 11: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

참조 :

reviewer's guide 는 Delphi 2005 의 pre-release 버전을 기초로 하여 만들어 졌기에 . 출시 제품의

기능은 여기서 제시되는 기능에서 조금 변경될 수 있다.

P a ge 11

Page 12: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

P a ge 12

통합 개발 환경

Borland® Delphi™ 2005

Page 13: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

통합 개발 환경 (IDE)

Delphi 2005 IDE (integrated development environment)는 최첨단의 소프트웨어 개발

툴이다. Borland 의 Galileo IDE 기술은 Borland C#Builder 과 Delphi 8 for .NET 에서 처음

출시되었으며, Delhi 2005 의 IDE 는 더욱 빠르고 보다 좋은 애플리케이션을 개발할 수

있게 하는 볼랜드의 풍부한 전통을 계속 이어진다.

이번 장에서는 다양한 패널, 디자이너, 다이아로그 박스, 그리고 IDE 의 뷰에 초점을 둘

것이다. 코드 에디터에 대한 구체적인 기능들은 뒤에서 따로 상세히 소개될 것이다.

하나의 IDE, 다양한 플랫폼 특성

개발자들이 Delphi 또는 C#을 코딩할 때 마다, Win32 애플리케이션 이나 .NET

메니지드 코드를 작성하고, ASP.NET 웹 페이지나 전통적인 클라이언트

애플리케이션을 개발한다. Delphi 2005 의 IDE 는 개발자의 생산성을 향상시키도록

설계된 지속적이고 강력한 통합 개발 툴을 제공한다.

P a ge 13

Page 14: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

Delphi 2005 를 통해 IDE 는 개발자가 어떤 종류의 애플리케이션을 작업하는지를

기억하고, 작업과 항상 일관된 디자이너, 뷰및 기능들을 개발자에게 제공한다. 예를

들어 만약 개발자가 ASP.NET 웹 애플리케이션을 개발하고 있다면, HTML 디자이너는

웹페이지에서 보고 싶은 컴포넌트들을 코드를 조금도 형성하지 않고 드래그-앤-그롭

방식으로 웹페이지를 시각적으로 설계할 수 있도록 한다.

만약 개발자가 새로운 Win32 클라이언트 애플리케이션을 만들거나 기존의 것을

열고자 한다면, VCL (visual component library) 디자이너를 작동하여 유저 인터페이스

설계를 할 수 있도록 강력하게 지원한다.

P a ge 14

Page 15: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

개발자는 두 가지 또는 더 많은 서로 다른 종류의 프로젝트를 포함하는 프로젝트

그룹을 형성할 수도 있다. 개발자가 이를 실행할 때, 현재 프로젝트에서 진행중인

애플리케이션의 유형은 어떤 디자이너가 가능한 지와, 지원하고있는 창에서 어떤

옵션을 볼 수 있는지를 결정한다. 예를 들어 개발자의 프로젝트 그룹이 ASP.NET 웹

서비스 애플리케이션과 Win32 VCL 폼 애플리케이션을 모두 포함하고 있다면, Delphi

2005 는 현재 진행중인 프로젝트들의 애플리케이션을 주목하고 마치 개발자가

프로젝트들끼리 바꾸는 것처럼 각각에 적합한 디자이너와 에디터를 제공한다.

하나의 IDE, 다양한 개발언어

Delphi 2005 는 단순한 문맥 관련(context-sensitive) 디자이너 그 이상의 것이다. Delphi

2005 는 완전한 멀티 언어 개발 환경이다. Delphi 2005 에 포함된 본래의 언어와

디버거는 Win32 개발을 위한 Delphi, Microsoft .NET Framework 용 Delphi, 그리고

Microsoft .NET Framework 용 C# 이다.

P a ge 15

Page 16: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

다른 IDE 들이 멀티 언어를 지원하는 한편, Delphi 2005 는 멀티 플랫폼과 멀티 언어

모두 명백하게 지원한다는 것이 독특한 점이다. 예를 들어 개발자가 C# ASP.NET 웹

애플리케이션, Delphi for .NET Web Control class library, 그리고 Delphi Win32 에 쓰여진

전통적인 Windows DLL (dynamic link library)을 포함하는 프로젝트 그룹을 만들 수

있다. 적합한 컴파일러와 디버거가 각각의 프로젝트에 쓰일 뿐 아니라, 그 기본의

언어를 바탕으로, 코드에디터기능과 Tool Palette 조각(snippets)은 마치 다양한

프로젝트 사이를 찾아 다니는 것처럼 적절한 기능을 접할 수 있다.

또한 Delphi 2005 는 개발자가 원한다면 추가적인 컴파일러를 지원할 수 있다. 예를

들어 개발자의 워크스테이션에 .NET 용 VB 컴파일러가 설치되어 있다면, Delphi 2005

IDE 를 떠나지 않고서도 .NET 애플리케이션 용 VB 를 만들고, 열고, 편집하고,

컴파일하며 디버그할 수 있다.

Structure Pane

Structure Pane 은 개발자의 메인 창에 나타나는 것이 무엇인지에 관한 상세한 정보를

제공하는 문맥 관련(context-sensitive) 창이다. 개발자가 코드에디터를 이용하고 있을

때, Structure Pane 은 아래 그림과 같이 현재 파일에 있는 클래스, 타입, 인터페이스,

그리고 다른 심볼 들을 나타낸다. (Delphi 7 에서는 ‘코드 익스플로러(code explorer’로

불린다.)

P a ge 16

Page 17: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

비교해보면, 개발자가 VCL 폼을 설계할 때 제어 가능한 포함 관계를 나타내는 다양한

노드들을 통해 Structure Pane 이 개발자의 폼에 나타나는 컴포넌트들을 보여준다.

(Delphi 7 에서는 Object Tree View 로 불린다.)

Structure Pane 은 프로젝트에 강력한 통찰력을 제공해 줄 뿐 아니라 사용하고 있는

심볼과 오브젝트를 찾는데 편리한 도구를 제공한다. 개발자가 코드를 편집하고 있을 때,

Structure Pane 에 있는 심볼을 더블 클릭하면 에디터에 있는 코드와 연관된 줄을

P a ge 17

Page 18: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

보여준다. 개발자가 VCL 폼을 설계할 때, 오브젝트를 클릭하여 디자이너에 있는 폼을

선택하여 속성을 빠르게 바꾸거나 이벤트 핸들러를 지정하도록 도와준다.

또한 Structure Pane 은 코드에 에러가 있을 때 매우 유용하다. Delphi 2005 의 새로운

에러 인사이트(Error Insight) 기능이 소스파일에 있는 문제를 확인하면, 문제가 있는

코드 에디터의 위치를 빠르게 찾아준다. 에러 인사이트는 “차세대 코드 에디터” 장에서

더 자세하게 살펴볼 수 있다.

VCL / VCL.NET 디자이너

Microsoft .NET Framework 용 Delphi 8 을 사용하는 어떤 개발자들은 Delphi 7 에서처럼

VCL 디자이너를 " floating " 하기를 원하였다. Borland 는 이러한 개발자들의 요청을

이번 Delphi2005 반영 하였다. . VCL 및 VCL.NET 애플리케이션 용 VCL 의 Delphi

개발을 위하여, Delphi 2005 는 개발자가 .NET 스타일 임베디드 디자이너 또는 예전의

플로우팅 디자이너를 선택할 수 있도록 한다..

Delphi2005 에 있는 플로우팅 디자이너를 쓰려면, 메뉴의 Tools|Options)을 선택한 후

VCL 디자이너(VCL Designer) 노드를 찾아서 임베디드 디자이너(Embedded designer)

체크박스를 체크 해제한다..

P a ge 18

Page 19: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

Tool Palette

Delphi 2005 처럼 컴포넌트 기반 환경에서 작업을 할 때에는, 일반적으로 design-time

컴포넌트를 많이 사용하게 됩니다. 이것은 디자이너 안에 자리를 잡고 사용하고 있는

오브젝트 인스펙터(Object Inspector)를 배열한다. 이러한 컴포넌트들은 Delphi 2005 툴

Tool Palette 에서 사용이 가능하다.

Tool Palette 는 컴포넌트 카테고리에 의해 구성되어 있다. 어떤 카테고리가 보여지는지,

어떤 컴포넌트가 그 안에서 나타나는지는, 문맥과 관련(context sensitive)하는 것으로,

개발자가 작업하고 있는 프로젝트의 타입을 기반으로 한다. , 게다가 Tool Palette 는

개발자가 조직구성을 관리할 수 있다. Tool Palette 의 카테고리안에 있는 컴포넌트의

자리를 바꿀 수 있으며, 다른 카테고리로 컴포넌트를 이동할 수 있을 뿐 아니라 Tool

Palette 안에 있는 컴포넌트를 드래그 하여 단순화 할 수 있다. 심지어 컴포넌트를

드래그 하여 넣은 개발자의 맞춤 카테고리를 정의할 수도 있다.

P a ge 19

Page 20: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

Delphi 2005 는 Tool Palette 에 수많은 향상된 기능을 포함하고 있다. 이들 내용은 다음

장에서 설명하겠습니다.

Tool Palette 기능 향상

Delphi 2005 의 Tool Palette 는 이전버젼이 Delphi 보다 뛰어나고 새로운 기능들을

제공한다. Design-time 컴포넌트와 code snippet 에 접속할 수 있으며, 개발자가

디자이너를 사용하거나 코드 에디터를 사용하는경우 향상된 Tool Palette 는 새로운

프로젝트, 파일, 오브젝트 등을 생성할 수 있다. 현재 프로젝트를 열고 있지 않는다면

Tool Palette 가 오브젝트 리파지토리의 모든 마법사와 템플릿에 접속할 수 있게 한다.

이는 아래의 그림에서 확인 할 수 있다

또한 코드 에디터를 사용하고 있다면, Tool Palette 는 코드 에디터에 드래그 해서 넣을

수 있는 코드 스니펫과 재사용할 수 있는 코드 조각 뿐 아니라 이러한 같은 옵션들을

포함하고 있다.

P a ge 20

Page 21: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

Tool Palette 에서 오브젝트를 선택하는 방식 특히 폼과 애플리케이션을 생성하는

속도가 급격히 향상되었다. Tool Palette 에 있는 필터 커런트 아이템(Filter Current

Items)버튼을 간단히 누르거나, Ctrl-Alt-P 를 누르고 선택하고자 하는 오브젝트의

이름만 입력하기 시작하면 된다. 입력한 글자는 Tool Palette 의 제목 바(title bar)에서

나중에 나타나며, 아래 그림과 같이 오브젝트와 매칭하는 필터링된 리스트가 아래

부분에 나타난다. 그리고 선택하고자 하는 아이템이 나타나면 엔터를 입력한다

또한 Tool Palette 디스플레이를 관리하는 추가적인 옵션들이 있다. 이들 옵션들을 보기

위해서는 메인 메뉴에서 Tools| Options 선택한다. Tool Palette configuration options 은

Options dialog box 의 Tool Palette 노드 아래에서 이용 할 수 있다.

P a ge 21

Page 22: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

마지막으로, Delphi 2005 의 Tool Palette 는 작업중인 컴포넌트를 진정한 드래그-앤-

드롭으로 디자이너에 배치할 수 있다. 이전에는 VCL 폼의 컴포넌트 배치가 클릭 앤

클릭이라는 말로 더 맞는 설명일 것이다. 물론 이 기능도 Delphi 2005 에서 제공된다.

새로운 VCL.NET 컴포넌트

Delphi VCL 기반 개발을 위해서 이제는 Tool Palette 가 수 많은 새로운

제어기능(control)을 포함하고 있어, 더 나은 인터페이스를 생성할 수 있다. 이들은

TButtonGroup, TCategoryButtons, 그리고 TDockTabSet 이다. 이들 컴포넌트는 개발자가

Win32 와 VCL for .NET 애플리케이션에서 사용할 수 있으며, Delphi 2005 의 Tool

Palette 와 Structure Pane 에서 사용되는 것과 비슷한 인터페이스를 쉽게 만들 수 있도록

도와준다. 개발자가 이미 추측하고 있는 것 처럼, 이 새로운 컴포넌트들은 볼랜드

엔지니어들이 Delphi 2005 IDE 를 개발하기 위해 발전시켰던 것과 같은 컴포넌트이다.

P a ge 22

Page 23: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

더욱이 VCL for .NET 은 Delphi VCL 에서 쓸 수 있는 호환클래스까지 포함하여

강력해졌다. 이러한 특별한 추가적인 클래스는 이전보다 훨씬 쉽게 기존의 Win32

프로젝트를 .Net 프레임워크로 전환을 지원한다.

Delphi 2005 의 새로운 컴포넌트의 전체 리스트를 알고 싶다면 Delphi 2005 help 의

"What's New in Delphi 2005"를 참조할 수 있다..

Object Inspector

Delphi 2005 Object Inspector 은 디자인 타임의 폼에 있는 객체를 구성하기 위해 사용할

수 있으며, 더욱 향상되었습니다. Object Inspector 은 디자이너에 있는 객체를 위해

속성(property)과 이벤트(event)를 구성할 수 있게 할 뿐 아니라, 파일 이름을 관리하고

프로젝트 관리자에서 선택한 객체에 관한 정보를 얻을 수 있도록 도와준다.

예를 들어, 프로젝트 관리자에서 ASP.NET 웹 애플리케이션에 있는 .aspx 파일을

선택하면, 아래 그림과 같이 파일 경로와 파일 이름이 객체 Object Inspector 에서

나타난다.

P a ge 23

Page 24: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

진행중인 화면에서 File Name property 가 활성화 되어 있다면, Object Inspector 을

사용하는 해당 File Name 을 편집할 수 있다는 의미이다. 파일 이름을 변경하는 것은

프로젝트 관리자에서 보여지는 파일의 이름을 변경하는 동시에, 이 파일이 델파이

단위(unit)이므로 단위이름 변경까지 가능하게 한다. 물론 개발자는 여전히 이전

방식대로 메인 메뉴에 있는 File | Save As 를 선택하여 파일이름을 변경할 수도 있다.

프로젝트 관리자에서 선택할 수 있는 다른 객체들은 Object Inspector 에서도 보여진다.

예를 들어 만약 프로젝트 관리자에 있는 .NET 프로젝트의 레퍼런스 노드 아래 있는

어셈블리 리스트의 하나를 선택한다면, Object Inspector 는 아래 그림과 같이

어셈블리에 관한 자세한 내용을 보여줄 것이다.

Upgrade Project 마법사

Delphi2005 는 Delphi 언어를 위한 Win32 컴파일러, .NET 컴파일러를 포함하고 있기에,

새로운 Win32 애플리케이션 생성이나 기존의 Delphi7 이나 이전 버젼으로 개발된

Win32 용 프로젝트 파일들을 위하여 사용된다. 또한 기존의 Win32 용 애플리케이션

프로젝트를 VCL.NET 용으로 전환할 수 있다. VCL.NET 은 100% 순수한 .NET

P a ge 24

Page 25: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

메니지드-코드 솔루션으로 기존의 Win32 와 새로운 .NET 개발을 위한 호환성을

제공하여 준다.

Upgrade Project 마법사는 기존의 Win32 용 애플리케이션을 Delphi2005 에서 처음

사용할 때 이용되는 유틸리티이다. 이 기능을 이용하여 개발자들은 개존의 프로젝트를

Win32 애플리케이션으로 유지할 것인지 아니면 새로운 .NET 애플리케이션으로

마이그레이션 할 것인지 선택 가능하다.

한번 선택된 애플리케이션 종류는 Delphi2005 내에서 계속 하여 기억 된다. 만약에

기존이 프로젝트를 Win32 애플리케이션으로 유지하겠다고 선택한 후, 나중에

이를 .NET 애플리케이션으로 마이그레이션 하고 싶다면 간단하게 프로젝트 디렉토리

내에서 *.bdsproj 파일을 삭제한다. 그리고 *.엑 파일을 Delphi2005 에서 다시 열면 다시

Project Upgrade 마법사가 어떠한 애플리케이션으로 선택할 것인지를 묻는다. 이때에

원하는 .NET 을 선택하며 Delphi2005 는 새로운 .NET 애플리케이션으로 마이그레이션

하여 준다.

Delphi 2005 마법사들

마법사들은 Delphi2005 안에서 개발자들이 애플리케이션 용도에 맞는 프로젝트, 객체,

파일들을 빠르게 생성 할 수 있도록 도와주는 기능이다. 예로 the ASP.NET Web

Application Wizard 는 자동으로 web.config, global.asax, 그리고 initial .aspx file 을

P a ge 25

Page 26: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

생성하고 이들을 위한 IIS 가상 디렉토리를 구성하여 준다. 간단히 말하면 마법사를

이용하여 개발 생산성을 향상 시키고 애플리케이션 목적에 맞는 애플리케이션을

개발수 있도록 바르게 이끌어 준다. 아래의 그림은 Delphi2005 의 마법사들중 일부만을

보여주고 있다.

Delphi 는 항상 윈도우 기반의 개발에 필요한 모든 종류의 애플리케이션을 지원하기

위한 마법사들을 제공해오고 깄다. Win32 개발을 위하여 Windows 2000 Logo Wizard,

DLL Wizard, Automation Object Wizard, Web Service Wizard, IntraWeb Application Wizard,

Database Form Wizard 그리고 the Thread Wizard 를 제공한다. 이들은 Delphi2005

마법사들중 일부에 지나지 않는다.

.NET and C#을 위하여 개발자들은 ASP.NET Web Application Wizard, Windows Form

Application Wizard, ASP.NET Web Service Application Wizard, Web Control Library

Wizard 와 그 이외의 다양한 마법사 기능들을 제공한다.

P a ge 26

Page 27: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

Delphi 2005 는 이전 버전의 Delphi7 과 Delphi8 에서 제공하는 모든 마법사들을

포함다호 있다. 이 이외에도 여러가지 새로운 마법사들이 추가되어 개발과정을 가속화

시켜준다. 새로이 추가 및 강화된 마법사 들 중 일부를 예를 들면 New Component

Wizard, DB Web Control Library Wizard, ECO ASP.NET Application Wizard, ECO Web

Service Application Wizard, Satellite Assembly Wizard 등이 있다.

검색기능(Find in Files) 강화

개발자들이 그룹 검색 기능을 이용하여 프로젝트내의 모드 파일들을 간편하게 검색 할

수 있도록 한다. 간편하게 메뉴의 Search | Find in Files 를 선택후 검색 창에서 필요한

검색 조건을 입력한다.

아래의 그림은 그룹 검색 결과의 예를 보여주고 있다. 화면상에서 보이듯이 검색한

문자열을 포함하는 모든 파일들이 트리 형태로 조회된다. 각 노드들을 확장하면

파일내에서 검색 문자열이 사용된 상세한 라인정보까지 조회 가능하다. 조회된 특정

라인을 더블 클릭하면 코드 에이터 창에서 해당 소스코드의 해당 라인으로 이동한다.

P a ge 27

Page 28: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

International Characters 지원 강화

Delphi 2005 IDE 의 모든 마법사, 윈도우, 다이어로그 박스, 패인등에서 UTF-8

Characters 를 지원한다

Message List 기능 강화

Message List 는 Delphi 2005 사용자들이 컴파일 오류, 경고 그리고 힌트를 확인하기

위하여 사용한다.

이제는 Message List 창의 내용전체나 일부를 윈도우 클립보드로 복사하거나

파일형태로 저장 할 수 있다..

개발 IDE 오류 보고

보다 나은 소프트웨어를 제공한다는 볼랜드의 신념은 현재까지 볼랜드 제품의 오류를

보고할 수 있는 다양한 프로그램을 제공해 오고 있다. 가장 최근에 제공되는

기능으로는 Quality Central 로서 웹 기반의(http://qc.borland.com) 오류보고 기능이다.

이 기능은 Delphi2005 의 IDE 에 내장되어 있다. IDE 내에서 예외사항이(Exception)

발생하였을 경우 Delphi2005 는 관련된 오류 다이어로그 박스를 띄워준다. 화면상의

Details 버튼을 이용하여 상세한 오류 내용을 파악한다.

P a ge 28

Page 29: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

Send 버튼을 클릭하여 Send Report 다이어로그 박스를 시작시킨다.

Next 버튼을 클릭하면 볼랜드로 보내질 상세한 스택트레이스를 확인 가능하며 다시

한번 Next 버튼을 클릭하여 오류가 발생하였을 시의 자세한 현상을 입력한다.

P a ge 29

Page 30: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

Next 버튼을 클릭한 후에 BDN(Borland Developer Network:http://bdn.borland.com)의

계정정보를 입력한다. 그리고 BDN 정보를 입력하면 보고된 오류 내용의 처리 진행

상태를 Borland's Quality Central 에서 조회 가능하다. 화면상의 Anonymous Report check

box 를 이용하여 익명으로 오류 보고도 가능하다.

마지막으로 다시한번 Next 버튼을 클릭하여 오류를 보고한다.

Visual Studio .NET 프로젝트 IMPORT/EXPORT

현재 Visual Studio .NET 2003 으로 개발된 C# 프로젝트를 가지고 있지만 Delphi2005 의

새로운 기능을 이용하고 싶은 경우에 Delphi2005 는 IMPORT 기능을 이용하여 이러한

문제를 간편하게 해결해준다.

단순히 Delphi2005 를 이용하여 Visual Studio C# 의 프로젝트 파일인 *.csproj 을

오픈한다. Visual Studio 프로젝트 IMPORT 마법사는 열려진 프로젝트의 새로운 이름을

P a ge 30

Page 31: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

입력한다. 이후부터 개발자들은 Delphi2005 의 모든 기능인 설계, 개발, 컴파일, 테스트

배포들을 이용 가능하다.

아래의 그림은 Visual Studio .NET 2003 의 C# 프로젝트를 Delphi2005 로 불러오는 예를

보여주고 있다..

Delphi2005 는 개발자들이 선호하는 .NET 개발 환경을 선택할 수 있도록 한다.

Delphi2005 의 C#프로젝트 결과를 Visual Studio 기반의 개발자와 공유하기를

원한다면 Delphi 프로젝트를 EXPORT 하여주면 된다. 개발자는 단순히 Delphi 메뉴의

Tools | Export 기능을 선택하여 주면 된다. 이 기능은 개발 언어가 호환되는 C#

프로젝트에서만 제공된다.

P a ge 31

Page 32: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – 리뷰 가이드

P a ge 32

The Next Generation Code Editor

Borland® Delphi™ 2005

Page 33: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

다음세대의 코드 에디터

Delphi 2005 는 개발자들에게 전세계적인 프로그램 개발 환경을 제공하기 위한

볼랜드의 전통을 계속하여 이어갈 것이다. 이는 대부분의 개발자들에게 전세계적인

코드 에디터를 의미하며 이러한 코드 에디터를 Delphi 2005 에서 발견 할 수 있다.

실지로 이번에 소개되는 Delphi2005 의 코드 에디터는 대부분의 개발자들에게 기존의

Delphi 나 C#을 사용하다가 새로운 버전으로 업그레이드 하여야 하는 광범위한

판단기준을 제시해 준다. 이러한 기능으로는 리팩토링 지원, Sync Edit, Error Insight,

Help Insight, 히스토리 관리자 및 그 이외의 여러 가지 기능을 포함하며 자세한 사항은

아래에 소개되어 있다..

리팩토링

리팩토링은 애플리케이션 실행 행동에는 변함없이 소스코드의 가독성, 관리성, 효율을

증가시시키기 위하여 소스코드의 구조를 변경하는 프로세스를 말한다. 일반적인

리팩토링 작업으로는 변수 명 사용시 좀더 의미 있는 변수명으로 변경, 중복되는 코드

세그먼트들을 동일한 작업을 수행하는 공통 Function 으로 대체 그리고 상수값이나

리소스 참조값 들을 리터럴 값들로 대체하는 작업들을 포함한다.

Delphi 2005 는 다양하고 향상된 리팩토링 기능을 포함하고 있다. 이러한 기능으로는

심볼이름 변경, 메소드 추출, 변수 및 필드 선언 그리고 리소스 리팩토링을 포함한다.

심볼이름 변경

심볼이름 변경 기능은 전체 프로젝트내의 소스코드 내에서 사용된 모든 모든 심볼

이름을 변경 할 수 있도록 한다. 검색후 변경 기능과 다르게 심볼이름 변경 기능은

심볼이름이 사용된 모든 콘텍스트 범위 내에 적요된다. 리팩토링 기능으로 변경될 수

있는 심볼의 종류로는 인터페이스 이름, 프로퍼티스, 메소드, Function, 프로시져 ,

변수명 그리고 상수 등이 있다..

P a ge 33

Page 34: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

심볼이름 변경 리팩토링을 실행하기 위하여는 , 이를을 변경하고자 하는 심볼을 코드

에디터에서 선택후에 메뉴에서 Refactor| Rename 을 선택한다. 아래와 같은 변경을

위한 다이아로그 화면 창이 나타나면 새로운 이름을 등록한다.

팝업 창에서 “View regerences vofore refactoring” 항목을 체크하면 Delphi2005 는 새로운

리펙토링 창을 띄워주며, 리팩토링이 실행되기 전에 선택된 심볼이 사용된 모든

인스턴스들의 리스트를 확인 할 수 있다.

위의 리팩토링 창 툴바에서”Refactor” 버튼을 선택하면 모든 소스코드들이 자동으로

새로운 이름으로 변경된다. 또한 래픽토링을 실행하기 이전에 리스트상에서 특정 항목

또는 전체를 삭제할 수 있다.

P a ge 34

Page 35: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Variable 와 Field 선언

리펙토링 메뉴에는 “Declare Variable and Declare Field”라는 옵션이 있어 새로운 Local

Variable 또는 Member Field 를 선언 할 수 있다. 이 옵션은 Delphi 코드에서 사용가능

하며 C# 코드에서는 필요하지 않다. (C# 언어의 특성상 필드들은 C# 클래스 내의 어느

위치에서나 이용 될 수 있기 때문이다). Delphi 내에서 Variable 들은 “var” 블록내에서

선언되어야 하며 Member field 는 “type” 블록 내에 선언되어야 한다.

Local Variable 이나 Member field 를 새로이 추가 하기 위하여는, 코드 에이터 내에서

심볼이름을 선택한다. 그리고 메뉴상에서 Refactor | Declare Variable or Refactor | Declare

Field(또는 Ctrl-Shift-V 또는 Ctrl-Shift-D 를 순서대로 선택)를 선택한다. Declare

Variable 을 선택하였다면 “Declare Variable”이라는 화면이 아래와 같이 보여진다

Declare Variable 화면 창에서 Name 항목에 이름을 입력한 후 Type 항목에 자료 타입을

입력한다. 필요 시 Dimensions 항목을 이용하여 배열의 차원을 지정할 수 있다. 또는 Set

Value 항목을 이용하여는 초기값을 설정 할 수 있다. 새로운 Local Variable 을 생성하기

위하여 OK 버튼을 클릭 후 필요 시 값을 지정한다.

만약에 Declare Field 항목을 선택하였다면 새로운 Field 를 위한 화면 창이 생성된다. 이

화면 창에서 새로운 이름과 타입을 지정하며 배열을 위한 차원도 지정한다. 그리고

Visibility 항목을 통하여 지정된 Class 내에서의 가시성 정도를 설정한다. OK 버튼을

클릭하면 선택된 Class 의 지정 섹션의 메소드 내에 새로운 Field 가 생성된다.

P a ge 35

Page 36: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

리소스 리팩토링

리소스 리팩토링은 Delphi 코드 내에서 스트링 리터럴 타입을 resourcestring 블록내에

리소스 스트링 심볼로 선언하고 기존의 오리지널 스트링은 새로이 선언된 리소스

스트링 심볼로 대체 된다. C#코드는 resourcestring 블록을 지원하지 않는다. 스트링

리터럴 리소스 스트링을 사용하면 특히 스트링이 중복되어 사용되는 경우 소스코드의

중복을 피할 수 있으며 또한 특정 환경/고객/언어 를 지원하는 여러 가지의 에디션을

제작 시 상당히 효율적이다.

Delphi 소스코드에서 마우스 커서를 스트링 리터럴 위에 위치한 후 메뉴에서 Refactor |

Extract Resource String 항목을 선택한다. Extract Resource String 을 위한 화면 창이

팝업되어 스트링 값에 필요한 새로운 이름을 지정한다. OK 버튼을 클릭하면 새로운

심볼 이름이 해당 Unit 의 인터페이스 섹션 내에 추가 되며 기존의 소스 코드는 새로이

P a ge 36

Page 37: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

메소드 추출 리팩토링

일반적으로 리팩토링을 언급하는 경우에 대부분의 개발자들은 메소드 추출이라는

개념을 떠올린다. 메소드 추출이란 하나 또는 그 이상의 소스코드 라인들을 독립된

메소드 호출로 교체하며, 기존의 해당 라인들은 새로운 메소드를 선언하여 추가하는

것을 말한다.

Delphi 2005 에서 , 메소드 추출 리팩토링은 Delphi 언어에서만 지원된다.

이 기능은 동일한 코드 라인이 반복적으로 나타나는 경우에 효율적으로 이용된다.

이러한 반복되는 라인을 새로운 메소드를 생성하여 이동한 후에 기존의 라인들은

새로운 메소드를 호출하는 코드로 변경함으로써 후에 발생할 수 있는 소스코드 로직의

변경이나 소스코드의 구조를 변경 시 하나의 로컬 메소드 만 수정할 수 있도록 하여

관리 기능을 향상 시킬 수 있다.

메소드 추출 리팩토링 기능을 이용하기 위하여, 우선 원하는 소스코드를 마우스나

키보드 동작으로 지정 후에 메뉴상의 Refactor | Extract Method 를 선택한다. Extract

Method 화면 창을 이용하여 새로운 메소드 명을 지정하여 주는 한편 메소드 내에

추가될 코드들을 확인한다.

P a ge 37

Page 38: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Delphi 2005 의 메소드 추출 리팩토링 기능은 변수, 프로퍼티, 객체 참조를 지능적으로

처리하여 준다. 예를 들어 메소드로 추출되는 소스 코드의 선행되는 코드 내에서 값을

받아서 이용하는 경우 이러한 프로퍼티들을 Passed-by-Value 값으로 리팩토링된 메소드

내로 전달된다. 만약에 해당 프로퍼티들이 리팩토링된 메소드 내에서 값이 변경되는

경우에는 Passed-by-Reference(var 키워드를 이용) 형태로 전달된다.

Namespace (C#) 와 Unit (Delphi) 임포트

실제로는 정확하게 리팩토링 범주에 포함하기는 어려우나 , Refactor 메뉴내의 Import

Namespace and Find Unit 항목은 특정 심볼과 연관된 Namespace 를 내포할 수 있도록

한다. C# 코드인 경우 메뉴에서 Refactor | Import Namespace 항목을, Delphi 코드인

경우에는 Refactor | Find Unit 항목을 선택하여 이용한다.

.메뉴에서 해당 항목을 선택하면 개발자가 작업하는 환경 내에서 가능한 모든

namespace 내에 포함된 클래스 리스트를 화면 창에 출력하여 준다.

예들 들어, 개발자가 Delphi .NET Windows Forms 애플리케이션을 생성하였다면, FCL,

RTL.NET(.NET 용 Delphi 런타임 라이브러리)내에 포함되어 있는 클래스들이 리스트

된다. .NET 용 VCL 을 이용하는 개발자들은 VCL.NET namespace 리스트를 이용하게

된다.

P a ge 38

Page 39: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Delphi Win32 애플리케이션을 개발하는 경우에는 VCL 과 RTL 내의 모든 Unit 리스트를

이용한다. 화면의 Search 항목에서 개발자가 필요로 하는 클래스 이름을 입력하면,

입력된 문자열을 포함하는 리스트들이 필터링 되어서 리스트 된다

개발자가 원하는 namespace 를 선택 후 OK 버튼을 클릭한다. Delphi 코드를 이용하고

있다면, 사용자는 namespace 부분을 interface 또는 implementation 섹션에 포함 여부를

지정 가능하다.

SyncEdit

SyncEdit 은 Delphi2005 의 새로운 기능으로 심볼이름 변경과 유사한 기능을 제공한다.

그러나 심볼이름 변경과 다른 점은, SyncEdit 은 개발자가 지정하는 특정 블록 내에서만

작업 가능 하도록 설정할 수 있다는 것이다. 이러한 기능은 개발자가 초기 개발 시

사용할 수 있는 강력한 기능들 중의 하나가 될 것이다.

SyncEdit 기능은 개발자가 동일한 심볼이름이 적어도 2 이상이 포함된 소스코드

블록을 지정하는 경우에 사용 가능하다. 아래의 그림을 예로 들면 선택된 코드 블록

내에 DataTable1 이외의 몇 개의 변수들이 2 이상 사용되고 있음을 확인 할 수 있다.

P a ge 39

Page 40: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

에디터 윈도의 화면 좌측의 거터 부분에 SyncEdit 아이콘이 나타나며 이는 해당 블록

내에서 동기화된 심볼 이름 변경이 가능함을 표시한다. 화면상의 아이콘을 클릭하건

Shift-Ctrj-J 를 입력하여 SyncEdit 모드로 전환한다.

SyncEdit 모드로 전환되면, 반복되어 사용되는 심볼들이 화면상의 소스코드 내에 밑줄

표시가 되며, 그 중 마우스로 선택한 변수들은 박스 형태로 강조되어 표시된다.

심볼들간 이동을 하려면 탭 키를 이용한다..

SyncEdit 모드에서 변경하고자 하는 심볼을 선택한 후에, 원하는 심볼 명을 입력하면

동일한 모든 심볼명이 동시에 새로운 이름으로 변경된다. 아래의 그림은 기존의

DtaTable 이라는 심볼 명이 CustTable 이라는 이름으로 변경된 예를 보여준다.

P a ge 40

Page 41: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

SyncEdit 기능은 개발자가 Function 이나, 프로시져, 메소드를 코딩하는 시점에

간편하게 소스 코드를 편집할 수 있는 기능으로 개발자들에게 뛰어난 생산성을

보장하여 준다. 위에 설명된 심볼 이름 변경 리팩토링은 오직 유효한 소스코드에만

적용 가능하지만 SyncEdit 을 설명문에도 적용 가능하다는 것과 또한 심볼 이름 변경

리팩토링은 관련된 모든 소스코드와 리소스 파일들에 적용되는 반면 SyncEdit 은

개발자가 지정하는 특정범위에만 적용한다는 점이다.

Error Insight

Delphi 2005 에서 처음으로 소개되는 Error Insight 기능으로 개발자들에게 소스코드의

스펠링 오류검사, 코딩 문법 오류 확인 등의 서비스를 제공한다. 개발자가 Delphi 나

C# 언어로 코딩을 하는 시점에 IDE 가 자동으로 심볼, 키워드, 디렉티브 등을 자동으로

검사하여 컴파일러가 해독할 수 없는 오류를 감지하여 준다. 오류가 감지되면 Error

Insight 이 오류가 있는 정확한 소스코드 부분을 붉은색으로 표시하여 준다.

P a ge 41

Page 42: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

오류가 발생한 부분에 마우스를 이동하면 해당오류에 관련된 힌트창이 보여진다.

추가로 코드 에디터에 표시되는 모든 오류 리스트는 스트럭쳐 패인창에도 아래의

그림처럼 Erros 노드에 위치하게 되며 오류가 수정되면 리스트에서 자동으로 삭제된다.

위의 그림 예에서, TRegistry 클래스를 위하여 Borland .Vcl.Registry

HKEY_LOCAL_MACHINE 상수를 위하여 Borland.Vcl.Windows 을 unit’s usage 절에

추가함으로써 오류가 해결되며 코드에디터 및 스트럭쳐 패인에 표시된 모든 리스트가

자동으로 삭제된다.

P a ge 42

Page 43: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

메뉴바의 Tools|Options 항목을 이용하여 Error Insight 구성을 조정 가능하다.

Help Insight

Delphi200 에서 소개되는 또 다른 Code Insight 기능으로 Help Insight 이 있다.

Help Insight Delphi 의 코드 에디터 내에서 사용되는 클래스, 인터페이스, 메소드,

프로퍼티즈, 필드 정보들을 제공하여 준다. Help Insigt 기능을 이용하려면 마우스의

포인터를 해동 소스 위치에 올려 놓는다. 잠시 후에 화면상에 해당 소스 코드 정보가

아래의 그림처럼 표시된다.

대부분의 경우에 Help Insight 의 정보는 여러 개의 링크 정보들을 힌트 윈도위 안에

포함 하고 있다. 그 중의 하나를 클릭하여 추가 정보를 조회할 수 있다. 어떤 경우에는

링크를 클릭하면 해당 심볼이 선언된 소스코드로 이동한다.

Help Insight 은 Code Insight 기능인 Class Completion 과 Argument Value List 화면

내에서도 이용 가능하다. Code Insight 화면이 활성화 상태일 때 항목들 중의 하나를

클릭하여 해당 항목의 Help Insight 기능을 활성화하여 항목의 자세한 정보를 이용한다.

예를 들어 아래의 화면예 처럼, Help Insight 은 SqlConnection 객체의 BeginTransaction

메소드의 정보를 표시하고 있다. 이때의 Help 정보는 Code Insight(Code Completion)

화면의 Begn Transaction 이 선택되었을 때 화면상에 활성화 된다.

P a ge 43

Page 44: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

개발자들은 메뉴상의 Option 의 Code Insight 내에서 Help Insight 항목을 구성 가능하다.

히스토리 관리자

Delphi2005 의 새로운 기능들 중 가장 흥미로운 기능들 중 하나로 히스토리 관리자가

있다. Code Editor 의 History Tab 을 선택하여 이용할 수 있는 히스토리 관리자는 시간의

경과에 따른 소스코드가 변경 내용, 소스코드 변경에 대한 보완 설명 확인 그리고

소스코드의 다양한 버전간 차이점을 간편하게 조회하고 또한 지난 시점의 특정

버전으로 쉽게 되돌아 갈 수 있는 기능들을 제공 한다.

기본적으로 히스토리 관리자는 소스코드에 변경이 발생한 경우 소스코드의 로컬

복사본을 프로젝트 디렉토리 하위의 __history 라는 폴더 내에 저장한다. 이러한 기능은

Local 파일 백업이라고 불리며, Delphi IDE 의 설정을 통하여 얼마나 많은 백업 버전을

관리할 것이지 지정 할 수 있으며 기본값으로 10 개의 백업 파일을 유지한다.

만약에 형상관리 제품으로 볼랜드의 StarTeam 을 사용하고 있다면 히스토리 관리자는

StarTeam 의 체크인 기능을 이용하게 된다. 이러한 기능들을 이용하여 개발자들은

단순히 소스코드의 변동 사항만 확인하는 것이 아니라 다른 개발자들의 프로젝트 파일

들과 연계하여 변동 사항을 관리 할 수 있다. StarTeam 은 또한 개발자가 파일이름을

변경한 경우에도 이를 추적 관리 한다. 간단히 요약하면 히스토리 관리자는 형상관리

제품인 StarTeam 의 기능을 Delphi2005 의 사용자에게 제공하여 준다.

History Manager 는 VCL 과 VCL.NET 의 DFM 파일들을 위한 유용한 기능을 제공한다.

DFM 파일들은 애플리케이션 영속적인 정보를 관리하기 위한 파일타입으로 폼, 데이터

P a ge 44

Page 45: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

모듈, 프레임들의 프로퍼티 값들을 저장한다. 히스토리 관리자를 이용하여 Delphi 의

소스코드 관리에 사용하였던 기능들을 폼 디자인에 적용하여 DFM 파일들을 관리한다.

히스토리 관리자에는 3 개의 패인이 있으며 각각은 Content, Info, Diff 로 구분된다.

아래에서 각 패인의 특징을 자세하게 설명한다. .

Content 패인

개발자들은 저장된 백업파일들의 내용을 Content 패인에서 조회하며 추가적으로

기존의 백업버전을 백업할 수 있다. 특정 파일 버전을 선택하였을 때 파일 내용은 화면

하단의 코드 영역에 조회된다 그리고 화면 하단의 상태바에는 파일이름과 파일이

저장된 시간이 조회된다

P a ge 45

Page 46: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

코드 영역을 이용하여 파일의 내용을 검토할 수 있으며 해당 영역의 소스를 클립보드로

복사후(Ctrl –C) 개발자가 원하는 어느 프로젝트에나 붙여넣기(Ctrl-V)하여 이용

가능하다.

만약에 최신 버전의 소스코드를 이전에 저장된 백업 버전중의 하나로 되돌리고 싶다면,

파일 백업 리스트에서 파일을 선택한 후 히스트리 메니져의 툴바의 Rever 버튼을

클릭한다.

Info 패인

특정 파일에 관리를 위한 설명이나 노트를 추가한다. 추가된 설명은 형상관리 제품인

StarTeam 을 사용하고 있다면 StarTeam 으로 링크며 로칼 백업 기능을 이용하고 있다면

Delphi 2005 에 의해서 생성된다. 리팩토링 같은 특정 기능들은 자동으로

백업소스코드를 생성해주며 설명도 추가하여 준다.

P a ge 46

Page 47: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Diff Pane

대부분의 개발자들에게 Diff 패인은 히스토리 관리자중 가장 유용한 기능이 될 것이다.

Diff 패인은 최신 편집 버퍼를 포함한 여러 가지 버전의 백업 소스코드들간의 차이점을

비교하여 준다.

화면 좌측의 Differences From 부분에서 저장된 파일 중 하나를 선택 후에 오른편의 To

부분에서 파일이나 Buffer 항목을 선택한다. 선택된 파일들간의 차이점이 화면

하단에의 코드 영역에 출력된다. 창의 좌측에 표시되는 (+)는 새로이 추가된 코드를

나타내며 반대로 (-)는 삭제된 코드를 나타낸다.

아래의 그림은 현재 버전과 편집 버퍼내의 현재 파일과 기존의 저장된 파일과의

차이점을 표시하여 준다.

P a ge 47

Page 48: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Code Navigation 강화

Delphi 2005 의 Code Navigation 은 Delphi 소스코드의 섹션간 이동을 간편하게

도와준다. 예를 들어 Ctrl-Shift-Up 키 (또는 Ctrl-Shift-Down 키)를 입력하여 Delphi

클래스 내의 메소드 선언부와 구현부분을 자유롭게 이동할 수 있다.

Delphi 코드에서 적은 기능으로 효율적으로 사용할 수 있는 Code Navigation 기능을

소개하고 있다. interface 섹션과 implementation 섹션을 자유롭게 이동할 뿐만 아니라

unit 의 initialization 섹션과 finalization 섹션간도 Ctrl-Shift-Up 키를 이용하요 이동한다.

Code navigation 기능은 C#언어의 특성상 C# 프로젝트에서는 사용할 필요가 없다. -

C#은 Delphi 언어와 다르게 2 부분의 구조로 이루어지지 않는다.

P a ge 48

Page 49: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

소스코드 주석처리 토글 기능

Delphi2005 는 선택된 소스코드 블록을 간편하게 주석 처리하거나 주석처리 해제 할 수

있는 토글 기능을 제공한다. 특정 소스코드를 주석처리 하기 위하여는 먼저 코드

에디터 내에서 주석처리 하고자 하는 라인을 선택한 후에 컨택스트(오른쪽 마우스

버튼 클릭)메뉴에서 Toggle Comment 항목을 선택하거나 또는 Ctrl-/ 를 입력한다.

Delphi2005 는 선택된 코드 블록의 모든 라인 앞에 “//”를 추가하여 주석처리 한다.

주석처리 되어 있는 라인들을 주석 처리 해제하기 위하여는 주석 처리하는 경우에

동일하게 먼저 원하는 소스코드 블록을 선택한 후에 메뉴에서 Toggle Comment 항목을

선택하거나 또는 Ctrl-/ 를 입력한다. 이 경우에는 소스코드 내에서 “//”가 삭제 된다.

영속적 북마크

북마크는 하나의 파일 내에서 자유롭게 소스코드를 항해하기 위한 특별한 태그

기능이다. Ctrl-Shift 키와 동시에 0 부터 9 까지의 숫자 중 하나를 입력하여 북마크를

추가 가능하다. 코드 에디터 왼편의 거터 부분에 입력된 숫자를 나타내는 그림 문자가

나타나서 북마크가 입력된 것을 확인한다.

북마크가 추가된 후에는 Ctrl + 0-9 사이의 숫자를 입력하여 소스코드들의 지정된 특정

위치로 자연스럽게 항해한다. 예를 들어 특정 소스 코드부분에 Ctrl-Shift-1 을 입력하여

북마크를 지정한 후에 해당 파일의 다른 부분을 편집하다가 단순히 Ctrl-1 을 입력하여

앞에서 지정한 북마크 부분으로 자동으로 이동한다.

Delphi2005 는 영속적인 북마크 기능을 제공한다. 영속적인 북마크 기능이 가능하도록

설정되어 있다면 소스 코드의 북마크들은 개발자가 이를 수작업으로 삭제 할 때까지

지속적으로 남아 있는다.

영속적 북마크 기능을 이용하기 위하여는 Delphi 2005 메뉴 | Tools | Option 에서

Environment Option 항목을 선택한다. Autosave Options 항목에서 Project desktop 의

체크 박스를 선택한다.

P a ge 49

Page 50: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

J2EE / CORBA 와.NET 연동 – Janeva

Janeva(자네바)는 볼랜드의 미들웨어 솔루션으로 J2EE(Java 2 Enterprise Edition) 과

CORBA(common object request broker architecture 객체를 Delphi 2005 애플리케이션에서

연동하는 기술이다. Janeva 를 이용하여 기존 기업이 구축한 엔터프라이즈

시스템을 .NET 웹이나 일반 .NET 애플리케이션 형태의 클라이언트를 통하여 접근

가능하다.

J2EE 나 CORBA 를 Delphi2005 애플리케이션에서 이용하려면, Delphi2005 Menu |

Project 메뉴 항목들 중에서 Add J2EE Reference 또는 Add CORBA Reference 를

선택합니다.

화면의 창을 이용하여 J2EE 를 위한 EJB 용 jar/ear 파일을 선택하거나 CORBA 를 위한

IDL 파일을 선택한다. 예를 들어 아래의 화면은 J2EE 를 위하여 EJB 용 jar 나 ear 파일을

선택하였을 경우 필요한 Enterprise Java Bean 을 선택할 수 있는 화면이다.

P a ge 50

Page 51: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

OK 버튼을 클릭하면 필요한 프록시 파일들이 생성된다.

파일 인코딩의 선택적 사용

개발자들은 Delhi2005 에서부터 소스 코드의 인코딩 방식을 선택 가능하다. 가능 한

옵션으로는 ANSI, Binary, UTF8 등이 있다.

작업중인 소스 코드의 인코딩 타입을 설정 하려면, 에디터 내에서 오른쪽 마우스

버튼을 클릭 후에 콘택스트 메뉴에서 File Format 항목을 선택한다. 그리고 조회된

인코딩 리스트 중 원하는 타입을 선택하여 준다.

인코딩 방식 선택은 개발하는 애플리케이션이 특정 언어를 위한 LOCALE 에

종속적이지 않는 애플리케이션을 개발하는 경우에 상당히 유용한 기능이다. 예를 들어

소스코드를 UTF-8 형태로 저장 한다면 해당 소스코드를 다를 LOCALE 로 설정된

PC 에서 작업할 때 정확한 내용을 유지 할 수 있다.

P a ge 51

Page 52: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

P a ge 52

Borland® Delphi™ 2005

VCL.NET

Page 53: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

VCL.NET

.NET 용 Delphi 비주얼 컴포넌트 라이브러리(여기에서는 .NET 용 실행 시간

라이브러리 또는 .NET 용 RTL 도 포함)는 Win32 용 Delphi VCL 과 동일한 100

퍼센트 .NET 매니지드코드이다. VCL.NET 의 몇 가지 기능은 주목할 만하다. 우선,

VCL.NET 은 프레임워크 클래스 라이브러리 자체를 제외하고는 .NET 프레임워크를

위한 100 퍼센트 매니지드 클래스 집합 , 타입 들의 집합이다. 또한 이 VCL.NET 은

Delphi 2005(또는 전작인 마이크로소프트 .NET 프레임워크용 Delphi 8)에서만

제공된다.

VCL.NET 의 두 번째 특징은 VCL 의 Win32 버전과의 뛰어난 호환성이다. 탁월한

호환성으로 쉽게 Win32 Delphi 코드를 .NET 으로 전환할 수 있다.

다음은 Delphi 2005 에 추가된 VCL.NET 의 업데이트 정보이다.

가상 라이브러리 인터페이스

Delphi 는 Win32 와 .NET 애플리케이션 간에 방대한 상호 운용성을 제공한다.

여기에는 런타임 호출 가능 래퍼(RCWs)와 플랫폼 호출(PInvoke)이 포함된다. Delphi

2005 에서는 가상 라이브러리 인터페이스(VLI) 지원으로 상호 운영성 지원이 한 단계

발전했다. 가상 라이브러리 인터페이스를 이용해 .NET 의 Pinvoke 가 지원하는 것보다

더 손쉽게 .NET 애플리케이션에서 Win32 DLL 들의 루틴을 호출할 수 있다.

보통 .NET 프레임워크의 메니지드코드는 .NET 플랫폼 호출 서비스 Pinvoke 를 통해

언메니지드 라이브러리를 호출할 수 있다. Pinvoke 에서 [DLLImport] 속성을 이용해

해당 기능이 위치한 DLL 과 보낸 기능의 다른 특징을 식별해냄으로써 언매니지드

DLL 의 export 된 루틴을 import 해 올수 있다.

Pinvoke 를 사용하는 데는 몇 가지 문제점이 있다. 첫째, [DLLImport] 속성을 이용해서

실행 시간 중에 DLL 의 이름 또는 위치(경로)를 찾아낼 수 없다. 둘째, 어떤 이유에서든

P a ge 53

Page 54: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

지정한 DLL 의 루틴을 올려놓을 수 없다면 런타임 예외가 늘어난다 . 셋째, [DLLImport]

속성은 장황하고 반복적이다. 단일 DLL 에서 Export 할 루틴이 많을 때 특히 더 그렇다.

다음의 두 기능은 Win32 Delphi 를 이용해 만든 Win32 DLL 에서 구현되어 Export

되는기능이다:

function ConvertCtoF(CentValue: Integer): Integer; stdcall; function ConvertFtoC(FahrValue: Integer): Integer; stdcall;

Pinvoke 를 이용해 이 루틴들을 Import 하는 unit 은 최소한 한 개의 다음과 같은 실행

블록을 가진다(이 루틴들은 Win32DLL.dll 이라는 이름의 DLL 에서 내보낸 것들이다):

function ConvertCtoF; external; [DllImport('Win32DLL.dll', CharSet = CharSet.Auto,

EntryPoint = 'ConvertCtoF')]

function ConvertFtoC; external; [DllImport('Win32DLL.dll', CharSet = CharSet.Auto,

EntryPoint = 'ConvertFtoC')]

가상 라이브러리 인터페이스를 이용하는 경우에 언매니지드 DLL 로부터 루틴을

Import 하기가 더 쉬워지며 예외가 늘어날 가능성도 적어진다. 또한 실행 시간 중에

코드로 DLL 의 이름 또는 위치를 찾아낼 수 있다. 다음은 가상 라이브러리

인터페이스를 이용해 언매니지드 DLL 로부터 한 개 이상의 루틴을 들여오는 과정이다.

• 볼랜드.Vcl.Win32 namespaces 을 uses 절에 추가하기 • 인터페이스 선언, 인터페이스 내의 각각의 메쏘드들은 DLL 루틴에서 Export 된

메쏘드들과매칭된다. • 볼랜드.Vcl.Win32 unit 에서 Supports Funtion 호출, DLL 이름 전달(윈도우가 찾는

위치에 DLL 이 없을 경우 선택 사양인 경로도 포함), 앞 단계에서 만든 인터페이스, 그리고 그 인터페이스 유형의 변수를 호출

Supports funtion 이 인터페이스 메쏘드들이 지정된 DLL 에서 export 된 funtion 들에

매칭되는지 결정하면, Supports 호출의 세 번째 파라메터로 전달되는 변수가 Supports

호출의 2 번째 파라메터로 전달되는 인터페이스를 구현하는 객체를 포인트하게 된다.

P a ge 54

Page 55: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

에서 지원 기능으로 전달한 변수는 두 번째 매개변수에서 전달한 인터페이스를

실행하는 객체를 지정한다. 그러면 이 객체 참조를 이용해 DLL 의 언매니지드 루틴을

실행할 수 있다.

인터페이스의 한 개 이상의 메쏘드들이 named DLL 에 의해 export 되지 않거나 named

DLL 이 존재하지 않거나 손상된 경우에는 exception 이 발생하는 것이 아니고

Supports 호출이 false 값을 리턴한다.

다음은 앞서 사용했던 언매니지드 DLL 예의 내보낸 두 가지 기능을 선언하는

인터페이스의 예이다

type IWin32DLLInt = interface function ConvertCtoF(CentValue: Integer): Integer; function ConvertFtoC(FahrValue: Integer): Integer; end;

Win32DLL.dll 이 애플리케이션의 실행 가능한 기능의 mylib 서브디렉토리에 위치하고

있다면, 다음의 코드가 IMyWin32DLL 의 실행을 리턴한 후 리턴된 객체의

메쏘드(ConvertCtoF) 중 하나가 실행된다

var MyDLL: String; MyWin32DLL: IWin32DLLInt;

begin MyDLL := ExtractFilePath(Application.ExeName) +

'\mylib\Win32DLL.dll' ;

if not Supports(MyDLL, IWin32DLLInt, MyWin32DLL) then MessageBox.Show(self, 'Could not load Win32DLL.dll')

else NewInt := MyWin32DLL.ConvertCtoF(100);

P a ge 55

Page 56: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

부분적으로 신뢰하는 호출자에(Partially Trusted Callers) 대한 지원

VCL.NET 어셈블리는 부분적으로 신뢰하는 호출자를 지원한다. 부분적으로 신뢰하는

호출자란 호출하는 매니지드 어셈블리와 동일한 워크스테이션 장비에 있지 않은

애플리케이션을 의미한다.

예를 들어, 공유 네트워크나 URL 에서 실행되는 .exe 는 부분적으로 신뢰하는

호출자이다. .NET 보안 모델은 기본적으로 호출자가 적절한 선언과 검사를 포함하지

않을 경우 부분적으로 신뢰하는 호출자가 윈도우 API 같은 언매니지드 코드를

호출하는 것을 방지한다.

VCL.NET Delphi 2005 어셈블리는 .NET 보안을 침해하지 않으면서 VCL.NET 을

부분적으로 신뢰하는 호출자로부터 호출할 수 있도록 하는 추가 보안 선언과 검사를

포함한다.

P a ge 56

Page 57: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

P a ge 57

Delphi 컴파일러

Borland® Delphi™ 2005

Page 58: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Delphi 컴파일러

볼랜드 컴파일러는 속도와 호환성 면에서 뛰어나며 이러한 탁월한 성능은 Delphi

2005 에도 이어진다. Delphi 2005 에는 세 개의 컴파일러가 탑재되어 있다. 이 중 한

가지인 C# 컴파일러는 마이크로소프트의 라이센스를 획득했다. 따라서, Delphi 2005 에

구축하는 C# 애플리케이션은 비주얼 스튜디오에 구축한 것과 같은 Intermediate

Language(IL)를 생성한다.

나머지 두 가지 컴파일러는 Delphi 컴파일러이다. 이 중 하나는 기존의 32 비트 윈도우

실행가능 기능을 컴파일하기 위한 것이고 또 다른 하나는 .NET 프레임워크용 IL 을

생성하기 위한 것이다. 두 가지 컴파일러 모두 Delphi 2005 에서 상당 부분

업데이트됐다

다음은 Delphi 컴파일러의 Win32 버전과 .NET 버전에 추가된 기능들이다. 이 섹션의

후반부에는 각 컴파일러에 해당되는 신기능들을 설명할 것이다.

Win32 및 .NET 용 Delphi 컴파일러 업데이트

몇 가지 신기능이 Delphi 2005 의 Delphi 컴파일러에 추가되었다. 가장 눈에 띄는

특징은 새로운 for…in 루프와 유니코드 지원이다. 다음은 새로운 컴파일러 기능에

대한 세부설명이다.

For…In 루프

Delphi 언어는 C# foreach 키워드와 비슷한 새로운 루핑 제어 구조를 포함하도록

업데이트됐다. Delphi 에서 이 새로운 루프는 for…in 루프로 불린다. 전통적인 Delphi

루프와 달리 for…in 루프는 실행 순서를 제어하기 위한 변수를 요구하지 않는다. 그

대신, for…in 루프는 같은 객체들 중에서 다음 객체의 참조를 체계적으로 검색한다.

P a ge 58

Page 59: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

예를 들어, 다음 코드는 DataTable's Rows 속성(이 속성은 DataRowCollection

유형이다)의 DataRows 를 통해 반복하는데 사용할 수 있다.

var Row: DataRow;

begin //…

for Row in MyDataTable.Rows do ListBox1.Items.Add(Row[0].ToString);

.NET Delphi 컴파일러에서는 for…in 을 최소한 다음 조건 중 하나를 만족시키는 어떤

객체와도 사용할 수 있다. IEnumerable 인터페이스를 실행하거나 공개 GetEnuermerator

기능을 갖고 있거나, 배열, 집합, 또는 문자열인 경우이다. Win32 컴파일러에서는

for…in 을 public GetEnumerator function 을 가진 클래스, 또는 배열, 집합, 문자열과

사용할 수 있다. GetEnumerator 기능을 구현하는 클래스에는 TList, TCollection, TStrings,

TMenuItem, Tfields 등이 포함된다.

유니코드 및 UTF8 포맷 지원

두개의 Delphi 컴파일러 모두 UTF8 및 Unicode 소스 파일을 컴파일 할 수 있다.

전에는 ANSI 소스 파일만이 지원됐다. .NET 용 Delphi 컴파일러의 경우 이 기능이

메타데이터와 소스코드 모두에서 CLS (common language specification) 표준 유니코드

식별자를 지원한다.

.NET 컴파일러용 Delphi

볼랜드의 .NET 용 Delphi 컴파일러는 마이크로소프트 .NET 프레임워크용 Delphi 8 을

출시하면서 처음 시장에 모습을 드러냈다. 앞의 섹션에서 설명된 업데이트 외에도

컴파일러는 .NET 애플리케이션에 독점적으로 적용되는 많은 업데이트 기능을 가지고

있다. namespaces 생성 및 관리방법, 순방향 선언 레코드 타입(forward-declared record

type) , .NET 애플리케이션용 VCL 의 느슨한 패키지 지원 등이 업그레이드

되었다. .NET 용 Delphi 컴파일러의 업데이트는 다음 섹션에 설명되어 있다.

P a ge 59

Page 60: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Delphi 코드와 Namespaces

.NET 컴파일러에서 가장 크게 변화한 점은 unit 에서 정의된 기호들을 위한 namespaces

생성 방법이다. 이전 컴파일러 버전에서는 unit 명칭이 namespace 이었다.

C#에서 정의된 클래스를 사용하는데 익숙한 개발자들에게 Delphi 가 생성한

namespaces 은 이상하게 보일 수 있다. 특히, 이 namespaces 들은 해당 소스코드의

물리적인 구조에 영향을, 해당 클래스를 사용하는 사람의 관점에서 보기에는 이는

namespace 와 무관하게 보여 혼란을 야기할 수도 있다.

Delphi 2005 컴파일러는 namespaces 생성에 새로운 접근법을 사용해 여러 개의 unit 을

허용했다. 뿐만 아니라 다수의 애플리케이션을 허용해 원하면 공통 namespaces 을

만들도록 한다. 이와 동시에, 각 unit 이 별도의 namespaces 을 만들기가 용이하다.

구성 방법은 이렇다. unit 명칭이 도트(.) 표기법을 사용하지 않는다면, unit 명칭이

namespaces 이다. 이전에는 다음과 같이 구성됐다.

한 unit 이 도트 표기법을 사용해 여러 부분으로 구성된 명칭을 포함하는 경우

namespace 는 unit 명칭의 마지막 부분을 탈락시켜 정의된다. 예를 들어, 한 unit 의

명칭이 YourCompany.Data.Unit1 이라면 이 unit 안에 있는 클래스는 YourCompany.Data

namespaces 에 있게 된다. YourCompany.Data.Unit2 와 YourCompany.Data.Unit3 unit 에

나타난 클래스는 YourCompany.Data namespaces 에 존재하게 된다.

Delphi 코드에서 선언된 전역 변수, 상수, 기능, 절차들은 문제가 된다. .NET 은 사용된

모든 클래스에 대한 선언을 요구하기 때문이다. 따라서, YourCompany.Data.Unit1 라는

이름의 Delphi unit 전역 기호들은 .NET 메타데이터에서 namespaces

YourCompany.Data.Units 내에 있는 Unit1 이라는 이름의 클래스의 일원으로 실행된다.

.NET 메타데이터에 나타난 Delphi 기호들의 표기법은 Delphi 소스 코드에 영향을

미치지 않는다. 신경 써야 할 부분은 다른 .NET 언어를 사용하는 개발자들이

사용하기를 원하는 코드의 부분에 대해 Delphi 코드가 .NET 메타데이터에서 어떻게

P a ge 60

Page 61: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

표기될까 하는 것이다. 일반적으로, 다른 .NET 언어가 사용할 Delphi 코드를 작성할

때에는 전역 변수, 전역 함수, 또는 전역 procedure 및 funtion 을 피해야 한다.

.NET 애플리케이션용 VCL 의 느슨한 패키지 지원

VCL.NET 의 런타임 패키지 는 매니지드 .NET 어셈블리이다. 여기에는

애플리케이션이 실행 시간 중에 올려놓고 사용할 수 있는 선언들이 포함되어 있다.

일반적으로 애플리케이션을 배포할 때 필요한 해당 애플리케이션에서 참조된 모든

어셈블리(DLL 들)을 배포해야 하듯이 VCL.NET 애플리케이션을 컴파일해서 런타임

패키지를 사용할 때 필요한 해당 패키지를 모두 배포해야 한다.

런타임 패키지가 외부 DLL 들을 정적으로 링크하고 있는 unit 들을 포함하고 있는

경우에 특히 해당 DLL 들이 사용가능 하지 않는 경우에 발생 할 수 있는 문제점을

느슨한 패키지 UNIT 지원은 이러한 문제를 해결하여 준다. 보통의 상황에서는 이 경우

런타임 패키지와 DLL 모두를 배포 해야 한다.

펜 디바이스 입력용 마이크로소프트 DLL 인 PenWin.dll 을 한 번 예로 들어보자. 이

DLL 은 마이크로소프트 OS 와 함께 배포되는 DLL 이 아니다. Delphi 의 PenWin unit 은

DLL PenWin.dll 에 정적으로 연결되어 있다. 만약 귀하의 unit 이 PenWin 을 사용하고

있고 , 정적으로 연결된 PenWin.dll 에 하나 이상의 기능에 대한 호출을 포함하고 있는

경우에 , 느슨하 패키지 방식을 이용하지 않는 이러한 UNIT 을 실시간 패키지에

포함하게 된다면 해당 런타임 패키지를 이용해야 하는 모든 애플리케이션들은

PenWin.dll 을 사용가능 하도록 설정되어야 한다. 그러나 느슨한 패키지 방식의

UNIT 은 PenWin.dll 을 실제로 사용하는 애플리케이션만이 PenWin.dll 을 사용할 수

있도록 설정하면 된다.

느슨한 패키지는 한 애플리케이션이 해당 unit 을 포함하는 런타임 패키지를 사용하기

보다는 해당 unit 의 패키지 되지 않은 버전을 실행 가능하도록 연결할 수 있게 해준다.

그 결과, 느슨한 패키지 unit 의 기능들을 필요로 하는 애플리케이션이 unit 의 패키지

되지 않은 버전(컴파일러 생성 DCPIL 파일에 저장)에 연결 되고, 그 결과, DLL 을

P a ge 61

Page 62: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

요구하게 된다. 해당 unit 을ㅆ 사용하지 않는 애플리케이션은 느슨한 패키지 unit 을

포함하는 패키지를 사용하도록 컴파일 되었다 하더라도 DLL 을 요구하지 않을 것이다.

느슨한 패키지는 Delphi Win32 컴파일러에서 사용이 가능했다. 느슨한 패키지 unit

의미론은 이제 .NET 용 Delphi 컴파일러에서 지원된다.

)순방향 선언 기록 타입(Forward Declared 리코드 타입 0

레코드 타입은 .NET 용 Delphi VCL 과 FCL 애플리케이션에서 순방향 선언될 수 있다.

순방향 선언 기록은 선언이 동일 유형 블록의 나중에 나오더라도 컴파일러가 레코드를

유효한 타입으로 인식하게 해준다.

순방향 선언 레코드 타입은 두 가지 타입의 선언을 가능하게 해준다. 특히 동일한

블록에 나타난 레코드, 클래스, 인터페이스가 멤버 필드, 속성, 또는 메쏘드에서 서로를

참조하도록 해준다. 레코드 타입 기호를 선언함으로써 순방향 선언 레코드 타입을

작성할 수 있지만 이 경우 레코드의 필드 목록을 누락시킨다.

Delphi Win32 컴파일러

Delphi Win32 와 .NET 컴파일러 간의 호환성은 Delphi 2005 가 자랑하는 기능 중의

하나이다. 호환성 덕분에 단일 프로젝트를 진정한 Win32 애플리케이션으로 컴파일

하고 손쉽게 .NET 매니지드 코드 애플리케이션으로 전환시킬 수 있다. 많은 경우,

동일한 소스 파일들을 Delphi Wi32 컴파일러와 .NET 컴파일러를 이용하여 컴파일 할

수 있다. Delphi 만큼 이런 컴파일을 손쉽게 하게 해주는 개발 환경은 없다.

또 하나 개발자들의 눈길을 사로잡는 것은 볼랜드가 계속해서 최신 IDE 로 Win32

플랫폼을 지원한다는 사실이다. 볼랜드가 윈도우 개발의 미래로 .NET 플랫폼을

지원하고는 있지만 데스크탑 개발자의 대다수가 Win32 플랫폼에 애플리케이션을

유지하고 있다는 것을 잘 알고 있다. 따라서 볼랜드는 이들 개발자들에게도 필요한

최신 기능들을 제공하기 위해 최선을 다할 것이다.

P a ge 62

Page 63: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Win32 컴파일러의 새로운 기능들이 앞서 소개되었으며 다음 섹션들은 Delphi

2005 에서 Delphi Win32 컴파일러에 추가된 유일한 기능들을 설명하고 있다.

Funtion Inine

Funtion Inline 은 Win32 컴파일러가 컴파일 시간에 수행하는 연산이다. 한 기능이

인라인 될 때 컴파일러는 서브 루틴(메쏘드, funtion, 또는 procedure)으로의 호출을 서브

루틴에서 정의된 컴파일된 명령어로 교체한다. Funtion Inline 은 function , procedure,

메쏘드 호출과 관련된 오버헤드를 제거함으로써 애플리케이션 성능을 향상시킨다.

컴파일러가 한 기능을 인라인 할지 여부에 영향을 미치는 데는 두 가지 방법이 있다. 한

가지는 funtion, procedure, 또는 메쏘드 선언에 인라인 지시어를 포함시키는 방법이다.

이 지시어는 컴파일러에 해당 기능을 인라인 할지 여부를 고려하도록 요청하는 것이다.

인라인이 실행 가능하고, 컴파일러가 해당 기능을 안전하게 인라인 할 수 있다고

판단하면 인라인이 수행된다.

두 번째 방법은 {$INLINE} 컴파일러 지시어를 사용하는 것이다. 이 지시어는 ON, OFF,

AUTO 이렇게 세 개의 매개변수 중 하나와 함께 전달될 수 있다. ON 매개변수의 경우

컴파일러가 기본 설정으로 인라인 지시어를 사용해 컴파일러가 인라인이 안전하다고

판단하면 언제라도 선언된 기능을 인라인한다. OFF 매개변수를 지정하면 인라인이

실행되지 않는다.

AUTO 매개변수를 설정해서 {$INLINE}컴파일러 지시어를 사용하는 경우 컴파일러는

코드 크기가 32 바이트 이하인 작은 기능은 어떤 것이든 인라인하려고 시도한다.

Funtion Inline 이 성능 향상을 가져오기는 하지만 이 기능은 적절하게 적용되어야 한다.

따라서 볼랜드에서는 {$INLINE}컴파일러 지시어에 AUTO 매개변수를 사용할 것을

권하지 않는다. 인라인은 크기가 아주 큰 실행 가능 형식을 생성시키기도 한다. 또한,

인라인된 기능들이 항상 성능 향상을 가져오는 것은 아니다. 어떤 경우에는 인라인이

성능을 저하시킬 수도 있다.

P a ge 63

Page 64: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

서브 루틴이 인라인되는 것을 방지하는 여러 조건들이 있다. 예를 들어, 인라인된

어셈블리 지시어를 포함하는 서브 루틴은 인라인될 수 없다. 마찬가지로, 해당

클래스의 개별 멤버 하나 이상에 접근하는 클래스 메쏘드는 다른 클래스의 메쏘드로

인라인될 수 없다.

볼랜드에서는 이 인라인 지시어를 적절하다고 판단되는 크기가 작은 VCL 및 RTL

루틴에 적용했다. 그 결과, 이 루틴을 사용하는 코드는 전보다 빨리 실행됐지만 크기가

약간 큰 실행가능 형식들을 생성했다.

Nested Type 지원

Nested Type 이란 다른 타입 선언 내부에 다른 타입 선언을 의미한다. .NET 용 Delphi

컴파일러는 이미 Nested Type 을 지원했다. 이제 Delphi 의 Win32 컴파일러도 이 기능을

지원한다.

다음은 Nested Type 을 포함하는 클래스의 예이다. 이 예는 Delphi 2005 도움말에서

발췌한 것으로 Nested Type 선언이라는 표제어로 찾을 수 있다.

type TOuterClass = class strict private myField: Integer;

public type TInnerClass = class public myInnerField: Integer;

procedure innerProc; end; procedure outerProc; end;

P a ge 64

Page 65: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

클래스 선언 내부의 Nested Type 상수

Nested Type 상수는 클래스 내부에 선언된 상수 클래스 멤버이다.. Nested Type 상수는

어떤 면에서 클래스 Funtion 들과 유사하다. 즉, 해당 클래스의 인스턴스 없이도 클래스

참조를 사용해 참조될 수 있다는 점에서 같다. 그러나 클래스 기능과 다른 점은 Nested

Type 상수는 항상 일정한 값을 리턴한다는 것이다.

Nested Type 상수는 이미 .NET 프로젝트에서 사용 가능하다. 이제는 이 상수를 Win32

애플리케이션에서도 사용할 수 있다. 서수, 실수, 문자열 등 모든 단순 유형이 Nested

Type 상수가 될 수 있다. 함유된 상수를 TdateTime 같은 값 유형으로 선언할 수는 없다.

다음은 Nested Type 상수 선언을 포함하는 클래스의 예이다.

type TTemperatureConverter = class(TObject) public const AbsoluteZero = -273; procedure ConvertFtoC(Temp: Integer): Integer; //…

펜티엄 4 SSE3 및 SSE2 지시어 Op 코드 및 데이터 유형에 대한 지원

Delphi의 Win32 컴파일러가 펜티엄 4 SSE3 와 SSE2 op 코드, 그리고 데이터 유형을

인라인 어셈블리 루틴에 포함시키도록 해준다.

XML 문서 생성

XML 문서 생성은 .NET 용 Delphi 8 과 C#Builder 컴파일러에서 소개되었다. 이제 Win32

소스 코드를 위한 XML 문서 화 파일을 생성할 수 있다.

XML Doc 생성을 위해서는 프로젝트 선택 대화박스의 컴파일러 페이지에 있는 XML

문서 생성 체크박스를 이용하면 된다. Delphi 2005 메인 메뉴에서 프로젝트 | 선택을

선택해 프로젝트 선택이 나오게 하면 된다.

P a ge 65

Page 66: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Generate XML 문서 생성 체크박스가 체크되었다면 컴파일러가 소스 파일 각각에 대한

XML 파일을 생성한다. 생성된 파일은 소스 파일과 이름이 같지만 .xml 확장자가

포함되어 있다. 소스 파일에 XML 문서화 주석을 포함시킨 경우에는 생성된 XML

파일에 삽입되어 있을 것이다.

XML 문서 생성 기능을 활성화시켜 컴파일해 생성된 XML 파일은 널리 사용되는 문서

생성 도구와 함께 사용할 수 있다. 또는, 자기만의 XML 문자 해석기를 작성해서 이

정보를 원하는 대로 사용할 수도 있다.

P a ge 66

Page 67: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

P a ge 67

The Delphi Debuggers

Borland® Delphi™ 2005

Page 68: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Delphi 디버거

훌륭한 디버거는 성공적인 소프트웨어 엔지니어링을 위한 필수 도구 중에 하나이다.

디버거를 코드를 실행하면서 다양한 변수들과 객체들의 값을 확인하는데 사용하든

아니면 애플리케이션 스택의 컨텐츠를 검사하는데 사용하든 디버거는 블랙박스를

들여다보면서 무슨 일이 일어나고 있는지 알 수 있게 해주는 놀라운 도구이다.

이 섹션에서는 Delphi 2005 가 지원하는 Win32 및 .NET 애플리케이션 디버거를

살펴보고자 한다.

다중 디버거 지원

Delphi 2005 는 세계적인 디버거를 두 개나 가지고 있다. 이 중 하나는 IL 로

컴파일한 .NET 애플리케이션을 위한 것이고 나머지 하나는 기계어로 컴파일한 Win32

애플리케이션을 위한 것이다.

Delphi 2005 는 실행 파일을 작성한 컴파일러의 유형에 따라 어떤 디버거를 사용할지를

자동으로 선택한다. 예를 들어, ASP.NET 웹 애플리케이션, Windows Frorms

애플리케이션, 또는 VCL.NET 애플리케이션 을 디버깅하는 경우, Delphi 2005 는 .NET

디버거를 사용한다. 이와 대조적으로 VCL 클라이언트/서버 애플리케이션, COM

(컴포넌트 객체 모델) 서버, 또는 전통적인 Win32 DLL 을 디버깅하는 경우, Delphi 2005

Win32 디버거를 사용한다.

볼랜드가 컴파일링에 있어 일관된 기능들을 제공하는 것처럼 볼랜드는

애플리케이션이 .NET 또는 Win32 어떠한 컴파일러를 이용하여 컴파일 되었든

풍부하고 믿을만하며 일관된 애플리케이션 오류 수정 도구를 제공한다. 예를 들어,

Delphi 2005 의 디버거를 통해 Breakpoint 를 설정하고, Call Stack 조회, 변수나 객체 값들

변경, 로컬 변수값에 접근하고, 애플리케이션의 현재 쓰레드를 교체, CPU 데이터 조회,

P a ge 68

Page 69: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

이벤트 로그를 살펴볼 수 있을 뿐만 아니라 로딩된 모듈 목록도 확인 할 수 있다. 또한

디버거들을 이용해 기존 프로세스에 접속해 프로세스의 기능을 살펴볼 수 있다.

두 가지 디버거가 제공하는 기능들이 일관되지만 동일하지는 않다. 즉, 각 디버거는

관련 실행 프로그램에 적합한 선택사항들을 제공한다.

예를 들어, Win32 애플리케이션에서는 특정 메모리 주소에 저장된 데이터가 변경될 때

작동하는 데이터 Breakpoint 를 생성할 수 있다. 데이터 Breakpoint 는 .NET 에서는

소용이 없는데 데이터가 저장된 물리적 주소를 예측할 수 없기 때문이다.

반면, .NET 디버거가 보여주는 CPU 창은 .NET 컴파일러가 보낸 IL 을 포함할 수 있다.

Win32 컴파일러는 IL 을 생성하지 않기 때문에 이 기능이 Win32 실행 프로그램에는

적용되지 않는다.

다음 섹션에서는 Delphi 2005 용 디버거에 있는 새로운 기능들의 대한 설명이다.

Exception Dialog Enhancements(예외 대화상자 향상)

Exception 이란 애플리케이션이 실행 시간 중에 생성하는 오류이다. Exception 을

무시하도록 디버거를 구성(또는 디버거를 작동 중지)하지 않았다면 Delphi 2005 IDE

내부로부터 애플리케이션을 실행할 때 예외가 발생하면 다음의 과정이 진행된다. 즉,

프로그램이 실행을 멈추고, 적절한 디버거가 부하되고 디버거 예외 통보 대화상자가

보인다. 다음은 Exception Dialog 박스예이다.

P a ge 69

Page 70: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Delphi 2005 의 Debugger Exception Notification 대화상자에는 여러 가지 새로운

기능들이 포함된다. 프로그램의 실행을 일시적으로 중지여부를 중지 및 계속 버튼을

사용해 디버거를 닫고 실행을 계속할지 선택할 수 있다. 중지 버튼과 계속 버튼은

대화상자 오른쪽 하단에 있다.

이런 선택 기능 외에도 앞 그림의 왼쪽에 나타나는 하나 이상의 체크박스를 볼 수 있다.

이 Ignore the exception type 의 체크박스를 클릭하면 발생한 예외 클래스가 예외 유형에

추가돼 선택 대화상자의 언어 예외 목록을 무시한다. 그 때부터 등록된 예외 클래스와

이 클래스를 상속받는 클래스는 통합된 디버거를 실행하지 않는다.

나중에 이러한 Exception 들이 디버거를 로딩하도록 기본 설정을 복원하고 싶다면

아래의 화면에서의 예처럼 필요한 Exception 종류의 선택을 해제하도록 한다. (메인

메뉴에서 도구 | 선택을 선택해 선택 대화상자를 보이게 한다.)

Debugger Exception Notification 대화상자의 Ignore this exception type 체크박스를

선택하고 Break 버튼을 클릭하면, 다음 그림에서처럼 Debugger Inspector 가 활성화된다.

P a ge 70

Page 71: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Debugger Inspector 통해 발생한 Exception 인스턴스를 자세히 살펴볼 수 있다. 이 경우,

SqlException 객체의 _errors 속성을 더블 클릭해 예외에 대한 세부 정보를 찾아내고

SqlErrorCollection 과 문제에 대한 세부 정보를 포함하고 있는 곳을 검사한다.

발생한 예외가 소스 위치와 일치하지 않으면 디버거 예외 통보 대화상자에 CPU 보기

체크박스가 나타난다. 이 체크박스를 표시하고 Break 를 클릭한 후 CPU 창을

올려놓으면 디버거에 따라 실행 코드, CPU 레지스터, 그 외 정보의 디스어셈블드 뷰를

표시한다.

디스어셈블드 뷰

볼랜드의 CPU 창에 대한 뷰 기능은 Win32 버전과 .NET 버전 모두에 업데이트

되었다. .NET 실행 프로그램에서는 생성 IL 과 IL 로 컴파일된 소스 코드를 볼 수 있는

선택 기능이 있다.

P a ge 71

Page 72: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

다음 그림은 볼랜드 .NET 디버거에 의해 표시된 CPU 보기의 예이다. 이 CPU 보기는

소스 Breakpoint 와 연관되어 있다. 디스어셈블드창(왼쪽 창)에서 하이라이트된 문장은

Breakpoint 이 위치한 Delphi 소스이다. 이 코드 아래에서 .NET 용 Delphi 컴파일러가

내보낸 IL 지시어와 그 결과로 JIT 컴파일러가 생성한 어셈블리 언어 지시어를 볼 수

있다.

디스어셈블드 창의 컨택스느메뉴(오른쪽 마우스 클릭)를 사용해 IL 및 소스 코드가

CPU 보기의 디스어셈블드 창에 나타날지 여부를 제어할 수 있다. 혼합 소스가

체크되면 소스 코드가 나타난다. 혼합 IL 코드가 체크되면 IL 이 나타난다. 이 두 가지

선택기능 모두를 off 로 설정하면 JIT 컴파일러에 의해 생성된 코드만 보여준다.

P a ge 72

Page 73: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Breakpoints(Breakpoint)

Breakpoint 은 통합된 디버거가 작업을 수행하도록 구성할 수 있는 이벤트 반응형

마커이다. 대부분의 경우, 이 작업은 코드의 실행을 일시적으로 중지시키고 통합된

디버거를 올려놓아 실행 환경의 기능들을 검토할 수 있다. 다른 한 편으로, 작업에 코드

실행 중지를 포함하지 않고 그 대신 이벤트 로그로 메시지를 작성하는 등의 작업을

수행할 수 있다.

Delphi 2005 에서는 Breakpoint 에만 적용되는 두 가지 새로운 기능이 선보인다. 두 가지

기능은 다음과 같다.

The Log Call Stack Breakpoint Option(로그 호출 스택 Breakpoint 선택)

소스, 주소, 데이터 Breakpoint 은 이벤트 로그로 호출 스택을 작성하도록 구성할 수

있다. 호출 스택은 현재 호출 연결 고리에 있는 메쏘드, 기능, 절차들을 입력된 순서대로

저장한다. 이벤트 로그로 호출 스택을 작성하는 Breakpoint 은 코드 실행으로 이어지는

이벤트를 더욱 손쉽게 추적하고 문서화할 수 있게 해준다.

P a ge 73

Page 74: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

이벤트 로그에 호출 스택 정보를 작성하기 위해서는 로그 호출 스택 체크박스를

활성화시킨다. 사용 가능한 라디오 버튼을 사용해 전체 호출 스택을 이벤트 로그 또는

특정 프레임으로 작성하도록 Breakpoint 을 구성한다.

대개 호출 스택을 이벤트 로그로 작성할 때 Breakpoint 이 통합된 디버거를 올려놓도록

할 필요는 없다. 만약 그럴 경우에는 중지 체크박스가 이 Breakpoint 에 대해 표시되지

않도록 확인해야 한다.

P a ge 74

Page 75: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Breakpoint Dialog Box 기능 강화(Breakpoint 대화상자 업데이트)

이번 제품에서 Breakpoint 대화상자가 여러 가지 업데이트됐다. 우선, 새로운 툴바를

사용할 수 있게 되어 더욱 쉽게 Breakpoint 을 활성화, 비활성화, 제거, 구성할 수 있다.

또한 Breakpoint Dialog 박스는 여러 가지 Breakpoint 속성들을 편집할 수 있는 기능들을

포함하고 있으며 특정 Breakpoint 속성 대화상자를 보지 않고도 편집이 가능하다.

Breakpoint 대화상자를 사용해 개별 Breakpoint 의 활성, 조건, Pass Count, 그룹 속성을

직접 편집할 수 있다.

다음은 Breakpoint 의 속성 중 Condition 을 대화상자를 이용해 편집하는 그림이다.

P a ge 75

Page 76: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

프로세스로부터의 연결 분리 기능

볼랜드 컴파일러 이전 버전에서는 실행 중인 프로세스에 연결될 수 있었다. 한

프로세스에 연결되면 디버거 기능들을 이용해 프로세스 실행 환경을 검사할 수 있다.

Delphi 2005 에서 실행 중 프로세스 연결 기능이 더욱 강력해졌다. 우선 메뉴의 Run |

Attach 를 선택하면, Delphi 2005 는 프로세스 연결에 어떤 디버거를 선택할지를 묻는다.

볼랜드 .NET 디버거를 선택하면, CLR (common language runtime)가 호스트 하는

프로세스만을 선택 가능하도록 보여준다.

볼랜드 Win32 디버거를 선택하면, 전통적인 Win32 프로세스를 보여준다.

또 한 가지 새로운 기능은 프로세스에서 분리되는 선택 기능이다. 이전에 볼랜드

디버거를 이용해 프로세스에 연결됐다면 Delphi 2005 의 메인 메뉴에서 실행 |

프로세스에서 분리를 선택해 프로세스에서 분리될 수 있다.

Win32 지역 변수를 위한 Evaluator 지원

Delphi 8 와 C#Builder 에서 인기 있는 디버깅 기능은 로컬 변수 대화상자를 이용해 Call

Stack 에서 특정 프레임을 선택하는 기능이다. 이제는 이 기능을 볼랜드 Win32

디버거에서도 사용할 수 있다.

P a ge 76

Page 77: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

볼랜드 Win32 디버거가 로드되면 로컬 변수 대화상자가 보인다. (이 대화상자가

보이지 않으면 메뉴의 View | Debug Window | Local Variable 를 선택하거나 Ctrl-Alt-L

키를 누르면 된다.) 처음에는 디버거가 속해 있는 현재의 기능에 국한된 변수 값들이

나타난다. 호출 연결 고리 초기의 메쏘드 중 하나의 로컬 변수를 보려면 드롭다운

메뉴에서 해당 메쏘드를 선택한다.

P a ge 77

Page 78: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

P a ge 78

Borland® Delphi™ 2005

데이터베이스 개발

Page 79: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

데이터베이스 개발

오래 전부터 Delphi 는 데이터베이스 개발의 최적 환경으로 인정을 받아왔습니다. 새로

출시되는 Delphi2005 는 그 어떤 환경보다 많은 데이터 액세스를 제공한다.

ODBC (open database connectivity)나 OLEDB Providers 와 같은 업계 표준의 데이터

액세스 기술과 더불어, 볼랜드의 광범위한 기술이 Win32 개발에 사용되고 있다. 바로,

BDE (Borland Database Engine), dbExpress, IBExpress (InterBase Express), dbGo for ADO,

MyBase (ClientDataSet)와 볼랜드의 다중 데이터베이스 환경인 DataSnap 를 말한다.

Delphi for .NET 개발자들은 Delphi Win32 개발자와 똑같은 기술을 사용할 수

있다. .NET 에서 Win32 데이터 액세스 기술을 실행할 때는 이른바, 호환성 데이터

액세스 기술이라는 것을 사용한다. 모두 VCL.NET 에 있다.

Delphi .NET 과 C# 개발자들은 ADO.NET 즉 FCL 의 데이터 액세스 프레임워크를 통해

자신의 데이터에 액세스 할 수 있다. 볼랜드는 Delphi .NET 과 C# 개발자 모두가 사용할

수 있도록, ADO.NET 을 위한 사용자 맞춤형 Dta Povider 를 개선하였다. BDP(Borland

Data Provider) 또는 ADO.NET 용 BDP 이라고 불리는 이 기술은 프로그램 설계 때에

실시간으로 변동되는 데이터를 볼 수 있도록 하고, 컴포넌트 디자이너를 더욱 유용하게

만들었으며, 기저 데이터베이스 간의 이동성을 늘리는 등, ADO..NET 에 질적인

변화와 기능의 확장을 제공한다

Delphi 2005 에서 특히 인상적인 것은 Delphi8 과 C#Builder 에서 사용하였던 뛰어난

특성들에, 주목할만한 새로운 데이터베이스 기능을 더했다는 것이다. 새 기능의 추가와

개선사항은 다음 섹션에서 언급하겠습니다.

ADO.NET 용 RAD

ADO.NET 은 데이터베이스 개발과 연관된 .NET 프레임워크의 일부입니다.

ADO.NET 도 상당히 유용하지만 Delphi 개발자들은 ADO.NET 로 어플리케이션을

P a ge 79

Page 80: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

제작하면서 기존의 Delphi 를 사용하면서 이용하였던 편리함을 누리지

못하였다. .NET 용 RAD 은 이에 대한 볼랜드의 대안으로, ADO.NET 의 세계에 Delphi

데이터베이스 개발의 편리함과 속도감을 가져왔습니다.

ADO.NET RAD 는 어플리케이션에서 ADO.NET 을 사용하는 과정을 효율화 하기

위하여 새로운 두 가지 방식으로 제공한다. 하나는 DataSync 와 DataHub 컴포넌트가

융통성 있는 문제 해결 방식을 제공하는 것이다. 이 방식은 데이터 액세스를 위해 업계

표준의 ADO.NET 데이터 제공장치를 사용한다. 두 번째 방식은 RemoteServer

와 RemoteConnection 컴포넌트를 통해 위의 능력을 다른 환경으로 확장하는 것이다. 이

두 가지 기술을 운용하는 컴포넌트는 다음 섹션에서 설명하고 있다.

DataSync 와 DataHub 로 제공하기, 문제 해결하기

Delphi 2005 는 ADO.NET 과 관련된 데이터 액세스 오브젝트 작업을 효율화하는 새로운

컴포넌트 두 가지 즉, DataSync 와 DataHub 를 도입하고 있다. 모든 종류의 ADO.NET

Data Provider 를 사용할 수 있는 이 컴포넌트는 프로그램을 설계할 때 데이터의 뷰를

제공하고, 데이터 액세스를 효율화하며, 업데이트 사항을 데이터베이스로 다시 적용할

수 있다.

DataSync 와 DataHub 컴포넌트와 ADO.NET 개발에 쓰이는 전형적인 클래스의 관계가

다음 그림에 나타나 있다. DataSync 와 DataHub 컴포넌트는 ADO.NET 의 DataSet 와

IDbConnection 클래스 사이의 관계를 조정하기 때문에 개발자는 ADO.NET 만을 이용할

때 제공받지 못했던 서비스를 누릴 수 있다. 설계 시 실시간 데이터 뷰, 다중

데이터베이스 커넥션의 관리, 융통성 있고 효율화된 데이터 문제 해결 서비스 등을

제공받는다

P a ge 80

Page 81: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

DataSync 와 DataHub 는 볼랜드의 새로운 데이터 원격 컴포넌트(data remoting

components)와 함께 쓰이면서 .NET 프레임워크에서의 어플리케이션 생성 과정을

효율화한다. 데이터 원격 컴포넌트는 이 섹션의 후반부에서 언급하겠습니다.

DataSync

DataSync 컴포넌트는 Data Provider 의 목록 즉, DbDataAdapter 에서 비롯한 클래스를

유지한다. DataSync 는 각 데이터 어댑터를 위해 제공자의 이름, DataSync 가 해당

제공자를 위해 생성하는 DataTable 의 이름과 데이터베이스에 적용될

DataTable 수정사항을 계속 추적한다.

DataSync 가 DbDataAdapter 에서 비롯한 클래스를 유지한다는 것은 DataSync 가 볼랜드

Data Provider 뿐만 아니라 모든 종류의 Data Provider 와작업을 할 수 있다는 뜻이다.

따라서 개발자들은 FCL 에 포함된, SqlDataAdapter 와 OdbcDataAdapter 같은 클래스,

IBM.Data.DB2 나 Oracle.Data.Provider 같은 제 3 자 업체의 데이터 어댑터와 함께

DataSync 를 사용할 수 있다.

P a ge 81

Page 82: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

DataHub

DataHub 컴포넌트를 DataSync 와 연결하면 DataSync 의 데이터 어댑터로부터 데이터를

빼내어 DataSet 으로 삽입할 수 있고 수정 작업 내용을 데이터베이스로 되돌려 줄 수

있다. 더군다나, DataHub 는 설계 시에 활성화될 수 있다. DataSync 와 DataHub 가

결합되어 어플리케이션 설계를 하면서 데이터 상을 실시간으로 볼 수 있는 것이다.

BDP 가 아닌 데이터 어댑터에서는 사용할 수 없는 기능입니다.

다음 그림에 나오는 C# 프로젝트에서는 설계 시 DataSet 을 채우기 위해 DataSync 와

DataHub 를 사용하고 있다. 디자이너에 나타나는 폼의 DataGrid 는

DataSync/DataHub 결합을 통해 획득한 데이터를 보여줍니다.

DataHub 의 중요 특성 중의 하나는 수정사항을 데이터베이스로 다시 적용하는 작업을

한 지점에서 지휘할 수 있다는 점이다. DataHub 의 ApplyChanges 메소드를 불러내어

DataSync 에 연결시키면 DataSync 는 관련 DataTables 에서 찾을 수 있는 수정 내용에

근거하여 적합한 질문을 생성하고 실행하여 이 명령에 답한다. 위 그림의 프로젝트에서

P a ge 82

Page 83: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

단 한 줄의 코드가 그 버튼을 클릭하는 행위와 연결된다. 버튼의 캡션은 Resolve

Changes 이며 연결 코드는 dataHub1.ApplyChanges()이다.

RemoteServer 와 RemoteConnection 로 하는 데이터 리모팅(remoting)

.NET 프레임워크의 .NET 리모팅 서비스는 원격오브젝트(remote objects) 작업을

포괄적으로 지원한다. 이 기술의 보다 실용적인 측면은 분산 데이터베이스

애플리케이션 환경을 운영하는 경우에 효율적으로 이용될 수 있다는 것이다. 즉

프로세스의 DataSets 가 서로 다른 프로세스에서 실행중인 어플리케이션으로부터

액세스 될 때, 심지어 해당 어플리케이션이 인터넷으로 연결된 여러 컴퓨터의

프로세스에서 실행할때도 이용 가능 하다. 그러나 .NET 리모팅은 일반적인 서비스이다.

즉, 원격 DataSets 로 작업을 하기 위해 이 기술을 사용할 때 사용자 지정 코드가 많이

필요하다는 의미이다.

Delphi 2005 는 .NET 원격 작업 서비스를 이행하는 두 가지 새로운 컴포넌트로 원격

데이터 작업을 쉽게 만들어주기 때문에 개발자는 어떤 환경에서도 힘들이지 않고

DataSync 와 DataHub 컴포넌트로 작업할 수 있다. 이 두 가지 컴포넌트 즉,

RemoteServer 와 RemoteConnection 은 DataSync 와 DbDataAdapters 가 한 컴퓨터에 있고

DataHub 와 관련 DataSet 컴포넌트가 다른 컴퓨터에 있을 경우에도 어플리케이션을

만들도록 도와줍니다. 다음 그림은 RemoteServer 와 RemoteConnection 이 DataSync 와

P a ge 83

Page 84: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

DataHub 의 기능을 어떻게 확장하는지는 보여줍니다.

RemoteServer

RemoteServer 컴포넌트를 이용하면 특정 프로세스내의 DataSync 객체들을 다른

프로세스내에서 RemoteConnection 컴포넌트를 사용하는 어플리케이션에게 전달 할 수

있다. RemoteServer 와 RemoteConnection 컴포넌트는 HTTP 나 TCP 를 사용하여 소통할

수 있다.

RemoteServer 컴포넌트를 프로젝트에 삽입할 때, 개발자는 DataSync 프로퍼티 정보를

DataSync 인스턴스에 설정하며 이때 DataSync 인스턴스는 개발자가 사용하고자 하는

Provider 정보를 포함한다. 또한 ChannelType (Http 나 Tcp)를 조정하고, Port 를 listen

on 으로 설정하며, URI(클라이언트가 특정 포트에 요구하는 특정 리소스)를 설정할 수

잇습니다.

RemoteConnection

어플리케이션 안의 RemoteConnection 컴포넌트를 사용하면 원격 DataSync 를 통해

데이터를 얻을 수 있다. RemoteConnection 를 삽입한 후에 원격 서버가 있는 곳을

P a ge 84

Page 85: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

나타내는 ChannelType, Port, URL, URI 를 명시한다. 그리고 원격 서버의 특정

Provider 를 가리키도록 RemoteConnection 의 ProviderType 속성을 설정한다.

RemoteConnection 오브젝트를 구성한 후에는 클라이언트 어플리케이션의 DataHub 를

RemoteConnection 으로 연결한다. 이로써 DataHub 는 RemoteConnection 이 첨부된

서버의 DataSync 로 접근할 수 있게 된다.

이 때부터 동일한 프로세스내에 DataSync 가 있는 것처럼 DataHub 를 구성하고 사용할

수 있다. RemoteConnection 과 RemoteServer 오브젝트는 .NET 리모팅을 사용하여 원격

DataSync 와 로컬 DataHub 간에 데이터를 자유롭게 이동시켜준다.

다음 그림의 DataGrid 는 원격 DataSync 를 통해 입수한 데이터를 나타낸다. 재미있게도,

클라이언트 어플리케이션은 Delphi 로 만들어졌지만 서버는 C#로 제작되어있다. 그

반대도 역시 간편하게 구현된다. 물론, 클라이언트와 서버는 같은 언어를 사용해

만들어질 수도 있다.

ADO.NET 용 Borland Data Provider

Borland Data Provider for ADO.NET 의 명확한 클래스와 연관 유형은 ADO.NET 의

데이터 액세스 인터페이스를 실행한다. 줄임말로 ADO.NET BDP 의 일부인 이

P a ge 85

Page 86: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

클래스들은 매우 다양한 데이터베이스 연결을 위한 강력하고 이동 가능한 솔루션을

제공하는 동시에 ADO.NET 의 뛰어난 능력을 더욱 확대한다.

ADO.NETBDP 의 강력한 컴포넌트 편집기를 사용하여 BDP 데이터 액세스 클래스 또는

DataSync, DataHub 처럼 BDP 와 특별히 결합된 클래스 작업을 할 수 있다. DataSync 와

DataHub 가 제공하는 데이터 서비스는 ADO.NET 혼자서 제공하는 서비스보다 한결

풍부한 기능을 제공한다.

Delphi 2005 에서는 ADO.NET BDP 에 대해 매우 많은 업데이트가 이루어졌다. 예를

들어 BDP 는 이제 Oracle 패키지뿐만 아니라 Sybase 데이터베이스에 대한 연결을

지원한다.

새로운 ADO.NET BDP 컴포넌트인 BdpCopyTable 가 되입되었다. 이 컴포넌트를

이용하면 어플리케이션에 테이블과 그 테이블의 1 차 인덱스를 ADO.NET BDP

제공자로부터 다른 제공자로 복사할 수 있다. BDP Data Explorer(다음 섹션에서

설명)에서 제공되는 새로운 실시간 Copy Table 기능과 동일한 기능을 제공한다.

ADO.NET BDP 에 행해진 새로운 업데이트 하나는 눈에 잘 띄지 않습니다. ADO.NET

BDP 가 새로이 추가한 인터페이스는 데이터 베이스 스키마 탐색 메소드를 노출하는

BDP Provider 에게 제공하기 위함이다. BDP 는 이 인터페이스 실행을 사용하여

ADO.NET 단독으로는 지원하지 않는 데이터베이스 오브젝트 구조에 대한 정보를

발견한다.

이 비밀스런 인터페이스로 인해 BDP 는 테이블을 복사하고, 저장된 절차 매개 변수를

발견하고, 데이터를 이동할 수 있다. 이 특성들은 어플리케이션 설계를 할 때에 향상된

Data Explorer 를 통해 만날 수 있다.

BDP Data Explorer

Data Explorer 는 Oracle, DB2, MS SQL Server, InterBase, MS Access 등의 ADO.NET BDP

지원 데이터베이스를 통해 ADO.NET 작업을 할 수 있도록 해 줍니다. Data Explorer 로

P a ge 86

Page 87: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

테이블, 뷰, Stored Procudure 를 Delphi 2005 IDE 안에서 검색할 수 있다. Data

Explorer 는 또한 BdpConnections , BdpDataAdapters 와 같은 BDP 관련 데이터 액세스

컴포넌트를 쉽게 창조하고 구성할 수 있도록 도와준다.

Data Explorer 는 Delphi 2005 에서 많은 부분이 업그레이드 되었다. Data Explorer 의 새

특징으로 인해 개발자는 데이터베이스 테이블을 생성하고, 수정하고, 드롭할 수 있으며

Stored Procedure 를 시험하고, ADO.NET BDP 지원 데이터베이스 간에 데이터를 복사할

수 있다. 이 기능들은 다음 섹션에서 자세히 설명된다.

테이블 관리

Data Explorer 를 이용하면 Delphi 2005 의 IDE 를 벗어나지 않고도 데이터베이스

테이블을 생성, 수정, 제거할 수 있다. ADO.NET BDP 의 스키마 발견 서비스를 통해

사용할 수 있는 특성이다. 이 서비스는 Delphi 2005 에 처음 등장하고 있으며 기존

ADO.NET 의 강력한 기능을 뛰어 넘는다.

새 테이블을 생성하려면 Data Explorer 에서 연결(connection)을 연다. 그리고, Tables

노드에서 오른쪽 버튼을 클릭하여 New Table 을 선택한다.

Delphi 2005 에서는 Table Designer 를 사용하여 새 테이블의 구조를 정의할 수 있다.

현존 구조를 수정할 때도 같은 디자이너를 사용할 수 있다.

P a ge 87

Page 88: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

테이블의 구조를 수정하려면, 열려 있는 연결에서 Tables 노드 밑의 테이블 이름을

오른쪽 버튼으로 클릭하고 Alter 를 선택한다. (테이블을 삭제하려면 같은 콘텍스트

메뉴에서 Drop 을 선택한다.) 다음 그림은 PROJECT 라는 이름의 테이블이 Table

Designer 에서 바뀌는 것을 보여준다.

위의 그림을 보면, 해당 데이터 유형의 드롭다운 목록을 사용하여 테이블에서 필드의

데이터 유형을 정의하거나 바꿀 수 있음을 알 수 있다. 이 정보 역시 ADO.NET BDP 의

스키마 발견 기능을 통해 얻을 수 있다.

데이터 마이그레이션

Data Explorer 를 사용하면 복사와 붙여넣기 기능을 써서 ADO.NET BDP

데이터베이스에서 다른 데이터베이스로 테이블을 쉽게 마이그레이션 할 수 있다.

테이블을 복사할 때에는 테이블의 구조, 데이터, 1 차 인덱스를 복사한다.

테이블을 복사하려면 Data Explorer 에서 테이블을 마우스 오른쪽 버튼으로 클릭하고

Copy 를 선택한다. 그리고 테이블을 붙여 넣으려는 연결을 선택하여 마우스 오른쪽

버튼으로 클릭하고 Paste 를 선택한다. 다음 그림처럼 New Table Name 대화 상자가

나타날 것이다.

P a ge 88

Page 89: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

복사한 테이블의 이름을 입력하고 OK 를 클릭한다.

개발자는 Delphi 2005 의 컴포넌트를 사용하여 어플리케이션 최종 사용자에게 같은

데이터 마이그레이션 능력을 부여할 수 있다.

Stored Procedure 시험하기

Stored Procedure 를 시험하는 기능은 Data Explorer 의 개선사항 가운데에서도 매우

중요한다. Stored Procedure 를 시험하려면, Data Explorer 에서 시험하고자 하는 Stored

Procedure 의 이름을 마우스 오른쪽 버튼으로 클릭하고 View Parameters 를 선택한다.

Delphi 2005 는 Stored Procedure 의 매개변수를 살펴보면서, 각 매개변수의 데이터 유형,

방향, 이름을 결정한다. 개발자는 Stored Procedure 를 시험하기 위해 각각의 입력

매개변수에 값을 부여하고, Stored Procedure 창의 왼쪽 위에 나타나는 Execute(실행)

버튼을 클릭한다. Delphi 2005 는 Stored Procedure 를 실행한 후에 Stored Procedure 창

아래의 데이터 그리드에 출력 매개변수(저장된 절차가 출력 매개변수를 가진

경우에)를 나타낸다.

다음 그림은 결과가 나타나는 Stored Procedure 창이다. 결과는 1003 번 소비자의 메일링

라벨(mailing label 우편물 겉봉의 이름과 주소 정보) 라인을 보여주고 있다.

P a ge 89

Page 90: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Delphi2005 로 리포트 작성하기

보고서는 데이터를 정보로 전환하기 위해 사용하는 도구이다. Delphi 2005 에는 강력한

보고서 작성 툴이 두 개 있다. Delphi 2005 는 Delphi 나 C#로 작성한 .NET

어플리케이션을 위해 Business Objects 에서 나온 for Borland Delphi 용 Crystal Report 를

마련하였다. Delphi VCL 어플리케이션 (VCL Forms (Win32) 와 VCL.NET 모두)을

위해서 Nevrona Designs 사의 Rave Reports Borland Edition 을 포함하였다.

.NET 데이터 액세스 컴포넌트를 위한 VCL

.NET Framework 을 위한 Delphi 8 은 Win32 Delphi 와 호환 사용할 수 있는 데이터

액세스 장치에 대한 포괄적인 지원으로 유명한다. Delphi 2005 에서는 이러한 지원이

한층 확대되었다.

가장 두드러지는 추가 사항 가운데 하나는 dbGo ADO 에 대한 지원입니다. dbGo

ADO 는 표준 VCL TDataSet 인터페이스를 실행하는 컴포넌트의 집합체입니다.

개발자는 설치된 OLEDB Providers 를 사용하여 표준 VCL TDataSet 인터페이스를 통해

P a ge 90

Page 91: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

ActiveX Data Objects 와 교류할 수 있다. Delphi 2005 는 VCL.NET 에 dbGo for ADO

컴포넌트의 장점을 완벽하게 포함하였다.

VCL.NET 에 추가된 호환성 컴포넌트에는 TStoredProc, TSimpleDataSet, TNestedDataSet,

TUpdateSql 이 있다.

DataSnap 클라이언트를 위해서도 호환성 컴포넌트가 추가되었다. DataSnap 은

볼랜드의 다층 아키텍처로서 경량 클라이언트와 연관 어플리케이션 서버를 만들기

위한 것이다. 새로운 VCL.NET 컴포넌트에는 TConnectionBroker, TSharedConnection,

TLocalConnection 이 있다.

ADO.NET 커넥션 스트링 편집기

Delphi 2005 는 SQL Connection, ODBC Connection, OLEDB Connection 컴포넌트를 위해

ADO.NET 연결 스트링 편집기를 제공한다. (예전에는 ADO.NET BDP 를 사용하지 않는

한, ADO.NET 연결을 위해 연결 스트링을 구축하기 위해 일반적으로 .NET Data

Provider 를 위한 문서를 참조해야 하였다.)

Delphi 2005 IDE 에서 이 컴포넌트 가운데 하나를 구성해야 할 때는 Object

Inspector 에서 ConnectionString 속성을 선택하고 (…) 버튼을 클릭하여 Connection String

편집기가 나타나도록 한다. 다음 그림은 SqlConnection ConnectionString 속성을 위한

Connection String 편집기의 모습이다.

P a ge 91

Page 92: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

P a ge 92

Page 93: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

P a ge 93

웹 과 인터넷 개발

Borland® Delphi™ 2005

Page 94: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

웹/인터넷 개발

컴포넌트에 기초하고, 이벤트 구동 툴을 제공하는 최초의 IDE 가운데 하나인 Delphi 를

사용하여, 개발자들은 월드와이드웹을 위한 역동적인 웹 사이트를 제작하였다.

Delphi 는 웹 서비스 서버와 클라이언트를 만들 수 있도록 고수준 마법사, 툴, 서비스를

지원한 최초의 개발 툴 가운데 하나이다.

볼랜드는 Delphi 2005 를 통해 표준 기반 웹 어플리케이션 제작을 위한 최고의 툴을

계속 지향하고자 한다. Delphi 2005 는 인터넷 기반 어플리케이션을 창조하고 배치할 수

있는 옵션을 더욱 풍부하게 제공한다. Delphi 2005 에 포함된 기술에는 ASP.NET Web

Applications, ASP.NET Web Service Applications, Win32 Web Service servers, Win32 Web

Service clients, Web Broker Web server extensions, WebSnap Web server extensions, Win32

와 .NET IntraWeb applications 이 있다. 그 어떤 환경도 인터넷 개발에 이토록 풍부한

지원을 제공해 주지 못한다.

볼랜드는 웹 기반 어플리케이션 제작을 지원하는 많은 툴을 업데이트하고 개선하였다.

예를 들어, 위지위그(what-you-see-is-what-you-get , wysisyg) 디자이너와 Web Forms

디자이너의 드래그앤드드롭 능력이 한층 업데이트 되었다. 뿐만 아니라, 새로운 기능과

컴포넌트가 개선되었다. 다음 섹션에서는 Delphi 2005 에 새로 등장하거나 개선된 웹과

인터넷 관련 기능을 설명한다.

Deployment Manager(배치 관리 프로그램)

이제는 ASP.NET Web applications, ASP.NET Web Service Applications, IntraWeb (Win32

와 .NET 모두)어플리케이션을 Delphi 2005 의 Project Manager 로부터 직접 배치할 수

있다. Project Manager 에서 Deployment 노드를 마우스 오른쪽 버튼으로 클릭하여

콘텍스트 메뉴에서 New Deployment 를 선택한다.

P a ge 94

Page 95: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

XCOPY 나 FTP (파일 전송 프로토콜, file transfer protocol)을 사용하여 어플리케이션의

여러 파일을 배치할 수 있다. 파일을 복사하여 붙여넣기를 하고 싶은 디렉터리가 로컬

컴퓨터에 보일 때에는 XCOPY 을 사용한다. 예를 들어, 웹 서버가 배치 컴퓨터와 같은

로컬 영역 네트워크에 있을 때에는 XCOPY 를 사용할 수 있다.

파일을 배치하려는 장소가 로컬 네트워크가 아닌 인터넷에 존재하는 경우에는 FTP 가

유용한다. FTP 를 사용하여 배치하려면 파일을 배치하려는 서버가 FTP 서버를

실행하고 있어야 한다.

파일을 배치할 디렉터리나 FTP 서버를 선택한 후에 배치할 파일을 선택하여 마우스

오른쪽 버튼으로 클릭하고 Copy Selected Files to Destination 또는 Copy All New and

Modified Files to Destination 을 선택한다.

P a ge 95

Page 96: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

배치를 하고 나면 그 내용이 Project Manager 의 Deployment 노드 아래에 새로운 노드로

나타납니다. 이런 식으로 만들어진 배치 구성을 활용한다. 해당 노드를 선택하면

파일의 일부 또는 전부를 재배치할 수 있다. 웹 관련 프로젝트를 위한 다중 배치 구성을

관리할 수도 있다.

P a ge 96

Page 97: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Web Forms Designer 에서 HTML 편집하기

코드 또는 위지위그에서 HTML 을 사용하여 ASP.NET 어플리케이션에 생성되는 웹

페이지를 기술할 수 있다. Delphi 2005 의 HTML 생성, 수정에 관한 많은 옵션으로

다양한 ASP.NET 페이지를 정의할 수 있다. 다음 그림은 ASP.NET 웹 어플리케이션

디자이너를 써서 설계한 로그인 페이지를 보여준다.

P a ge 97

Page 98: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

HTML Controls, Web Controls, DB Web Controls 를 Tool Palette 에서 Web Forms

디자이너로 드래그하면 HTML 이 프로젝트의 관련 .aspx 파일로 삽입됩니다. Web

Forms 디자이너가 생성한 내용을 수정하여.aspx 파일을 직접 편집할 수 있으며 개발자

고유의 HTML 을 삽입할 수도 있다. 다음 그림은 편집 가능 .aspx 파일의 일부이다. 이

파일은 위의 로그인 페이지가 설계될 때 만들어진 것이다.

P a ge 98

Page 99: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

템플릿 편집

Delphi 2005 의 Web Form 디자이너를 이용하면 폼 디자이너에서 템플릿 편집을 할 수

있다. DataList 와 같은 특정 웹 컨트롤은 헤더, 푸터(footer), 표시된 항목을 포맷할 수

있는 템플릿을 지원한다. Delphi 2005 Web Form 디자이너의 템플릿을 편집하려면

템플릿 지원 컨트롤을 마우스 오른쪽 버튼으로 클릭하고 편집하려는 템플릿을

선택한다. 다음 그림은 DataList 를 선택할 때 나타나는 컨텍스트 메뉴이다.

P a ge 99

Page 100: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

편집하려는 템플릿의 유형을 선택하면 디자이너가 컨트롤을 다시 편집하므로

개발자는 템플릿 텍스트를 직접 입력할 수 있다. 다음 그림은 편집할 수 있는 Item

템플릿의 DataList 이다.

컨트롤의 템플릿 편집 작업을 마치면 컨트롤을 마우스 오른쪽 버튼으로 클릭하여 End

Template Editing 을 선택한다.

코드 완료와 구문 강조 기능 업데이트

Delphi 는 코드 완료와 HTML 의 구문 강조 기능을 제공하여왔으며 Delphi 2005 의 해당

기능은 더욱 확장되었다. 코드 완료와 구문 강조 기능은 cascading style sheets, CSS 와

XHTML 에도 이용 할 수 있다.

Tag 편집 기능 업데이트

Tag 편집기도 Delphi 2005 에서 향상되었다. Tag 편집기는 Web Form Designer 아래에

나타나는 작은 창으로, 컨텍스트 메뉴가 추가되고 편집이 가능한 뷰를 웹 페이지의

기초가 되는 HTML 에 대해 제공한다. 이전 Tag 편집기에서는 내부 HTML 편집만

가능했지만 Delphi 2005 에서는 외부 HTML 도 편집할 수 있다.

다음 그림은 Tag 편집기 안에서 편집되는 <td> 태그의 속성을 보여줍니다. Code

Insight 와 구문 강조 기능을 확인한다.

P a ge 10 0

Page 101: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

ASP.NET Project Manager 추가 지원

ASP.NET 웹 어플리케이션을 실행하려면 다른 유형의 어플리케이션보다 외부 파일에

자주 의존하게 된다. 예를 들어 .aspx 파일에 있는 HTML 은 <IMG>(이미지) 태그를

포함할 수 있으나, 이미지 자체는 .jpg 나 .gif 리소스이며 이 리소스들은 <IMG> 요소의

src 속성에 위치하는 것이 일반적입니다..

이 섹션의 위 부분에서 설명한 어플리케이션 배치 지원과 더불어, ASP.NET

어플리케이션에서 사용하는 외부 자원을 보다 잘 관리할 수 있도록 Project Manager 를

업데이트 하였다. 예를 들어 Project Manager 에서 ASP.NET 프로젝트를 마우스

오른쪽으로 클릭하고 New | Folder 를 선택할 수 있다. 새로 추가한 폴더는 ASP.NET

어플리케이션 폴더의 서브 디렉터리가 될 것이다.

새 폴더를 마우스 오른쪽 버튼으로 클릭하고 Add 를 선택한다. 이 때 나타나는

브라우저 대화 상자에서 이미지, 캐스케이드 스타일 시트, JavaScript 파일 등과 같은

지원 파일을 해당 폴더에 추가할 수 있다. 이 폴더에 추가한 리소스는 배치 구성에

포함할 수 있다.

Project Manager 의 개선 덕분에 ASP.NET 어플리케이션의 파일을 관리하기 위해 Delphi

2005 를 벗어날 필요가 없게 되었다.

P a ge 10 1

Page 102: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

새롭고 향상된 DB 웹 컨트롤

DB 웹 컨트롤은 데이터 인식 특별 웹 컨트롤이며 ASP.NET 어플리케이션에서

사용한다. .NET 프레임워크에 따라다니는 Web 컨트롤처럼, DB 웹 컨트롤을 Web

Forms 에 추가하면 이 컨트롤은 실행 시 요구 브라우저에 제공되는 컨텐츠의 생성에

참여한다.

FCL 의 표준 웹 컨트롤과 비교하면 DB 웹 컨트롤은 ASP.NET 어플리케이션을 위해

한층 개선된 서비스를 제공하여 훌륭한 웹 사이트를 더욱 빠르고 쉽게 만들 수 있도록

돕습니다. DB 웹 컨트롤은 처음 쓰는 사람들을 위해 데이터를 인식하며 많은 경우,

해당 데이터에 대한 자동 읽기/쓰기 액세스를 제공한다. 그 결과, 복잡한 웹 기반

어플리케이션 제작 과정이 매우 단순해집니다.

새 DB 웹 컨트롤

볼랜드는 Delphi 2005 에 DB 웹 컨트롤을 새로 추가하고 많은 점을 개선하였습니다.

Delphi 2005 에 새로 도입한 DB Web 컨트롤은 DBWebAggregateControl,

DBWebNavigatorExtender, DBWebSound, DBWebVideo 들이 있다..

DBWebAggregateControl 은 DBWebTextBox 와 비슷하지만 Sum, Min, Count 와 같은 총

수치를 자동으로 계산하고 표시한다.

DBWebSound 와 DBWebVideo 컨트롤로 소리와 영상을 ASP.NET 어플리케이션에 쉽게

추가할 수 있다. 소리와 영상 리소스는 데이터베이스의 blob(binary large object) 필드에

수용할 수 있다. 또는, 데이터베이스 필드가 외부 소리나 영상 리소스의 URL 을

지정하는 스트링을 수용 할 수도 있다.

DBWebNavigationExtender 로 표준 웹 컨트롤 버튼을 구성하여, 추가 코드 없이

ADO.NET 데이터 소스를 위한 BDP 에 대해 네비게이션 작동을 수행할 수 있다.

DBWebNavigationExtender 컴포넌트를 Web Form 에 놓으면 모든 Button 은

DBDataSource, TableName, DataSourceAction 속성을 추가로 표시할 것이다.

P a ge 10 2

Page 103: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

DataSourceAction 속성은 그 버튼이 DBDataSource 를 통해 엑세스한 테이블에서 어떤

유형의 네비게이션 실행을 수행할 것인지 나타냅니다.

DB 웹 컨트롤 업데이트

Delphi 2005 에서는 DB 웹 컨트롤 두 개가 업데이트 되었다. DBWebImage 와

DBWebDataSource 입니다. DBWebImage 는 위에서 설명한 DBWebSound 와

DBWebVideo 컨트롤의 특성을 수용하기 위해 업데이트 되었다. DBWebImage 는

표시하려는 이미지가 담긴 기저 데이터베이스의 bolb 필드나 이미지 리소스의 URL 을

수용하는 스트링 필드에 링크할 수 있다. 예전 제품의 DBWebImage 컨트롤은

표시하려는 이미지가 담긴 bolb 필드만 참조할 수 있었습니다.

두 번째로, DBWebDataSource 가 업데이트 되었다. 자동 업데이트, 주-세부 관계(master-

detail relationships)를 위한 캐스케이딩 업데이트, 캐스케이딩 삭제를 지원하기 위해

DBWebDataSource 를 구성할 수 있다.

DBWebDataSource 는 XML 파일을 지원하여 DB 웹 컨트롤로 사용하는 데이터를

저장하도록 한다. 여러 가지 흥미로운 방식으로 이 기능을 쓸 수 있다. 예를 들어,

개발을 하는 동안 기저 데이터베이스 대신에 XML 파일을 사용할 수 있다. 이는

데이터베이스 연결의 편리한 대용물이 됩니다. 또, XML 파일을 로컬, 읽기 전용 데이터

소스로 사용하여 이미지나 다른 리소스 같은 고정적 정보를 관리할 수 있다. 사용자

인증을 쓰고 있다면 DBWebDataSource 을 구성하여 개별 유저만의 XML 파일 이름을

생성할 수도 있다. 이 XML 파일은 각 사용자 에 대한 기초 데이터를 세션과 세션

사이에 지속시키는 데 쓸 수 있다.

IntraWeb 지원

IntraWeb 은 정교한 RAD 컴포넌트 기반 웹 개발 툴로서 웹 페이지의 요구와 요구

사이에 서버 상태를 자동으로 관리한다. 그렇기 때문에, 일반적인 클라이언트

어플리케이션에 전형적인 상태 유지가 필요한 웹 사이트를 만드는 데 있어 ASP. NET

보다 IntraWeb 이 효율적입니다.

P a ge 10 3

Page 104: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

ASP.NET 웹 사이트 개발에 비해 IntraWeb 을 더욱 매력적인 대안으로 만드는 기능은

여러 가지입니다. 이미 언급했듯이 IntraWeb 은 웹 페이지 요구 사이에 편리한 여러

수준의 상태 유지를 지원한다. 어플리케이션 수준에서는 TIWServerController 를 써서

세션 간에 오브젝트를 공유할 수 있다.

세션 수준에서 각 IntraWeb 세션은 지속적인 데이터 모듈을 가질 수 있다. 이 모듈은

세션이 진행되는 동안 메모리에 남아 있다. 특정 엔드 유저를 위해 둘 이상의 웹

페이지에서 사용하는 오브젝트와 데이터를 저장하기 위해 이 모듈을 사용할 수 있다.

ASP.NET 웹 폼은 각 페이지의 요구에 따라 생성되고 폐지됩니다. 이와 달리 IntraWeb

페이지는 요구 사이에도 서버에 지속적으로 존재하며 페이지가 더 이상 필요하지 않을

때에야 폐지됩니다.

IntraWeb 의 또 다른 매력적인 면은 “Delphi”적인 작업방식입니다. VCL 또는 VCL.NET

어플리케이션을 설계할 때처럼 Tool Palette 에서 Delphi 컴포넌트를 가져와 사용자

인터페이스를 설계할 수 있다. 차이점은 이 컴포넌트가 IntraWeb 폼 렌더링 과정에

참여하여 HTML, WAP (wireless access protocol), 또는 HTML 3.2 을 발행하는 것이다.

IntraWeb 어플리케이션을 배치하는 방법은 한 가지가 아닙니다. IntraWeb

어플리케이션은 ISAPI (Internet Server application programming interface) 웹 서버

확장자로서 배치되거나 자신을 수용한 HTTP 서버로서 사용될 수 있다. 다시 말해서,

IIS (Internet Information Server)를 이미 실행하고 있었다면 IIS 함께 IntraWeb

어플리케이션을 사용할 수 있다. 웹 서버를 가지고 있지 않다면, 자기가 만든 IntraWeb

어플리케이션이 웹 서버가 되도록 설계할 수 있다. 이렇게 하면 웹 브라우저나

HTTP 프로토콜을 쓰는 웹 사용 가능 장치에 웹 페이지를 서브할 수 있는 모든 기능을

부여할 수 있다.

다음 그림은 Delphi 2005 에서 설계하는 IntraWeb 웹 페이지를 보여줍니다. ASP.NET 과

달리 코드 뒤에 .aspx 파일이 제거되었다. 그 대신, 페이지 제작에 사용되는 IntraWeb

컴포넌트가 적절한 HTTP 웹 페이지 요구에 대해 적절한 HTML 로 실행 시에 응답한다.

P a ge 10 4

Page 105: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Delphi 2005 는 Win32 Delphi 와 IntraWeb 의 Delphi for .NET 버전을 수록하였다.

P a ge 10 5

Page 106: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

P a ge 10 6

Borland® Delphi™ 2005

데이터베이스 개발

Page 107: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

데이터베이스 개발

오래 전부터 Delphi 는 데이터베이스 개발의 최적 환경으로 인정을 받아왔습니다. 새로

출시되는 Delphi2005 는 그 어떤 환경보다 많은 데이터 액세스를 제공한다.

ODBC (open database connectivity)나 OLEDB Providers 와 같은 업계 표준의 데이터

액세스 기술과 더불어, 볼랜드의 광범위한 기술이 Win32 개발에 사용되고 있다. 바로,

BDE (Borland Database Engine), dbExpress, IBExpress (InterBase Express), dbGo for ADO,

MyBase (ClientDataSet)와 볼랜드의 다중 데이터베이스 환경인 DataSnap 를 말한다.

Delphi for .NET 개발자들은 Delphi Win32 개발자와 똑같은 기술을 사용할 수

있다. .NET 에서 Win32 데이터 액세스 기술을 실행할 때는 이른바, 호환성 데이터

액세스 기술이라는 것을 사용한다. 모두 VCL.NET 에 있다.

Delphi .NET 과 C# 개발자들은 ADO.NET 즉 FCL 의 데이터 액세스 프레임워크를 통해

자신의 데이터에 액세스 할 수 있다. 볼랜드는 Delphi .NET 과 C# 개발자 모두가 사용할

수 있도록, ADO.NET 을 위한 사용자 맞춤형 Dta Povider 를 개선하였다. BDP(Borland

Data Provider) 또는 ADO.NET 용 BDP 이라고 불리는 이 기술은 프로그램 설계 때에

실시간으로 변동되는 데이터를 볼 수 있도록 하고, 컴포넌트 디자이너를 더욱 유용하게

만들었으며, 기저 데이터베이스 간의 이동성을 늘리는 등, ADO..NET 에 질적인

변화와 기능의 확장을 제공한다

Delphi 2005 에서 특히 인상적인 것은 Delphi8 과 C#Builder 에서 사용하였던 뛰어난

특성들에, 주목할만한 새로운 데이터베이스 기능을 더했다는 것이다. 새 기능의 추가와

개선사항은 다음 섹션에서 언급하겠습니다.

ADO.NET 용 RAD

ADO.NET 은 데이터베이스 개발과 연관된 .NET 프레임워크의 일부입니다.

ADO.NET 도 상당히 유용하지만 Delphi 개발자들은 ADO.NET 로 어플리케이션을

P a ge 10 7

Page 108: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

제작하면서 기존의 Delphi 를 사용하면서 이용하였던 편리함을 누리지

못하였다. .NET 용 RAD 은 이에 대한 볼랜드의 대안으로, ADO.NET 의 세계에 Delphi

데이터베이스 개발의 편리함과 속도감을 가져왔습니다.

ADO.NET RAD 는 어플리케이션에서 ADO.NET 을 사용하는 과정을 효율화 하기

위하여 새로운 두 가지 방식으로 제공한다. 하나는 DataSync 와 DataHub 컴포넌트가

융통성 있는 문제 해결 방식을 제공하는 것이다. 이 방식은 데이터 액세스를 위해 업계

표준의 ADO.NET 데이터 제공장치를 사용한다. 두 번째 방식은 RemoteServer

와 RemoteConnection 컴포넌트를 통해 위의 능력을 다른 환경으로 확장하는 것이다. 이

두 가지 기술을 운용하는 컴포넌트는 다음 섹션에서 설명하고 있다.

DataSync 와 DataHub 로 제공하기, 문제 해결하기

Delphi 2005 는 ADO.NET 과 관련된 데이터 액세스 오브젝트 작업을 효율화하는 새로운

컴포넌트 두 가지 즉, DataSync 와 DataHub 를 도입하고 있다. 모든 종류의 ADO.NET

Data Provider 를 사용할 수 있는 이 컴포넌트는 프로그램을 설계할 때 데이터의 뷰를

제공하고, 데이터 액세스를 효율화하며, 업데이트 사항을 데이터베이스로 다시 적용할

수 있다.

DataSync 와 DataHub 컴포넌트와 ADO.NET 개발에 쓰이는 전형적인 클래스의 관계가

다음 그림에 나타나 있다. DataSync 와 DataHub 컴포넌트는 ADO.NET 의 DataSet 와

IDbConnection 클래스 사이의 관계를 조정하기 때문에 개발자는 ADO.NET 만을 이용할

때 제공받지 못했던 서비스를 누릴 수 있다. 설계 시 실시간 데이터 뷰, 다중

데이터베이스 커넥션의 관리, 융통성 있고 효율화된 데이터 문제 해결 서비스 등을

제공받는다

P a ge 10 8

Page 109: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

DataSync 와 DataHub 는 볼랜드의 새로운 데이터 원격 컴포넌트(data remoting

components)와 함께 쓰이면서 .NET 프레임워크에서의 어플리케이션 생성 과정을

효율화한다. 데이터 원격 컴포넌트는 이 섹션의 후반부에서 언급하겠습니다.

DataSync

DataSync 컴포넌트는 Data Provider 의 목록 즉, DbDataAdapter 에서 비롯한 클래스를

유지한다. DataSync 는 각 데이터 어댑터를 위해 제공자의 이름, DataSync 가 해당

제공자를 위해 생성하는 DataTable 의 이름과 데이터베이스에 적용될

DataTable 수정사항을 계속 추적한다.

DataSync 가 DbDataAdapter 에서 비롯한 클래스를 유지한다는 것은 DataSync 가 볼랜드

Data Provider 뿐만 아니라 모든 종류의 Data Provider 와작업을 할 수 있다는 뜻이다.

따라서 개발자들은 FCL 에 포함된, SqlDataAdapter 와 OdbcDataAdapter 같은 클래스,

IBM.Data.DB2 나 Oracle.Data.Provider 같은 제 3 자 업체의 데이터 어댑터와 함께

DataSync 를 사용할 수 있다.

P a ge 10 9

Page 110: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

DataHub

DataHub 컴포넌트를 DataSync 와 연결하면 DataSync 의 데이터 어댑터로부터 데이터를

빼내어 DataSet 으로 삽입할 수 있고 수정 작업 내용을 데이터베이스로 되돌려 줄 수

있다. 더군다나, DataHub 는 설계 시에 활성화될 수 있다. DataSync 와 DataHub 가

결합되어 어플리케이션 설계를 하면서 데이터 상을 실시간으로 볼 수 있는 것이다.

BDP 가 아닌 데이터 어댑터에서는 사용할 수 없는 기능입니다.

다음 그림에 나오는 C# 프로젝트에서는 설계 시 DataSet 을 채우기 위해 DataSync 와

DataHub 를 사용하고 있다. 디자이너에 나타나는 폼의 DataGrid 는

DataSync/DataHub 결합을 통해 획득한 데이터를 보여줍니다.

DataHub 의 중요 특성 중의 하나는 수정사항을 데이터베이스로 다시 적용하는 작업을

한 지점에서 지휘할 수 있다는 점이다. DataHub 의 ApplyChanges 메소드를 불러내어

DataSync 에 연결시키면 DataSync 는 관련 DataTables 에서 찾을 수 있는 수정 내용에

근거하여 적합한 질문을 생성하고 실행하여 이 명령에 답한다. 위 그림의 프로젝트에서

P a ge 11 0

Page 111: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

단 한 줄의 코드가 그 버튼을 클릭하는 행위와 연결된다. 버튼의 캡션은 Resolve

Changes 이며 연결 코드는 dataHub1.ApplyChanges()이다.

RemoteServer 와 RemoteConnection 로 하는 데이터 리모팅(remoting)

.NET 프레임워크의 .NET 리모팅 서비스는 원격오브젝트(remote objects) 작업을

포괄적으로 지원한다. 이 기술의 보다 실용적인 측면은 분산 데이터베이스

애플리케이션 환경을 운영하는 경우에 효율적으로 이용될 수 있다는 것이다. 즉

프로세스의 DataSets 가 서로 다른 프로세스에서 실행중인 어플리케이션으로부터

액세스 될 때, 심지어 해당 어플리케이션이 인터넷으로 연결된 여러 컴퓨터의

프로세스에서 실행할때도 이용 가능 하다. 그러나 .NET 리모팅은 일반적인 서비스이다.

즉, 원격 DataSets 로 작업을 하기 위해 이 기술을 사용할 때 사용자 지정 코드가 많이

필요하다는 의미이다.

Delphi 2005 는 .NET 원격 작업 서비스를 이행하는 두 가지 새로운 컴포넌트로 원격

데이터 작업을 쉽게 만들어주기 때문에 개발자는 어떤 환경에서도 힘들이지 않고

DataSync 와 DataHub 컴포넌트로 작업할 수 있다. 이 두 가지 컴포넌트 즉,

RemoteServer 와 RemoteConnection 은 DataSync 와 DbDataAdapters 가 한 컴퓨터에 있고

DataHub 와 관련 DataSet 컴포넌트가 다른 컴퓨터에 있을 경우에도 어플리케이션을

만들도록 도와줍니다. 다음 그림은 RemoteServer 와 RemoteConnection 이 DataSync 와

P a ge 11 1

Page 112: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

DataHub 의 기능을 어떻게 확장하는지는 보여줍니다.

RemoteServer

RemoteServer 컴포넌트를 이용하면 특정 프로세스내의 DataSync 객체들을 다른

프로세스내에서 RemoteConnection 컴포넌트를 사용하는 어플리케이션에게 전달 할 수

있다. RemoteServer 와 RemoteConnection 컴포넌트는 HTTP 나 TCP 를 사용하여 소통할

수 있다.

RemoteServer 컴포넌트를 프로젝트에 삽입할 때, 개발자는 DataSync 프로퍼티 정보를

DataSync 인스턴스에 설정하며 이때 DataSync 인스턴스는 개발자가 사용하고자 하는

Provider 정보를 포함한다. 또한 ChannelType (Http 나 Tcp)를 조정하고, Port 를 listen

on 으로 설정하며, URI(클라이언트가 특정 포트에 요구하는 특정 리소스)를 설정할 수

잇습니다.

RemoteConnection

어플리케이션 안의 RemoteConnection 컴포넌트를 사용하면 원격 DataSync 를 통해

데이터를 얻을 수 있다. RemoteConnection 를 삽입한 후에 원격 서버가 있는 곳을

P a ge 11 2

Page 113: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

나타내는 ChannelType, Port, URL, URI 를 명시한다. 그리고 원격 서버의 특정

Provider 를 가리키도록 RemoteConnection 의 ProviderType 속성을 설정한다.

RemoteConnection 오브젝트를 구성한 후에는 클라이언트 어플리케이션의 DataHub 를

RemoteConnection 으로 연결한다. 이로써 DataHub 는 RemoteConnection 이 첨부된

서버의 DataSync 로 접근할 수 있게 된다.

이 때부터 동일한 프로세스내에 DataSync 가 있는 것처럼 DataHub 를 구성하고 사용할

수 있다. RemoteConnection 과 RemoteServer 오브젝트는 .NET 리모팅을 사용하여 원격

DataSync 와 로컬 DataHub 간에 데이터를 자유롭게 이동시켜준다.

다음 그림의 DataGrid 는 원격 DataSync 를 통해 입수한 데이터를 나타낸다. 재미있게도,

클라이언트 어플리케이션은 Delphi 로 만들어졌지만 서버는 C#로 제작되어있다. 그

반대도 역시 간편하게 구현된다. 물론, 클라이언트와 서버는 같은 언어를 사용해

만들어질 수도 있다.

ADO.NET 용 Borland Data Provider

Borland Data Provider for ADO.NET 의 명확한 클래스와 연관 유형은 ADO.NET 의

데이터 액세스 인터페이스를 실행한다. 줄임말로 ADO.NET BDP 의 일부인 이

P a ge 11 3

Page 114: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

클래스들은 매우 다양한 데이터베이스 연결을 위한 강력하고 이동 가능한 솔루션을

제공하는 동시에 ADO.NET 의 뛰어난 능력을 더욱 확대한다.

ADO.NETBDP 의 강력한 컴포넌트 편집기를 사용하여 BDP 데이터 액세스 클래스 또는

DataSync, DataHub 처럼 BDP 와 특별히 결합된 클래스 작업을 할 수 있다. DataSync 와

DataHub 가 제공하는 데이터 서비스는 ADO.NET 혼자서 제공하는 서비스보다 한결

풍부한 기능을 제공한다.

Delphi 2005 에서는 ADO.NET BDP 에 대해 매우 많은 업데이트가 이루어졌다. 예를

들어 BDP 는 이제 Oracle 패키지뿐만 아니라 Sybase 데이터베이스에 대한 연결을

지원한다.

새로운 ADO.NET BDP 컴포넌트인 BdpCopyTable 가 되입되었다. 이 컴포넌트를

이용하면 어플리케이션에 테이블과 그 테이블의 1 차 인덱스를 ADO.NET BDP

제공자로부터 다른 제공자로 복사할 수 있다. BDP Data Explorer(다음 섹션에서

설명)에서 제공되는 새로운 실시간 Copy Table 기능과 동일한 기능을 제공한다.

ADO.NET BDP 에 행해진 새로운 업데이트 하나는 눈에 잘 띄지 않습니다. ADO.NET

BDP 가 새로이 추가한 인터페이스는 데이터 베이스 스키마 탐색 메소드를 노출하는

BDP Provider 에게 제공하기 위함이다. BDP 는 이 인터페이스 실행을 사용하여

ADO.NET 단독으로는 지원하지 않는 데이터베이스 오브젝트 구조에 대한 정보를

발견한다.

이 비밀스런 인터페이스로 인해 BDP 는 테이블을 복사하고, 저장된 절차 매개 변수를

발견하고, 데이터를 이동할 수 있다. 이 특성들은 어플리케이션 설계를 할 때에 향상된

Data Explorer 를 통해 만날 수 있다.

BDP Data Explorer

Data Explorer 는 Oracle, DB2, MS SQL Server, InterBase, MS Access 등의 ADO.NET BDP

지원 데이터베이스를 통해 ADO.NET 작업을 할 수 있도록 해 줍니다. Data Explorer 로

P a ge 11 4

Page 115: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

테이블, 뷰, Stored Procudure 를 Delphi 2005 IDE 안에서 검색할 수 있다. Data

Explorer 는 또한 BdpConnections , BdpDataAdapters 와 같은 BDP 관련 데이터 액세스

컴포넌트를 쉽게 창조하고 구성할 수 있도록 도와준다.

Data Explorer 는 Delphi 2005 에서 많은 부분이 업그레이드 되었다. Data Explorer 의 새

특징으로 인해 개발자는 데이터베이스 테이블을 생성하고, 수정하고, 드롭할 수 있으며

Stored Procedure 를 시험하고, ADO.NET BDP 지원 데이터베이스 간에 데이터를 복사할

수 있다. 이 기능들은 다음 섹션에서 자세히 설명된다.

테이블 관리

Data Explorer 를 이용하면 Delphi 2005 의 IDE 를 벗어나지 않고도 데이터베이스

테이블을 생성, 수정, 제거할 수 있다. ADO.NET BDP 의 스키마 발견 서비스를 통해

사용할 수 있는 특성이다. 이 서비스는 Delphi 2005 에 처음 등장하고 있으며 기존

ADO.NET 의 강력한 기능을 뛰어 넘는다.

새 테이블을 생성하려면 Data Explorer 에서 연결(connection)을 연다. 그리고, Tables

노드에서 오른쪽 버튼을 클릭하여 New Table 을 선택한다.

Delphi 2005 에서는 Table Designer 를 사용하여 새 테이블의 구조를 정의할 수 있다.

현존 구조를 수정할 때도 같은 디자이너를 사용할 수 있다.

P a ge 11 5

Page 116: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

테이블의 구조를 수정하려면, 열려 있는 연결에서 Tables 노드 밑의 테이블 이름을

오른쪽 버튼으로 클릭하고 Alter 를 선택한다. (테이블을 삭제하려면 같은 콘텍스트

메뉴에서 Drop 을 선택한다.) 다음 그림은 PROJECT 라는 이름의 테이블이 Table

Designer 에서 바뀌는 것을 보여준다.

위의 그림을 보면, 해당 데이터 유형의 드롭다운 목록을 사용하여 테이블에서 필드의

데이터 유형을 정의하거나 바꿀 수 있음을 알 수 있다. 이 정보 역시 ADO.NET BDP 의

스키마 발견 기능을 통해 얻을 수 있다.

데이터 마이그레이션

Data Explorer 를 사용하면 복사와 붙여넣기 기능을 써서 ADO.NET BDP

데이터베이스에서 다른 데이터베이스로 테이블을 쉽게 마이그레이션 할 수 있다.

테이블을 복사할 때에는 테이블의 구조, 데이터, 1 차 인덱스를 복사한다.

테이블을 복사하려면 Data Explorer 에서 테이블을 마우스 오른쪽 버튼으로 클릭하고

Copy 를 선택한다. 그리고 테이블을 붙여 넣으려는 연결을 선택하여 마우스 오른쪽

버튼으로 클릭하고 Paste 를 선택한다. 다음 그림처럼 New Table Name 대화 상자가

나타날 것이다.

P a ge 11 6

Page 117: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

복사한 테이블의 이름을 입력하고 OK 를 클릭한다.

개발자는 Delphi 2005 의 컴포넌트를 사용하여 어플리케이션 최종 사용자에게 같은

데이터 마이그레이션 능력을 부여할 수 있다.

Stored Procedure 시험하기

Stored Procedure 를 시험하는 기능은 Data Explorer 의 개선사항 가운데에서도 매우

중요한다. Stored Procedure 를 시험하려면, Data Explorer 에서 시험하고자 하는 Stored

Procedure 의 이름을 마우스 오른쪽 버튼으로 클릭하고 View Parameters 를 선택한다.

Delphi 2005 는 Stored Procedure 의 매개변수를 살펴보면서, 각 매개변수의 데이터 유형,

방향, 이름을 결정한다. 개발자는 Stored Procedure 를 시험하기 위해 각각의 입력

매개변수에 값을 부여하고, Stored Procedure 창의 왼쪽 위에 나타나는 Execute(실행)

버튼을 클릭한다. Delphi 2005 는 Stored Procedure 를 실행한 후에 Stored Procedure 창

아래의 데이터 그리드에 출력 매개변수(저장된 절차가 출력 매개변수를 가진

경우에)를 나타낸다.

다음 그림은 결과가 나타나는 Stored Procedure 창이다. 결과는 1003 번 소비자의 메일링

라벨(mailing label 우편물 겉봉의 이름과 주소 정보) 라인을 보여주고 있다.

P a ge 11 7

Page 118: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Delphi2005 로 리포트 작성하기

보고서는 데이터를 정보로 전환하기 위해 사용하는 도구이다. Delphi 2005 에는 강력한

보고서 작성 툴이 두 개 있다. Delphi 2005 는 Delphi 나 C#로 작성한 .NET

어플리케이션을 위해 Business Objects 에서 나온 for Borland Delphi 용 Crystal Report 를

마련하였다. Delphi VCL 어플리케이션 (VCL Forms (Win32) 와 VCL.NET 모두)을

위해서 Nevrona Designs 사의 Rave Reports Borland Edition 을 포함하였다.

.NET 데이터 액세스 컴포넌트를 위한 VCL

.NET Framework 을 위한 Delphi 8 은 Win32 Delphi 와 호환 사용할 수 있는 데이터

액세스 장치에 대한 포괄적인 지원으로 유명한다. Delphi 2005 에서는 이러한 지원이

한층 확대되었다.

가장 두드러지는 추가 사항 가운데 하나는 dbGo ADO 에 대한 지원입니다. dbGo

ADO 는 표준 VCL TDataSet 인터페이스를 실행하는 컴포넌트의 집합체입니다.

개발자는 설치된 OLEDB Providers 를 사용하여 표준 VCL TDataSet 인터페이스를 통해

P a ge 11 8

Page 119: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

ActiveX Data Objects 와 교류할 수 있다. Delphi 2005 는 VCL.NET 에 dbGo for ADO

컴포넌트의 장점을 완벽하게 포함하였다.

VCL.NET 에 추가된 호환성 컴포넌트에는 TStoredProc, TSimpleDataSet, TNestedDataSet,

TUpdateSql 이 있다.

DataSnap 클라이언트를 위해서도 호환성 컴포넌트가 추가되었다. DataSnap 은

볼랜드의 다층 아키텍처로서 경량 클라이언트와 연관 어플리케이션 서버를 만들기

위한 것이다. 새로운 VCL.NET 컴포넌트에는 TConnectionBroker, TSharedConnection,

TLocalConnection 이 있다.

ADO.NET 커넥션 스트링 편집기

Delphi 2005 는 SQL Connection, ODBC Connection, OLEDB Connection 컴포넌트를 위해

ADO.NET 연결 스트링 편집기를 제공한다. (예전에는 ADO.NET BDP 를 사용하지 않는

한, ADO.NET 연결을 위해 연결 스트링을 구축하기 위해 일반적으로 .NET Data

Provider 를 위한 문서를 참조해야 하였다.)

Delphi 2005 IDE 에서 이 컴포넌트 가운데 하나를 구성해야 할 때는 Object

Inspector 에서 ConnectionString 속성을 선택하고 (…) 버튼을 클릭하여 Connection String

편집기가 나타나도록 한다. 다음 그림은 SqlConnection ConnectionString 속성을 위한

Connection String 편집기의 모습이다.

P a ge 11 9

Page 120: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

P a ge 12 0

Page 121: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

P a ge 12 1

웹 과 인터넷 개발

Borland® Delphi™ 2005

Page 122: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

웹/인터넷 개발

컴포넌트에 기초하고, 이벤트 구동 툴을 제공하는 최초의 IDE 가운데 하나인 Delphi 를

사용하여, 개발자들은 월드와이드웹을 위한 역동적인 웹 사이트를 제작하였다.

Delphi 는 웹 서비스 서버와 클라이언트를 만들 수 있도록 고수준 마법사, 툴, 서비스를

지원한 최초의 개발 툴 가운데 하나이다.

볼랜드는 Delphi 2005 를 통해 표준 기반 웹 어플리케이션 제작을 위한 최고의 툴을

계속 지향하고자 한다. Delphi 2005 는 인터넷 기반 어플리케이션을 창조하고 배치할 수

있는 옵션을 더욱 풍부하게 제공한다. Delphi 2005 에 포함된 기술에는 ASP.NET Web

Applications, ASP.NET Web Service Applications, Win32 Web Service servers, Win32 Web

Service clients, Web Broker Web server extensions, WebSnap Web server extensions, Win32

와 .NET IntraWeb applications 이 있다. 그 어떤 환경도 인터넷 개발에 이토록 풍부한

지원을 제공해 주지 못한다.

볼랜드는 웹 기반 어플리케이션 제작을 지원하는 많은 툴을 업데이트하고 개선하였다.

예를 들어, 위지위그(what-you-see-is-what-you-get , wysisyg) 디자이너와 Web Forms

디자이너의 드래그앤드드롭 능력이 한층 업데이트 되었다. 뿐만 아니라, 새로운 기능과

컴포넌트가 개선되었다. 다음 섹션에서는 Delphi 2005 에 새로 등장하거나 개선된 웹과

인터넷 관련 기능을 설명한다.

Deployment Manager(배치 관리 프로그램)

이제는 ASP.NET Web applications, ASP.NET Web Service Applications, IntraWeb (Win32

와 .NET 모두)어플리케이션을 Delphi 2005 의 Project Manager 로부터 직접 배치할 수

있다. Project Manager 에서 Deployment 노드를 마우스 오른쪽 버튼으로 클릭하여

콘텍스트 메뉴에서 New Deployment 를 선택한다.

P a ge 12 2

Page 123: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

XCOPY 나 FTP (파일 전송 프로토콜, file transfer protocol)을 사용하여 어플리케이션의

여러 파일을 배치할 수 있다. 파일을 복사하여 붙여넣기를 하고 싶은 디렉터리가 로컬

컴퓨터에 보일 때에는 XCOPY 을 사용한다. 예를 들어, 웹 서버가 배치 컴퓨터와 같은

로컬 영역 네트워크에 있을 때에는 XCOPY 를 사용할 수 있다.

파일을 배치하려는 장소가 로컬 네트워크가 아닌 인터넷에 존재하는 경우에는 FTP 가

유용한다. FTP 를 사용하여 배치하려면 파일을 배치하려는 서버가 FTP 서버를

실행하고 있어야 한다.

파일을 배치할 디렉터리나 FTP 서버를 선택한 후에 배치할 파일을 선택하여 마우스

오른쪽 버튼으로 클릭하고 Copy Selected Files to Destination 또는 Copy All New and

Modified Files to Destination 을 선택한다.

P a ge 12 3

Page 124: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

배치를 하고 나면 그 내용이 Project Manager 의 Deployment 노드 아래에 새로운 노드로

나타납니다. 이런 식으로 만들어진 배치 구성을 활용한다. 해당 노드를 선택하면

파일의 일부 또는 전부를 재배치할 수 있다. 웹 관련 프로젝트를 위한 다중 배치 구성을

관리할 수도 있다.

P a ge 12 4

Page 125: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Web Forms Designer 에서 HTML 편집하기

코드 또는 위지위그에서 HTML 을 사용하여 ASP.NET 어플리케이션에 생성되는 웹

페이지를 기술할 수 있다. Delphi 2005 의 HTML 생성, 수정에 관한 많은 옵션으로

다양한 ASP.NET 페이지를 정의할 수 있다. 다음 그림은 ASP.NET 웹 어플리케이션

디자이너를 써서 설계한 로그인 페이지를 보여준다.

P a ge 12 5

Page 126: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

HTML Controls, Web Controls, DB Web Controls 를 Tool Palette 에서 Web Forms

디자이너로 드래그하면 HTML 이 프로젝트의 관련 .aspx 파일로 삽입됩니다. Web

Forms 디자이너가 생성한 내용을 수정하여.aspx 파일을 직접 편집할 수 있으며 개발자

고유의 HTML 을 삽입할 수도 있다. 다음 그림은 편집 가능 .aspx 파일의 일부이다. 이

파일은 위의 로그인 페이지가 설계될 때 만들어진 것이다.

P a ge 12 6

Page 127: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

템플릿 편집

Delphi 2005 의 Web Form 디자이너를 이용하면 폼 디자이너에서 템플릿 편집을 할 수

있다. DataList 와 같은 특정 웹 컨트롤은 헤더, 푸터(footer), 표시된 항목을 포맷할 수

있는 템플릿을 지원한다. Delphi 2005 Web Form 디자이너의 템플릿을 편집하려면

템플릿 지원 컨트롤을 마우스 오른쪽 버튼으로 클릭하고 편집하려는 템플릿을

선택한다. 다음 그림은 DataList 를 선택할 때 나타나는 컨텍스트 메뉴이다.

P a ge 12 7

Page 128: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

편집하려는 템플릿의 유형을 선택하면 디자이너가 컨트롤을 다시 편집하므로

개발자는 템플릿 텍스트를 직접 입력할 수 있다. 다음 그림은 편집할 수 있는 Item

템플릿의 DataList 이다.

컨트롤의 템플릿 편집 작업을 마치면 컨트롤을 마우스 오른쪽 버튼으로 클릭하여 End

Template Editing 을 선택한다.

코드 완료와 구문 강조 기능 업데이트

Delphi 는 코드 완료와 HTML 의 구문 강조 기능을 제공하여왔으며 Delphi 2005 의 해당

기능은 더욱 확장되었다. 코드 완료와 구문 강조 기능은 cascading style sheets, CSS 와

XHTML 에도 이용 할 수 있다.

Tag 편집 기능 업데이트

Tag 편집기도 Delphi 2005 에서 향상되었다. Tag 편집기는 Web Form Designer 아래에

나타나는 작은 창으로, 컨텍스트 메뉴가 추가되고 편집이 가능한 뷰를 웹 페이지의

기초가 되는 HTML 에 대해 제공한다. 이전 Tag 편집기에서는 내부 HTML 편집만

가능했지만 Delphi 2005 에서는 외부 HTML 도 편집할 수 있다.

다음 그림은 Tag 편집기 안에서 편집되는 <td> 태그의 속성을 보여줍니다. Code

Insight 와 구문 강조 기능을 확인한다.

P a ge 12 8

Page 129: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

ASP.NET Project Manager 추가 지원

ASP.NET 웹 어플리케이션을 실행하려면 다른 유형의 어플리케이션보다 외부 파일에

자주 의존하게 된다. 예를 들어 .aspx 파일에 있는 HTML 은 <IMG>(이미지) 태그를

포함할 수 있으나, 이미지 자체는 .jpg 나 .gif 리소스이며 이 리소스들은 <IMG> 요소의

src 속성에 위치하는 것이 일반적입니다..

이 섹션의 위 부분에서 설명한 어플리케이션 배치 지원과 더불어, ASP.NET

어플리케이션에서 사용하는 외부 자원을 보다 잘 관리할 수 있도록 Project Manager 를

업데이트 하였다. 예를 들어 Project Manager 에서 ASP.NET 프로젝트를 마우스

오른쪽으로 클릭하고 New | Folder 를 선택할 수 있다. 새로 추가한 폴더는 ASP.NET

어플리케이션 폴더의 서브 디렉터리가 될 것이다.

새 폴더를 마우스 오른쪽 버튼으로 클릭하고 Add 를 선택한다. 이 때 나타나는

브라우저 대화 상자에서 이미지, 캐스케이드 스타일 시트, JavaScript 파일 등과 같은

지원 파일을 해당 폴더에 추가할 수 있다. 이 폴더에 추가한 리소스는 배치 구성에

포함할 수 있다.

Project Manager 의 개선 덕분에 ASP.NET 어플리케이션의 파일을 관리하기 위해 Delphi

2005 를 벗어날 필요가 없게 되었다.

P a ge 12 9

Page 130: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

새롭고 향상된 DB 웹 컨트롤

DB 웹 컨트롤은 데이터 인식 특별 웹 컨트롤이며 ASP.NET 어플리케이션에서

사용한다. .NET 프레임워크에 따라다니는 Web 컨트롤처럼, DB 웹 컨트롤을 Web

Forms 에 추가하면 이 컨트롤은 실행 시 요구 브라우저에 제공되는 컨텐츠의 생성에

참여한다.

FCL 의 표준 웹 컨트롤과 비교하면 DB 웹 컨트롤은 ASP.NET 어플리케이션을 위해

한층 개선된 서비스를 제공하여 훌륭한 웹 사이트를 더욱 빠르고 쉽게 만들 수 있도록

돕습니다. DB 웹 컨트롤은 처음 쓰는 사람들을 위해 데이터를 인식하며 많은 경우,

해당 데이터에 대한 자동 읽기/쓰기 액세스를 제공한다. 그 결과, 복잡한 웹 기반

어플리케이션 제작 과정이 매우 단순해집니다.

새 DB 웹 컨트롤

볼랜드는 Delphi 2005 에 DB 웹 컨트롤을 새로 추가하고 많은 점을 개선하였습니다.

Delphi 2005 에 새로 도입한 DB Web 컨트롤은 DBWebAggregateControl,

DBWebNavigatorExtender, DBWebSound, DBWebVideo 들이 있다..

DBWebAggregateControl 은 DBWebTextBox 와 비슷하지만 Sum, Min, Count 와 같은 총

수치를 자동으로 계산하고 표시한다.

DBWebSound 와 DBWebVideo 컨트롤로 소리와 영상을 ASP.NET 어플리케이션에 쉽게

추가할 수 있다. 소리와 영상 리소스는 데이터베이스의 blob(binary large object) 필드에

수용할 수 있다. 또는, 데이터베이스 필드가 외부 소리나 영상 리소스의 URL 을

지정하는 스트링을 수용 할 수도 있다.

DBWebNavigationExtender 로 표준 웹 컨트롤 버튼을 구성하여, 추가 코드 없이

ADO.NET 데이터 소스를 위한 BDP 에 대해 네비게이션 작동을 수행할 수 있다.

DBWebNavigationExtender 컴포넌트를 Web Form 에 놓으면 모든 Button 은

DBDataSource, TableName, DataSourceAction 속성을 추가로 표시할 것이다.

P a ge 13 0

Page 131: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

DataSourceAction 속성은 그 버튼이 DBDataSource 를 통해 엑세스한 테이블에서 어떤

유형의 네비게이션 실행을 수행할 것인지 나타냅니다.

DB 웹 컨트롤 업데이트

Delphi 2005 에서는 DB 웹 컨트롤 두 개가 업데이트 되었다. DBWebImage 와

DBWebDataSource 입니다. DBWebImage 는 위에서 설명한 DBWebSound 와

DBWebVideo 컨트롤의 특성을 수용하기 위해 업데이트 되었다. DBWebImage 는

표시하려는 이미지가 담긴 기저 데이터베이스의 bolb 필드나 이미지 리소스의 URL 을

수용하는 스트링 필드에 링크할 수 있다. 예전 제품의 DBWebImage 컨트롤은

표시하려는 이미지가 담긴 bolb 필드만 참조할 수 있었습니다.

두 번째로, DBWebDataSource 가 업데이트 되었다. 자동 업데이트, 주-세부 관계(master-

detail relationships)를 위한 캐스케이딩 업데이트, 캐스케이딩 삭제를 지원하기 위해

DBWebDataSource 를 구성할 수 있다.

DBWebDataSource 는 XML 파일을 지원하여 DB 웹 컨트롤로 사용하는 데이터를

저장하도록 한다. 여러 가지 흥미로운 방식으로 이 기능을 쓸 수 있다. 예를 들어,

개발을 하는 동안 기저 데이터베이스 대신에 XML 파일을 사용할 수 있다. 이는

데이터베이스 연결의 편리한 대용물이 됩니다. 또, XML 파일을 로컬, 읽기 전용 데이터

소스로 사용하여 이미지나 다른 리소스 같은 고정적 정보를 관리할 수 있다. 사용자

인증을 쓰고 있다면 DBWebDataSource 을 구성하여 개별 유저만의 XML 파일 이름을

생성할 수도 있다. 이 XML 파일은 각 사용자 에 대한 기초 데이터를 세션과 세션

사이에 지속시키는 데 쓸 수 있다.

IntraWeb 지원

IntraWeb 은 정교한 RAD 컴포넌트 기반 웹 개발 툴로서 웹 페이지의 요구와 요구

사이에 서버 상태를 자동으로 관리한다. 그렇기 때문에, 일반적인 클라이언트

어플리케이션에 전형적인 상태 유지가 필요한 웹 사이트를 만드는 데 있어 ASP. NET

보다 IntraWeb 이 효율적입니다.

P a ge 13 1

Page 132: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

ASP.NET 웹 사이트 개발에 비해 IntraWeb 을 더욱 매력적인 대안으로 만드는 기능은

여러 가지입니다. 이미 언급했듯이 IntraWeb 은 웹 페이지 요구 사이에 편리한 여러

수준의 상태 유지를 지원한다. 어플리케이션 수준에서는 TIWServerController 를 써서

세션 간에 오브젝트를 공유할 수 있다.

세션 수준에서 각 IntraWeb 세션은 지속적인 데이터 모듈을 가질 수 있다. 이 모듈은

세션이 진행되는 동안 메모리에 남아 있다. 특정 엔드 유저를 위해 둘 이상의 웹

페이지에서 사용하는 오브젝트와 데이터를 저장하기 위해 이 모듈을 사용할 수 있다.

ASP.NET 웹 폼은 각 페이지의 요구에 따라 생성되고 폐지됩니다. 이와 달리 IntraWeb

페이지는 요구 사이에도 서버에 지속적으로 존재하며 페이지가 더 이상 필요하지 않을

때에야 폐지됩니다.

IntraWeb 의 또 다른 매력적인 면은 “Delphi”적인 작업방식입니다. VCL 또는 VCL.NET

어플리케이션을 설계할 때처럼 Tool Palette 에서 Delphi 컴포넌트를 가져와 사용자

인터페이스를 설계할 수 있다. 차이점은 이 컴포넌트가 IntraWeb 폼 렌더링 과정에

참여하여 HTML, WAP (wireless access protocol), 또는 HTML 3.2 을 발행하는 것이다.

IntraWeb 어플리케이션을 배치하는 방법은 한 가지가 아닙니다. IntraWeb

어플리케이션은 ISAPI (Internet Server application programming interface) 웹 서버

확장자로서 배치되거나 자신을 수용한 HTTP 서버로서 사용될 수 있다. 다시 말해서,

IIS (Internet Information Server)를 이미 실행하고 있었다면 IIS 함께 IntraWeb

어플리케이션을 사용할 수 있다. 웹 서버를 가지고 있지 않다면, 자기가 만든 IntraWeb

어플리케이션이 웹 서버가 되도록 설계할 수 있다. 이렇게 하면 웹 브라우저나

HTTP 프로토콜을 쓰는 웹 사용 가능 장치에 웹 페이지를 서브할 수 있는 모든 기능을

부여할 수 있다.

다음 그림은 Delphi 2005 에서 설계하는 IntraWeb 웹 페이지를 보여줍니다. ASP.NET 과

달리 코드 뒤에 .aspx 파일이 제거되었다. 그 대신, 페이지 제작에 사용되는 IntraWeb

컴포넌트가 적절한 HTTP 웹 페이지 요구에 대해 적절한 HTML 로 실행 시에 응답한다.

P a ge 13 2

Page 133: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Delphi 2005 는 Win32 Delphi 와 IntraWeb 의 Delphi for .NET 버전을 수록하였다.

P a ge 13 3

Page 134: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

P a ge 13 4

Borland® Delphi™ 2005

통합된 Application Lifecycle Management

Page 135: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Integrated Application Lifecycle Management

오늘날 세계 소프트웨어 개발시장에서 대부분의 개발자들은 애플리케이션의 정의,

디자인, 테스트, 적용과 관리에 대부분의 노력을 기울이고 있다. 모순이 없는 볼랜드의

일관성은 프로젝트의 성공을 보장하는 솔루션을 제공한다. Delphi 2005 는 기초적인

지원 툴로 완벽한 통합을 제공한다.

Delphi2005 를 설치하시면, 혁신적이고 체계적인 관리를 위한 StarTeam 에 통합 접근이

가능한 IDE 를 경험할 수 있다. 또한 EJB 와 CORBA 를 위한 Janeva, UML 모델 기반의

개발을 위한 ECO 와 성능 Profiling 을 위한 Optimizeit 와도 동일한 접근이 가능하다.

Delphi 2005 의 ALM(Application Lifecycle Management) 솔루션은 크게 두가지로 구분될

수 있다. 이 두가지는 StarTeam 과 Unit Testing 으로 대표되며, 이 툴들은 다음 섹션에서

설명되어있다..

Delphi 2005 와 StarTeam

StarTeam 은 Borland 의 포괄적인 프로젝트 자산 관리 시스템이다. 만약 여러분이

개발팀의 일원이라면 StarTeam 은 소스코드 버전관리를 위한 서버기반의 요구사항

관리, 결함 추적, 개발그룹의 분산 및 팀간 협업에 있어서 높은 신뢰도를 보장한다. 단

한 명의 개발자로 구성된 프로젝트일지라도 StarTeam 은 개발자의 애플리케이션

관리를 위한 필수적인 환경을 제공하여 준다.

Delphi 2005 는 StarTeam 과의 완벽한 통합 환경을 제공한다. 이러한 통합은 Delphi

2005 의 IDE 와 구분되지 않는 상태에서 StarTeam 의 모든 기능들에 접근 가능하도록

한다. Delphi 2005 의 메인메뉴는 StarTeam 의 메인메뉴 아이템을 포함하고 있으며,

Project Manager 의 context menu 의 sub menu 또한 포함하고 있다. [아래 그림 참조]

P a ge 13 5

Page 136: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

여러분이 보시다시피, StarTeam 의 메뉴는 프로젝트를 StarTeam 저장소에 저장하게

하며, 파일들의 체크인과 체크 아웃, 관리자산의 정렬, 통합 StarTeam 클라이언트의

실행과 개인 StarTeam 옵션의 관리를 가능하게 한다. 다음 그림은 StarTeam

클라인언트가 Delphi IDE 에서 활성화되는 것을 보여준다. 개발자들이 StarTeam 을

선택하면 StarTeam 이 실행된다. 메뉴의 StarTeam | View Client 를 선택하거나 프로젝트

메니져의 컨택스트 메뉴(오른쪽마우스 버튼 클릭)을 이용하여 StarTeam 클라이언트를

시작한다.

P a ge 13 6

Page 137: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Delphi 2005 내에서 사용가능한 StarTeam Client 를 통하여, 개발자들은 관리 리소스를

모든 각도에서 다룰 수 있다. 예를 들어 결함을 추적하거나, 분산된 개발자간 토론에

참석하건, 변경요구사항을 등록 가능하다. 아래의 그림의 등록된 변경 요구사항을

조회하는 그림이다.

P a ge 13 7

Page 138: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

When you are working with a StarTeam managed project, the Delphi 2005 History Manager

makes use of the StarTeam repository. For example, the following figure shows the Diff pane

of the History Manager. Here the Diff pane displays source code versions based on changes

that have been checked into the StarTeam repository. With the StarTeam enabled History

Manager, even changes to source code file names are tracked, as shown in the following

figure.

여러분이 StarTeam 으로 프로젝트를 진행할 경우, Delphi 2005 히스토리 관리자는

StarTeam 저장소를 사용한다. 아래 그림은 히스토리 관리자의 Diff 패널의 예시이다.

Diff 패널은 StarTeam 저장소에서 검증된 버전 관리를 기초로 한 소스코드를 보여준다.

아래 보이는 바와 같이 StarTeam 의 사용으로 히스토리 관리자는 소스코드 파일명의

변화도 추적도 가능한다.

P a ge 13 8

Page 139: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Unit Testing

Unit Testing 은 개발중인 애플리케이션의 메쏘드, Function, Procedure 를테스트하는

코드를 생성하는 기능이다. Unit testing 이 Extreme Programming 이라 불리는

소프트웨어 개발의 초석이기에, 많은 개발자들이 매번 개발하는 소프트웨어의

일부로서 Unit testing 을 개발의 한 형태로서 도입하는 것이 매우 효과적이라는 것을

발견하게 될 것이다.

Delphi 2005 includes unit testing support for all three of its personalities: Delphi Win32,

Delphi for the .NET Framework, and C# for .NET. You establish a unit testing by first

creating a test project. The Test Project Wizard asks you to select which of Delphi 2005's

personalities was used to create the code you want to test.

Delphi 2005 는 Unit testing 을 지원하는 세가지 요소를 포함한다. Delphi Win32, Delphi

for .Net Frame work 그리고 C# .Net 이다. 첫번째로 테스트 프로젝트를 만들어서 Unit

Testing 을 생성한다. Delphi 2005 의 Test Project 마법사에서 테스트하고자 하는 코드를

선택한다.

P a ge 13 9

Page 140: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Test Project 를 생성한 후 하나 혹은 다수의 Test Case 를 추가 할 수 있다. 모든 Test

Case 에서 여러분이 원하는 방법 혹은 절차를 포함한 소스파일(.pas 혹은 .cs)을 선택할

수 있다. Test Case 마법사는 해당 파일을 테스트하는 간단한 framework 을 생성한다. 이

Framework 은 설치와 분해과정을 포함한다. 그리고 선택된 소스파일의 모든 부가적인

절차의 방법의 추가적인 메쏘드를 포함한다.

사용자들은 Test Case 마법사로 설치와 해제 과정을 적용함으로써 코드와 개인적인

테스트를 수정하게 된다. 예를 들어, 테스트 메소드의 파라메터에 필요한 객체나

변수를 정의하는 것 뿐만 아니라, 일반적으로 설치과정에서 테스트를 원하는 메소드가

실행되는 클래스의 생성자를 호출 할 것이다.

실제 테스트는 Test Case 마법사에 의해 생성된 여러 가지 메소드로 구성된다.

사용자는 메소드 실행에 따른 데이터 결과나, 혹은 메소드가 문제를 발견했을 때

주어지는 Exception 클래스를 확인하고, 테스트하는 메소드를 호출하기 위해 이

메소드들을 실행할 수 있다.

P a ge 14 0

Page 141: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

P a ge 14 1

Enterprise Core Objects (ECO) II

Borland® Delphi™ 2005

Page 142: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Enterprise Core Objects II

Borland 의 Borland's Enterprise Core Objects 혹은 ECO(이코)는 Borland 의 새로운 강화된

모델 .NET 용 Framework 이다. ECO 란 .Net framework 을 위한 Borland 의 객체 기반

diagram 이다. 또한 .Net Framework 은 UML diagram 을 애플리케이션 개발을

유도하는데 사용한다. 애플리케이션 개발을 위한 이러한 접근은 아키텍처 혹은

MDA 를 구현한 모델로서 자주 참조되곤 한다.

ECO 의 주목할 만한 기능 중의 하나는 UML 모델들이 어떻게 사용되는지 이해한다는

점이다. 많은 개발환경 속에서 UML 모델들은 단순히 애플리케이션에서 구현될 필요가

있는 클래스가 정의된 로드맵만을 여러분에게 제공한다. 다른 말로 표현하면 UML

diagram 은 소프트웨어 개발의 가이드라인으로서 사용된다는 의미이다.

ECO 와 함께 사용될 경우 UML 모델은 단순히 개발의 가이드라인으로서 활용되는

것만이 아닙니다. UML 모델들은 개발프로세스와 밀접하게 통합된다. 모델들은

여러분의 애플리케이션 로직의 핵심으로 대표되는 클래스들과 서포트 코드를

생성하는데 사용되곤 한다. 애플리케이션 작성에 변화가 필요할 경우 여러분은

애플리케이션의 코드가 업데이트된 후 속성과 조합, 제한을 변경시키는 모델로

돌아가면 된다.

Rapid MDA

In this respect, ECO is really "Rapid MDA." ECO dramatically reduces the amount of code

that you need to write manually, reducing your time to deployment and improving the overall

maintainability of your applications. More importantly, the applications you build with ECO

are based on the enterprise-aware architecture of your UML designs.

이런 내용으로 볼 때 ECO 는 진정으로 ‘신속한 MDA’이다. ECO 는 여러분이 수동으로

작성해야 하는 코드의 양을 혁신적으로 줄여준다. 이러한 기능은 실제적용까지의

프로젝트 시간을 줄이며 애플리케이션의 전반적인 안정성을 입증해준다. 더욱 중요한

P a ge 14 2

Page 143: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

것은 여러분이 ECO 로 제작한 애플리케이션은 UML 디자인의 엔터프라이즈

아키텍쳐에 그 근간을 둔다는 것이다.

아래의 그림은 간단한 ECO 애플리케이션을 위한 UML class diagram 을 보여주고 있다.

여러분이 볼 수 있듯이 아래 그림에는 Building, ResidentialBuilding, Person. 으로 정의된

3 개의 클래스들이 있다.

이 diagram 은 runtime 모듈로 작동하는 애플리케이션의 비즈니스 객체를 제작하는데

사용되곤 한다. 아래 보이는 구조 패널(Structure Pane)은 이 모델로부터 ECO 로 제작된

클래스들과 조합된 인터페이스를 보여준다.

P a ge 14 3

Page 144: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Because the model is the central focus of your development efforts, there is an inherent

synchronization between your UML model and the application created with it. In other

environments where UML simply guides development, the model often quickly becomes out-

of-date.

모델은 여러분의 개발과정중에서 상당히 중요한 부분을 차지하기에, UML 모델과

모델로 개발된 애플리케이션과의 동기화는 타고난 것이라 할 수 있다. 단순히 UML 로

간단히 가이드만되는 일반 개발 환경에서는 모델은 개발단계에서의 변동사항을

반영하지 못하여 개발애플리케이션과 일치하지 못하고 낡은 자료로 처리되는 경우가

많다.

ECO 에서, UML 모델은 개발에 포커스를 맞춘 핵심 비즈니스 항목을 정의한다. 예를

들어, 여러분이 재고 관리를 위해 ECO 애플리케이션을 생성한다면, 여러분이 작업하는

항목이 아이템이나 직원 수, 주문, 가용 창고 같은 애플리케이션의 실체를 나타내게

된다. 즉 다시 말해서, 여러분이 사용하는 비즈니스 항목의 도메인 에서 코드를

운영하는 것이다. 코드가 버튼, 텍스트 박스, 리스트 박스 메뉴 같은 사용자 인터페이스

범위에서 작동하는 통상적인 GUI 애플리케이션에서 개발 방식과 ECO 를 이용한

접근방식을 비교해 보십시오.

P a ge 14 4

Page 145: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

In most ECO applications, the business objects defined by your UML models map to an

underlying ADO.NET relational database structure. This database of your choosing is used to

persist and restore your business objects, as needed. You can even map your ECO objects to

XML files, though most developers prefer the security and transaction support provided by a

remote database server.

대부분의 ECO 애플리케이션에서, 비즈니스 항목은 데이터베이스 구조와 관련된

ADO.NET 을 위해 여러분의 UML 모델 맵에 의해 정의된다. 여러분이 선택한

데이터베이스는 여러분이 필요할 때 비즈니스 항목을 지속하고 복구하는데 사용된다.

대부분의 개발자들이 리모트 데이터베이스 서버에서 제공되는 보안 및 트랜잭션

지원을 받는 것을 선호하긴 하지만, 여러분은 원한다면 ECO 객체를 XML 파일로 매핑

시킬 수 있다.

통상적인 데이터베이스 개발에서, 여러분은 여러분의 데이터베이스를 디자인하고

데이터를 저장하고 검색하는데 필요한 코드를 쓰는데 상당한 시간을 투자하게 된다.

ECO 에서는, 사용자의 UML 모델에 기반해서 기초적인 데이터베이스 스키마를 생성할

수 있다. 아니면, 여러분은 ECO 의 파워를 이용해서 현재 데이터 베이스에 기존

데이터베이스를 UML 모델로 매핑할 수 있다.

ECO Space 와 Persistence 매핑

ECO 를 사용한 object 작업의 용이성은 특히 주목할 만 한다. ECO 에서 데이터

저장소에 투명 인터페이스 뿐만 아니라 object cache 도 모두 제공되는 컨테이너인 ECO

Space 를 통해 ECO 에서 제공된다. ECO Space 는 여러분이 필요할 때 object 를

생성하고 , 영속성이 요구되는 경우에는 지속성에 변화를 줄 수 있다.

예를 들어, 만일 기존 직원을 나타내는 object 를 요구하면, ECO Space 는 직원 object 을

생성하고 기초 데이터베이스로부터 데이터와 속성을 가져온다. 직원 object 에서

생기는 모든 변화는 데이터베이스로 다시 저장된다. 이 능력은 ECO persistence

mapper 에 의해 제공된다.

P a ge 14 5

Page 146: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

ECO 와 OCL

UML 뿐만 아니라, ECO 는 OCL ( Object Constraint Language )과 UML 모델에서

정의하는 표현 기준인 OMG(an Object Management Group )표준을 사용한다. 여러분은

object 의 속성 값을 컨트롤하거나 계산하는 룰을 생성하기 위해 OCL 을 사용할 수 있다.

UML 의 경우처럼, 여러분이 ECO 애플리케이션에서 사용하는 OCL 은 여러분이

작성하고 유지해야 하는 코드의 양을 줄여준다.

ECO II 의 새로운 기능

Delphi 2005 는 ECO II 와 연동 된다는 것이 ECO 의 주요 보강 기능 이다. ECO

II 는 .NET 프레임웍 기반에서 애플리케이션이 다루어지는 엔터프라이즈 레벨 모델의

생성 지원을 확장시키고 향상시킵니다. ECO II 의 새로운 기능은 아래의 섹션에서

자세히 다루도록 하겠습니다.

A Highly Scalable Enterprise Object Cache 고 확장성

ECO II 에는 애플리케이션이 어떻게 그리고 언제 사용되는지 그리고 애플리케이션의

확장성을 고려하여 EOO Space 에 새로운 2 가지 기능이 추가 되었다. 첫 번째는, 단일

프로세스가 두 개 이상의 ECO Space 를 포함할 수 있다는 점이다. 이 능력은 특히 ECO

Space 가 풀에 저장되었다가 재사용 될 수 있는 ASP.NET 애플리케이션에서 유용한다.

두 번째 향상 점은 여러 개의 ECO Space 가 동기화되고, ECO persistence mapper

컴포넌트에 의해 지원받는 것이 가능해졌다는 점이다. 동기화된 ECO Space 에서는 한

ECO Space 가 다른 ECO Space 에 나타난 변화를 더 쉽게 분석할 수 있다.

ECO persistence mapper 클래스는 thread 간 안전성이 보장되며 원격사용이 가능하다.

사실, 다른 컴퓨터에 있는 두 개 이상의 ECO Space 가 ECO Space 들이 동기화 되도록

허용함으로써 공통 persistent mapper 를 공유하기 위해 .NET 리모트를 사용할 수 있다.

이 능력은 여러분이 애플리케이션의 변화를 원할 때 ECO 애플리케이션이 쉽게 다단계

멀티티어 구조로 설계 및 구현하도록 한다.

P a ge 14 6

Page 147: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Object 기능 확장

ECO Space 는 object persistence 를 지금까지 중에서 가장 많이 지원한다. Undo/Redo,

versioning, 트랜잭션을 포함한 여러 특징들이 추가되었습니다.

ECO II 에서 Web Forms / Web Services 지원

ECO II 는 MDA 를 이용한 웹기반의 애플리케이션 생성의 확장 지원을 제공한다.

Delphi 2005 는 C# 과 Delphi for .NET 모두에서 ECO ASP.NET Web Form

애플리케이션과 ECO ASP.NET Web Service 애플리케이션 생성 마법사를

실행시킵니다.

Delphi 2005 는 ECO Data Source 컴포넌트를 포함하며, 사용자는 이것을 DB 웹

컴포넌트를 ECO 기반 비즈니스 object 로 묶기 위해 사용할 수 있다. 이 데이터 소스는

DbDataSource 를 수행하는데, 이것은 어떤 DB 웹 컨트롤 의 DataSource 속성에도

DbDataSource 를 할당할 수 있다는 것을 의미한다.

ECO Space 에서 특히 ASP.NET 개발자에게 유용한 두 가지 기능향상이 추가되었다..

첫 번째로, ECO Space 는 페이지 요구간 자동 state maintenance 를 제공하여 세션

기반으로 유지보수가 가능하다는 점이다. 두 번째는, ECO Space 풀을 제공한다는

것이다. 이 특징들은 개별적으로 사용되거나, ECO 기반의 ASP.NET 애플리케이션의

퍼포먼스나 특징을 향상시키기 위해 결합되어 사용되기도 한다.

각각의 ASP.NET 애플리케이션은 애플리케이션 내에서 생성되는 ECO Space 의 캐싱을

컨트롤하는 EcoSpaceProvider 를 가지고 있다. 여러분은 ECO Space 가 특별한 세션을

위한 페이지 요구에서 유지보수가 되는지를 제어하기 위해 이것을 사용할 수 있다.

옵션은 전혀 유지보수하지 않는다 / 항상 유지보수한다 / ECO Space 에서 나타난

변화가 해결되지 않을 때만 상태를 유지보수 한다 . 세가지가 있다. Maintaining state 가

더 많은 서버리소스를 요구하지만 사용자가 ASP.NET 애플리케이션에서 object 를

어떻게 작업하는지를 단순화 한다.

P a ge 14 7

Page 148: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

ECO Space 의 객체 풀링 기법은 이들 ECO Space 가 ASP.NET 애플리케이션에서 재사용

될 수 있도록 도와준다. ASP.NET 페이지간 정보를 공유하지 않는 애플리케이션

타입의 경우 페이지가 종료될때마다 ECO space 들은 ECO space 풀로 반환되어 재사용

되기에 뛰어난 성능 향상을 제공한다. 또한 웹세션간 정보를 공유하는 ASP.NET

ECO II 데이터베이스 지원

ECO II 는 기존 데이타베이스 스키마를 확인 후 이 정보를 사용자의 최초 UML

다이어그램을 만드는데 사용 할 수 있다. 아니면, 여러분은 UML 다이어그램을 기존

데이터베이스로 매핑할 수도 있다. 이전에는 사용자가 UML 다이어그램을 먼저

생성한 후 다이어그램으로부터 데이터베이스를 생성해야 했습니다. 하지만 ECO II 를

사용하면, 기존 데이터 베이스에 ECO 의 파워를 이용 할 수 있다.

The following figure shows a UML diagram that ECO created from the sample SQL Server

database Northwind. In addition to the various classes and their attributes, ECO infers the

relationships between the classes based on field names and indexes.

아래의 그림은 ECO 가 SQL 서버 데이터베이스 샘플로부터 생성한 UML 다이어그램을

보여준다. 다양한 클래스와 속성들 외에도 , ECO 는 필드 이름 기반의 클래스와 인덱스

사이의 관계를 추론한다.

P a ge 14 8

Page 149: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

P a ge 14 9

Page 150: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

P a ge 15 0

Partner Tools

Borland® Delphi™ 2005

Page 151: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

다양한 3rd 파타 제품과의 연동 및 통합

Delphi 2005 의 모든 버전은 볼랜드 파트너사 제품 뿐 아니라, 소프트웨어 개발과

Application Lifecycle Management 를 지원하는 볼랜드 제품군에 대한 라이센스를

포함하고 있다. Delphi 2005 에 포함된 이 제품들은 사용자가 사용하는 버전에 달려

있다. 이 섹션에서 열거된 모든 제품들은 Delphi 2005 구성안에 포함되어 있다. Delphi

2005 엔터프라이즈와 프로페셔널은 이 제품들의 일부만을 포함하고 있다.

아래의 섹션들은 파트너 툴에 관련한 간단한 설명을 제공할 것이다. 더 자세한 정보가

필요하시면, 웹사이트를 방문해 주시기 바랍니다.

Borland InterBase 7.5 개발자 에디션

InterBase 7.5 Developer Edition enables you to develop and test your applications running

against InterBase , an enterprise-quality remote database management system (RDBMS).

Borland InterBase is a small-footprint database server that minimizes maintenance while

providing support for mission-critical applications. For more information on InterBase 7.5,

please visit: http://www.borland.com/interbase/

InterBase 7.5 Developer Edition 은 엔터프라이즈 규모의 RDBMS( Remote Database

Management System ) 인 InterBase 상에서 돌아가는 애플리케이션의 개발과 테스트를

가능하게 해준다. Borland InterBase 는 미션크리티컬한 애플리케이션을 지원하는

P a ge 15 1

Page 152: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

동시에 유지보수를 최소화 한 데이터베이스 서버이다. InterBase 7.5 에 대한 더 자세한

정보를 원하시면, http://www.borland.com/interbase/에서 확인 가능하다.

Borland Janeva

Janeva 는 클라이언트와 웹애플리케이션 에서 J2EE / CORBA 의 통합을 위한 효과적인

솔루션을 제공한다. http://www.borland.com/janeva/에서 Janeva 에 대한 더 자세한

정보를 확인 가능하다..

* Janeva 는 애플리케이션 배포를 위해 런타임 라이센스를 필요로 한다.이것은 Borland

영업대표를 통하여 제공받을 수 있다.

Microsoft .NET Framework 을 위한 Borland Optimizeit™

Profiler

Identify and remove performance bottlenecks in your .NET managed code through CPU and

memory usage analysis with Borland Optimizeit Profiler for the Microsoft .NET Framework.

For more information about Borland Optimizeit for the Microsoft .NET Framework, please

visit: http://www.borland.com/opt_profiler/

Microsoft .NET Framework 을 위한 Borland Optimizeit Profiler 는 CPU 와 메모리 사용량

분석을 통해 관리되는 .NET 코드에서 병목현상을 파악하고 제거한다. Borland

Optimizeit for the Microsoft .NET Framework 에 대한 자세한 정보는 ,

http://www.borland.com/opt_profiler/에서 확인가능하다..

Borland StarTeam 6.0 Standard Edition

StarTeam provides you with a rich and automated system for managing the assets and

application lifecycle tasks from within a single repository. For more information about

StarTeam 6.0 Standard Edition, please visit: http://www.borland.com/starteam/

P a ge 15 2

Page 153: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

StarTeam 은 단일 저장소에서의 자산과 애플리케이션 라이프싸이클 태스크를

관리하기 위한 자동화 시스템을 제공한다. StarTeam 6.0 Standard Edition 에 대한 더

자세한 정보는 http://www.borland.com/starteam/ 에서 확인 가능하다.

Borland Delphi 2005 를 위한 Component One Studio

Enterprise

Component One Studio Enterprise for Borland Delphi 2005 is a special edition of Studio

Enterprise that includes a development license for eleven .NET (Windows Forms) and six

ASP.NET (Web Forms) controls. For more information about Component One Enterprise

Studio, please visit: http://www.componentone.com/

Borland Delphi 2005 를 위한 Component One Studio Enterprise 는 11 개의 .NET ( Windows

Form) 과 6 개의 ASP.NET(Web Form) 컨트롤을 위한 개발 라이센스를 포함한 스튜디오

엔터프라이즈 특별 에디션이다. Component One Enterprise Studio 에 대한 더 자세한

정보는, http://www.componentone.com/에서 확인 가능하다..

Crystal Reports Borland Edition

Crystal Reports Borland Edition is a .NET version of the world's leading reporting tool for use

in your C# and Delphi for .NET applications. For more information about Crystal Reports

Borland Edition, please visit:

http://www.businessobjects.com/products/reporting/crystalreports/net/default.asp

Crystal Reports Borland Edition 은 .NET 애플리케이션을 위한 C# 과 Delphi 에서

사용하기 위한 세계적인 리포팅 툴의 .NET 버전이다. Crystal Reports Borland Edition 에

대한 자세한 정보는,

http://www.businessobjects.com/products/reporting/crystalreports/net/default.asp 에서

확인가능하다

P a ge 15 3

Page 154: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

glyFX Borland Special Edition

glyFX Borland Special Edition is a collection of 95 high-quality images for use in toolbars,

buttons, or any control that supports bitmap files. For more information on glyFX Borland

Special Edition, please visit: http://www.glyfx.com

glyFX Borland Special Edition 은 툴바, 버튼, 혹은 비트맵 파일 을 지원하는 컨트롤에서

사용하기 위한 고급 이미지 콜렉션 이다. glyFX Borland Special Edition 에 대해 더

자세한 정보는, http://www.glyfx.com에서 확인 가능하다.

IBM DB2 Universal Developers Edition

IBM DB2 Universal Developers Edition 은 DB2 데이터베이스를 제공하며, 모든 DB2

클라이언트 서버 플랫폼상에서의 배포를 위한 애플리케이션 디자인, 빌딩,

프로토타이핑에 관련된 툴을 제공한다.

InstallShield Express for Borland Delphi

InstallShield Express for Borland Delphi provides you with an easy-to-use graphical interface

for building custom installers for your Windows software. For more information on

InstallShield Express for Borland Delphi, please visit: http://www.installshield.com/Borland

Borland Delphi 를 위한 InstallShield Express 는 윈도우 소프트웨어의 Custom Installer

생성을 위해 사용하기 쉬운 그래픽 인터페이스를 제공한다. 더 자세한 정보는

http://www.installshield.com/Borland에서 확인 가능하다.

Internet Direct (Indy)

Internet Direct (Indy) is an open-source Internet component suite comprised of popular

Internet protocols written in Delphi and based on blocking sockets. For more information

about Internet Direct, please visit: http://www.atozed.com/indy

P a ge 15 4

Page 155: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Internet Direct (Indy)는 Delphi 로 작성되고 소켓 블러킹을 기반으로 한 대중적인 인터넷

프로토콜을 포함한 오픈 소스 인터넷 컴포넌트 묶음이다. 더 자세한 정보는

http://www.atozed.com/indy 에서 확인 가능하다.

IntraWeb

IntraWeb is a complete RAD solution for building Web applications, dynamic Web sites that

go well beyond the capabilities of regular ASP.NET Web applications and ISAPI Web server

extensions. For more information on IntraWeb, please visit:

http://www.atozed.com/intraWeb/

IntraWeb 은 Regular ASP.NET 웹 애플리케이션과 ISAPI 웹 서버 익스텐션의 성능을

넘어서는 다이나믹 웹사이트와 웹 애플리케이션을 생성하기 위한 완벽한 RAD

솔루션이다. IntraWeb 을 위한 더 자세한 정보는 http://www.atozed.com/intraWeb/ 에서

확인 가능하다.

Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)

MS SQL Server 2000 데스크탑 엔진은 여러분의 소규모 워크그룹과 여러분들이 확장을

필요로 하는 만큼 SQL 손쉬운 확장이 가능한 SQL 2000 Server 데이터 스토리지를

갖춘 소규모 웹 애플리케이션들을 제공한다.

Microsoft SQL Server 2000 Developer Edition

MS SQL Server Delveloper Edition 은 여러분이 SQL 2000 Server 기반으로 구현할 수

있는 애플리케이션을 디자인하고 개발하고 프로토타입으로 만들 수 있는 개발자

라이센스를 제공한다.

P a ge 15 5

Page 156: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Rave Reports Borland Edition

Rave Reports Borland Edition is a powerful and scalable suite of VCL and VCL for .NET

reporting components for creating sophisticated Delphi reports. For more information about

Rave Reports Borland Edition, please visit: http://www.nevrona.com/rave/

Rave Reports Boland Edition 은 세련된 Delphi 리포트를 작성할 수 있는 강력하고

확장가능한 VCL 과 VCL.Net 리포팅 컴포넌트들의 모음집이다. Rave Reoports Borland

Edition 은 자세한 정보는 http://www.nevrona.com/rave/ 에서 확인 가능하다.

Wise Owl Demeanor .NET Borland Edition

Wise Owl Demeanor for .NET Borland Edition is a .NET obfuscator, a tool that helps prevent

others from reverse-engineering your managed code applications and assemblies. For more

information about Wise Owl Demeanor for .NET Borland Edition, please visit:

http://www.wiseowl.com/

Wise Owl Demeanor for .Net Borland Edition 은 여러분들이 관리하는 코드

애플리케이션과 어셈블리가 재해석 되는 것들을 방지하는 툴인 .Net obfuscator 이다.

자세한 정보는 http://www.wiseowl.com/ 에서 확인 가능하다

기타

소프트웨어 개발에 필요한 광범위한 리소스의 링크와 같은 최신 정보를 Borland

Developer Network 에서 확인 가능하다. http://bdn.borland.com/.

코드 샘플과 애플리케이션 데모, 개발자들이 사용하는 볼랜드 제품의 리소스 등을 얻을

수 있는 Borland 의 online, Repository 인 Code Central 도 유용한 자료를 제공한다. Code

Central url : http://cc.borland.com/ccweb.exe/

P a ge 15 6

Page 157: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Summary

지난 20 여년간 Delphi 2005 는 어떠한 개발환경에서도 구애 받지 않으며, 현재의

소프트웨어에 대한 투자를 보존하면서 다가올 새로운 기준의 통합과 부합되는

최첨단의 툴로서 성장해 왔습니다. 모든 Application lifecycle 모든 측면을 지원하는

통합된 툴로서 Delphi 2005 는 진정한 궁극의 Windows 개발 솔루션이다.

Borland Software Corporation 에 대하여

1983 년 설립된 Borland Software Corporation(NASDAQ:BORL)은 SDO(software delivery

optimization)를 위한 OS 에 구애 받지 않는 솔루션 의 글로벌 리더이다. Borland 는

소프트웨어와 소프트웨어 가치를 극대화하는데 요구되는 조직과, 기술, 프로세스들을

결합하는 서비스를 제공한다. 정확한 시간과 예산안에서 품질 높은 소프트웨어 전달에

관한 좀 더 많은 정보를 아래의 URL 에서 제공한다. . http://www.borland.com.

작가에 대하여

Carey Jensen 은 소프트웨 개발, 교육과 컨설팅 회사인 Jensen Data Systems, Inc 의

대표이사이다.(http://www.jensendatasystems.com). 그는 19 권의 베스트셀러 저자이며,

Borland Developer Network 의 초청 컬럼니스트이기도 하다.. 그리고 세계 곳곳의

컨퍼런스와 워크샵, 교육에서 유명한 강사이다. Cary 는 Texas, 휴스턴의 Rice

University 에서 인간과 컴퓨터 상호작용 전문의 인간 심리학 박사이다. E-mail :

[email protected].

P a ge 15 7

Page 158: Delphi 2005 리뷰가이드delphi.borlandforum.com/impboard/attach/0000078592/Reviewers Guide... · Delphi 2005 는 윈도우 기반의 강력하고 완벽한 개발 솔루션으로서,

Borland Delphi 2005 – Reviewers Guide

Made in Borland® Copyright © 2004 Jensen Data Systems, Inc. All rights reserved. All Borland brand and product names are trademarks or registered trademarks of Borland Software Corporation in the United States and other countries. Microsoft, Windows, and other Microsoft product names are trademarks or registered trademarks of Microsoft Corporation in the U.S. and other countries. All other marks are the property of their respective owners. Corporate Headquarters: 100 Enterprise Way, Scotts Valley, CA 95066-3249 • 831-431-1000 • www.borland.com • Offices in: Australia, Brazil, Canada, China, Czech Republic, Finland, France, Germany, Hong Kong, Hungary, India, Ireland, Italy, Japan, Korea, Mexico, the Netherlands, New Zealand, Russia, Singapore, Spain, Sweden, Taiwan, the United Kingdom, and the United States. •

P a ge 15 8