험프리 9월 13일, 2021에 포스트됨 공유하기 9월 13일, 2021에 포스트됨 << 위로 이동 (최신 버전 포함 모든 버전) 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 스튜디오 버전별 신기능 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.