From bdda5117d941304c1950a665a9d655da623e9050 Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Mon, 4 May 2020 23:51:47 +0300 Subject: [PATCH] 3.6.3 Release --- Configuration/GlobalAssemblyInfo.cs | 4 +- Configuration/Version.defs | 4 +- Localization/DefaultLang.resources | Bin 93420 -> 93642 bytes Release/pabcversion.txt | 2 +- ReleaseGenerators/License_en.rtf | 187 ++++++++-------- ReleaseGenerators/PascalABCNET_version.nsh | 2 +- .../CompilationSamples/PABCExtensions.pas | 132 ++++++++++- TestSuite/CompilationSamples/PABCSystem.pas | 211 +++++++++++++++--- TestSuite/SystemIndexTest1.pas | 12 + 9 files changed, 422 insertions(+), 132 deletions(-) create mode 100644 TestSuite/SystemIndexTest1.pas diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index 843ecb110..615b68fb3 100644 --- a/Configuration/GlobalAssemblyInfo.cs +++ b/Configuration/GlobalAssemblyInfo.cs @@ -14,8 +14,8 @@ internal static class RevisionClass { public const string Major = "3"; public const string Minor = "6"; - public const string Build = "2"; - public const string Revision = "2444"; + public const string Build = "3"; + public const string Revision = "2446"; public const string MainVersion = Major + "." + Minor; public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision; diff --git a/Configuration/Version.defs b/Configuration/Version.defs index c6c441e66..bbc31ad18 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ -%COREVERSION%=2 -%REVISION%=2444 +%COREVERSION%=3 +%REVISION%=2446 %MINOR%=6 %MAJOR%=3 diff --git a/Localization/DefaultLang.resources b/Localization/DefaultLang.resources index 935aa9861f34bff7340f253df063c3129ca9ddf1..4abe55e59c359ad239dab8fae43a0152ee787f68 100644 GIT binary patch delta 85 zcmV-b0IL7&*#*km1(4tY=7Hh0;Q^%zmstt{A(L!d3khFSOi4pUUr$DtmI?tY8}IPw r@#5~~?d~A)@a5<8An_pb= -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Everyone is permitted to copy and dis\hich\af37\dbch\af31505\loch\f37 tribute verbatim copies}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Everyone is permitted to copy and distribute verbatim copies}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of this license document, but changing it is not allowed.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -103,7 +103,7 @@ t after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fc \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 the terms and conditions of version 3 of the GNU General Public}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 License, supplemented by the additiona\hich\af37\dbch\af31505\loch\f37 l permissions listed below.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 License, supplemented by the additional permissions listed below.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 0. Additional Definitions.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -116,17 +116,17 @@ t after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fc \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 "The Library" refers to a covered work governed by this License,}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 other than an Application or a Combined Work as defined below.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 other than an Applic\hich\af37\dbch\af31505\loch\f37 ation or a Combined Work as defined below.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 An "Application" is any w\hich\af37\dbch\af31505\loch\f37 ork that makes use of an interface provided}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 An "Application" is any work that makes use of an interface provided}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 by the Library, but which is not otherwise based on the Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Defining a subclass of a class defined by the Library is deemed a mode}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of using an interface provided by the Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 - +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of us\hich\af37\dbch\af31505\loch\f37 ing an interface provided by the Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 A "Combined Work" is a work produced by combining or linking an}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -136,22 +136,22 @@ t after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fc \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Version".}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 The "Minimal Corresponding Source" for a Co\hich\af37\dbch\af31505\loch\f37 mbined Work means the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 The "Minimal Corresponding Source" for a Combined Work means the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Corresponding Source for the Combined Work, excluding any source code}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 for portions of the Combined Work that, considered in isolation, are}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 based on the Application, and not on the Linked Version.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 based on the Application, and not on the Linked Vers\hich\af37\dbch\af31505\loch\f37 ion.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 The "Corresponding Application Code\hich\af37\dbch\af31505\loch\f37 " for a Combined Work means the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 The "Corresponding Application Code" for a Combined Work means the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 object code and/or source code for the Application, including any data}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 and utility programs needed for reproducing the Combined Work from the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Application, but excluding the System Libraries of the Combined Work.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Application, but excluding the System L\hich\af37\dbch\af31505\loch\f37 ibraries of the Combined Work.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 1. Exception to Section 3 of the GNU GPL.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -164,7 +164,7 @@ t after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fc \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 2. Conveying Modified Versions.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 If you modify a copy of the Library, and, in your mod\hich\af37\dbch\af31505\loch\f37 ifications, a}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 If you modify a copy of the Library, and, in your modifications, a}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 facility refers to a function or data to be supplied by an Application}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -174,27 +174,27 @@ t after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fc \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 version:}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 a) under this License, prov\hich\af37\dbch\af31505\loch\f37 ided that you make a good faith effort to}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 a) under this License, provided that you make a good faith effort to}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 ensure that, in the event an Application does not supply the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 ensure that, in the event an Application\hich\af37\dbch\af31505\loch\f37 does not supply the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 function or data, the facility still operates, and performs}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 whatever part of its purpose remains meaningful, or}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 b) under the GNU GPL, with n\hich\af37\dbch\af31505\loch\f37 one of the additional permissions of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 b) under the GNU GPL, with none of the additional permissions of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 this License applicable to that copy.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 3. Object Code Incorporating Material from Library Header Files.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 3. O\hich\af37\dbch\af31505\loch\f37 bject Code Incorporating Material from Library Header Files.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 The object code form of an Application may incorporate material from}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 a header file that is part of the Libr\hich\af37\dbch\af31505\loch\f37 ary. You may convey such object}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 a header file that is part of the Library. You may convey such object}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 code under terms of your choice, provided that, if the incorporated}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 code under terms of your choice, provided that, if t\hich\af37\dbch\af31505\loch\f37 he incorporated}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 material is not limited to numerical parameters, data structure}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -229,7 +229,8 @@ t after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fc \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 the Library is used in it and that the Library and its use are}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 covered by this License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 covered by \hich\af37\dbch\af31505\loch\f37 this License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 b) Accompany the Combined Work with a copy of the GNU GPL and this license}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -237,9 +238,9 @@ t after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fc \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 c) For a Combined Work that displays copyright notices during}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 e\hich\af37\dbch\af31505\loch\f37 xecution, include the copyright notice for the Library among}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 execution, include the copyright notice for the Library among}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 these notices, as well as a reference directing the user to the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 these notices, a\hich\af37\dbch\af31505\loch\f37 s well as a reference directing the user to the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 copies of the GNU GPL and this license document.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -262,13 +263,13 @@ t after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fc \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 1) Use a suitable shared library mechanism for linking with the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 Library. A suitable mechanism is one that (a) uses at run time}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Library. A suitable mechanism is one that (a) uses at run time}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 a copy of the Library already present on the user's computer}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 system, and (b) will operate properly with a modified version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 system, and (b) will operate properly w\hich\af37\dbch\af31505\loch\f37 ith a modified version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of the Library that is interface-compatible w\hich\af37\dbch\af31505\loch\f37 ith the Linked}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of the Library that is interface-compatible with the Linked}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Version.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par @@ -276,17 +277,17 @@ t after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fc \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 be required to provide such information under section 6 of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 GNU GPL, and only to the extent that such information is}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 GNU GPL,\hich\af37\dbch\af31505\loch\f37 and only to the extent that such information is}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 necessary to install an\hich\af37\dbch\af31505\loch\f37 d execute a modified version of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 necessary to install and execute a modified version of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Combined Work produced by recombining or relinking the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Application with a modified version of the Linked Version. (If}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 you use option 4d0, the Installation Information must accompany}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 you use option 4d0\hich\af37\dbch\af31505\loch\f37 , the Installation Information must accompany}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 the Minimal Corresponding \hich\af37\dbch\af31505\loch\f37 Source and Corresponding Application}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 the Minimal Corresponding Source and Corresponding Application}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Code. If you use option 4d1, you must provide the Installation}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -300,9 +301,9 @@ t after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fc \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Library side by side in a single library together with other library}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 facilities that are not Applications and are not covered by this}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 facilities that are not Applications and are not covered\hich\af37\dbch\af31505\loch\f37 by this}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 License, and convey such a combi\hich\af37\dbch\af31505\loch\f37 ned library under terms of your}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 License, and convey such a combined library under terms of your}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 choice, if you do both of the following:}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par @@ -310,8 +311,8 @@ t after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fc \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 on the Library, uncombined with any other library facilities,}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 conveyed under the terms of this License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 - +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 c\hich\af37\dbch\af31505\loch\f37 onveyed under the terms of this License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 b) Give prominent notice with the combined library that part of it}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -320,23 +321,23 @@ t after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fc \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 accompanying uncombined form of the same work.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 6. Revised Versions of the GNU Lesser General Public License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 6. Revised Versions of \hich\af37\dbch\af31505\loch\f37 the GNU Lesser General Public License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 The Free Software Foundation may publish revised and/or new versions}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of the GNU Lesser General Public License from time to time. Such new}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 versions will be similar in spirit to the present v\hich\af37\dbch\af31505\loch\f37 ersion, but may}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 versions will be similar in spirit to the present version, but may}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 differ in detail to address new problems or concerns.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 differ in\hich\af37\dbch\af31505\loch\f37 detail to address new problems or concerns.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Each version is given a distinguishing version number. If the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Library as you received it specifies that a certain numbered version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of the GNU Lesser General Public License "or any lat\hich\af37\dbch\af31505\loch\f37 er version"}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of the GNU Lesser General Public License "or any later version"}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 applies to it, you have the option of following the terms and}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -344,11 +345,11 @@ t after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fc \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 published by the Free Software Foundation. If the Library as you}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 received it does not specify a version number of the GNU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 received it does not specify a version number of the GNU Less\hich\af37\dbch\af31505\loch\f37 er}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 General Public License, you may choose any version of the GNU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 General Public License ever published by the Free Software\hich\af37\dbch\af31505\loch\f37 Foundation.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 General Public License ever published by the Free Software Foundation.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 If the Library as you received it specifies that a proxy can decide}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 @@ -357,7 +358,7 @@ t after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fc \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 apply, that proxy's public statement of acceptance of any version is}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 permanent authorization for you \hich\af37\dbch\af31505\loch\f37 to choose that version for the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 permanent authorization for you to choose that\hich\af37\dbch\af31505\loch\f37 version for the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a @@ -444,35 +445,25 @@ ff0300504b01022d0014000600080000002100e9de0fbfff0000001c020000130000000000000000 \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Table;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 1; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 6; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 6; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Contemporary;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Elegant;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Professional; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Subtle 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Subtle 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Theme;\lsdsemihidden1 \lsdlocked0 Placeholder Text; -\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2; -\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List; -\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdpriority61 \lsdlocked0 Light List Accent 1; -\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdsemihidden1 \lsdlocked0 Revision; -\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1; -\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdpriority72 \lsdlocked0 Colorful List Accent 1; -\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2; -\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2; -\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2; -\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3; -\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3; -\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4; -\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4; -\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4; -\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5; -\lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid; +\lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid; +\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2; +\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1; +\lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1; +\lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1; +\lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2; +\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3; +\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4; +\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5; \lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6; \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6; @@ -514,8 +505,8 @@ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e500000000000000000000000010d5 -27439ddbd501feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000104f +16b44f22d601feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index d834fdf95..682c52b01 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.6.2.2444' +!define VERSION '3.6.3.2446' diff --git a/TestSuite/CompilationSamples/PABCExtensions.pas b/TestSuite/CompilationSamples/PABCExtensions.pas index e1dedb55b..be5dc9b1a 100644 --- a/TestSuite/CompilationSamples/PABCExtensions.pas +++ b/TestSuite/CompilationSamples/PABCExtensions.pas @@ -24,6 +24,135 @@ begin Result := arr[0] end; +const + BAD_TYPE_IN_TYPED_FILE = 'Для типизированных файлов нельзя указывать тип элементов, являющийся ссылочным или содержащий ссылочные поля!!Typed file cannot contain elements that are references or contains fields-references'; + PARAMETER_STEP_MUST_BE_NOT_EQUAL_0 = 'Параметр step не может быть равен 0!!The step parameter must be not equal to 0'; + PARAMETER_FROM_OUT_OF_RANGE = 'Параметр from за пределами диапазона!!The from parameter out of bounds'; + PARAMETER_TO_OUT_OF_RANGE = 'Параметр to за пределами диапазона!!The to parameter out of bounds'; + SLICE_SIZE_AND_RIGHT_VALUE_SIZE_MUST_BE_EQUAL = 'Размеры среза и присваиваемого выражения должны быть равны!!Slice size and assigned expression size must be equal'; + +//{{{doc: Начало секции расширений строк для срезов }}} + +///-- +procedure CorrectFromTo(situation: integer; Len: integer; var from, &to: integer; step: integer); +begin + if step > 0 then + begin + case situation of + 1: from := 0; + 2: &to := Len; + 3: (from, &to) := (0, Len) + end; + end + else + begin + case situation of + 1: from := Len - 1; + 2: &to := -1; + 3: (from, &to) := (Len - 1, -1); + end; + end; +end; + +///-- +function CheckAndCorrectFromToAndCalcCountForSystemSlice(situation: integer; Len: integer; var from, &to: integer; step: integer): integer; +begin + // situation = 0 - все параметры присутствуют + // situation = 1 - from отсутствует + // situation = 2 - to отсутствует + // situation = 3 - from и to отсутствуют + if step = 0 then + raise new System.ArgumentException(GetTranslation(PARAMETER_STEP_MUST_BE_NOT_EQUAL_0)); + + if (situation = 0) or (situation = 2) then + if (from < 0) or (from > Len - 1) then + raise new System.ArgumentException(GetTranslation(PARAMETER_FROM_OUT_OF_RANGE)); + + if (situation = 0) or (situation = 1) then + if (&to < -1) or (&to > Len) then + raise new System.ArgumentException(GetTranslation(PARAMETER_TO_OUT_OF_RANGE)); + + CorrectFromTo(situation, Len, from, &to, step); + + var count: integer; + + if step > 0 then + begin + var cnt := &to - from; + if cnt <= 0 then + count := 0 + else count := (cnt - 1) div step + 1; + end + else + begin + var cnt := from - &to; + if cnt <= 0 then + count := 0 + else count := (cnt - 1) div (-step) + 1; + end; + + Result := count; +end; + +///-- +procedure SystemSliceAssignment(var Self: string; rightValue: string; situation: integer; from, &to: SystemIndex); extensionmethod; +begin + if from.IsInverted then + from.IndexValue := Self.Length - from.IndexValue + 1; + if &to.IsInverted then + &to.IndexValue := Self.Length - &to.IndexValue + 1; + + from.IndexValue := from.IndexValue - 1; + &to.IndexValue := &to.IndexValue - 1; + + var step := 1; + var fromValue := from.IndexValue; + var toValue := &to.IndexValue; + var count := CheckAndCorrectFromToAndCalcCountForSystemSlice(situation, Self.Count, fromValue, toValue, step); + if count <> rightValue.Length then + raise new System.ArgumentException(GetTranslation(SLICE_SIZE_AND_RIGHT_VALUE_SIZE_MUST_BE_EQUAL)); + + var f := fromValue + 1; + + var strInd := 1; + loop count do + begin + Self[f] := rightValue[strInd]; + f += step; + strInd += 1; + end; +end; + +///-- +procedure SystemSliceAssignment(var Self: string; rightValue: string; situation: integer; from, &to: SystemIndex; step: integer); extensionmethod; +begin + if from.IsInverted then + from.IndexValue := Self.Length - from.IndexValue + 1; + if &to.IsInverted then + &to.IndexValue := Self.Length - &to.IndexValue + 1; + + from.IndexValue := from.IndexValue - 1; + &to.IndexValue := &to.IndexValue - 1; + + var fromValue := from.IndexValue; + var toValue := &to.IndexValue; + var count := CheckAndCorrectFromToAndCalcCountForSystemSlice(situation, Self.Count, fromValue, toValue, step); + if count <> rightValue.Length then + raise new System.ArgumentException(GetTranslation(SLICE_SIZE_AND_RIGHT_VALUE_SIZE_MUST_BE_EQUAL)); + + var f := fromValue + 1; + + var strInd := 1; + loop count do + begin + Self[f] := rightValue[strInd]; + f += step; + strInd += 1; + end; +end; + +//{{{--doc: Конец секции расширений строк для срезов }}} + //{{{doc: Начало секции подпрограмм для типизированных файлов для документации }}} // ----------------------------------------------------- @@ -66,9 +195,6 @@ begin else Result := True; end; -const - BAD_TYPE_IN_TYPED_FILE = 'Для типизированных файлов нельзя указывать тип элементов, являющийся ссылочным или содержащий ссылочные поля!!Typed file cannot contain elements that are references or contains fields-references'; - /// Открывает типизированный файл и возвращает значение для инициализации файловой переменной function OpenFile(fname: string): file of T; begin diff --git a/TestSuite/CompilationSamples/PABCSystem.pas b/TestSuite/CompilationSamples/PABCSystem.pas index 9ea27d897..c93f682d9 100644 --- a/TestSuite/CompilationSamples/PABCSystem.pas +++ b/TestSuite/CompilationSamples/PABCSystem.pas @@ -735,6 +735,46 @@ type end; end; + ///Тип для представления индекса + SystemIndex = class + private + val: integer; + inverted: boolean; + public + property IndexValue: integer read val write val; + property IsInverted: boolean read inverted; + constructor(val: integer; inverted: boolean); + begin + Self.val := val; + Self.inverted := inverted; + end; + + static function operator implicit(i: integer): SystemIndex; + begin + Result := new SystemIndex(i, false); + end; + + function Reverse(list: List): integer; + begin + Result := list.Count - IndexValue; + end; + + function Reverse(arr: array of T): integer; + begin + Result := arr.Length - IndexValue; + end; + + function Reverse(str: string): integer; + begin + Result := str.Length - IndexValue + 1; + end; + + function Reverse(arr: System.Array; dim: integer): integer; + begin + Result := arr.GetLength(dim) - IndexValue; + end; + end; + //{{{doc: Начало секции интерфейса для документации }}} // ----------------------------------------------------- @@ -2682,6 +2722,7 @@ const BAD_ROW_INDEX_TO = 'ToRow выходит за пределы индексов строк двумерного массива!!ToRow is out of range of 2-dim array row indexes'; BAD_COL_INDEX_FROM = 'FromCol выходит за пределы индексов строк двумерного массива!!FromCol is out of range of 2-dim array column indexes'; BAD_COL_INDEX_TO = 'ToCol выходит за пределы индексов строк двумерного массива!!ToCol is out of range of 2-dim array column indexes'; + SLICE_SIZE_AND_RIGHT_VALUE_SIZE_MUST_BE_EQUAL = 'Размеры среза и присваиваемого выражения должны быть равны!!Slice size and assigned expression size must be equal'; // ----------------------------------------------------- // WINAPI @@ -10346,7 +10387,7 @@ begin raise new ArgumentException(GetTranslation(PARAMETER_FROM_OUT_OF_RANGE)); if (situation = 0) or (situation = 1) then - if (&to < -1) or (&to > Len) then + if (&to < 0) or (&to > Len) then raise new ArgumentException(GetTranslation(PARAMETER_TO_OUT_OF_RANGE)); if situation > 0 then @@ -10414,15 +10455,59 @@ begin end; ///-- -function SystemSlice(Self: List; situation: integer; from, &to: integer): List; extensionmethod; +function SystemSlice(Self: List; situation: integer; from, &to: SystemIndex): List; extensionmethod; begin - Result := SystemSliceListImpl(Self, situation, from, &to, 1); + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue; + Result := SystemSliceListImpl(Self, situation, from.IndexValue, &to.IndexValue, 1); end; ///-- -function SystemSlice(Self: List; situation: integer; from, &to, step: integer): List; extensionmethod; +function SystemSlice(Self: List; situation: integer; from, &to: SystemIndex; step: integer): List; extensionmethod; begin - Result := SystemSliceListImpl(Self, situation, from, &to, step); + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue; + Result := SystemSliceListImpl(Self, situation, from.IndexValue, &to.IndexValue, step); +end; + +///-- +procedure SystemSliceAssignmentListImpl(Self: List; rightValue: List; situation: integer; from, &to: integer; step: integer := 1); +begin + var count := CheckAndCorrectFromToAndCalcCountForSystemSlice(situation, Self.Count, from, &to, step); + if count <> rightValue.Count then + raise new System.ArgumentException(GetTranslation(SLICE_SIZE_AND_RIGHT_VALUE_SIZE_MUST_BE_EQUAL)); + var f := from; + var i := 0; + loop count do + begin + Self[f] := rightValue[i]; + f += step; + i += 1; + end; +end; + +///-- +procedure SystemSliceAssignment(Self: List; rightValue: List; situation: integer; from, &to: SystemIndex); extensionmethod; +begin + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue; + SystemSliceAssignmentListImpl(Self, rightValue, situation, from.IndexValue, &to.IndexValue, 1); +end; + +///-- +procedure SystemSliceAssignment(Self: List; rightValue: List; situation: integer; from, &to: SystemIndex; step: integer); extensionmethod; +begin + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue; + SystemSliceAssignmentListImpl(Self, rightValue, situation, from.IndexValue, &to.IndexValue, step); end; ///-- @@ -10434,15 +10519,23 @@ begin end; ///-- -function SystemSliceQuestion(Self: List; situation: integer; from, &to: integer): List; extensionmethod; +function SystemSliceQuestion(Self: List; situation: integer; from, &to: SystemIndex): List; extensionmethod; begin - Result := SystemSliceListImplQuestion(Self, situation, from, &to, 1); + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue; + Result := SystemSliceListImplQuestion(Self, situation, from.IndexValue, &to.IndexValue, 1); end; ///-- -function SystemSliceQuestion(Self: List; situation: integer; from, &to, step: integer): List; extensionmethod; +function SystemSliceQuestion(Self: List; situation: integer; from, &to: SystemIndex; step: integer): List; extensionmethod; begin - Result := SystemSliceListImplQuestion(Self, situation, from, &to, step); + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue; + Result := SystemSliceListImplQuestion(Self, situation, from.IndexValue, &to.IndexValue, step); end; // ----------------------------------------------------- @@ -11248,15 +11341,59 @@ begin end; ///-- -function SystemSlice(Self: array of T; situation: integer; from, &to: integer): array of T; extensionmethod; +function SystemSlice(Self: array of T; situation: integer; from, &to: SystemIndex): array of T; extensionmethod; begin - Result := SystemSliceArrayImpl(Self, situation, from, &to, 1); + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue; + Result := SystemSliceArrayImpl(Self, situation, from.IndexValue, &to.IndexValue, 1); end; ///-- -function SystemSlice(Self: array of T; situation: integer; from, &to, step: integer): array of T; extensionmethod; +function SystemSlice(Self: array of T; situation: integer; from, &to: SystemIndex; step: integer): array of T; extensionmethod; begin - Result := SystemSliceArrayImpl(Self, situation, from, &to, step); + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue; + Result := SystemSliceArrayImpl(Self, situation, from.IndexValue, &to.IndexValue, step); +end; + +///-- +procedure SystemSliceAssignmentArrayImpl(Self: array of T; rightValue: array of T; situation: integer; from, &to: integer; step: integer := 1); +begin + var count := CheckAndCorrectFromToAndCalcCountForSystemSlice(situation, Self.Length, from, &to, step); + if count <> rightValue.Length then + raise new System.ArgumentException(GetTranslation(SLICE_SIZE_AND_RIGHT_VALUE_SIZE_MUST_BE_EQUAL)); + var f := from; + var i := 0; + loop count do + begin + Self[f] := rightValue[i]; + f += step; + i += 1; + end; +end; + +///-- +procedure SystemSliceAssignment(Self: array of T; rightValue: array of T; situation: integer; from, &to: SystemIndex); extensionmethod; +begin + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue; + SystemSliceAssignmentArrayImpl(Self, rightValue, situation, from.IndexValue, &to.IndexValue, 1); +end; + +///-- +procedure SystemSliceAssignment(Self: array of T; rightValue: array of T; situation: integer; from, &to: SystemIndex; step: integer); extensionmethod; +begin + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue; + SystemSliceAssignmentArrayImpl(Self, rightValue, situation, from.IndexValue, &to.IndexValue, step); end; ///-- @@ -11268,15 +11405,23 @@ begin end; ///-- -function SystemSliceQuestion(Self: array of T; situation: integer; from, &to: integer): array of T; extensionmethod; +function SystemSliceQuestion(Self: array of T; situation: integer; from, &to: SystemIndex): array of T; extensionmethod; begin - Result := SystemSliceArrayImplQuestion(Self, situation, from, &to, 1); + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue; + Result := SystemSliceArrayImplQuestion(Self, situation, from.IndexValue, &to.IndexValue, 1); end; ///-- -function SystemSliceQuestion(Self: array of T; situation: integer; from, &to, step: integer): array of T; extensionmethod; +function SystemSliceQuestion(Self: array of T; situation: integer; from, &to: SystemIndex; step: integer): array of T; extensionmethod; begin - Result := SystemSliceArrayImplQuestion(Self, situation, from, &to, step); + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue; + Result := SystemSliceArrayImplQuestion(Self, situation, from.IndexValue, &to.IndexValue, step); end; // ----------------------------------------------------- @@ -11836,15 +11981,23 @@ begin end; ///-- -function SystemSlice(Self: string; situation: integer; from, &to: integer): string; extensionmethod; +function SystemSlice(Self: string; situation: integer; from, &to: SystemIndex): string; extensionmethod; begin - Result := SystemSliceStringImpl(Self, situation, from, &to, 1); + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue + 1; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue + 1; + Result := SystemSliceStringImpl(Self, situation, from.IndexValue, &to.IndexValue, 1); end; ///-- -function SystemSlice(Self: string; situation: integer; from, &to, step: integer): string; extensionmethod; +function SystemSlice(Self: string; situation: integer; from, &to: SystemIndex; step: integer): string; extensionmethod; begin - Result := SystemSliceStringImpl(Self, situation, from, &to, step); + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue + 1; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue + 1; + Result := SystemSliceStringImpl(Self, situation, from.IndexValue, &to.IndexValue, step); end; ///-- @@ -11859,15 +12012,23 @@ begin end; ///-- -function SystemSliceQuestion(Self: string; situation: integer; from, &to: integer): string; extensionmethod; +function SystemSliceQuestion(Self: string; situation: integer; from, &to: SystemIndex): string; extensionmethod; begin - Result := SystemSliceStringImplQuestion(Self, situation, from, &to, 1); + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue + 1; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue + 1; + Result := SystemSliceStringImplQuestion(Self, situation, from.IndexValue, &to.IndexValue, 1); end; ///-- -function SystemSliceQuestion(Self: string; situation: integer; from, &to, step: integer): string; extensionmethod; +function SystemSliceQuestion(Self: string; situation: integer; from, &to: SystemIndex; step: integer): string; extensionmethod; begin - Result := SystemSliceStringImplQuestion(Self, situation, from, &to, step); + if from.IsInverted then + from.IndexValue := Self.Count - from.IndexValue + 1; + if &to.IsInverted then + &to.IndexValue := Self.Count - &to.IndexValue + 1; + Result := SystemSliceStringImplQuestion(Self, situation, from.IndexValue, &to.IndexValue, step); end; //-------------------------------------------- //>> Методы расширения типа Func # Extension methods for Func diff --git a/TestSuite/SystemIndexTest1.pas b/TestSuite/SystemIndexTest1.pas new file mode 100644 index 000000000..30d33a82e --- /dev/null +++ b/TestSuite/SystemIndexTest1.pas @@ -0,0 +1,12 @@ +begin + var s := 'qwerty'; + Assert(s[^1] = 'y'); + {Assert(s[:^1] = 'qwert'); + var a := Arr(1..10); + Assert(a[^1] = 10); + Assert(a[:^1].SequenceEqual(Arr(1..9))); + var l := Lst(11..20); + Assert(l[^1] = 20); + Assert(l[:^1].SequenceEqual(Arr(11..19))); + Assert(a[^2::-2].SequenceEqual(Arr(9, 7, 5, 3, 1)));} +end. \ No newline at end of file