Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

이 사이트 검색

검색 태그: 'rtl'.

  • 태그로 검색

    태그 사이를 쉼표(,)로 구분하세요.
  • 작성자로 검색

콘텐츠 유형


게시판

  • 엠바카데로 (Embarcadero) 개발도구: 델파이 (Delphi), C++빌더 (C++Builder), RAD 스튜디오 (RAD Studio)
    • [기술 Q&A 게시판] 델파이, C++빌더, RAD 스튜디오
    • [설치/등록 Q&A 게시판] 델파이, C++빌더, RAD 스튜디오
    • [기술 기고 게시판] 델파이, C++빌더, RAD 스튜디오
    • [포트폴리오 게시판] 내가 참여한 프로젝트/프로그램 소개
    • [구인 게시판] 개발자 채용/프로젝트 의뢰
  • 엠바카데로 (Embarcadero) DBMS: 인터베이스 (InterBase)
    • [기술 Q&A 게시판] 인터베이스
    • [설치/등록 Q&A 게시판] 인터베이스
    • [기술 기고 게시판] 인터베이스
  • 비주얼 스튜디오 (Visual Studio) 관련 도구
    • [기술 Q&A 게시판] 비주얼 어시스트
    • [설치/등록 Q&A 게시판] 비주얼 어시스트
    • [기술 기고 게시판] 비주얼 어시스트
  • 구록 (Gurock) 테스트도구: 테스트레일 (TestRail)
    • [기술 Q&A 게시판] 테스트레일
    • [설치/등록 Q&A 게시판] 테스트레일
    • [기술 기고 게시판] 테스트레일
  • 아이데라 (Idera) 데이터 도구: 아쿠아 데이터 스튜디오 (Aqua Data Studio), ER/Studio 등
    • ER스튜디오 (ER/Studio)
    • 아쿠아 데이터 스튜디오 (Aqua Data Studio)
  • API레이어 (Apilayer) 개발 도구: API레이어 (Apilayer)
    • [Q&A 게시판] API레이어 (Apilayer)
  • 엠바카데로 (Embarcadero) 라이선스 서버: ELC (Enterprise License Center)
    • [게시판] ELC (Enterprise License Center) 라이선스 서버
  • 이 사이트 이용 관련
    • [게시판] 이 사이트 관련 이용 팁과 Q&A

Categories

  • 이달의 기술자료: 엠바카데로
  • 비디오 세미나
    • UX Summit
    • DelphiCon
    • CodeRage
    • 데브기어 세미나
    • Skill Sprint
  • 기술백서(PDF)

Categories

  • 시작하기
  • 설치/등록/라이선스
  • 튜토리얼
  • 도서

Categories

  • RAD 스튜디오 역사관
  • 11 알렉산드리아
  • 10.4 시드니
  • 10.3 리오
  • 10.2 도쿄
  • 10.1 베를린
  • 10.0 시애틀
  • XE8~XE
  • 2010~6.0

...에서 결과 찾기

검색어 일치 조건


최초 작성일

  • Start

    End


최종 변경일

  • Start

    End


개수로 필터링...

가입

  • Start

    End


Group


자주 쓰는 도구

  1. Kori

    2010~6.0 VCL과 RTL

    << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 2010~6.0 "새 기능 한글 요약본: VCL과 RTL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 목록 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. □ [2010] 경로, 파일, 디렉토리 관련된 함수 사용이 편리해 졌습니다. System.IOUtils 클래스 TDirectory, TPath, TFile 등의 클래스들을 지원하여 로컬 디스크상의 디렉토리, 파일들을 훨씬 간단하게 검색, 액세스 가능합니다. □ [2010] 키오스크나 태블릿 개발에 유용한 가상키보드를 개발할 수 있습니다. TTouchKeyboard 컴포넌트 가상 키보드 컴포넌트인 TTouchKeyboard가 추가되어, 터치나 마우스 클릭으로 키 입력을 할 수 있게 되었습니다. 키오스크나 태블릿 개발에 아주 유용합니다. 터치키보드는 상속하여 간단히 원하는 언어 키보드를 구현할 수 있으며, 숫자 키패드로 바꿀 수도 있습니다. □ [2010] TCanvas와 유사한 TDirect2DCanvas로 Direct2D 개발이 가능합니다. Direct2D 지원 이제 델파이에서도 손쉽게 Direct2D 개발을 할 수 있습니다. 더욱이, 델파이 개발자들이 익숙한 TCanvas와 유사하게 TDirect2DCanvas로 만들어져 기존의 TCanvas로 개발해본 개발자라면 누구나 쉽게 배워 활용할 수 있습니다. □ [2010] TIFF와 RAW 포맷을 이미지컴포넌트에서 사용할 수 있습니다. TIFF 및 RAW 이미지 지원 WIC(Windows Imaging Components)를 지원함으로써, 스캐너, 팩스 등 수많은 분야에서 사용되는 범용 이미지 포맷 중의 하나인 TIFF를 직접 지원하게 되었습니다. 또한 최근 디지털 카메라에서 고급 이미지를 위해 많이 사용되는 RAW 포맷들도 WIC를 통해 지원하게 되었습니다. □ [2009] MS 오피스와 같은 리본 인터페이스를 쉽게 개발할 수 있습니다. 리본 컨트롤 MS 오피스에서 도입된 리본컨트롤을 컴포넌트로 지원해, 다른 개발툴들처럼 복잡한 코딩 없이 폼 디자인만으로 간단히 리본 컨트롤을 추가하고 다룰 수 있습니다. □ [2009] 컴포넌트 속성 설정만으로 멀티터치와 제스처를 구현할 수 있습니다. 멀티터치 / 제스처 지원 이제 델파이의 모든 컨트롤에서 터치 인터페이스를 지원하게 되었으며, 특히 특별한 코딩 없이 컴포넌트 수준의 설정만으로도 터치와 제스츄어를 지원합니다. 이를 위해 델파이 2010에서는 대부분의 VCL 컨트롤에서 Touch 속성이 추가되었으며, 여기서 지정된 GestureManager 컴포넌트를 통해 제스처도 지원됩니다. 기존 애플리케이션에도 간단히 터치 인터페이스를 추가할 수 있습니다. 델파이에서는 기본적으로 30개의 표준 제스처를 지원하며, 개발 중에 Custom Gesture를 추가하거나 혹은 런타임에 GestureRecorder 컨트롤을 이용하여 쉽게 사용자 제스츄어를 기록할 수 있습니다. □ [2009] 비슷한 범주의 버튼을 그룹으로 묶어서 제공할 수 있습니다. TButtonGroup 컴포넌트 비슷한 범주의 버튼을 그룹으로 묶어서 사용할 수 있습니다. 델파이 IDE의 툴 팔레트 카테고리 선택 UI도 TButtonGroup으로 제작되었습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 에디터 컴포넌트에 이미지 버튼을 쉽게 넣을 수 있습니다. TButtonEdit 컴포넌트 에디트 컴포넌트에 이미지 버튼을 가진 컴포넌트입니다. LeftButton, RightButton 속성에 이미지를 지정할 수 있으며 OnLeftClick, OnRightClick 이벤트로 클릭을 제어할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] ListView의 그룹을 직접 설정하고, 그룹마다 이미지를 지정할 수 있습니다. ListView 그룹화 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 사용자 알림에서 제목, 설명과 이미지를 추가할 수 있습니다. TBalloonHint 컴포넌트 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 아웃룩의 사이드바와 같이 접었다 펴지는 UI를 구현할 수 있습니다. TCategoryPanelGroup 컴포넌트 아웃룩의 사이드바와 같은 작업을 합니다. 여러개의 다른 패널을 추가할 수 있고 각기다른 패널에 VCL 컴포넌트를 추가할 수 있습니다. 타이틀, 이미지, 정렬과 아이콘을 각기 다르게 구현할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 아웃룩 사이드바와 같은 카테고리 별 그룹과 버튼을 갖는 UI를 구현할 수 있습니다. TCategoryButtons 컴포넌트 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 그리드 컴포넌트의 스타일을 지정할 수 있습니다. 그리드 컴포넌트의 DrawingStyle 속성 Themed, Gradient 스타일이 그리드 컴포넌트에 추가되었습니다.(기본값 = gdsThemed) 자세히 보기: http://tech.devgear.co.kr/411088 □ [2007] 최신 윈도우의 가이드라인에 맞는 애플리케이션을 만들 수 있습니다. 최신 윈도우 공식지원 델파이 XE3에서 Windows 8을 델파이 2010에서 Windows 7을 델파이 2007에서 Windows Vista를 공식 지원합니다. 따라서 델파이로 빌드한 애플리케이션은 마이크로소프트의 윈도우 가이드라인을 준수하게 되며, 해당 윈도우에서 아무 문제 없이 동작합니다. □ [2007] 프로젝트 옵션 설정으로 윈도우 테마 지원 적용을 간단하게 할 수 있게 되었습니다. 윈도우 테마 지원 개선 Delphi 7에서는 Windows XP의 테마 기능을 지원하기 위해 XPMan (TXPManifest 컴포넌트) 방식을 사용했습니다. Delphi 2007 이후로는 이런 테마 지원이 더 네이티브 해져서, 프로젝트 옵션에서 Runtime Theme 선택(또는 Enable runtime Themes 체크)하면 전체 프로젝트에 대해 간편하게 테마 지원을 추가할 수 있습니다. 이 옵션은 Delphi 2007 이상에서 새로 만든 프로젝트에서는 기본으로 적용되며, Delphi 2006 이하의 구버전에서 작성된 소스에 대해서는 호환성을 위해 체크가 안되어 있습니다. (XPMan 방식을 사용한 경우 이 체크를 하면 충돌하며, 그런 경우 이 개선된 테마 지원을 사용하려면 프로젝트의 모든 유닛들의 uses 리스트에서 XPMan 유닛을 제거해야 합니다) □ [2006] 메모리 매니저와 RTL 함수가 교체되어 성능이 향상된 애플리케이션을 만들 수 있습니다. FastMM 메모리 매니저 도입 FastMM은 전통적인 Delphi의 메모리 매니저인 borlndmm.dll을 대체하는 것으로서, 이전보다 훨씬 빠른 메모리 루틴들을 제공하여 Delphi로 개발된 애플리케이션의 속도를 비약적으로 끌어올려줍니다. 또한 FastMM으로 인해 Delphi의 RTL에 메모리 관리 관련의 새로운 기능들이 많이 추가되었습니다. 전역 변수인 ReportMemoryLeaksOnShutdown에 True 값을 설정해두면, 프로그램이 종료될 때 메모리 누수 상황에 대해 알려주며, 메인 exe와 dll 사이에 메모리를 간단히 공유할 수도 있습니다. □ [2006] 마우스 중앙 버튼을 누르면 스크롤링 하는 기능을 개발할 수 있습니다. 인텔리마우스 지원 VCL 인텔리마우스 API를 지원합니다. 예를 들어 왼쪽 그림처럼 TMemo 컴포넌트 위에서 마우스 중앙 버튼을 누르면 사용자로 하여금 메모 내에서 스크롤링 하기 위해 마우스를 사용할 수 있도록 해 줍니다. 델파이 코드 에디터도 이 기능을 지원합니다. □ 작업표시줄 영역에 트레이 아이콘을 추가하고 풍선 도움말과 팝업메뉴를 제공할 수 있습니다. TTrayIcon 컴포넌트 TTrayIcon 컴포넌트는 VCL 애플리케이션이 태스크 트레이에 아이콘을 넣을 수 있도록 해줍니다. 이 컨트롤은 풍선 도움말과 팝업 메뉴를 지원합니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ PNG, GIF를 지원할 수 있습니다. PNG, GIF 지원 bmp, jpeg 이미지 지원에 이어, 이제 VCL에서 PNG 및 GIF이미지 포맷도 지원됩니다. 또한 이미지 리스트 컴포넌트에서 png 파일을 직접 읽어 들일 수 있어 전보다 더 편리하게 되었습니다. □ 컨트롤의 여백을 설정해 컨트롤 배치를 더 다양하게 할 수 있습니다. VCL – Margins와 Padding 모든 VCL 컨트롤에 Padding 및 Margin 프로퍼티가 추가되었습니다. 이 두 프로퍼티는 HTML에서와 비슷하게 동작하는데, Padding은 컨테이너 컨트롤이 내부의 컨트롤과 가지는 여유 공간의 픽셀 길이입니다. Margin 프로퍼티는 컨트롤의 바깥 여유 공간입니다. 컨트롤의 AlignWithMargins 프로퍼티가 True로 지정되고 Align 프로퍼티가 alNone이 아닌 값으로 지정되면 해당 컨트롤의 Margin 프로퍼티 값에 따라 배치됩니다. 예를 들어, 그림은 폼 위에 있는 TPanel을 보여줍니다. 이 패널은 Align이 alClient로, AlignWithMargins 속성이 True로 지정되었으며, Margin 속성은 20으로 지정된 상태입니다. 또한 폼의 Padding.Bottom 속성은 30으로 지정되었습니다. AlignWithMargins와 Margin 속성을 이용하면 기존의 Align 속성만 이용할 때보다 훨씬 쉽고 풍부하게 컨트롤들을 배치할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ 표준 HTML 링크가 들어있는 라벨을 사용할 수 있습니다. TLinkLabel 컴포넌트 위의 사진은 Caption에 “ 데브기어 홈페이지를 클릭하세요.”을 입력하고 실행한 결과입니다. 링크를 클릭하면 OnLinkClick 이벤트가 발생합니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ 사용자의 결정이 필요한 경우, 여러가지 선택지를 제공하여 사용자의 의견을 정교하게 받을 수 있습니다. TTaskDialog 컴포넌트 TTaskDialog 컴포넌트는 비스타에서 새로 도입된 태스크 다이얼로그 기능을 사용할 수 있게 해주는 컴포넌트입니다. 개발자는 오브젝트 인스펙터를 이용하여 TaskDialog의 모양을 커스터마이즈할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088
  2. Kori

    10.0 시애틀 RTL

    << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.0 시애틀 "새 기능 한글 요약본: RTL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 10.0 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. □ [10] JSON과 BSON 스트림 JSON 데이터를 DOM 모델이 아닌 스트리밍 모델로 읽고, 쓸수있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/416103 □ [10] FireDAC NoSQL 드라이버로 몽고DB 지원 몽고DB는 가장 인기 있는 NoSQL 데이터베이스입니다. FireDAC 기능 향상에는 API 맵핑, 데이터 처리, JSON과 BSON 포맷 지원 (새 RTL) 등이 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/415015
  3. Kori

    10.1 베를린 RTL

    << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.1 베를린 "새 기능 한글 요약본: IDE" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 10.1 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. □ [10.1] 윈도우10에서 블루투스 LE와 비콘 지원 새로운 WinRT 블루투스 API가 제공되어, 윈도우10에서도 블루투스LE와 비콘을 활용할 수 있습니다: 데이터 값이 들어오면 알려줄 BLE 디바이스 스캔 기능 BLE를 통해 들어오는 데이터 값 송수신 기능 iBeacon, AltBeacon 포맷 사용 기능 자세히 보기: https://tech.devgear.co.kr/delphi_news/422711 □ [10.1] Eddystone Beacon 포맷 지원 아래 3개 타입을 활용할 수 있습니다: EddystoneUID: 네임스페이스(Namespace)와 인스턴스(Instance)로 구성된 식별자 정보 제공 EddystoneURL: 압축된 형식의 URL 제공 EddystoneTLM: 비콘 동작 상태 관련 원격 정보 제공 자세히 보기: https://tech.devgear.co.kr/delphi_news/422713
  4. Kori

    10.2 도쿄 RTL

    << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.2 도쿄 "새 기능 한글 요약본: RTL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 10.2 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. 10.2 도쿄 - RTL 관련 주요 업데이트 요약 [10.2] HTTP 클라이언트 64 비트 리눅스를위한 RTL 지원 RAD 서버 다중 테넌시 지원 앱 테더링 개선 사항 추가되거나 기능 향상된 해시 함수 파이어 버드 개선 사항 MySQL 기능 향상 TFDMemTable이 개선 기타 FireDAC 변경 사항 TDBImage JPEG과 PNG 그래픽형식 지원 Blob Field Display 옵션 강화 기타 데이터베이스 개선 [10.2] HTTP 클라이언트 64비트 리눅스에서 네이티브 HTTP 클라이언트 라이브러리(libCurl)를 지원합니다. HTTP 클라이언트에서 개선 된 비동기 지원 64 비트 리눅스를위한 RTL 지원 RAD Studio 10.2 도쿄는 표준 시스템 함수, 스트림 및 IOUtils 유닛을 사용하여 리눅스파일 시스템을 지원합니다. 또한 64비트 리눅스에 대한 표준 RTL 경로 기능 지원을 제공합니다. RAD 서버 다중 테넌시 지원 다중 테넌시 지원을 사용하면 하나의 RAD 서버 데이터베이스 연결을 사용하는 단일 RAD 서버 인스턴스가 분리된 다중의 테넌트를 지원할 수 있습니다. 앱 테더링 개선 사항 TTetheringManager과 TTetheringProfile 의 새로운 SynchronizeEvents 속성은 메인 스레드와의 이벤트 동기화를 제어합니다. 따라서 이제 관리자와 프로파일은 이벤트 핸들러가 메인 스레드에서 실행되는지 여부를 제어 할 수 있습니다. 로그 필터링 향상 : 더 많은 로깅 메시지가 추가되었습니다. 새로 추가된 TTetheringAppProfile의 SendLongString 메소드는 문자열과 스트림을 사용합니다. TResourceValue.AsString은 받은 스트림에서 문자열을 반환합니다. 만약 없다면 반은 문자열 값을 반환합니다. 이는 일반 문자열과 긴 문자열에 대한 대응입니다. 추가되거나 기능 향상된 해시 함수 System.Hash 유닛에 정의 되어 있는 다음 메소드들은 스트림 또는 문자열을 입력 매개 변수로 허용합니다. THashMD5.GetHashString. THashMD5.GetHashBytes THashSHA1.GetHashString THashSHA1.GetHashBytes THashSHA2.GetHashString THashSHA2.GetHashBytes System.Hash 유닛에는 파일에서 해시 다이제스트를 얻을 수 있는 다음과 같은 새로운 메소드가 있습니다. THashMD5.GetHashBytesFromFile THashMD5.GetHashStringFromFile THashSHA1.GetHashBytesFromFile THashSHA1.GetHashStringFromFile THashSHA2.GetHashBytesFromFile THashSHA2.GetHashStringFromFile 자세히 보기: https://tech.devgear.co.kr/delphi_news/431498 파이어 버드 개선 사항 Direct I / O 백업 기능 지원을 위해 새로운 Direct 속성 추가 MySQL 기능 향상 MySQL v 5.7 지원 MariaDB v 5.5 이상 지원 (FireDAC의 MySQL 노드를 사용하여 MariaDB에 연결합니다.) 최신 MySQL 버전 5.6.x 및 5.7.x와의 호환성. 이전 API (MySQL 텍스트 프로토콜)와 PS API (MySQL prepared statements 프로토콜) 모두 지원됩니다. TFDResourceOptions.DirectExecute 속성을 사용하여 API를 선택할 수 있습니다. 사용중인 API에 따라 TFDCommand.CommandIntf.CliObj 속성은 TMySQLStatement 또는 TMySQLResult 개체를 반환합니다. 내부 BLOB 스트리밍 지원 (smOpenWrite 모드에서만). 연결 트랜잭션 상태와 TFDConnection.InTransaction 속성의 동기화 개선. 이 등록 정보를 사용하면 연결 트랜잭션이 현재 진행 중인지 여부를 결정할 수 있습니다. TFDMemTable이 개선 TFDMemTable 컴포넌트를 개선하여 설계 시점에 TFDMemTable 데이터 셋을 편집할 수 있습니다. TFDMemTable 컨텍스트 메뉴에 컴포넌트 데이터를 편집하여 양식에 저장할 수있는 Edit DataSet … 항목을 제공합니다. 데이터는 런타임에서도 사용할 수 있습니다.(참고 : Edit DataSet …을 사용하기 전에 TFDMemTable.FieldDefs에 대한 필드 정의를 지정하거나 영구 필드를 만들어야합니다). 기타 FireDAC 변경 사항 TFDDataMove 컴포넌트는 삭제되어 툴 팔레트에서 더 이상 사용할 수 없습니다. 대신 TFDBatchMove 컴포넌트를 사용하십시오.( 시작 > 프로그램 > Embarcadero RAD Studio 10.2 Tokyo > Samples 를 선택하고 Object Pascal\Comp Layer\TFDBatchMove\DataMove_Deprecated 폴더에 있는 FireDAC.Comp.DataMove.pas를 사용하십시오. TFDBatchMove가 최적화되었습니다. 그 결과로 TFDBatchMoveMappingItem의 DestValue 및 SourceValue 속성을 더 이상 사용할 수 없습니다. TFDMSAccessService는 이제 Microsoft Access 2007 이상을 지원합니다. TDBImage JPEG과 PNG 그래픽형식 지원 VCL의 TDBImage가 Bitmap 뿐 아니라, JPEG과 PNG 그래픽 형식을 지원합니다. 기타 다른 그래픽 포맷을 지원하려면 OnFindGraphicClass 이벤트의 GraphicClass 파라메터에 그래픽 처리 클래스를 매핑해 추가 지원할 수 있습니다. Blob Field Display 옵션 강화 DisplayValue와 DisplayWidth 설정 cvClass로 설정된 결과 dvClip으로 설정된 결과 Blob 형식의 데이터를 클래스 형식 또는 문자열로 표현할 수 있습니다. DisplayValue: 표현할 값 dvClass(기본) : 클래스 명을 표현 (위 그림 참조) dvClip : 문자열로 DisplayWidth만큼 표시하고 나머지는 "..."표현 (위 그림 참조) dvFull : 전체 문자열을 표시 dvFit : DisplayWidth보다 짧은 항목은 문자열을, 긴 문자열은 클래스 명을 표현 DisplayWidth: 표현 길이 기타 데이터베이스 개선 TField 클래스에 대한 직접 GUID 액세스. 자세히 보기: https://tech.devgear.co.kr/delphi_news/431411
  5. Kori

    10.3 리오 RTL

    << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.3 리오 "새 기능 한글 요약본: RTL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 10.3 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. 10.3 리오 - RTL 관련 주요 업데이트 요약 델파이 RTL 10.3에서는 JSON과 HTTP와 관련된 성능과 표준 준수가 크게 향상되었다. 데이터 구조(Data Structure) 증가 전략 변경 일부 데이터 구조(TStringList, TList, TList<T>, TQueue<T>, TSTack<T>)에서는 항목이 기존 용량에 가득차서 확장을 해야 할 때 더 유연하게 용량이 증가되도록 하는 전략이 반영되었다. 과거에는 무조건 기존 용량 만큼만 더 늘어나도록 정해져있었다. 이 새 증가 전략은 SysUtils.pas 유닛 안에 있는 공유 글로벌 함수로 구현되었다. function GrowCollection(OldCapacity, NewCount: Integer): Integer; 게다가, 개발자는 이와 호환되는 새 함수를 작성하고, 글로벌 프로시저인 SetGrowCollectionFunc를 호출함으로써, 자신에게 알맞게 구현할 수 있다 만약 사용자 정의된 "컬렉션 증가 함수"를 런타임 패키지 안에 설치한다면, Exit 할 때 반드시 nil이 되도록 지정해야 한다. 그렇지 않으면 런타임은 패키지가 내려간(unload) 후에 이 존재하지 않는 함수를 부르려고 시도할 수도 있을 것이다. TStringBuilder 변경 성능 향상을 위해 TStringBuilder의 일부가 변경되었다. 메모리 증가 전략 면에서 유사한 변경이 있었으며, 중복된 코드를 제거하는 등 전반적인 구현을 깔끔하게 정리했다. TStringBuilder 열거형(enumerator)이 최적화 되었다. 또한 TStringBuilder.ToString 메소드 파라미터 하나가 추가되었다. 추가된 파라미터는 ToString (UpdateCapacity: Boolean)이다. ToString(True)이면, TStringBuilder를 더이상 변형할 필요가 없다고 예상되는 상황에서 성능이 더 좋아진다. 데이터가 복사되는 량이 줄어들기 때문이다. JSON 향상 정확성과 성능 면에서 JSON 처리 및 해독(parse)이 크게 향상 되었다. 리스트 관련 향상 TList와 TDictionary에 퍼블릭 프로퍼티(들)이 새로 추가: 초기화된 후에 해당 리스트의 비교자(comparer, 정렬 위한 비교 동작에 대한 정의)에 접근할 수 있다. TDictionary<TKey,TValue>에 TryAdd 메소드가 추가 TObjectList<T>에 ExtractAt(Index: Integer): T 가 추가 TList<T>.IndexOf 성능 향상 일반적인 TList<T>, TQueue<T>, TStack<T> 리스트에 항목을 추가하는 성능 향상. 대체로TList<T>.Add는 30%까지 더 빨라졌다. TList, TStrings, TComponent, TCollection, TList<> 열거형(enumerator) 최적화. 반복속도 자체만 보면 "for in" 루프는 2.5~4배 빨라졌음 컬렉션 열거자(enumerator) 타입의 부분으로, RAD 스튜디오는 반복(iteration)이 완료되었을 때 해당 열거자의 상태를 공식적으로 정의한다: "MoveNext가 False를 반환한 후에는 열거자 상태가 유효하지 않으며 열거자는 반드시 해제되거나 다시 생성되어야하며, 더 이상 액세스해서는 안 됩니다." 기타 RTL 변경 TStringHelper.Split은 이제 StrUtils에 있는 글로벌 함수인 SplitString과 동일한 결과를 만든다. zlib가 1.2.8로 업그레이드 되면서 몇가지 버그 픽스가 있었다 (그리고 이제는 RAD 스튜디오 C++ 64-bit 컴파일러에서 컴파일될 수 있다). PCRE가 8.42로 업그레이드 되면서 윈도우에서 UTF-16을 지원한다 (그리고 이제는 RAD 스튜디오 C++ 컴파일러에서 컴파일될 수 있다 Unicode 테이블 (System.Character 유닛)에서 유니코드 v11.0을 지원한다. TStringHelper.Split 메소드에서 지금까지와는 또 다른 동작을 할 수 있도록 지정할 수 있다. 새로 생긴 옵션은 TStringSplitOptions.ExcludeLastEmpty이다. SysUtils 유닛에 있는 프로시저와 함수의 순서를 재정돈하여 인라인(inline)을 더 잘 지원할 수 있도록 했다. System 유닛에 새 별칭(alias)인 Float32과 Float64가 추가되었다. 앱테더링(AppTethering)에서 긴 문자열 전송 현재 (앱테더링에 사용되는) TTetheringAppProfile 클래스의 SendString / AsString은 대략 1,400 문자까지 길이가 제한되어 있다. 10.3 에서는 다음과 같은 변경과 추가를 통해 호환성을 유지하면서도 긴 문자열을 다룰 수 있도록 했다. TTetheringAppProfile에 새 메소드인 SetLongString과 SendLongString이 추가되었으며, 이 메소드들은 문자열이 아니라 스트림을 사용하여 통신한다. TResourceValue.AsString은 수신한 스트림을 문자열을 반환하는 것이 가능하면 그렇게 하고, 가능하지 않으면 수신한 문자열을 반환한다. 따라서 일반 문자열과 "긴 문자열" 모두를 처리할 수 있다. TTetheringAppProfile.SendString은 문자열 길이가 1.3 KB보다 작은 경우에 사용하고, 그 이상인 경우에는 TTetheringAppProfile.SendLongString을 사용해야 한다. TMemIniFile 최적화 RAD 스튜디오 10.3 리오에서는 TMemIniFile 구현이 최적화 되었다. TMemIniFile 읽기와 생성(constructing)이 10~25배 빨라지고 메모리 사용은 절반으로 감소했다. TMemIniFile의 다른 동작 역시 향상되어서 이전 구현에 비해 50~100% 더 빨라졌다. 또한 10.3에서는 스트림에서 TMemIniFile을 적재(load)할 수 있는 기능이 추가되었다. 즉 생성자 오버로드 2가지가 더 추가되었다. TMemIniFile.Create(Stream) TMemIniFile.Create(Stream, UseLocale) 이 생성자 파라미터 2개는 해당 클래스 안에서 사용할 수 있도록 유지되며 새 프로퍼티를 통해 외부에 공개된다. Stream 프로퍼티 UseLocale 프로퍼티
  6. Kori

    10.4 시드니 RTL

    << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.4 시드니 "새 기능 한글 요약본: RTL" 입니다. 10.4 시드니의 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. 10.4 시드니 - RTL 관련 주요 업데이트 요약 툴체인 성능 및 품질 개선 향상된 병렬(페러럴) 프로그래밍 라이브러리 지원 FireDAC 데이터베이스 엑세스 라이브러리 라이브 바인딩 성능 및 기능 향상 툴체인 성능 및 품질 개선 Dinkumware의 STL 다수 개선 주요 RTL 메소드 및 영역 개선, 공통 C++ 라이브러리와 호환성 개선 CMake 지원에 대한 여러가지 개선 다수의 품질 및 안정성 개선 향상된 병렬(페러럴) 프로그래밍 라이브러리 지원 병렬 프로그래밍 라이브러리(PPL: Parallel Programming Library)는 최신 멀티코어 CPU에서 병렬로 작업을 실행할 수 있는 기능을 제공합니다. 10.4에서는 PPL 라이브러리의 성능과 안정성이 크게 향상되었습니다. FireDAC 데이터베이스 엑세스 라이브러리 10.4에서는 FireDAC 데이터베이스 엑세스 라이브러리의 일부가 개선되었고, FireBird, PostgreSQL 및 SQLite 용 드라이버가 업데이트되었습니다. SQLite 임베디드 데이터베이스의 경우, 연결 방식을 정적(static) 및 동적(dynamic) 연결 중 하나를 선택할 수 있습니다. 라이브 바인딩 성능 및 기능 향상 10.4에서 VCL과 파이어몽키 애플리케이션 모두에서 Visual LiveBindings 아키텍처와 구현의 큰 향상이 있었으며 특히 성능 향상에 중점을 두었습니다. 결과적으로 라이브 바인딩 작업이 훨씬 더 빨라졌습니다.
  7. 험프리

    11.0 알렉산드리아 RTL과 데이터

    << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 11.0 알렉산드리아 "새 기능 한글 요약본: RTL과 데이터" 입니다. 11.0 알렉산드리아의 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. 11.0 알렉산드리아 - RTL과 데이터 관련 주요 업데이트 요약 플랫폼 식별자 RTL: TZipFile RTL 대용량 데이터 구조 개선 새로운 레코드 헬퍼 블루투스와 BLE 개선 추가 RTL 개선사항 제네릭 콜렉션 개선사항 RTTI PPL 스트림 날짜를 문자료 변환 인터페이스 인스턴스 생성 TNoRefCountObject 최적화 및 기타 JSON UTF8ToString 변경 사항 FireDAC Internet, HTTP 및 REST 클라이언트 라이브러리 인터넷 서버 기술 웹브로커 RAD 서버 데이터스냅 플랫폼 식별자 RTL은 macOS/Arm64 플랫폼용으로 새로운 플랫폼 식별자인 pidOSXArm64를 추가되었다. 기존 pidAndroid32Arm 및 pidAndroid64Arm 식별자는 새로운 pidAndroidArm32 및 pidAndroidArm64로 대체되었다. 모든 플랫폼 관련 식별자는 컴파일러의 동일한 형식과 순서를 사용합니다. <플랫폼 이름><아키텍처 이름><비트니스> RTL: TZipFile ZIP 파일(RTL의 TZipFile 클래스)의 품질 개선 및 최적화에 중점을 두었다. Zip64에 대한 지원과 TZipFile에서 파일을 제거하는 방법이 추가되었다. TZipHeader에서 GetFIleName 메서드를 지원하고 TZipFile.IsValid()는 스트림 매개 변수를 허용하며 System.Zip은 4GB보다 큰 파일에서도 작동한다. RTL 대용량 데이터 구조 개선 64비트 컴파일러에서 더 큰 메모리 구조에 대해 적절한 데이터 유형을 사용하도록 개선되었다. 예를 들어, 64비트의 TMemoryStream은 2GB보다 큰 데이터 구조를 지원한다. 이와 관련하여 새로운 메서드 TThread.GetTickCount64가 추가되었다(32비트 값을 반환하는 기존 TThread.GetTickCount는 호환성을 위해 RTL에 남아 있음) 새 레코드 헬퍼 추가 TDateTime을 위한 새로운 레코드 헬퍼: System.DateUtils 유닛에 “UTC Now”(실제 NowUTC를 호출) 등이 포함되었다. Currency타입을 위한 새로운 레코드 헬퍼: System.SysUtils 유닛에 TCurrencyHelper가 추가되었다 블루투스와 BLE 개선 클래식 블루투스 및 블루투스LE와 대부분의 플랫폼이 포함해 개선되었다. 특히 Windows 10 및 안드로이드(iOS 및 macOS도 포함)에 중점을 두었으며, 개선 사항에는 비콘 지원도 포함되었다. 추가 RTL 개선사항 제네릭 콜렉션 개선사항 일부 제네릭 유형에서 사용했던 TValue 심볼릭 이름이 RTL의 TValue와 혼돈되므로 다른 이름으로 변경됨.(TKey > K, TValue > V 등) 내부적인 변경으로 기존 코드에는 영향이 없다. 또한, 다음 코드와 같이 컬랙션 클래스의 추가 생성자가 없으며, array of value 형식의 파라메터로 대체되었다. procedure DoCheckStateChanged(Node: TTreeNode; CheckState: TNodeCheckState);virtual; constructor TList<T>.Create(const Values: array of T); constructor TDictionary<TKey, TValue>.Create(const AItems: array of TPair<TKey, TValue>); TDictionary는 Capacity, GrowThreshold와 해싱 구현이 개선되어 성능/메모리 사용량/충돌 최소화하며 균형잡힌 성능을 발휘한다. 내부적으로 구현에 사용된 TListHelper를 제거하고 강력한 타입인 TArray<T>를 사용해 스트리밍과 데이터 매핑 코드 관련된 모든 항목이 업데이트 되었다. RTTI RTTI에 대한 개방형 배열 지원: RTTI를 통해 개방형 배열 매개변수가 있는 메서드 호출을 허용하고 TVirtualMethodInterceptor에서 개방형 배열 인수도 지원힌다. TValue는 TDateTime에 대한 지원이 추가되며, TValue 및 Variant 유형 교환이 개선되었다. PPL (병렬 프로그래밍 라이브러리) PPL 스레드 풀 통계에 더 쉽게 액세스할 수 있도록, TThreadPoolStats.Get 메서드가 이제 공개되었다. 스트림 새로운 TPointerStream 클래스를 사용하면 포인터 위치와 크기를 표시하여 TStream 인터페이스를 사용하여 메모리 내 데이터를 읽고 쓸 수 있다. TStream.CopyFrom에는 알 수 없는 크기가 필요하지 않으며, 이 방법은 Count가 큰 경우에도 최적화되었다(최대 400% 개선). 날짜를 문자료 변환 날짜를 문자로 변환과 반대로 변환이 개선되었다. 참고로, StrToDate는 ‘to date’ 형식 문자열을 엄격히 따르고, 월과 일 이름이 있는 날짜 형식을 지원하며, 내부에 임의의 텍스트가 있는 날짜 형식도 지원한다. 또한, TFormatSettings 날짜/시간 관련 속성 초기화를 개선해 모든 플랫폼에서 표현이 통합되었다. 인터페이스 인스턴스 생성 새로운 System.Generics.Defaults._MakeInterfaceInstance 이용 인터페이스 인스턴스를 만들 수 있고, 모든 인터페이스 메소드는 익명 메소드로 표시된다. TNoRefCountObject 새로운 클래스 System.TNoRefCountObject는 참조 카운트가 IInterface 구현이다.(오래되고 모호한 TSingletonObject를 대체) 최적화 및 기타 최적화된 _FinalizeRecord 및 _FinalizeArray 레거시 TDatamodule.OldCreateOrder 속성이 제거 되고 기본값 True로 인식. 해당 속성이 폼파일에 있는 경우 무시됨(오류 미발생). 델파이 초기 버전 생성 순서 로직과 호환성을 위해 사용 된 항목 향상된 파스칼 System.Pos TArray<T>.BinarySearch 최적화 TList<T>.Sort( ..., Index, Count ) overload 추가 System.IOUtils.TFile.Size 추가 ClassParent 및 InitInstance에 대한 TObject 성능 수정 System.IOUtils.TPath에 대한 몇 가지 개선 사항 RTL에서 260자 보다 긴 시스템 경로 지원, (최신 버전의 Windows 등)운영체제에서 지원하는 경우 클래스 속성 TThread.OnSynchronize 추가 EInOutError 및 EInOutArgumentException 메시지에 경로가 포함되고 경로 필드를 갖음 성능 향상 _UInt32ToHexString 및 _UInt64ToHexString TSingleHelper 및 TDoubleHelper용 Parse 및 TryParse TGUID 데이터 구조는 이제 System.pas에서만 정의됨 JSON ParseJSONValue()를 TJSONObject에서 TJSONValue로 이동 Integer에 대해 TJSONObject.AddPair(overload) 추가 UTF8ToString 변경 사항 array of AnsiChar을 허용하는 UTF8ToString 오버로드가 제거되고 UTF8ToString(array of Byte) 지원중단 됨. 제거된 함수: UTF8ToString(const S: _PAnsiChr) 해결 방법 은 System.UTF8ToString 참조 FireDAC PostgreSQL 드라이버는 PostgreSQL v13 지원, PostgreSQL 저장 프로시저 지원 포함 Oracle 19c 및 Oracle 저장 프로시저에 대한 128자 매개변수 이름에 대한 공식 지원 TFDSortOption에 soDigitsAsNumbers 확장, System.SysUtils의 TCompareOption과 유사 FireDAC 모니터 UI 개선 /bin 하위 폴더가 아닌 VendorHome에서 드라이버를 찾도록 Firebird 드라이버를 개선(이전 버전의 Firebird에는 정확함). Internet, HTTP 및 REST 클라이언트 라이브러리 백엔드 및 EMS 클라이언트 구성 요소에 대한 타임아웃 메커니즘: TEMSProvider, TKinveyProvider, TParseProvider 클래스는 2가지 새로운 속성: ConnectTimeout, ReadTimeout TEMSApi.TConnectionInfo, TParseApi.TConnectionInfo, TKinveyApi.TConnectionInfo: ConnectTimeout 및 ReadTimeout 변수 TDSRestConnection은 ConnectionTimeOut 표시 HTTP / 2에 대한 Windows 지원 추가 THttpClient.ProtocolVersion 신규 속성 TNetHttpClient.ProtocolVersion 신규 속성 새로운 TBase64URLEncoding 인코딩 및 TNetEncoding.Base64URL 속성 모든 플랫폼에 대해 전체 RTL에서 gethostbyname를 getaddrinfo로 전환 새로운 TCertificate.PublicKey, 공개 키 모듈 포함 ContentType은 이제 문자열 유형, 열거형이 아님 . 이로서 하나의 콘텐츠 타입 문자열 사용 가능. 또한 새로운 RestRequest의 CustomContentType Windows용 TNetHTTPClient에서 TLS 1.3 지원 TSocket에 대한 여러 개선 사항 새로운 TRESTRequestDataSetAdapter 컴포넌트는 JSON을 통해 TDataSet(예: TFDMemTable) 데이터를 서버에 업로드하는 작업 단순화. 서버 측에서 TRESTResponseDataSetAdapter REST 구성 요소의 동반자 TRestClient 구성 요소는 기본 HTTPClient 구성 요소의 SecureFailureReasons 속성을 표시함 Vcl.Styles 유닛에서 이제 TCustomStyle 클래스 FCustomElements 및 FSource가 protected 섹션에 선언됨 인터넷 서버 기술 웹브로커 ISAPI DLL 스레드에는 Web.Win.ISAPIThreadPool.StackSize 변수를 사용하여 구성 가능한 StackSize 제공. 2GB(MaxInt)보다 큰 파일을 전송/스트리밍할 때 WebBroker 성능 대폭 향상 RAD 서버 RAD 서버를 위한 Multipart/form-data 지원 데이터스냅 (DataSnap) 데이터스냅: REST URI는 이제 TDSMethodMapEvent 이벤트를 기반으로 하는 새로운 메커니즘을 사용해 구성할 수 있다.
  8. << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 11.0 알렉산드리아 "새 기능 한글 요약본: RTL과 데이터" 입니다. 11.0 알렉산드리아의 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. 11.0 알렉산드리아 - RTL과 데이터 관련 주요 업데이트 요약 플랫폼 식별자 RTL: TZipFile RTL 대용량 데이터 구조 개선 새로운 레코드 헬퍼 블루투스와 BLE 개선 추가 RTL 개선사항 제네릭 콜렉션 개선사항 RTTI PPL 스트림 날짜를 문자료 변환 인터페이스 인스턴스 생성 TNoRefCountObject 최적화 및 기타 JSON UTF8ToString 변경 사항 FireDAC Internet, HTTP 및 REST 클라이언트 라이브러리 인터넷 서버 기술 웹브로커 RAD 서버 데이터스냅 플랫폼 식별자 RTL은 macOS/Arm64 플랫폼용으로 새로운 플랫폼 식별자인 pidOSXArm64를 추가되었다. 기존 pidAndroid32Arm 및 pidAndroid64Arm 식별자는 새로운 pidAndroidArm32 및 pidAndroidArm64로 대체되었다. 모든 플랫폼 관련 식별자는 컴파일러의 동일한 형식과 순서를 사용합니다. <플랫폼 이름><아키텍처 이름><비트니스> RTL: TZipFile ZIP 파일(RTL의 TZipFile 클래스)의 품질 개선 및 최적화에 중점을 두었다. Zip64에 대한 지원과 TZipFile에서 파일을 제거하는 방법이 추가되었다. TZipHeader에서 GetFIleName 메서드를 지원하고 TZipFile.IsValid()는 스트림 매개 변수를 허용하며 System.Zip은 4GB보다 큰 파일에서도 작동한다. RTL 대용량 데이터 구조 개선 64비트 컴파일러에서 더 큰 메모리 구조에 대해 적절한 데이터 유형을 사용하도록 개선되었다. 예를 들어, 64비트의 TMemoryStream은 2GB보다 큰 데이터 구조를 지원한다. 이와 관련하여 새로운 메서드 TThread.GetTickCount64가 추가되었다(32비트 값을 반환하는 기존 TThread.GetTickCount는 호환성을 위해 RTL에 남아 있음) 새 레코드 헬퍼 추가 TDateTime을 위한 새로운 레코드 헬퍼: System.DateUtils 유닛에 “UTC Now”(실제 NowUTC를 호출) 등이 포함되었다. Currency타입을 위한 새로운 레코드 헬퍼: System.SysUtils 유닛에 TCurrencyHelper가 추가되었다 블루투스와 BLE 개선 클래식 블루투스 및 블루투스LE와 대부분의 플랫폼이 포함해 개선되었다. 특히 Windows 10 및 안드로이드(iOS 및 macOS도 포함)에 중점을 두었으며, 개선 사항에는 비콘 지원도 포함되었다. 추가 RTL 개선사항 제네릭 콜렉션 개선사항 일부 제네릭 유형에서 사용했던 TValue 심볼릭 이름이 RTL의 TValue와 혼돈되므로 다른 이름으로 변경됨.(TKey > K, TValue > V 등) 내부적인 변경으로 기존 코드에는 영향이 없다. 또한, 다음 코드와 같이 컬랙션 클래스의 추가 생성자가 없으며, array of value 형식의 파라메터로 대체되었다. procedure DoCheckStateChanged(Node: TTreeNode; CheckState: TNodeCheckState);virtual; constructor TList<T>.Create(const Values: array of T); constructor TDictionary<TKey, TValue>.Create(const AItems: array of TPair<TKey, TValue>); TDictionary는 Capacity, GrowThreshold와 해싱 구현이 개선되어 성능/메모리 사용량/충돌 최소화하며 균형잡힌 성능을 발휘한다. 내부적으로 구현에 사용된 TListHelper를 제거하고 강력한 타입인 TArray<T>를 사용해 스트리밍과 데이터 매핑 코드 관련된 모든 항목이 업데이트 되었다. RTTI RTTI에 대한 개방형 배열 지원: RTTI를 통해 개방형 배열 매개변수가 있는 메서드 호출을 허용하고 TVirtualMethodInterceptor에서 개방형 배열 인수도 지원힌다. TValue는 TDateTime에 대한 지원이 추가되며, TValue 및 Variant 유형 교환이 개선되었다. PPL (병렬 프로그래밍 라이브러리) PPL 스레드 풀 통계에 더 쉽게 액세스할 수 있도록, TThreadPoolStats.Get 메서드가 이제 공개되었다. 스트림 새로운 TPointerStream 클래스를 사용하면 포인터 위치와 크기를 표시하여 TStream 인터페이스를 사용하여 메모리 내 데이터를 읽고 쓸 수 있다. TStream.CopyFrom에는 알 수 없는 크기가 필요하지 않으며, 이 방법은 Count가 큰 경우에도 최적화되었다(최대 400% 개선). 날짜를 문자료 변환 날짜를 문자로 변환과 반대로 변환이 개선되었다. 참고로, StrToDate는 ‘to date’ 형식 문자열을 엄격히 따르고, 월과 일 이름이 있는 날짜 형식을 지원하며, 내부에 임의의 텍스트가 있는 날짜 형식도 지원한다. 또한, TFormatSettings 날짜/시간 관련 속성 초기화를 개선해 모든 플랫폼에서 표현이 통합되었다. 인터페이스 인스턴스 생성 새로운 System.Generics.Defaults._MakeInterfaceInstance 이용 인터페이스 인스턴스를 만들 수 있고, 모든 인터페이스 메소드는 익명 메소드로 표시된다. TNoRefCountObject 새로운 클래스 System.TNoRefCountObject는 참조 카운트가 IInterface 구현이다.(오래되고 모호한 TSingletonObject를 대체) 최적화 및 기타 최적화된 _FinalizeRecord 및 _FinalizeArray 레거시 TDatamodule.OldCreateOrder 속성이 제거 되고 기본값 True로 인식. 해당 속성이 폼파일에 있는 경우 무시됨(오류 미발생). 델파이 초기 버전 생성 순서 로직과 호환성을 위해 사용 된 항목 향상된 파스칼 System.Pos TArray<T>.BinarySearch 최적화 TList<T>.Sort( ..., Index, Count ) overload 추가 System.IOUtils.TFile.Size 추가 ClassParent 및 InitInstance에 대한 TObject 성능 수정 System.IOUtils.TPath에 대한 몇 가지 개선 사항 RTL에서 260자 보다 긴 시스템 경로 지원, (최신 버전의 Windows 등)운영체제에서 지원하는 경우 클래스 속성 TThread.OnSynchronize 추가 EInOutError 및 EInOutArgumentException 메시지에 경로가 포함되고 경로 필드를 갖음 성능 향상 _UInt32ToHexString 및 _UInt64ToHexString TSingleHelper 및 TDoubleHelper용 Parse 및 TryParse TGUID 데이터 구조는 이제 System.pas에서만 정의됨 JSON ParseJSONValue()를 TJSONObject에서 TJSONValue로 이동 Integer에 대해 TJSONObject.AddPair(overload) 추가 UTF8ToString 변경 사항 array of AnsiChar을 허용하는 UTF8ToString 오버로드가 제거되고 UTF8ToString(array of Byte) 지원중단 됨. 제거된 함수: UTF8ToString(const S: _PAnsiChr) 해결 방법 은 System.UTF8ToString 참조 FireDAC PostgreSQL 드라이버는 PostgreSQL v13 지원, PostgreSQL 저장 프로시저 지원 포함 Oracle 19c 및 Oracle 저장 프로시저에 대한 128자 매개변수 이름에 대한 공식 지원 TFDSortOption에 soDigitsAsNumbers 확장, System.SysUtils의 TCompareOption과 유사 FireDAC 모니터 UI 개선 /bin 하위 폴더가 아닌 VendorHome에서 드라이버를 찾도록 Firebird 드라이버를 개선(이전 버전의 Firebird에는 정확함). Internet, HTTP 및 REST 클라이언트 라이브러리 백엔드 및 EMS 클라이언트 구성 요소에 대한 타임아웃 메커니즘: TEMSProvider, TKinveyProvider, TParseProvider 클래스는 2가지 새로운 속성: ConnectTimeout, ReadTimeout TEMSApi.TConnectionInfo, TParseApi.TConnectionInfo, TKinveyApi.TConnectionInfo: ConnectTimeout 및 ReadTimeout 변수 TDSRestConnection은 ConnectionTimeOut 표시 HTTP / 2에 대한 Windows 지원 추가 THttpClient.ProtocolVersion 신규 속성 TNetHttpClient.ProtocolVersion 신규 속성 새로운 TBase64URLEncoding 인코딩 및 TNetEncoding.Base64URL 속성 모든 플랫폼에 대해 전체 RTL에서 gethostbyname를 getaddrinfo로 전환 새로운 TCertificate.PublicKey, 공개 키 모듈 포함 ContentType은 이제 문자열 유형, 열거형이 아님 . 이로서 하나의 콘텐츠 타입 문자열 사용 가능. 또한 새로운 RestRequest의 CustomContentType Windows용 TNetHTTPClient에서 TLS 1.3 지원 TSocket에 대한 여러 개선 사항 새로운 TRESTRequestDataSetAdapter 컴포넌트는 JSON을 통해 TDataSet(예: TFDMemTable) 데이터를 서버에 업로드하는 작업 단순화. 서버 측에서 TRESTResponseDataSetAdapter REST 구성 요소의 동반자 TRestClient 구성 요소는 기본 HTTPClient 구성 요소의 SecureFailureReasons 속성을 표시함 Vcl.Styles 유닛에서 이제 TCustomStyle 클래스 FCustomElements 및 FSource가 protected 섹션에 선언됨 인터넷 서버 기술 웹브로커 ISAPI DLL 스레드에는 Web.Win.ISAPIThreadPool.StackSize 변수를 사용하여 구성 가능한 StackSize 제공. 2GB(MaxInt)보다 큰 파일을 전송/스트리밍할 때 WebBroker 성능 대폭 향상 RAD 서버 RAD 서버를 위한 Multipart/form-data 지원 데이터스냅 (DataSnap) 데이터스냅: REST URI는 이제 TDSMethodMapEvent 이벤트를 기반으로 하는 새로운 메커니즘을 사용해 구성할 수 있다. View full RAD 스튜디오 버전별 신기능
  9. << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.4 시드니 "새 기능 한글 요약본: RTL" 입니다. 10.4 시드니의 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. 10.4 시드니 - RTL 관련 주요 업데이트 요약 툴체인 성능 및 품질 개선 향상된 병렬(페러럴) 프로그래밍 라이브러리 지원 FireDAC 데이터베이스 엑세스 라이브러리 라이브 바인딩 성능 및 기능 향상 툴체인 성능 및 품질 개선 Dinkumware의 STL 다수 개선 주요 RTL 메소드 및 영역 개선, 공통 C++ 라이브러리와 호환성 개선 CMake 지원에 대한 여러가지 개선 다수의 품질 및 안정성 개선 향상된 병렬(페러럴) 프로그래밍 라이브러리 지원 병렬 프로그래밍 라이브러리(PPL: Parallel Programming Library)는 최신 멀티코어 CPU에서 병렬로 작업을 실행할 수 있는 기능을 제공합니다. 10.4에서는 PPL 라이브러리의 성능과 안정성이 크게 향상되었습니다. FireDAC 데이터베이스 엑세스 라이브러리 10.4에서는 FireDAC 데이터베이스 엑세스 라이브러리의 일부가 개선되었고, FireBird, PostgreSQL 및 SQLite 용 드라이버가 업데이트되었습니다. SQLite 임베디드 데이터베이스의 경우, 연결 방식을 정적(static) 및 동적(dynamic) 연결 중 하나를 선택할 수 있습니다. 라이브 바인딩 성능 및 기능 향상 10.4에서 VCL과 파이어몽키 애플리케이션 모두에서 Visual LiveBindings 아키텍처와 구현의 큰 향상이 있었으며 특히 성능 향상에 중점을 두었습니다. 결과적으로 라이브 바인딩 작업이 훨씬 더 빨라졌습니다. View full RAD 스튜디오 버전별 신기능
  10. << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.3 리오 "새 기능 한글 요약본: RTL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 10.3 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. 10.3 리오 - RTL 관련 주요 업데이트 요약 델파이 RTL 10.3에서는 JSON과 HTTP와 관련된 성능과 표준 준수가 크게 향상되었다. 데이터 구조(Data Structure) 증가 전략 변경 일부 데이터 구조(TStringList, TList, TList<T>, TQueue<T>, TSTack<T>)에서는 항목이 기존 용량에 가득차서 확장을 해야 할 때 더 유연하게 용량이 증가되도록 하는 전략이 반영되었다. 과거에는 무조건 기존 용량 만큼만 더 늘어나도록 정해져있었다. 이 새 증가 전략은 SysUtils.pas 유닛 안에 있는 공유 글로벌 함수로 구현되었다. function GrowCollection(OldCapacity, NewCount: Integer): Integer; 게다가, 개발자는 이와 호환되는 새 함수를 작성하고, 글로벌 프로시저인 SetGrowCollectionFunc를 호출함으로써, 자신에게 알맞게 구현할 수 있다 만약 사용자 정의된 "컬렉션 증가 함수"를 런타임 패키지 안에 설치한다면, Exit 할 때 반드시 nil이 되도록 지정해야 한다. 그렇지 않으면 런타임은 패키지가 내려간(unload) 후에 이 존재하지 않는 함수를 부르려고 시도할 수도 있을 것이다. TStringBuilder 변경 성능 향상을 위해 TStringBuilder의 일부가 변경되었다. 메모리 증가 전략 면에서 유사한 변경이 있었으며, 중복된 코드를 제거하는 등 전반적인 구현을 깔끔하게 정리했다. TStringBuilder 열거형(enumerator)이 최적화 되었다. 또한 TStringBuilder.ToString 메소드 파라미터 하나가 추가되었다. 추가된 파라미터는 ToString (UpdateCapacity: Boolean)이다. ToString(True)이면, TStringBuilder를 더이상 변형할 필요가 없다고 예상되는 상황에서 성능이 더 좋아진다. 데이터가 복사되는 량이 줄어들기 때문이다. JSON 향상 정확성과 성능 면에서 JSON 처리 및 해독(parse)이 크게 향상 되었다. 리스트 관련 향상 TList와 TDictionary에 퍼블릭 프로퍼티(들)이 새로 추가: 초기화된 후에 해당 리스트의 비교자(comparer, 정렬 위한 비교 동작에 대한 정의)에 접근할 수 있다. TDictionary<TKey,TValue>에 TryAdd 메소드가 추가 TObjectList<T>에 ExtractAt(Index: Integer): T 가 추가 TList<T>.IndexOf 성능 향상 일반적인 TList<T>, TQueue<T>, TStack<T> 리스트에 항목을 추가하는 성능 향상. 대체로TList<T>.Add는 30%까지 더 빨라졌다. TList, TStrings, TComponent, TCollection, TList<> 열거형(enumerator) 최적화. 반복속도 자체만 보면 "for in" 루프는 2.5~4배 빨라졌음 컬렉션 열거자(enumerator) 타입의 부분으로, RAD 스튜디오는 반복(iteration)이 완료되었을 때 해당 열거자의 상태를 공식적으로 정의한다: "MoveNext가 False를 반환한 후에는 열거자 상태가 유효하지 않으며 열거자는 반드시 해제되거나 다시 생성되어야하며, 더 이상 액세스해서는 안 됩니다." 기타 RTL 변경 TStringHelper.Split은 이제 StrUtils에 있는 글로벌 함수인 SplitString과 동일한 결과를 만든다. zlib가 1.2.8로 업그레이드 되면서 몇가지 버그 픽스가 있었다 (그리고 이제는 RAD 스튜디오 C++ 64-bit 컴파일러에서 컴파일될 수 있다). PCRE가 8.42로 업그레이드 되면서 윈도우에서 UTF-16을 지원한다 (그리고 이제는 RAD 스튜디오 C++ 컴파일러에서 컴파일될 수 있다 Unicode 테이블 (System.Character 유닛)에서 유니코드 v11.0을 지원한다. TStringHelper.Split 메소드에서 지금까지와는 또 다른 동작을 할 수 있도록 지정할 수 있다. 새로 생긴 옵션은 TStringSplitOptions.ExcludeLastEmpty이다. SysUtils 유닛에 있는 프로시저와 함수의 순서를 재정돈하여 인라인(inline)을 더 잘 지원할 수 있도록 했다. System 유닛에 새 별칭(alias)인 Float32과 Float64가 추가되었다. 앱테더링(AppTethering)에서 긴 문자열 전송 현재 (앱테더링에 사용되는) TTetheringAppProfile 클래스의 SendString / AsString은 대략 1,400 문자까지 길이가 제한되어 있다. 10.3 에서는 다음과 같은 변경과 추가를 통해 호환성을 유지하면서도 긴 문자열을 다룰 수 있도록 했다. TTetheringAppProfile에 새 메소드인 SetLongString과 SendLongString이 추가되었으며, 이 메소드들은 문자열이 아니라 스트림을 사용하여 통신한다. TResourceValue.AsString은 수신한 스트림을 문자열을 반환하는 것이 가능하면 그렇게 하고, 가능하지 않으면 수신한 문자열을 반환한다. 따라서 일반 문자열과 "긴 문자열" 모두를 처리할 수 있다. TTetheringAppProfile.SendString은 문자열 길이가 1.3 KB보다 작은 경우에 사용하고, 그 이상인 경우에는 TTetheringAppProfile.SendLongString을 사용해야 한다. TMemIniFile 최적화 RAD 스튜디오 10.3 리오에서는 TMemIniFile 구현이 최적화 되었다. TMemIniFile 읽기와 생성(constructing)이 10~25배 빨라지고 메모리 사용은 절반으로 감소했다. TMemIniFile의 다른 동작 역시 향상되어서 이전 구현에 비해 50~100% 더 빨라졌다. 또한 10.3에서는 스트림에서 TMemIniFile을 적재(load)할 수 있는 기능이 추가되었다. 즉 생성자 오버로드 2가지가 더 추가되었다. TMemIniFile.Create(Stream) TMemIniFile.Create(Stream, UseLocale) 이 생성자 파라미터 2개는 해당 클래스 안에서 사용할 수 있도록 유지되며 새 프로퍼티를 통해 외부에 공개된다. Stream 프로퍼티 UseLocale 프로퍼티 View full RAD 스튜디오 버전별 신기능
  11. << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.2 도쿄 "새 기능 한글 요약본: RTL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 10.2 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. 10.2 도쿄 - RTL 관련 주요 업데이트 요약 [10.2] HTTP 클라이언트 64 비트 리눅스를위한 RTL 지원 RAD 서버 다중 테넌시 지원 앱 테더링 개선 사항 추가되거나 기능 향상된 해시 함수 파이어 버드 개선 사항 MySQL 기능 향상 TFDMemTable이 개선 기타 FireDAC 변경 사항 TDBImage JPEG과 PNG 그래픽형식 지원 Blob Field Display 옵션 강화 기타 데이터베이스 개선 [10.2] HTTP 클라이언트 64비트 리눅스에서 네이티브 HTTP 클라이언트 라이브러리(libCurl)를 지원합니다. HTTP 클라이언트에서 개선 된 비동기 지원 64 비트 리눅스를위한 RTL 지원 RAD Studio 10.2 도쿄는 표준 시스템 함수, 스트림 및 IOUtils 유닛을 사용하여 리눅스파일 시스템을 지원합니다. 또한 64비트 리눅스에 대한 표준 RTL 경로 기능 지원을 제공합니다. RAD 서버 다중 테넌시 지원 다중 테넌시 지원을 사용하면 하나의 RAD 서버 데이터베이스 연결을 사용하는 단일 RAD 서버 인스턴스가 분리된 다중의 테넌트를 지원할 수 있습니다. 앱 테더링 개선 사항 TTetheringManager과 TTetheringProfile 의 새로운 SynchronizeEvents 속성은 메인 스레드와의 이벤트 동기화를 제어합니다. 따라서 이제 관리자와 프로파일은 이벤트 핸들러가 메인 스레드에서 실행되는지 여부를 제어 할 수 있습니다. 로그 필터링 향상 : 더 많은 로깅 메시지가 추가되었습니다. 새로 추가된 TTetheringAppProfile의 SendLongString 메소드는 문자열과 스트림을 사용합니다. TResourceValue.AsString은 받은 스트림에서 문자열을 반환합니다. 만약 없다면 반은 문자열 값을 반환합니다. 이는 일반 문자열과 긴 문자열에 대한 대응입니다. 추가되거나 기능 향상된 해시 함수 System.Hash 유닛에 정의 되어 있는 다음 메소드들은 스트림 또는 문자열을 입력 매개 변수로 허용합니다. THashMD5.GetHashString. THashMD5.GetHashBytes THashSHA1.GetHashString THashSHA1.GetHashBytes THashSHA2.GetHashString THashSHA2.GetHashBytes System.Hash 유닛에는 파일에서 해시 다이제스트를 얻을 수 있는 다음과 같은 새로운 메소드가 있습니다. THashMD5.GetHashBytesFromFile THashMD5.GetHashStringFromFile THashSHA1.GetHashBytesFromFile THashSHA1.GetHashStringFromFile THashSHA2.GetHashBytesFromFile THashSHA2.GetHashStringFromFile 자세히 보기: https://tech.devgear.co.kr/delphi_news/431498 파이어 버드 개선 사항 Direct I / O 백업 기능 지원을 위해 새로운 Direct 속성 추가 MySQL 기능 향상 MySQL v 5.7 지원 MariaDB v 5.5 이상 지원 (FireDAC의 MySQL 노드를 사용하여 MariaDB에 연결합니다.) 최신 MySQL 버전 5.6.x 및 5.7.x와의 호환성. 이전 API (MySQL 텍스트 프로토콜)와 PS API (MySQL prepared statements 프로토콜) 모두 지원됩니다. TFDResourceOptions.DirectExecute 속성을 사용하여 API를 선택할 수 있습니다. 사용중인 API에 따라 TFDCommand.CommandIntf.CliObj 속성은 TMySQLStatement 또는 TMySQLResult 개체를 반환합니다. 내부 BLOB 스트리밍 지원 (smOpenWrite 모드에서만). 연결 트랜잭션 상태와 TFDConnection.InTransaction 속성의 동기화 개선. 이 등록 정보를 사용하면 연결 트랜잭션이 현재 진행 중인지 여부를 결정할 수 있습니다. TFDMemTable이 개선 TFDMemTable 컴포넌트를 개선하여 설계 시점에 TFDMemTable 데이터 셋을 편집할 수 있습니다. TFDMemTable 컨텍스트 메뉴에 컴포넌트 데이터를 편집하여 양식에 저장할 수있는 Edit DataSet … 항목을 제공합니다. 데이터는 런타임에서도 사용할 수 있습니다.(참고 : Edit DataSet …을 사용하기 전에 TFDMemTable.FieldDefs에 대한 필드 정의를 지정하거나 영구 필드를 만들어야합니다). 기타 FireDAC 변경 사항 TFDDataMove 컴포넌트는 삭제되어 툴 팔레트에서 더 이상 사용할 수 없습니다. 대신 TFDBatchMove 컴포넌트를 사용하십시오.( 시작 > 프로그램 > Embarcadero RAD Studio 10.2 Tokyo > Samples 를 선택하고 Object Pascal\Comp Layer\TFDBatchMove\DataMove_Deprecated 폴더에 있는 FireDAC.Comp.DataMove.pas를 사용하십시오. TFDBatchMove가 최적화되었습니다. 그 결과로 TFDBatchMoveMappingItem의 DestValue 및 SourceValue 속성을 더 이상 사용할 수 없습니다. TFDMSAccessService는 이제 Microsoft Access 2007 이상을 지원합니다. TDBImage JPEG과 PNG 그래픽형식 지원 VCL의 TDBImage가 Bitmap 뿐 아니라, JPEG과 PNG 그래픽 형식을 지원합니다. 기타 다른 그래픽 포맷을 지원하려면 OnFindGraphicClass 이벤트의 GraphicClass 파라메터에 그래픽 처리 클래스를 매핑해 추가 지원할 수 있습니다. Blob Field Display 옵션 강화 DisplayValue와 DisplayWidth 설정 cvClass로 설정된 결과 dvClip으로 설정된 결과 Blob 형식의 데이터를 클래스 형식 또는 문자열로 표현할 수 있습니다. DisplayValue: 표현할 값 dvClass(기본) : 클래스 명을 표현 (위 그림 참조) dvClip : 문자열로 DisplayWidth만큼 표시하고 나머지는 "..."표현 (위 그림 참조) dvFull : 전체 문자열을 표시 dvFit : DisplayWidth보다 짧은 항목은 문자열을, 긴 문자열은 클래스 명을 표현 DisplayWidth: 표현 길이 기타 데이터베이스 개선 TField 클래스에 대한 직접 GUID 액세스. 자세히 보기: https://tech.devgear.co.kr/delphi_news/431411 View full RAD 스튜디오 버전별 신기능
  12. << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.1 베를린 "새 기능 한글 요약본: IDE" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 10.1 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. □ [10.1] 윈도우10에서 블루투스 LE와 비콘 지원 새로운 WinRT 블루투스 API가 제공되어, 윈도우10에서도 블루투스LE와 비콘을 활용할 수 있습니다: 데이터 값이 들어오면 알려줄 BLE 디바이스 스캔 기능 BLE를 통해 들어오는 데이터 값 송수신 기능 iBeacon, AltBeacon 포맷 사용 기능 자세히 보기: https://tech.devgear.co.kr/delphi_news/422711 □ [10.1] Eddystone Beacon 포맷 지원 아래 3개 타입을 활용할 수 있습니다: EddystoneUID: 네임스페이스(Namespace)와 인스턴스(Instance)로 구성된 식별자 정보 제공 EddystoneURL: 압축된 형식의 URL 제공 EddystoneTLM: 비콘 동작 상태 관련 원격 정보 제공 자세히 보기: https://tech.devgear.co.kr/delphi_news/422713 View full RAD 스튜디오 버전별 신기능
  13. << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.0 시애틀 "새 기능 한글 요약본: RTL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 10.0 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. □ [10] JSON과 BSON 스트림 JSON 데이터를 DOM 모델이 아닌 스트리밍 모델로 읽고, 쓸수있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/416103 □ [10] FireDAC NoSQL 드라이버로 몽고DB 지원 몽고DB는 가장 인기 있는 NoSQL 데이터베이스입니다. FireDAC 기능 향상에는 API 맵핑, 데이터 처리, JSON과 BSON 포맷 지원 (새 RTL) 등이 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/415015 View full RAD 스튜디오 버전별 신기능
  14. << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 2010~6.0 "새 기능 한글 요약본: VCL과 RTL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 목록 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. □ [2010] 경로, 파일, 디렉토리 관련된 함수 사용이 편리해 졌습니다. System.IOUtils 클래스 TDirectory, TPath, TFile 등의 클래스들을 지원하여 로컬 디스크상의 디렉토리, 파일들을 훨씬 간단하게 검색, 액세스 가능합니다. □ [2010] 키오스크나 태블릿 개발에 유용한 가상키보드를 개발할 수 있습니다. TTouchKeyboard 컴포넌트 가상 키보드 컴포넌트인 TTouchKeyboard가 추가되어, 터치나 마우스 클릭으로 키 입력을 할 수 있게 되었습니다. 키오스크나 태블릿 개발에 아주 유용합니다. 터치키보드는 상속하여 간단히 원하는 언어 키보드를 구현할 수 있으며, 숫자 키패드로 바꿀 수도 있습니다. □ [2010] TCanvas와 유사한 TDirect2DCanvas로 Direct2D 개발이 가능합니다. Direct2D 지원 이제 델파이에서도 손쉽게 Direct2D 개발을 할 수 있습니다. 더욱이, 델파이 개발자들이 익숙한 TCanvas와 유사하게 TDirect2DCanvas로 만들어져 기존의 TCanvas로 개발해본 개발자라면 누구나 쉽게 배워 활용할 수 있습니다. □ [2010] TIFF와 RAW 포맷을 이미지컴포넌트에서 사용할 수 있습니다. TIFF 및 RAW 이미지 지원 WIC(Windows Imaging Components)를 지원함으로써, 스캐너, 팩스 등 수많은 분야에서 사용되는 범용 이미지 포맷 중의 하나인 TIFF를 직접 지원하게 되었습니다. 또한 최근 디지털 카메라에서 고급 이미지를 위해 많이 사용되는 RAW 포맷들도 WIC를 통해 지원하게 되었습니다. □ [2009] MS 오피스와 같은 리본 인터페이스를 쉽게 개발할 수 있습니다. 리본 컨트롤 MS 오피스에서 도입된 리본컨트롤을 컴포넌트로 지원해, 다른 개발툴들처럼 복잡한 코딩 없이 폼 디자인만으로 간단히 리본 컨트롤을 추가하고 다룰 수 있습니다. □ [2009] 컴포넌트 속성 설정만으로 멀티터치와 제스처를 구현할 수 있습니다. 멀티터치 / 제스처 지원 이제 델파이의 모든 컨트롤에서 터치 인터페이스를 지원하게 되었으며, 특히 특별한 코딩 없이 컴포넌트 수준의 설정만으로도 터치와 제스츄어를 지원합니다. 이를 위해 델파이 2010에서는 대부분의 VCL 컨트롤에서 Touch 속성이 추가되었으며, 여기서 지정된 GestureManager 컴포넌트를 통해 제스처도 지원됩니다. 기존 애플리케이션에도 간단히 터치 인터페이스를 추가할 수 있습니다. 델파이에서는 기본적으로 30개의 표준 제스처를 지원하며, 개발 중에 Custom Gesture를 추가하거나 혹은 런타임에 GestureRecorder 컨트롤을 이용하여 쉽게 사용자 제스츄어를 기록할 수 있습니다. □ [2009] 비슷한 범주의 버튼을 그룹으로 묶어서 제공할 수 있습니다. TButtonGroup 컴포넌트 비슷한 범주의 버튼을 그룹으로 묶어서 사용할 수 있습니다. 델파이 IDE의 툴 팔레트 카테고리 선택 UI도 TButtonGroup으로 제작되었습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 에디터 컴포넌트에 이미지 버튼을 쉽게 넣을 수 있습니다. TButtonEdit 컴포넌트 에디트 컴포넌트에 이미지 버튼을 가진 컴포넌트입니다. LeftButton, RightButton 속성에 이미지를 지정할 수 있으며 OnLeftClick, OnRightClick 이벤트로 클릭을 제어할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] ListView의 그룹을 직접 설정하고, 그룹마다 이미지를 지정할 수 있습니다. ListView 그룹화 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 사용자 알림에서 제목, 설명과 이미지를 추가할 수 있습니다. TBalloonHint 컴포넌트 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 아웃룩의 사이드바와 같이 접었다 펴지는 UI를 구현할 수 있습니다. TCategoryPanelGroup 컴포넌트 아웃룩의 사이드바와 같은 작업을 합니다. 여러개의 다른 패널을 추가할 수 있고 각기다른 패널에 VCL 컴포넌트를 추가할 수 있습니다. 타이틀, 이미지, 정렬과 아이콘을 각기 다르게 구현할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 아웃룩 사이드바와 같은 카테고리 별 그룹과 버튼을 갖는 UI를 구현할 수 있습니다. TCategoryButtons 컴포넌트 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 그리드 컴포넌트의 스타일을 지정할 수 있습니다. 그리드 컴포넌트의 DrawingStyle 속성 Themed, Gradient 스타일이 그리드 컴포넌트에 추가되었습니다.(기본값 = gdsThemed) 자세히 보기: http://tech.devgear.co.kr/411088 □ [2007] 최신 윈도우의 가이드라인에 맞는 애플리케이션을 만들 수 있습니다. 최신 윈도우 공식지원 델파이 XE3에서 Windows 8을 델파이 2010에서 Windows 7을 델파이 2007에서 Windows Vista를 공식 지원합니다. 따라서 델파이로 빌드한 애플리케이션은 마이크로소프트의 윈도우 가이드라인을 준수하게 되며, 해당 윈도우에서 아무 문제 없이 동작합니다. □ [2007] 프로젝트 옵션 설정으로 윈도우 테마 지원 적용을 간단하게 할 수 있게 되었습니다. 윈도우 테마 지원 개선 Delphi 7에서는 Windows XP의 테마 기능을 지원하기 위해 XPMan (TXPManifest 컴포넌트) 방식을 사용했습니다. Delphi 2007 이후로는 이런 테마 지원이 더 네이티브 해져서, 프로젝트 옵션에서 Runtime Theme 선택(또는 Enable runtime Themes 체크)하면 전체 프로젝트에 대해 간편하게 테마 지원을 추가할 수 있습니다. 이 옵션은 Delphi 2007 이상에서 새로 만든 프로젝트에서는 기본으로 적용되며, Delphi 2006 이하의 구버전에서 작성된 소스에 대해서는 호환성을 위해 체크가 안되어 있습니다. (XPMan 방식을 사용한 경우 이 체크를 하면 충돌하며, 그런 경우 이 개선된 테마 지원을 사용하려면 프로젝트의 모든 유닛들의 uses 리스트에서 XPMan 유닛을 제거해야 합니다) □ [2006] 메모리 매니저와 RTL 함수가 교체되어 성능이 향상된 애플리케이션을 만들 수 있습니다. FastMM 메모리 매니저 도입 FastMM은 전통적인 Delphi의 메모리 매니저인 borlndmm.dll을 대체하는 것으로서, 이전보다 훨씬 빠른 메모리 루틴들을 제공하여 Delphi로 개발된 애플리케이션의 속도를 비약적으로 끌어올려줍니다. 또한 FastMM으로 인해 Delphi의 RTL에 메모리 관리 관련의 새로운 기능들이 많이 추가되었습니다. 전역 변수인 ReportMemoryLeaksOnShutdown에 True 값을 설정해두면, 프로그램이 종료될 때 메모리 누수 상황에 대해 알려주며, 메인 exe와 dll 사이에 메모리를 간단히 공유할 수도 있습니다. □ [2006] 마우스 중앙 버튼을 누르면 스크롤링 하는 기능을 개발할 수 있습니다. 인텔리마우스 지원 VCL 인텔리마우스 API를 지원합니다. 예를 들어 왼쪽 그림처럼 TMemo 컴포넌트 위에서 마우스 중앙 버튼을 누르면 사용자로 하여금 메모 내에서 스크롤링 하기 위해 마우스를 사용할 수 있도록 해 줍니다. 델파이 코드 에디터도 이 기능을 지원합니다. □ 작업표시줄 영역에 트레이 아이콘을 추가하고 풍선 도움말과 팝업메뉴를 제공할 수 있습니다. TTrayIcon 컴포넌트 TTrayIcon 컴포넌트는 VCL 애플리케이션이 태스크 트레이에 아이콘을 넣을 수 있도록 해줍니다. 이 컨트롤은 풍선 도움말과 팝업 메뉴를 지원합니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ PNG, GIF를 지원할 수 있습니다. PNG, GIF 지원 bmp, jpeg 이미지 지원에 이어, 이제 VCL에서 PNG 및 GIF이미지 포맷도 지원됩니다. 또한 이미지 리스트 컴포넌트에서 png 파일을 직접 읽어 들일 수 있어 전보다 더 편리하게 되었습니다. □ 컨트롤의 여백을 설정해 컨트롤 배치를 더 다양하게 할 수 있습니다. VCL – Margins와 Padding 모든 VCL 컨트롤에 Padding 및 Margin 프로퍼티가 추가되었습니다. 이 두 프로퍼티는 HTML에서와 비슷하게 동작하는데, Padding은 컨테이너 컨트롤이 내부의 컨트롤과 가지는 여유 공간의 픽셀 길이입니다. Margin 프로퍼티는 컨트롤의 바깥 여유 공간입니다. 컨트롤의 AlignWithMargins 프로퍼티가 True로 지정되고 Align 프로퍼티가 alNone이 아닌 값으로 지정되면 해당 컨트롤의 Margin 프로퍼티 값에 따라 배치됩니다. 예를 들어, 그림은 폼 위에 있는 TPanel을 보여줍니다. 이 패널은 Align이 alClient로, AlignWithMargins 속성이 True로 지정되었으며, Margin 속성은 20으로 지정된 상태입니다. 또한 폼의 Padding.Bottom 속성은 30으로 지정되었습니다. AlignWithMargins와 Margin 속성을 이용하면 기존의 Align 속성만 이용할 때보다 훨씬 쉽고 풍부하게 컨트롤들을 배치할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ 표준 HTML 링크가 들어있는 라벨을 사용할 수 있습니다. TLinkLabel 컴포넌트 위의 사진은 Caption에 “ 데브기어 홈페이지를 클릭하세요.”을 입력하고 실행한 결과입니다. 링크를 클릭하면 OnLinkClick 이벤트가 발생합니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ 사용자의 결정이 필요한 경우, 여러가지 선택지를 제공하여 사용자의 의견을 정교하게 받을 수 있습니다. TTaskDialog 컴포넌트 TTaskDialog 컴포넌트는 비스타에서 새로 도입된 태스크 다이얼로그 기능을 사용할 수 있게 해주는 컴포넌트입니다. 개발자는 오브젝트 인스펙터를 이용하여 TaskDialog의 모양을 커스터마이즈할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088 View full RAD 스튜디오 버전별 신기능
×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.