You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
(20) |
May
(48) |
Jun
(8) |
Jul
(23) |
Aug
(41) |
Sep
(42) |
Oct
(22) |
Nov
(17) |
Dec
(36) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(43) |
Feb
(42) |
Mar
(17) |
Apr
(39) |
May
(16) |
Jun
(35) |
Jul
(37) |
Aug
(47) |
Sep
(49) |
Oct
(9) |
Nov
(52) |
Dec
(37) |
2008 |
Jan
(48) |
Feb
(21) |
Mar
(7) |
Apr
(2) |
May
(5) |
Jun
(17) |
Jul
(17) |
Aug
(40) |
Sep
(58) |
Oct
(38) |
Nov
(19) |
Dec
(32) |
2009 |
Jan
(67) |
Feb
(46) |
Mar
(54) |
Apr
(34) |
May
(37) |
Jun
(52) |
Jul
(67) |
Aug
(72) |
Sep
(48) |
Oct
(35) |
Nov
(27) |
Dec
(12) |
2010 |
Jan
(56) |
Feb
(46) |
Mar
(19) |
Apr
(14) |
May
(21) |
Jun
(3) |
Jul
(13) |
Aug
(48) |
Sep
(34) |
Oct
(51) |
Nov
(16) |
Dec
(32) |
2011 |
Jan
(36) |
Feb
(14) |
Mar
(12) |
Apr
(3) |
May
(5) |
Jun
(24) |
Jul
(15) |
Aug
(30) |
Sep
(21) |
Oct
(4) |
Nov
(25) |
Dec
(23) |
2012 |
Jan
(45) |
Feb
(42) |
Mar
(19) |
Apr
(14) |
May
(13) |
Jun
(7) |
Jul
(3) |
Aug
(46) |
Sep
(21) |
Oct
(10) |
Nov
(2) |
Dec
|
2013 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ou...@us...> - 2010-10-08 14:15:47
|
Revision: 3367 http://jcl.svn.sourceforge.net/jcl/?rev=3367&view=rev Author: outchy Date: 2010-10-08 14:15:41 +0000 (Fri, 08 Oct 2010) Log Message: ----------- Style cleaning. Property Changed: ---------------- trunk/thirdparty/bzip2/bzip2-1.0.6.tar.gz Property changes on: trunk/thirdparty/bzip2/bzip2-1.0.6.tar.gz ___________________________________________________________________ Added: svn:mime-type + application/x-compressed-tar This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-10-07 16:54:44
|
Revision: 3366 http://jcl.svn.sourceforge.net/jcl/?rev=3366&view=rev Author: outchy Date: 2010-10-07 16:54:38 +0000 (Thu, 07 Oct 2010) Log Message: ----------- Key and value known type keywords are now automatically defined/undefined for maps. Modified Paths: -------------- trunk/jcl/devtools/jpp/Templates/JclContainerTemplates.pas Modified: trunk/jcl/devtools/jpp/Templates/JclContainerTemplates.pas =================================================================== --- trunk/jcl/devtools/jpp/Templates/JclContainerTemplates.pas 2010-10-07 16:49:47 UTC (rev 3365) +++ trunk/jcl/devtools/jpp/Templates/JclContainerTemplates.pas 2010-10-07 16:54:38 UTC (rev 3366) @@ -66,6 +66,7 @@ procedure SetMapTypeIndex(const Value: Integer); protected function ProcessConditional(const MacroText: string; ContainerTypeInfo: TJclContainerTypeInfo): string; + procedure ProcessDefines(const Prefix, Defines, Undefs: string); public constructor Create; destructor Destroy; override; @@ -507,13 +508,24 @@ // process conditional defines if (InterfaceParams is TJclMapInterfaceParams) and FMapInfo.KnownMap then begin + ProcessDefines('KEY', + FMapInfo.KeyTypeInfo.TypeAttributes[taDefines], + FMapInfo.KeyTypeInfo.TypeAttributes[taUndefs]); + ProcessDefines('VALUE', + FMapInfo.ValueTypeInfo.TypeAttributes[taDefines], + FMapInfo.ValueTypeInfo.TypeAttributes[taUndefs]); Result := ProcessConditional(Result, FMapInfo.KeyTypeInfo); if FMapInfo.KeyTypeInfo.TypeAttributes[taCondition] <> FMapInfo.ValueTypeInfo.TypeAttributes[taCondition] then Result := ProcessConditional(Result, FMapInfo.ValueTypeInfo); end else if (InterfaceParams is TJclContainerInterfaceParams) and FTypeInfo.KnownType then + begin + ProcessDefines('', + FTypeInfo.TypeAttributes[taDefines], + FTypeInfo.TypeAttributes[taUndefs]); Result := ProcessConditional(Result, FTypeInfo); + end; finally ImplementationParams.Free; InterfaceParams.Free; @@ -545,8 +557,6 @@ function TJclContainerParams.ProcessConditional(const MacroText: string; ContainerTypeInfo: TJclContainerTypeInfo): string; var - DefineList: TStrings; - I: Integer; Condition: string; begin Result := MacroText; @@ -556,18 +566,24 @@ [Condition, NativeLineBreak, Result, NativeLineBreak, Condition, NativeLineBreak]); +end; + +procedure TJclContainerParams.ProcessDefines(const Prefix, Defines, Undefs: string); +var + DefineList: TStrings; + I: Integer; +begin DefineList := TStringList.Create; try - StrToStrings(ContainerTypeInfo.TypeAttributes[taDefines], ';', DefineList, False); + StrToStrings(Defines, ';', DefineList, False); for I := 0 to DefineList.Count - 1 do - Define(DefineList.Strings[I]); - StrToStrings(ContainerTypeInfo.TypeAttributes[taUndefs], ';', DefineList, False); + Define(Prefix + DefineList.Strings[I]); + StrToStrings(Undefs, ';', DefineList, False); for I := 0 to DefineList.Count - 1 do - Undef(DefineList.Strings[I]); + Undef(Prefix + DefineList.Strings[I]); finally DefineList.Free; end; - end; procedure TJclContainerParams.SetAllMapIndex(const Value: Integer); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-10-07 16:49:53
|
Revision: 3365 http://jcl.svn.sourceforge.net/jcl/?rev=3365&view=rev Author: outchy Date: 2010-10-07 16:49:47 +0000 (Thu, 07 Oct 2010) Log Message: ----------- New JPP command line option for disabling automatic header at the top of the generated files. Modified Paths: -------------- trunk/jcl/devtools/jpp/JppMain.pas trunk/jcl/devtools/jpp/JppState.pas Modified: trunk/jcl/devtools/jpp/JppMain.pas =================================================================== --- trunk/jcl/devtools/jpp/JppMain.pas 2010-10-06 14:17:24 UTC (rev 3364) +++ trunk/jcl/devtools/jpp/JppMain.pas 2010-10-07 16:49:47 UTC (rev 3365) @@ -82,6 +82,7 @@ ' -v'#9#9'Process value directive'#10, ' -C'#9#9'Strip comments'#10, ' -fxxx'#9#9'Prefix xxx to filename'#10, + ' -w'#9#9'Do not add header warning'#10, ' -h, -?'#9'This help'#10, ' -i[x[,y...]]'#9'Process includes, except files x, y, ...'#10, ' -pxxx'#9#9'Add xxx to include path'#10, @@ -117,7 +118,9 @@ fsIn := TFileStream.Create(AOld, fmOpenRead or fmShareDenyWrite); ssIn := TJclAutoStream.Create(fsIn); parse := TJppParser.Create(ssIn.ReadString, AState); - answer := Format('%s'#13#10'%s', [SWarningJppGenerated, parse.Parse]); + answer := parse.Parse; + if not (poNoWarningHeader in AState.Options) then + answer := Format('%s'#13#10'%s', [SWarningJppGenerated, answer]); fsOut := TFileStream.Create(ANew, fmCreate); case ssIn.Encoding of seAnsi: @@ -307,6 +310,9 @@ Prefix := ExpandUNCFilename(Prefix); end; + 'w', 'W': + cp := CheckOpt(cp + 1, poNoWarningHeader); + else Syntax; end; Modified: trunk/jcl/devtools/jpp/JppState.pas =================================================================== --- trunk/jcl/devtools/jpp/JppState.pas 2010-10-06 14:17:24 UTC (rev 3364) +++ trunk/jcl/devtools/jpp/JppState.pas 2010-10-07 16:49:47 UTC (rev 3365) @@ -58,7 +58,7 @@ EPppState = class(Exception); TPppOption = (poProcessIncludes, poProcessDefines, poStripComments, - poProcessMacros, poProcessValues); + poProcessMacros, poProcessValues, poNoWarningHeader); TPppOptions = set of TPppOption; TTriState = (ttUnknown, ttUndef, ttDefined); @@ -172,6 +172,7 @@ constructor TPppState.Create; begin + inherited Create; FStateStack := TJclStack.Create(16, True); InternalPushState(TJclStrArrayList.Create(16), TJclStrArrayList.Create(16), TJclStrIntfHashMap.Create(16), TJclStrHashMap.Create(16, False), ttUnknown); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-10-06 14:17:31
|
Revision: 3364 http://jcl.svn.sourceforge.net/jcl/?rev=3364&view=rev Author: outchy Date: 2010-10-06 14:17:24 +0000 (Wed, 06 Oct 2010) Log Message: ----------- Mantis 5352: TJclAnsiStrings should support QuoteChar and StrictDelimiter. Modified Paths: -------------- trunk/jcl/source/common/JclAnsiStrings.pas Modified: trunk/jcl/source/common/JclAnsiStrings.pas =================================================================== --- trunk/jcl/source/common/JclAnsiStrings.pas 2010-10-05 20:23:00 UTC (rev 3363) +++ trunk/jcl/source/common/JclAnsiStrings.pas 2010-10-06 14:17:24 UTC (rev 3364) @@ -93,11 +93,9 @@ function GetCommaText: AnsiString; {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF} procedure SetCommaText(const Value: AnsiString); {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF} function GetDelimitedText: AnsiString; overload; {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF} - function GetDelimitedText(const ADelimiter: AnsiString; AQuoteChar: AnsiChar; - AStrictDelimiter: Boolean): AnsiString; overload; + function GetDelimitedText(const ADelimiter: AnsiString; AQuoteChar: AnsiChar): AnsiString; overload; procedure SetDelimitedText(const Value: AnsiString); overload; {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF} - procedure SetDelimitedText(const Value, ADelimiter: AnsiString; AQuoteChar: AnsiChar; - AStrictDelimiter: Boolean); overload; + procedure SetDelimitedText(const Value, ADelimiter: AnsiString; AQuoteChar: AnsiChar); overload; function ExtractName(const S: AnsiString): AnsiString; function GetName(Index: Integer): AnsiString; function GetValue(const Name: AnsiString): AnsiString; @@ -813,20 +811,19 @@ function TJclAnsiStrings.GetCommaText: AnsiString; begin - Result := GetDelimitedText(AnsiComma, AnsiDoubleQuote, False); + Result := GetDelimitedText(AnsiComma, AnsiDoubleQuote); end; function TJclAnsiStrings.GetDelimitedText: AnsiString; begin - Result := GetDelimitedText(Delimiter, QuoteChar, StrictDelimiter); + Result := GetDelimitedText(Delimiter, QuoteChar); end; -function TJclAnsiStrings.GetDelimitedText(const ADelimiter: AnsiString; AQuoteChar: AnsiChar; - AStrictDelimiter: Boolean): AnsiString; +function TJclAnsiStrings.GetDelimitedText(const ADelimiter: AnsiString; AQuoteChar: AnsiChar): AnsiString; function Quoted(Item: AnsiString): AnsiString; begin - if (not AStrictDelimiter) and (Pos(AnsiSpace, Item) > 0) then + if (not StrictDelimiter) and ((Pos(AnsiSpace, Item) > 0) or (Pos(FQuoteChar, Item) > 0)) then begin Result := AnsiQuotedStr(Item, AQuoteChar); end @@ -839,9 +836,9 @@ begin Result := ''; for I := 0 to Count - 2 do - Result := Result + Strings[I] + ADelimiter; + Result := Result + Quoted(Strings[I]) + ADelimiter; if Count > 0 then - Result := Result + Strings[Count - 1]; + Result := Result + Quoted(Strings[Count - 1]); end; procedure TJclAnsiStrings.Insert(Index: Integer; const S: AnsiString); @@ -851,16 +848,23 @@ procedure TJclAnsiStrings.SetCommaText(const Value: AnsiString); begin - SetDelimitedText(Value, AnsiComma, AnsiDoubleQuote, False); + SetDelimitedText(Value, AnsiComma, AnsiDoubleQuote); end; procedure TJclAnsiStrings.SetDelimitedText(const Value: AnsiString); begin - SetDelimitedText(Value, Delimiter, QuoteChar, StrictDelimiter); + SetDelimitedText(Value, Delimiter, QuoteChar); end; -procedure TJclAnsiStrings.SetDelimitedText(const Value, ADelimiter: AnsiString; AQuoteChar: AnsiChar; - AStrictDelimiter: Boolean); +procedure TJclAnsiStrings.SetDelimitedText(const Value, ADelimiter: AnsiString; AQuoteChar: AnsiChar); + + procedure InternalAdd(Item: AnsiString); + begin + Item := StrTrimQuotes(Item, AQuoteChar); + StrReplace(Item, AQuoteChar + AQuoteChar, AQuoteChar, [rfReplaceAll]); + Add(Item); + end; + var ValueLength, LastStart, Index, QuoteCharCount: Integer; ValueChar: AnsiChar; @@ -874,21 +878,21 @@ ValueChar := Value[Index]; if ValueChar = AQuoteChar then Inc(QuoteCharCount); - if (ValueChar = ADelimiter) and ((not AStrictDelimiter) or (Odd(QuoteCharCount) or (QuoteCharCount = 0))) then + if (ValueChar = ADelimiter) and ((not StrictDelimiter) or (Odd(QuoteCharCount) or (QuoteCharCount = 0))) then begin - if AStrictDelimiter then + if StrictDelimiter then Add(Copy(Value, LastStart, Index - LastStart)) else - Add(StrTrimQuotes(Copy(Value, LastStart, Index - LastStart), AQuoteChar)); + InternalAdd(Copy(Value, LastStart, Index - LastStart)); QuoteCharCount := 0; LastStart := Index + 1; end; if (Index = ValueLength) and (LastStart < ValueLength) then begin - if AStrictDelimiter then + if StrictDelimiter then Add(Copy(Value, LastStart, ValueLength - LastStart + 1)) else - Add(StrTrimQuotes(Copy(Value, LastStart, Index - LastStart), AQuoteChar)); + InternalAdd(Copy(Value, LastStart, Index - LastStart + 1)); end; end; end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-10-05 20:23:06
|
Revision: 3363 http://jcl.svn.sourceforge.net/jcl/?rev=3363&view=rev Author: outchy Date: 2010-10-05 20:23:00 +0000 (Tue, 05 Oct 2010) Log Message: ----------- external to JEDI common help. Modified Paths: -------------- trunk/thirdparty/svn_cleaner/SvnCleaner.xml Property Changed: ---------------- trunk/help/ Property changes on: trunk/help ___________________________________________________________________ Modified: svn:ignore - *.doxdb + *.doxdb *.bak Added: svn:externals + jedi https://projectjedi.svn.sourceforge.net:443/svnroot/projectjedi/trunk/shared/help Modified: trunk/thirdparty/svn_cleaner/SvnCleaner.xml =================================================================== --- trunk/thirdparty/svn_cleaner/SvnCleaner.xml 2010-10-05 13:24:05 UTC (rev 3362) +++ trunk/thirdparty/svn_cleaner/SvnCleaner.xml 2010-10-05 20:23:00 UTC (rev 3363) @@ -89,7 +89,11 @@ <setting path="help" mask="" recurse="no" dironly="yes"> <property name="svn:ignore"> <value>*.doxdb</value> + <value>*.bak</value> </property> + <property name="svn:externals"> + <value>jedi https://projectjedi.svn.sourceforge.net:443/svnroot/projectjedi/trunk/shared/help</value> + </property> </setting> <setting path="qa/automated/dunit" mask="" recurse="no" dironly="yes"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-10-05 13:24:12
|
Revision: 3362 http://jcl.svn.sourceforge.net/jcl/?rev=3362&view=rev Author: outchy Date: 2010-10-05 13:24:05 +0000 (Tue, 05 Oct 2010) Log Message: ----------- Mantis 5333: Huge overhead of JclStrings. New option to prefer RTL character database over JclUnicode one. Modified Paths: -------------- trunk/jcl/install/JclInstall.pas trunk/jcl/install/JclInstallResources.pas trunk/jcl/source/common/JclFileUtils.pas trunk/jcl/source/common/JclStrings.pas trunk/jcl/source/common/JclUsesUtils.pas trunk/jcl/source/common/JclWideStrings.pas trunk/jcl/source/include/jcl.inc trunk/jcl/source/include/jcl.template.inc trunk/jcl/source/windows/JclDebug.pas trunk/jcl/source/windows/JclMetadata.pas trunk/jcl/source/windows/JclPeImage.pas Modified: trunk/jcl/install/JclInstall.pas =================================================================== --- trunk/jcl/install/JclInstall.pas 2010-10-05 12:16:35 UTC (rev 3361) +++ trunk/jcl/install/JclInstall.pas 2010-10-05 13:24:05 UTC (rev 3362) @@ -73,6 +73,7 @@ joJCLDefZLibStaticLink, joJCLDefZLibLinkDLL, joJCLDefZLibLinkOnRequest, + joJCLDefUnicodeRTLDatabase, joJCLDefUnicodeSilentFailure, joJCLDefUnicodeRawData, joJCLDefUnicodeZLibData, @@ -346,6 +347,7 @@ (Id: -1; Caption: @RsCaptionDefZLibStaticLink; Hint: @RsHintDefZLibStaticLink), // joDefZLibStaticLink (Id: -1; Caption: @RsCaptionDefZLibLinkDLL; Hint: @RsHintDefZLibLinkDLL), // joDefZLibLinkDLL (Id: -1; Caption: @RsCaptionDefZLibLinkOnRequest; Hint: @RsHintDefZLibLinkOnRequest), // joDefZLibLinkOnRequest + (Id: -1; Caption: @RsCaptionDefUnicodeRTLDatabase; Hint: @RsHintDefUnicodeRTLDatabase), // joDefUnicodeSilentFailure (Id: -1; Caption: @RsCaptionDefUnicodeSilentFailure; Hint: @RsHintDefUnicodeSilentFailure), // joDefUnicodeSilentFailure (Id: -1; Caption: @RsCaptionDefUnicodeRawData; Hint: @RsHintDefUnicodeRawData), // joDefUnicodeRawData (Id: -1; Caption: @RsCaptionDefUnicodeZLibData; Hint: @RsHintDefUnicodeZLibData), // joDefUnicodeZLibData @@ -781,6 +783,9 @@ AddOption(joJCLDefZLibLinkDLL, [goRadioButton], joJCLDefZLib); // Unicode options AddOption(joJCLDefUnicode, [goChecked], Parent); + if (Target.RadToolKind = brBorlandDevStudio) and (Target.VersionNumber >= 6) then + // Delphi 2009 and newer have unit "Character" + AddOption(joJCLDefUnicodeRTLDatabase, [], joJCLDefUnicode); AddOption(joJCLDefUnicodeSilentFailure, [goChecked], joJCLDefUnicode); AddOption(joJCLDefUnicodeRawData, [goRadioButton, goChecked], joJCLDefUnicode); AddOption(joJCLDefUnicodeZLibData, [goRadioButton], joJCLDefUnicode); @@ -1215,7 +1220,7 @@ 'DEBUG_NO_SYMBOLS', 'PCRE_STATICLINK', 'PCRE_LINKDLL', 'PCRE_LINKONREQUEST', 'BZIP2_STATICLINK', 'BZIP2_LINKDLL', 'BZIP2_LINKONREQUEST', 'ZLIB_STATICLINK', - 'ZLIB_LINKDLL', 'ZLIB_LINKONREQUEST', 'UNICODE_SILENT_FAILURE', + 'ZLIB_LINKDLL', 'ZLIB_LINKONREQUEST', 'UNICODE_RTL_DATABASE', 'UNICODE_SILENT_FAILURE', 'UNICODE_RAW_DATA', 'UNICODE_ZLIB_DATA', 'UNICODE_BZIP2_DATA', 'CONTAINER_ANSISTR', 'CONTAINER_WIDESTR', 'CONTAINER_UNICODESTR', 'CONTAINER_NOSTR', {'7ZIP_STATICLINK',} '7ZIP_LINKDLL', Modified: trunk/jcl/install/JclInstallResources.pas =================================================================== --- trunk/jcl/install/JclInstallResources.pas 2010-10-05 12:16:35 UTC (rev 3361) +++ trunk/jcl/install/JclInstallResources.pas 2010-10-05 13:24:05 UTC (rev 3362) @@ -82,6 +82,7 @@ RsCaptionDefZLibLinkOnRequest = 'Late bind to zlib1.dll'; // Unicode options RsCaptionDefUnicode = 'Unicode options'; + RsCaptionDefUnicodeRTLDatabase = 'Prefer RTL database'; RsCaptionDefUnicodeSilentFailure = 'Silent failure'; RsCaptionDefUnicodeRawData = 'Uncompressed Unicode data'; RsCaptionDefUnicodeZLibData = 'Compressed data using zlib'; @@ -191,6 +192,7 @@ RsHintDefZLibLinkOnRequest = 'JCL binaries require zlib1.dll when calling ZLib functions'; // Unicode options RsHintDefUnicode = 'Unicode specific option (JclUnicode.pas)'; + RsHintDefUnicodeRTLDatabase = 'Prefer RTL Character Database over JCL one, less accurate but reduce executable sizes'; RsHintDefUnicodeSilentFailure = 'Insert a replacement character if sequence is corrupted rather than raising an exception'; RsHintDefUnicodeRawData = 'Link resource containing uncompressed Unicode data (bigger executable size)'; RsHintDefUnicodeZLibData = 'Link resource containing Unicode data compressed with ZLib'; Modified: trunk/jcl/source/common/JclFileUtils.pas =================================================================== --- trunk/jcl/source/common/JclFileUtils.pas 2010-10-05 12:16:35 UTC (rev 3361) +++ trunk/jcl/source/common/JclFileUtils.pas 2010-10-05 13:24:05 UTC (rev 3362) @@ -1054,6 +1054,9 @@ implementation uses + {$IFDEF HAS_UNIT_CHARACTER} + Character, + {$ENDIF HAS_UNIT_CHARACTER} Math, {$IFDEF MSWINDOWS} ShellApi, ActiveX, ComObj, ShlObj, Modified: trunk/jcl/source/common/JclStrings.pas =================================================================== --- trunk/jcl/source/common/JclStrings.pas 2010-10-05 12:16:35 UTC (rev 3361) +++ trunk/jcl/source/common/JclStrings.pas 2010-10-05 13:24:05 UTC (rev 3362) @@ -25,6 +25,7 @@ { Jack N.A. Bakker } { Jean-Fabien Connault (cycocrew) } { John C Molyneux } +{ Kiriakos Vlahos } { Leonard Wennekers } { Marcel Bestebroer } { Martin Kimmings } @@ -68,6 +69,9 @@ {$IFDEF MSWINDOWS} Windows, {$ENDIF MSWINDOWS} + {$IFDEF UNICODE_RTL_DATABASE} + Character, + {$ENDIF UNICODE_RTL_DATABASE} Classes, SysUtils, JclAnsiStrings, JclWideStrings, @@ -575,6 +579,7 @@ function CompareNaturalStr(const S1, S2: string): SizeInt; function CompareNaturalText(const S1, S2: string): SizeInt; +{$IFNDEF UNICODE_RTL_DATABASE} // internal structures published to make function inlining working const MaxStrCharCount = Ord(High(Char)) + 1; // # of chars in one set @@ -587,6 +592,7 @@ StrCaseMap: array [0..StrCaseMapSize - 1] of Char; // case mappings StrCaseMapReady: Boolean = False; // true if case map exists StrCharTypes: array [Char] of Word; +{$ENDIF ~UNICODE_RTL_DATABASE} {$IFDEF UNITVERSIONING} const @@ -620,6 +626,7 @@ end; PStrRec = ^TStrRec; +{$IFNDEF UNICODE_RTL_DATABASE} procedure LoadCharTypes; var CurrChar: Char; @@ -737,6 +744,7 @@ until C = #0; end; end; +{$ENDIF ~UNICODE_RTL_DATABASE} function StrEndW(Str: PWideChar): PWideChar; begin @@ -1163,13 +1171,42 @@ end; procedure StrLowerInPlace(var S: string); +{$IFDEF UNICODE_RTL_DATABASE} +var + P: PChar; + I, L: SizeInt; begin + L := Length(S); + if L > 0 then + begin + UniqueString(S); + P := PChar(S); + for I := 1 to L do + begin + P^ := Character.ToLower(P^); + Inc(P); + end; + end; +end; +{$ELSE ~UNICODE_RTL_DATABASE} +begin StrCase(S, StrLoOffset); end; +{$ENDIF ~UNICODE_RTL_DATABASE} procedure StrLowerBuff(S: PChar); begin + {$IFDEF UNICODE_RTL_DATABASE} + if S <> nil then + begin + repeat + S^ := Character.ToLower(S^); + Inc(S); + until S^ = #0; + end; + {$ELSE ~UNICODE_RTL_DATABASE} StrCaseBuff(S, StrLoOffset); + {$ENDIF ~UNICODE_RTL_DATABASE} end; procedure StrMove(var Dest: string; const Source: string; @@ -1890,13 +1927,42 @@ end; procedure StrUpperInPlace(var S: string); +{$IFDEF UNICODE_RTL_DATABASE} +var + P: PChar; + I, L: SizeInt; begin + L := Length(S); + if L > 0 then + begin + UniqueString(S); + P := PChar(S); + for I := 1 to L do + begin + P^ := Character.ToUpper(P^); + Inc(P); + end; + end; +end; +{$ELSE ~UNICODE_RTL_DATABASE} +begin StrCase(S, StrUpOffset); end; +{$ENDIF ~UNICODE_RTL_DATABASE} procedure StrUpperBuff(S: PChar); begin + {$IFDEF UNICODE_RTL_DATABASE} + if S <> nil then + begin + repeat + S^ := Character.ToUpper(S^); + Inc(S); + until S^ = #0; + end; + {$ELSE ~UNICODE_RTL_DATABASE} StrCaseBuff(S, StrUpOffset); + {$ENDIF ~UNICODE_RTL_DATABASE} end; //=== String Management ====================================================== @@ -2642,22 +2708,39 @@ function CharIsAlpha(const C: Char): Boolean; begin + {$IFDEF UNICODE_RTL_DATABASE} + Result := Character.IsLetter(C); + {$ELSE ~UNICODE_RTL_DATABASE} Result := (StrCharTypes[C] and C1_ALPHA) <> 0; + {$ENDIF ~UNICODE_RTL_DATABASE} end; function CharIsAlphaNum(const C: Char): Boolean; begin + {$IFDEF UNICODE_RTL_DATABASE} + Result := Character.IsLetterOrDigit(C); + {$ELSE ~UNICODE_RTL_DATABASE} Result := ((StrCharTypes[C] and C1_ALPHA) <> 0) or ((StrCharTypes[C] and C1_DIGIT) <> 0); + {$ENDIF ~UNICODE_RTL_DATABASE} end; function CharIsBlank(const C: Char): Boolean; begin + {$IFDEF UNICODE_RTL_DATABASE} + //http://blogs.msdn.com/b/michkap/archive/2007/06/11/3230072.aspx + Result := (C = ' ') or (C = #$0009) or (C = #$00A0) or (C = #$3000); + {$ELSE ~UNICODE_RTL_DATABASE} Result := ((StrCharTypes[C] and C1_BLANK) <> 0); + {$ENDIF ~UNICODE_RTL_DATABASE} end; function CharIsControl(const C: Char): Boolean; begin + {$IFDEF UNICODE_RTL_DATABASE} + Result := Character.IsControl(C); + {$ELSE ~UNICODE_RTL_DATABASE} Result := (StrCharTypes[C] and C1_CNTRL) <> 0; + {$ENDIF ~UNICODE_RTL_DATABASE} end; function CharIsDelete(const C: Char): Boolean; @@ -2667,12 +2750,16 @@ function CharIsDigit(const C: Char): Boolean; begin + {$IFDEF UNICODE_RTL_DATABASE} + Result := Character.IsDigit(C); + {$ELSE ~UNICODE_RTL_DATABASE} Result := (StrCharTypes[C] and C1_DIGIT) <> 0; + {$ENDIF ~UNICODE_RTL_DATABASE} end; function CharIsFracDigit(const C: Char): Boolean; begin - Result := (C = '.') or ((StrCharTypes[C] and C1_DIGIT) <> 0); + Result := (C = '.') or CharIsDigit(C); end; function CharIsHexDigit(const C: Char): Boolean; @@ -2682,24 +2769,28 @@ 'a'..'f': Result := True; else - Result := ((StrCharTypes[C] and C1_DIGIT) <> 0); + Result := CharIsDigit(C); end; end; function CharIsLower(const C: Char): Boolean; begin + {$IFDEF UNICODE_RTL_DATABASE} + Result := Character.IsLower(C); + {$ELSE ~UNICODE_RTL_DATABASE} Result := (StrCharTypes[C] and C1_LOWER) <> 0; + {$ENDIF ~UNICODE_RTL_DATABASE} end; function CharIsNumberChar(const C: Char): Boolean; begin - Result := ((StrCharTypes[C] and C1_DIGIT) <> 0) or (C = '+') or (C = '-') or + Result := CharIsDigit(C) or (C = '+') or (C = '-') or (C = {$IFDEF RTL220_UP}FormatSettings.{$ENDIF}DecimalSeparator); end; function CharIsNumber(const C: Char): Boolean; begin - Result := ((StrCharTypes[C] and C1_DIGIT) <> 0) or + Result := CharIsDigit(C) or (C = {$IFDEF RTL220_UP}FormatSettings.{$ENDIF}DecimalSeparator); end; @@ -2710,7 +2801,11 @@ function CharIsPunctuation(const C: Char): Boolean; begin + {$IFDEF UNICODE_RTL_DATABASE} + Result := Character.IsPunctuation(C); + {$ELSE ~UNICODE_RTL_DATABASE} Result := ((StrCharTypes[C] and C1_PUNCT) <> 0); + {$ENDIF ~UNICODE_RTL_DATABASE} end; function CharIsReturn(const C: Char): Boolean; @@ -2720,12 +2815,20 @@ function CharIsSpace(const C: Char): Boolean; begin + {$IFDEF UNICODE_RTL_DATABASE} + Result := Character.IsWhiteSpace(C); + {$ELSE ~UNICODE_RTL_DATABASE} Result := (StrCharTypes[C] and C1_SPACE) <> 0; + {$ENDIF ~UNICODE_RTL_DATABASE} end; function CharIsUpper(const C: Char): Boolean; begin + {$IFDEF UNICODE_RTL_DATABASE} + Result := Character.IsUpper(C); + {$ELSE ~UNICODE_RTL_DATABASE} Result := (StrCharTypes[C] and C1_UPPER) <> 0; + {$ENDIF ~UNICODE_RTL_DATABASE} end; function CharIsValidIdentifierLetter(const C: Char): Boolean; @@ -2772,7 +2875,11 @@ function CharType(const C: Char): Word; begin + {$IFDEF UNICODE_RTL_DATABASE} + GetStringTypeEx(LOCALE_USER_DEFAULT, CT_CTYPE1, @C, 1, Result); + {$ELSE ~UNICODE_RTL_DATABASE} Result := StrCharTypes[C]; + {$ENDIF ~UNICODE_RTL_DATABASE} end; //=== PCharVector ============================================================ @@ -2867,17 +2974,34 @@ function CharLower(const C: Char): Char; begin + {$IFDEF UNICODE_RTL_DATABASE} + Result := Character.ToLower(C); + {$ELSE ~UNICODE_RTL_DATABASE} Result := StrCaseMap[Ord(C) + StrLoOffset]; + {$ENDIF ~UNICODE_RTL_DATABASE} end; function CharToggleCase(const C: Char): Char; begin + {$IFDEF UNICODE_RTL_DATABASE} + if CharIsLower(C) then + Result := CharUpper(C) + else if CharIsUpper(C) then + Result := CharLower(C) + else + Result := C; + {$ELSE ~UNICODE_RTL_DATABASE} Result := StrCaseMap[Ord(C) + StrReOffset]; + {$ENDIF ~UNICODE_RTL_DATABASE} end; function CharUpper(const C: Char): Char; begin + {$IFDEF UNICODE_RTL_DATABASE} + Result := Character.ToUpper(C); + {$ELSE ~UNICODE_RTL_DATABASE} Result := StrCaseMap[Ord(C) + StrUpOffset]; + {$ENDIF ~UNICODE_RTL_DATABASE} end; //=== Character Search and Replace =========================================== @@ -2910,7 +3034,7 @@ begin C := CharUpper(C); for Result := Index to Length(S) do - if StrCaseMap[Ord(S[Result]) + StrUpOffset] = C then + if CharUpper(S[Result]) = C then Exit; end; Result := 0; @@ -5151,8 +5275,10 @@ end; initialization + {$IFNDEF UNICODE_RTL_DATABASE} LoadCharTypes; // this table first LoadCaseMap; // or this function does not work + {$ENDIF ~UNICODE_RTL_DATABASE} {$IFDEF UNITVERSIONING} RegisterUnitVersion(HInstance, UnitVersioning); {$ENDIF UNITVERSIONING} @@ -5163,3 +5289,4 @@ {$ENDIF UNITVERSIONING} end. + Modified: trunk/jcl/source/common/JclUsesUtils.pas =================================================================== --- trunk/jcl/source/common/JclUsesUtils.pas 2010-10-05 12:16:35 UTC (rev 3361) +++ trunk/jcl/source/common/JclUsesUtils.pas 2010-10-05 13:24:05 UTC (rev 3362) @@ -124,6 +124,9 @@ uses RtlConsts, + {$IFDEF HAS_UNIT_CHARACTER} + Character, + {$ENDIF HAS_UNIT_CHARACTER} JclStrings, JclDevToolsResources; Modified: trunk/jcl/source/common/JclWideStrings.pas =================================================================== --- trunk/jcl/source/common/JclWideStrings.pas 2010-10-05 12:16:35 UTC (rev 3361) +++ trunk/jcl/source/common/JclWideStrings.pas 2010-10-05 13:24:05 UTC (rev 3362) @@ -24,6 +24,7 @@ { Robert Rossmair (rrossmair) } { ZENsan } { Florent Ouchet (outchy) } +{ Kiriakos Vlahos } { } {**************************************************************************************************} { } @@ -356,7 +357,10 @@ Windows, {$ENDIF MSWINDOWS} Math, - JclResources, JclUnicode; + {$IFNDEF UNICODE_RTL_DATABASE} + JclUnicode, + {$ENDIF ~UNICODE_RTL_DATABASE} + JclResources; procedure SwapWordByteOrder(P: PWideChar; Len: SizeInt); begin @@ -516,6 +520,11 @@ // Compares Str1 to Str2 without case sensitivity. // See also comments in StrCompW, but keep in mind that case folding might result in // one-to-many mappings which must be considered here. +{$IFDEF UNICODE_RTL_DATABASE} +begin + Result := AnsiStrIComp(Str1, Str2) +end; +{$ELSE ~UNICODE_RTL_DATABASE} var C1, C2: Word; S1, S2: PWideChar; @@ -561,10 +570,16 @@ if Result = 0 then Result := (Run1 - PWideChar(Folded1)) - (Run2 - PWideChar(Folded2)); end; +{$ENDIF ~UNICODE_RTL_DATABASE} function StrLICompW(const Str1, Str2: PWideChar; MaxLen: SizeInt): SizeInt; // compares strings up to MaxLen code points // see also StrICompW +{$IFDEF UNICODE_RTL_DATABASE} +begin + Result := AnsiStrIComp(Str1, Str2) +end; +{$ELSE UNICODE_RTL_DATABASE} var S1, S2: PWideChar; C1, C2: Word; @@ -613,6 +628,7 @@ else Result := 0; end; +{$ENDIF UNICODE_RTL_DATABASE} function StrLICompW2(const Str1, Str2: PWideChar; MaxLen: SizeInt): SizeInt; var Modified: trunk/jcl/source/include/jcl.inc =================================================================== --- trunk/jcl/source/include/jcl.inc 2010-10-05 12:16:35 UTC (rev 3361) +++ trunk/jcl/source/include/jcl.inc 2010-10-05 13:24:05 UTC (rev 3362) @@ -272,6 +272,10 @@ {$ENDIF ZLIB_LINKONREQUEST} // calling convention for static link is fastcall +{$IFNDEF HAS_UNIT_CHARACTER} + {$UNDEF UNICODE_RTL_DATABASE} +{$ENDIF ~HAS_UNIT_CHARACTER} + {$IFDEF UNICODE_RAW_DATA} {$UNDEF UNICODE_ZLIB_DATA} {$UNDEF UNICODE_BZIP2_DATA} Modified: trunk/jcl/source/include/jcl.template.inc =================================================================== --- trunk/jcl/source/include/jcl.template.inc 2010-10-05 12:16:35 UTC (rev 3361) +++ trunk/jcl/source/include/jcl.template.inc 2010-10-05 13:24:05 UTC (rev 3362) @@ -102,6 +102,9 @@ // Unicode options +// use RTL Character Database rather than JCL one, less accurate but reduce executable size +{.$DEFINE UNICODE_RTL_DATABASE} + // insert a replacement character if sequence is corrupted rather than raising an exception {.$DEFINE UNICODE_SILENT_FAILURE} Modified: trunk/jcl/source/windows/JclDebug.pas =================================================================== --- trunk/jcl/source/windows/JclDebug.pas 2010-10-05 12:16:35 UTC (rev 3361) +++ trunk/jcl/source/windows/JclDebug.pas 2010-10-05 13:24:05 UTC (rev 3362) @@ -1013,6 +1013,9 @@ implementation uses + {$IFDEF HAS_UNIT_CHARACTER} + Character, + {$ENDIF HAS_UNIT_CHARACTER} {$IFDEF MSWINDOWS} JclRegistry, {$ENDIF MSWINDOWS} Modified: trunk/jcl/source/windows/JclMetadata.pas =================================================================== --- trunk/jcl/source/windows/JclMetadata.pas 2010-10-05 12:16:35 UTC (rev 3361) +++ trunk/jcl/source/windows/JclMetadata.pas 2010-10-05 13:24:05 UTC (rev 3362) @@ -1634,6 +1634,9 @@ uses Math, + {$IFDEF HAS_UNIT_CHARACTER} + Character, + {$ENDIF HAS_UNIT_CHARACTER} JclCIL, JclResources, JclStrings; const Modified: trunk/jcl/source/windows/JclPeImage.pas =================================================================== --- trunk/jcl/source/windows/JclPeImage.pas 2010-10-05 12:16:35 UTC (rev 3361) +++ trunk/jcl/source/windows/JclPeImage.pas 2010-10-05 13:24:05 UTC (rev 3362) @@ -1077,6 +1077,9 @@ implementation uses + {$IFDEF HAS_UNIT_CHARACTER} + Character, + {$ENDIF HAS_UNIT_CHARACTER} JclLogic, JclResources, JclSysUtils, JclStrings, JclStringConversions; const This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-10-05 12:16:41
|
Revision: 3361 http://jcl.svn.sourceforge.net/jcl/?rev=3361&view=rev Author: outchy Date: 2010-10-05 12:16:35 +0000 (Tue, 05 Oct 2010) Log Message: ----------- Mantis 5344: Exception raised when trying to add exception dialog to Delphi 2010 project. Mantis 5340: IDE Expert Crashes with Email address entered. Modified Paths: -------------- trunk/jcl/devtools/jpp/JppParser.pas Modified: trunk/jcl/devtools/jpp/JppParser.pas =================================================================== --- trunk/jcl/devtools/jpp/JppParser.pas 2010-10-05 11:41:38 UTC (rev 3360) +++ trunk/jcl/devtools/jpp/JppParser.pas 2010-10-05 12:16:35 UTC (rev 3361) @@ -290,76 +290,82 @@ // recurse macro expanding if ForceRecurseTest or (StrIPos('$JPP', AResult) > 0) then begin - Recurse := False; - TempLexer := TJppLexer.Create(AResult); try - State.PushState; - while True do - begin - case TempLexer.CurrTok of - ptEof: - Break; - ptDefine, - ptJppDefine: - if poProcessDefines in State.Options then - State.Define(TempLexer.TokenAsString); - ptUndef, - ptJppUndef: - if poProcessDefines in State.Options then - State.Undef(TempLexer.TokenAsString); - ptIfdef, ptIfndef: - if (poProcessDefines in State.Options) and (State.Defines[TempLexer.TokenAsString] in [ttDefined, ttUndef]) then - begin - Recurse := True; + Recurse := False; + TempLexer := TJppLexer.Create(AResult); + try + State.PushState; + while True do + begin + case TempLexer.CurrTok of + ptEof: Break; - end; - ptJppDefineMacro, - ptJppExpandMacro, - ptJppUndefMacro: - if poProcessMacros in State.Options then - begin - Recurse := True; - Break; - end; - ptJppGetStrValue, - ptJppGetIntValue, - ptJppGetBoolValue, - ptJppSetStrValue, - ptJppSetIntValue, - ptJppSetBoolValue, - ptJppLoop: - if poProcessValues in State.Options then - begin - Recurse := True; - Break; - end; + ptDefine, + ptJppDefine: + if poProcessDefines in State.Options then + State.Define(TempLexer.TokenAsString); + ptUndef, + ptJppUndef: + if poProcessDefines in State.Options then + State.Undef(TempLexer.TokenAsString); + ptIfdef, ptIfndef: + if (poProcessDefines in State.Options) and (State.Defines[TempLexer.TokenAsString] in [ttDefined, ttUndef]) then + begin + Recurse := True; + Break; + end; + ptJppDefineMacro, + ptJppExpandMacro, + ptJppUndefMacro: + if poProcessMacros in State.Options then + begin + Recurse := True; + Break; + end; + ptJppGetStrValue, + ptJppGetIntValue, + ptJppGetBoolValue, + ptJppSetStrValue, + ptJppSetIntValue, + ptJppSetBoolValue, + ptJppLoop: + if poProcessValues in State.Options then + begin + Recurse := True; + Break; + end; + end; + TempLexer.NextTok; end; - TempLexer.NextTok; + finally + State.PopState; + TempLexer.Free; end; - finally - State.PopState; - TempLexer.Free; - end; - if Recurse then - begin - TempMemoryStream := TMemoryStream.Create; - try - TempStringStream := TJclAutoStream.Create(TempMemoryStream); + if Recurse then + begin + TempMemoryStream := TMemoryStream.Create; try - TempStringStream.WriteString(AResult, 1, Length(AResult)); - TempStringStream.Seek(0, soBeginning); - TempParser := TJppParser.Create(TempStringStream.ReadString, State); + TempStringStream := TJclAutoStream.Create(TempMemoryStream); try - AResult := TempParser.Parse; + TempStringStream.WriteString(AResult, 1, Length(AResult)); + TempStringStream.Seek(0, soBeginning); + TempParser := TJppParser.Create(TempStringStream.ReadString, State); + try + AResult := TempParser.Parse; + finally + TempParser.Free; + end; finally - TempParser.Free; + TempStringStream.Free; end; finally - TempStringStream.Free; + TempMemoryStream.Free; end; - finally - TempMemoryStream.Free; end; + except + // The text might not be well-formed Pascal source and + // thus exceptions might be raised, in such case, just add the text without recursion + AResult := S; end; end; if FixIndent then This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-10-05 11:41:45
|
Revision: 3360 http://jcl.svn.sourceforge.net/jcl/?rev=3360&view=rev Author: outchy Date: 2010-10-05 11:41:38 +0000 (Tue, 05 Oct 2010) Log Message: ----------- Mantis 5352: TJclAnsiStrings should support QuoteChar and StrictDelimiter. Modified Paths: -------------- trunk/jcl/source/common/JclAnsiStrings.pas Modified: trunk/jcl/source/common/JclAnsiStrings.pas =================================================================== --- trunk/jcl/source/common/JclAnsiStrings.pas 2010-10-05 11:02:15 UTC (rev 3359) +++ trunk/jcl/source/common/JclAnsiStrings.pas 2010-10-05 11:41:38 UTC (rev 3360) @@ -86,15 +86,18 @@ private FDelimiter: AnsiChar; FNameValueSeparator: AnsiChar; - + FStrictDelimiter: Boolean; + FQuoteChar: AnsiChar; function GetText: AnsiString; procedure SetText(const Value: AnsiString); function GetCommaText: AnsiString; {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF} procedure SetCommaText(const Value: AnsiString); {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF} function GetDelimitedText: AnsiString; overload; {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF} - function GetDelimitedText(const ADelimiter: AnsiString): AnsiString; overload; + function GetDelimitedText(const ADelimiter: AnsiString; AQuoteChar: AnsiChar; + AStrictDelimiter: Boolean): AnsiString; overload; procedure SetDelimitedText(const Value: AnsiString); overload; {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF} - procedure SetDelimitedText(const Value, ADelimiter: AnsiString); overload; + procedure SetDelimitedText(const Value, ADelimiter: AnsiString; AQuoteChar: AnsiChar; + AStrictDelimiter: Boolean); overload; function ExtractName(const S: AnsiString): AnsiString; function GetName(Index: Integer): AnsiString; function GetValue(const Name: AnsiString): AnsiString; @@ -142,6 +145,8 @@ property Delimiter: AnsiChar read FDelimiter write FDelimiter; property DelimitedText: AnsiString read GetDelimitedText write SetDelimitedText; property CommaText: AnsiString read GetCommaText write SetCommaText; + property StrictDelimiter: Boolean read FStrictDelimiter write FStrictDelimiter; + property QuoteChar: AnsiChar read FQuoteChar write FQuoteChar; property Strings[Index: Integer]: AnsiString read GetString write SetString; default; property Objects[Index: Integer]: TObject read GetObject write SetObject; @@ -663,6 +668,8 @@ FDelimiter := ','; FNameValueSeparator := '='; + FQuoteChar := '"'; + FStrictDelimiter := False; end; procedure TJclAnsiStrings.Assign(Source: TPersistent); @@ -806,15 +813,27 @@ function TJclAnsiStrings.GetCommaText: AnsiString; begin - Result := GetDelimitedText(AnsiComma); + Result := GetDelimitedText(AnsiComma, AnsiDoubleQuote, False); end; function TJclAnsiStrings.GetDelimitedText: AnsiString; begin - Result := GetDelimitedText(Delimiter); + Result := GetDelimitedText(Delimiter, QuoteChar, StrictDelimiter); end; -function TJclAnsiStrings.GetDelimitedText(const ADelimiter: AnsiString): AnsiString; +function TJclAnsiStrings.GetDelimitedText(const ADelimiter: AnsiString; AQuoteChar: AnsiChar; + AStrictDelimiter: Boolean): AnsiString; + + function Quoted(Item: AnsiString): AnsiString; + begin + if (not AStrictDelimiter) and (Pos(AnsiSpace, Item) > 0) then + begin + Result := AnsiQuotedStr(Item, AQuoteChar); + end + else + Result := Item; + end; + var I: Integer; begin @@ -832,31 +851,45 @@ procedure TJclAnsiStrings.SetCommaText(const Value: AnsiString); begin - SetDelimitedText(Value, AnsiComma); + SetDelimitedText(Value, AnsiComma, AnsiDoubleQuote, False); end; procedure TJclAnsiStrings.SetDelimitedText(const Value: AnsiString); begin - SetDelimitedText(Value, Delimiter); + SetDelimitedText(Value, Delimiter, QuoteChar, StrictDelimiter); end; -procedure TJclAnsiStrings.SetDelimitedText(const Value, ADelimiter: AnsiString); +procedure TJclAnsiStrings.SetDelimitedText(const Value, ADelimiter: AnsiString; AQuoteChar: AnsiChar; + AStrictDelimiter: Boolean); var - ValueLength, LastStart, Index: Integer; + ValueLength, LastStart, Index, QuoteCharCount: Integer; + ValueChar: AnsiChar; begin Clear; LastStart := 1; + QuoteCharCount := 0; ValueLength := Length(Value); for Index := 1 to ValueLength do begin - if Value[Index] = ADelimiter then + ValueChar := Value[Index]; + if ValueChar = AQuoteChar then + Inc(QuoteCharCount); + if (ValueChar = ADelimiter) and ((not AStrictDelimiter) or (Odd(QuoteCharCount) or (QuoteCharCount = 0))) then begin - Add(Copy(Value, LastStart, Index - LastStart)); + if AStrictDelimiter then + Add(Copy(Value, LastStart, Index - LastStart)) + else + Add(StrTrimQuotes(Copy(Value, LastStart, Index - LastStart), AQuoteChar)); + QuoteCharCount := 0; LastStart := Index + 1; - end - else - if Index = ValueLength then - Add(Copy(Value, LastStart, ValueLength - LastStart + 1)); + end; + if (Index = ValueLength) and (LastStart < ValueLength) then + begin + if AStrictDelimiter then + Add(Copy(Value, LastStart, ValueLength - LastStart + 1)) + else + Add(StrTrimQuotes(Copy(Value, LastStart, Index - LastStart), AQuoteChar)); + end; end; end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-10-05 11:02:24
|
Revision: 3359 http://jcl.svn.sourceforge.net/jcl/?rev=3359&view=rev Author: outchy Date: 2010-10-05 11:02:15 +0000 (Tue, 05 Oct 2010) Log Message: ----------- Mantis 5351: Customized StrTrimQuotes needed for future TJclAnsiStrings.QuoteChar. Modified Paths: -------------- trunk/jcl/source/common/JclAnsiStrings.pas Modified: trunk/jcl/source/common/JclAnsiStrings.pas =================================================================== --- trunk/jcl/source/common/JclAnsiStrings.pas 2010-10-05 10:53:30 UTC (rev 3358) +++ trunk/jcl/source/common/JclAnsiStrings.pas 2010-10-05 11:02:15 UTC (rev 3359) @@ -355,7 +355,8 @@ function StrTrimCharsLeft(const S: AnsiString; const Chars: TSysCharSet): AnsiString; function StrTrimCharRight(const S: AnsiString; C: AnsiChar): AnsiString; function StrTrimCharsRight(const S: AnsiString; const Chars: TSysCharSet): AnsiString; -function StrTrimQuotes(const S: AnsiString): AnsiString; +function StrTrimQuotes(const S: AnsiString): AnsiString; overload; +function StrTrimQuotes(const S: AnsiString; QuoteChar: AnsiChar): AnsiString; overload; function StrUpper(const S: AnsiString): AnsiString; procedure StrUpperInPlace(var S: AnsiString); procedure StrUpperBuff(S: PAnsiChar); @@ -2218,6 +2219,25 @@ Result := S; end; +function StrTrimQuotes(const S: AnsiString; QuoteChar: AnsiChar): AnsiString; +var + First, Last: AnsiChar; + L: SizeInt; +begin + L := Length(S); + if L > 1 then + begin + First := S[1]; + Last := S[L]; + if (First = Last) and (First = QuoteChar) then + Result := Copy(S, 2, L - 2) + else + Result := S; + end + else + Result := S; +end; + function StrUpper(const S: AnsiString): AnsiString; begin Result := S; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-10-05 10:53:37
|
Revision: 3358 http://jcl.svn.sourceforge.net/jcl/?rev=3358&view=rev Author: outchy Date: 2010-10-05 10:53:30 +0000 (Tue, 05 Oct 2010) Log Message: ----------- Mantis 5350: TJclAnsiStrings needs CommaText property for more compatibility. Modified Paths: -------------- trunk/jcl/source/common/JclAnsiStrings.pas Modified: trunk/jcl/source/common/JclAnsiStrings.pas =================================================================== --- trunk/jcl/source/common/JclAnsiStrings.pas 2010-10-05 10:39:25 UTC (rev 3357) +++ trunk/jcl/source/common/JclAnsiStrings.pas 2010-10-05 10:53:30 UTC (rev 3358) @@ -89,8 +89,12 @@ function GetText: AnsiString; procedure SetText(const Value: AnsiString); - function GetDelimitedText: AnsiString; - procedure SetDelimitedText(const Value: AnsiString); + function GetCommaText: AnsiString; {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF} + procedure SetCommaText(const Value: AnsiString); {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF} + function GetDelimitedText: AnsiString; overload; {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF} + function GetDelimitedText(const ADelimiter: AnsiString): AnsiString; overload; + procedure SetDelimitedText(const Value: AnsiString); overload; {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF} + procedure SetDelimitedText(const Value, ADelimiter: AnsiString); overload; function ExtractName(const S: AnsiString): AnsiString; function GetName(Index: Integer): AnsiString; function GetValue(const Name: AnsiString): AnsiString; @@ -137,6 +141,7 @@ property Delimiter: AnsiChar read FDelimiter write FDelimiter; property DelimitedText: AnsiString read GetDelimitedText write SetDelimitedText; + property CommaText: AnsiString read GetCommaText write SetCommaText; property Strings[Index: Integer]: AnsiString read GetString write SetString; default; property Objects[Index: Integer]: TObject read GetObject write SetObject; @@ -798,13 +803,23 @@ end; end; +function TJclAnsiStrings.GetCommaText: AnsiString; +begin + Result := GetDelimitedText(AnsiComma); +end; + function TJclAnsiStrings.GetDelimitedText: AnsiString; +begin + Result := GetDelimitedText(Delimiter); +end; + +function TJclAnsiStrings.GetDelimitedText(const ADelimiter: AnsiString): AnsiString; var I: Integer; begin Result := ''; for I := 0 to Count - 2 do - Result := Result + Strings[I] + Delimiter; + Result := Result + Strings[I] + ADelimiter; if Count > 0 then Result := Result + Strings[Count - 1]; end; @@ -814,7 +829,17 @@ InsertObject(Index, S, nil); end; +procedure TJclAnsiStrings.SetCommaText(const Value: AnsiString); +begin + SetDelimitedText(Value, AnsiComma); +end; + procedure TJclAnsiStrings.SetDelimitedText(const Value: AnsiString); +begin + SetDelimitedText(Value, Delimiter); +end; + +procedure TJclAnsiStrings.SetDelimitedText(const Value, ADelimiter: AnsiString); var ValueLength, LastStart, Index: Integer; begin @@ -823,7 +848,7 @@ ValueLength := Length(Value); for Index := 1 to ValueLength do begin - if Value[Index] = Delimiter then + if Value[Index] = ADelimiter then begin Add(Copy(Value, LastStart, Index - LastStart)); LastStart := Index + 1; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-10-05 10:39:31
|
Revision: 3357 http://jcl.svn.sourceforge.net/jcl/?rev=3357&view=rev Author: outchy Date: 2010-10-05 10:39:25 +0000 (Tue, 05 Oct 2010) Log Message: ----------- Mantis 5349: SetDelimitedText skips last element. Modified Paths: -------------- trunk/jcl/source/common/JclAnsiStrings.pas Modified: trunk/jcl/source/common/JclAnsiStrings.pas =================================================================== --- trunk/jcl/source/common/JclAnsiStrings.pas 2010-10-05 10:31:25 UTC (rev 3356) +++ trunk/jcl/source/common/JclAnsiStrings.pas 2010-10-05 10:39:25 UTC (rev 3357) @@ -33,6 +33,7 @@ { Michael Winter } { Nick Hodges } { Olivier Sannier (obones) } +{ Patrick Kolla } { Pelle F. S. Liljendal } { Petr Vones (pvones) } { Robert Lee } @@ -815,18 +816,21 @@ procedure TJclAnsiStrings.SetDelimitedText(const Value: AnsiString); var - LastStart: Integer; - Index: Integer; + ValueLength, LastStart, Index: Integer; begin Clear; LastStart := 1; - for Index := 1 to Length(Value) do + ValueLength := Length(Value); + for Index := 1 to ValueLength do begin if Value[Index] = Delimiter then begin Add(Copy(Value, LastStart, Index - LastStart)); LastStart := Index + 1; - end; + end + else + if Index = ValueLength then + Add(Copy(Value, LastStart, ValueLength - LastStart + 1)); end; end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-10-05 10:31:32
|
Revision: 3356 http://jcl.svn.sourceforge.net/jcl/?rev=3356&view=rev Author: outchy Date: 2010-10-05 10:31:25 +0000 (Tue, 05 Oct 2010) Log Message: ----------- Mantis 5348: InsertObject replicates replaced line over all following lines. Modified Paths: -------------- trunk/jcl/source/common/JclAnsiStrings.pas Modified: trunk/jcl/source/common/JclAnsiStrings.pas =================================================================== --- trunk/jcl/source/common/JclAnsiStrings.pas 2010-10-01 16:55:09 UTC (rev 3355) +++ trunk/jcl/source/common/JclAnsiStrings.pas 2010-10-05 10:31:25 UTC (rev 3356) @@ -1140,7 +1140,7 @@ if Count = Capacity then Grow; - for I := Index to Count - 1 do + for I := Count - 1 downto Index do FStrings[I + 1] := FStrings[I]; FStrings[Index].Str := S; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tw...@us...> - 2010-10-01 16:55:15
|
Revision: 3355 http://jcl.svn.sourceforge.net/jcl/?rev=3355&view=rev Author: twm Date: 2010-10-01 16:55:09 +0000 (Fri, 01 Oct 2010) Log Message: ----------- new class function TJclFileVersionInfo.FileHasVersionInfo Modified Paths: -------------- trunk/jcl/source/common/JclFileUtils.pas Modified: trunk/jcl/source/common/JclFileUtils.pas =================================================================== --- trunk/jcl/source/common/JclFileUtils.pas 2010-09-27 19:41:10 UTC (rev 3354) +++ trunk/jcl/source/common/JclFileUtils.pas 2010-10-01 16:55:09 UTC (rev 3355) @@ -671,6 +671,7 @@ function GetCustomFieldValue(const FieldName: string): string; class function VersionLanguageId(const LangIdRec: TLangIdRec): string; class function VersionLanguageName(const LangId: Word): string; + class function FileHasVersionInfo(const FileName: string): boolean; function TranslationMatchesLanguages(Exact: Boolean = True): Boolean; property BinFileVersion: string read GetBinFileVersion; property BinProductVersion: string read GetBinProductVersion; @@ -4906,6 +4907,13 @@ inherited Destroy; end; +class function TJclFileVersionInfo.FileHasVersionInfo(const FileName: string): boolean; +var + Dummy: DWord; +begin + Result := GetFileVersionInfoSize(PChar(FileName), Dummy) <> 0; +end; + procedure TJclFileVersionInfo.CheckLanguageIndex(Value: Integer); begin if (Value < 0) or (Value >= LanguageCount) then This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-09-27 19:41:19
|
Revision: 3354 http://jcl.svn.sourceforge.net/jcl/?rev=3354&view=rev Author: outchy Date: 2010-09-27 19:41:10 +0000 (Mon, 27 Sep 2010) Log Message: ----------- update to bzip2 1.0.6 released on 2010-09-20. Modified Paths: -------------- trunk/jcl/source/windows/obj/bzip2/blocksort.obj trunk/jcl/source/windows/obj/bzip2/bzlib.obj trunk/jcl/source/windows/obj/bzip2/compress.obj trunk/jcl/source/windows/obj/bzip2/crctable.obj trunk/jcl/source/windows/obj/bzip2/decompress.obj trunk/jcl/source/windows/obj/bzip2/huffman.obj trunk/jcl/source/windows/obj/bzip2/makefile.mak trunk/jcl/source/windows/obj/bzip2/randtable.obj Added Paths: ----------- trunk/thirdparty/bzip2/bzip2-1.0.6.tar.gz Removed Paths: ------------- trunk/thirdparty/bzip2/bzip2-1.0.5.tar.gz Modified: trunk/jcl/source/windows/obj/bzip2/blocksort.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/bzip2/bzlib.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/bzip2/compress.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/bzip2/crctable.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/bzip2/decompress.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/bzip2/huffman.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/bzip2/makefile.mak =================================================================== --- trunk/jcl/source/windows/obj/bzip2/makefile.mak 2010-09-25 13:20:32 UTC (rev 3353) +++ trunk/jcl/source/windows/obj/bzip2/makefile.mak 2010-09-27 19:41:10 UTC (rev 3354) @@ -2,7 +2,7 @@ # makefile to make bzip2 .obj files using Borland's C++ compiler bcc32 # derived from a makefile generated by BCB6' bpr2mak # -# if bzip2 source directory is different from $(JCL)\source\bzip2-1.0.5, use +# if bzip2 source directory is different from $(JCL)\source\bzip2-1.0.6, use # "make -Dbzip2src=<path to bzip2 sources>" to tell make where to find the # source files # @@ -42,7 +42,7 @@ BCC = $(BCB) !if !$d(bzip2src) -bzip2src = ..\..\..\bzip2-1.0.5 +bzip2src = ..\..\..\bzip2-1.0.6 !endif !if !$d(CPU) Modified: trunk/jcl/source/windows/obj/bzip2/randtable.obj =================================================================== (Binary files differ) Deleted: trunk/thirdparty/bzip2/bzip2-1.0.5.tar.gz =================================================================== (Binary files differ) Added: trunk/thirdparty/bzip2/bzip2-1.0.6.tar.gz =================================================================== --- trunk/thirdparty/bzip2/bzip2-1.0.6.tar.gz (rev 0) +++ trunk/thirdparty/bzip2/bzip2-1.0.6.tar.gz 2010-09-27 19:41:10 UTC (rev 3354) @@ -0,0 +1,5929 @@ +\x8B +\x97L |
From: <ah...@us...> - 2010-09-25 13:20:39
|
Revision: 3353 http://jcl.svn.sourceforge.net/jcl/?rev=3353&view=rev Author: ahuser Date: 2010-09-25 13:20:32 +0000 (Sat, 25 Sep 2010) Log Message: ----------- MPL header Modified Paths: -------------- trunk/jcl/make.proj Modified: trunk/jcl/make.proj =================================================================== --- trunk/jcl/make.proj 2010-09-23 20:41:23 UTC (rev 3352) +++ trunk/jcl/make.proj 2010-09-25 13:20:32 UTC (rev 3353) @@ -20,12 +20,6 @@ { Contributor(s): } { } {**************************************************************************************************} -{ } -{ Last modified: $Date:: 2009-09-23 00:01:46 +0200 (Mi, 23 Sep 2009) $ } -{ Revision: $Rev:: 3020 $ } -{ Author: $Author:: outchy $ } -{ } -{**************************************************************************************************} --> <PropertyGroup> <BDSLIB>$(BDS)\lib</BDSLIB> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2010-09-23 20:41:29
|
Revision: 3352 http://jcl.svn.sourceforge.net/jcl/?rev=3352&view=rev Author: ahuser Date: 2010-09-23 20:41:23 +0000 (Thu, 23 Sep 2010) Log Message: ----------- Autodetect BCCCompile="true" Modified Paths: -------------- trunk/jcl/make.proj Modified: trunk/jcl/make.proj =================================================================== --- trunk/jcl/make.proj 2010-09-23 20:34:33 UTC (rev 3351) +++ trunk/jcl/make.proj 2010-09-23 20:41:23 UTC (rev 3352) @@ -41,11 +41,6 @@ <Target Name="Rebuild" DependsOnTargets="Clean;Make" /> - <!-- Options --> - <PropertyGroup> - <BCBCompile>true</BCBCompile> - </PropertyGroup> - <!-- Delphi Version --> <PropertyGroup> <!-- @@ -65,6 +60,9 @@ <PropertyGroup> <DCC32>"$(BDS)\bin\dcc32.exe" --no-config -Q</DCC32> + <BCBCompile>false</BCBCompile> + <BCBCompile Condition=" Exists('$(BDS)\bin\bccide.dll') ">true</BCBCompile> + <!-- Use Delphi XE's properties --> <DelphiLibraryPath Condition=" '$(DelphiLibraryPath)' == '' ">$(Win32LibraryPath)</DelphiLibraryPath> <DelphiDebugDCUPath Condition=" '$(DelphiDebugDCUPath)' == '' ">$(Win32DebugDCUPath)</DelphiDebugDCUPath> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2010-09-23 20:34:40
|
Revision: 3351 http://jcl.svn.sourceforge.net/jcl/?rev=3351&view=rev Author: ahuser Date: 2010-09-23 20:34:33 +0000 (Thu, 23 Sep 2010) Log Message: ----------- msbuild script for Delphi 2009-XE Added Paths: ----------- trunk/jcl/make.proj Added: trunk/jcl/make.proj =================================================================== --- trunk/jcl/make.proj (rev 0) +++ trunk/jcl/make.proj 2010-09-23 20:34:33 UTC (rev 3351) @@ -0,0 +1,223 @@ +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Make"> +<!-- +{**************************************************************************************************} +{ } +{ Project JEDI Code Library (JCL) } +{ } +{ The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); } +{ you may not use this file except in compliance with the License. You may obtain a copy of the } +{ License at http://www.mozilla.org/MPL/ } +{ } +{ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF } +{ ANY KIND, either express or implied. See the License for the specific language governing rights } +{ and limitations under the License. } +{ } +{ The Original Code is make.proj. } +{ } +{ The Initial Developer of the Original Code is Andreas Hausladen. } +{ Portions created by Andreas Hausladen Copyright (C) 2010 Andreas Hausladen. All rights reserved. } +{ } +{ Contributor(s): } +{ } +{**************************************************************************************************} +{ } +{ Last modified: $Date:: 2009-09-23 00:01:46 +0200 (Mi, 23 Sep 2009) $ } +{ Revision: $Rev:: 3020 $ } +{ Author: $Author:: outchy $ } +{ } +{**************************************************************************************************} +--> + <PropertyGroup> + <BDSLIB>$(BDS)\lib</BDSLIB> + <PLATFORM>win32</PLATFORM> + <ProjectVersion>12.0</ProjectVersion> <!-- must be not empty, value doesn't matter --> + </PropertyGroup> + <Import Condition=" Exists('$(BDS)\Bin\CodeGear.Common.Targets') " Project="$(BDS)\Bin\CodeGear.Common.Targets"/> + + + <!-- Make/Clean/Rebuild targets --> + <Target Name="Make" DependsOnTargets="CheckEnv;CompileJclSources;CompilePackages" /> + <Target Name="Clean" DependsOnTargets="CheckEnv;DeleteOutputFiles" /> + <Target Name="Rebuild" DependsOnTargets="Clean;Make" /> + + + <!-- Options --> + <PropertyGroup> + <BCBCompile>true</BCBCompile> + </PropertyGroup> + + <!-- Delphi Version --> + <PropertyGroup> + <!-- + <LibDirVersion Condition=" Exists('$(BDS)\bin\dcc60.dll') ">d6</LibDirVersion> + <LibDirVersion Condition=" Exists('$(BDS)\bin\dcc70.dll') ">d7</LibDirVersion> + <LibDirVersion Condition=" Exists('$(BDS)\bin\dcc90.dll') ">d9</LibDirVersion> + <LibDirVersion Condition=" Exists('$(BDS)\bin\dcc100.dll') and Exists('$(BDS)\bin\bordbk100N.dll') ">d10</LibDirVersion> + <LibDirVersion Condition=" Exists('$(BDS)\bin\dcc100.dll') and Exists('$(BDS)\bin\bordbk105N.dll') ">d11</LibDirVersion> + --> + <LibDirVersion Condition=" Exists('$(BDS)\bin\dcc120.dll') ">d12</LibDirVersion> <!-- 2009 --> + <LibDirVersion Condition=" Exists('$(BDS)\bin\dcc140.dll') ">d14</LibDirVersion> <!-- 2010 --> + <LibDirVersion Condition=" Exists('$(BDS)\bin\dcc150.dll') ">d15</LibDirVersion> <!-- XE --> + <LibDirVersion Condition=" Exists('$(BDS)\bin\dcc160.dll') ">d16</LibDirVersion> <!-- XE2 --> + </PropertyGroup> + + + <PropertyGroup> + <DCC32>"$(BDS)\bin\dcc32.exe" --no-config -Q</DCC32> + + <!-- Use Delphi XE's properties --> + <DelphiLibraryPath Condition=" '$(DelphiLibraryPath)' == '' ">$(Win32LibraryPath)</DelphiLibraryPath> + <DelphiDebugDCUPath Condition=" '$(DelphiDebugDCUPath)' == '' ">$(Win32DebugDCUPath)</DelphiDebugDCUPath> + <DelphiDLLOutputPath Condition=" '$(DelphiDLLOutputPath)' == '' ">$(Win32DLLOutputPath)</DelphiDLLOutputPath> + <DelphiDCPOutput Condition=" '$(DelphiDCPOutput)' == '' ">$(Win32DCPOutput)</DelphiDCPOutput> + + <!-- Directories --> + <JclDir>$(MSBuildProjectDirectory)</JclDir> + + <IncludeDirs>$(JclDir)\source\include</IncludeDirs> + <UnitDirs>$(JclDir)\source\common;$(JclDir)\source\windows;$(JclDir)\source\vcl;$(JclDir)\devtools\jpp;$(JclDir)\devtools\jpp\Templates</UnitDirs> + <ResDirs>$(UnitDirs)</ResDirs> + <DcuOutDir Condition=" '$(DcuOutDir)' == '' ">$(JclDir)\lib\$(LibDirVersion)</DcuOutDir> + <ObjOutDir Condition=" '$(ObjOutDir)' == '' ">$(DcuOutDir)</ObjOutDir> + <DcpOutDir Condition=" '$(DcpOutDir)' == '' ">$(DcuOutDir)</DcpOutDir> + <HppOutDir Condition=" '$(HppOutDir)' == '' ">$(BDSCOMMONDIR)\hpp</HppOutDir> + <BplOutDir Condition=" '$(BplOutDir)' == '' ">$(DelphiDLLOutputPath)</BplOutDir> + <DebugDcuOutDir Condition=" '$(DebugDcuOutDir)' == '' ">$(DcuOutDir)\debug</DebugDcuOutDir> + <DebugObjOutDir Condition=" '$(DebugObjOutDir)' == '' ">$(ObjOutDir)\debug</DebugObjOutDir> + + <!-- Compiler command line options --> + <BaseOptions>$(BaseOptions) -M -D_RTLDLL;NO_STRICT;USEPACKAGES</BaseOptions> + <BaseOptions Condition=" '$(BCBCompile)' == 'true' ">$(BaseOptions) -JPHNE --BCB</BaseOptions> + <BaseOptions>$(BaseOptions) -$X+ -$G+ -$H+ -$P+ -$U- -$T- -$V+ -$J+ -$Z1 -$J+</BaseOptions> + <BaseOptions>$(BaseOptions) -I"$(IncludeDirs)" -U"$(UnitDirs)" -R"$(ResDirs)"</BaseOptions> + + <!-- Release Configuration --> + <ReleaseOptions>$(BaseOptions)</ReleaseOptions> + <ReleaseOptions>$(ReleaseOptions) -$C- -$D- -$I- -$L- -$O+ -$Q- -$R- -$W- -$Y-</ReleaseOptions> + <ReleaseOptions>$(ReleaseOptions) -N0"$(DcuOutDir)" -NO"$(ObjOutDir)" -N1"$(HppOutDir)"</ReleaseOptions> + <ReleaseOptions>$(ReleaseOptions) -U"$(DelphiLibraryPath)"</ReleaseOptions> + + <!-- Debug Configuration --> + <DebugOptions>$(BaseOptions)</DebugOptions> + <DebugOptions>$(DebugOptions) -$C+ -$D+ -$I+ -$L+ -$O- -$Q+ -$R+ -$W+ -$Y+</DebugOptions> + <DebugOptions>$(DebugOptions) -N0"$(DebugDcuOutDir)" -NO"$(DebugObjOutDir)" -N1"$(HppOutDir)"</DebugOptions> + <DebugOptions>$(DebugOptions) -U"$(DelphiDebugDCUPath);$(DelphiLibraryPath)"</DebugOptions> + + <!-- Package Configuration --> + <PackageOptions Condition=" '$(BCBCompile)' == 'true' ">$(PackageOptions) -JL -DBCB</PackageOptions> + <PackageOptions>$(PackageOptions) -DRELEASE</PackageOptions> + <PackageOptions>$(PackageOptions) -LN"$(DcuOutDir)"</PackageOptions> + <PackageOptions>$(PackageOptions) -LE"$(BplOutDir)"</PackageOptions> + <PackageOptions>$(PackageOptions) -N0"$(DcuOutDir)" -NO"$(ObjOutDir)" -N1"$(HppOutDir)" -NB"$(DcuOutDir)"</PackageOptions> + <PackageOptions>$(PackageOptions) -I"$(IncludeDirs)" -R"$(ResDirs)"</PackageOptions> + <PackageOptions>$(PackageOptions) -U"$(DcuOutDir);$(DcpOutDir);$(DelphiLibraryPath)"</PackageOptions> + + <JclIncTplFile>$(JclDir)\source\include\jcl.template.inc</JclIncTplFile> + <JclIncFile>$(JclDir)\source\include\jcl$(LibDirVersion).inc</JclIncFile> + </PropertyGroup> + + <ItemGroup> + <!-- JCL Source files --> + <JclSources Include="$(JclDir)\source\Common\*.pas"> + <WorkDir>$(JclDir)\source\Common</WorkDir> + </JclSources> + <JclSources Include="$(JclDir)\source\Windows\*.pas"> + <WorkDir>$(JclDir)\source\Windows</WorkDir> + </JclSources> + <JclSources Include="$(JclDir)\source\Vcl\*.pas"> + <WorkDir>$(JclDir)\source\Vcl</WorkDir> + </JclSources> + <JclSources Include="$(JclDir)\devtools\jpp\*.pas"> + <WorkDir>$(JclDir)\devtools\jpp</WorkDir> + </JclSources> + <JclSources Include="$(JclDir)\devtools\jpp\Templates\*.pas"> + <WorkDir>$(JclDir)\devtools\jpp\Templates</WorkDir> + </JclSources> + + <!-- Resource files --> + <JclResFiles Include="$(JclDir)\source\Common\*.res" /> + <JclResFiles Include="$(JclDir)\source\Windows\*.res" /> + <JclResFiles Include="$(JclDir)\source\Vcl\*.res" /> + </ItemGroup> + + <ItemGroup> + <!-- Package names --> + <Packages Include=" + Jcl; + JclContainers; + JclDeveloperTools; + JclVcl; + JclBaseExpert; + JclDebugExpert; + JclProjectAnalysisExpert; + JclFavoriteFoldersExpert; + JclRepositoryExpert; + JclSIMDViewExpert; + JclStackTraceViewerExpert; + " /> + + <!-- BPL output files for "/t:Clean" --> + <PackageOutputFiles Include="$(BplOutDir)\Jcl*.bpl" /> + <PackageOutputFiles Include="$(BplOutDir)\Jcl*.map" /> + <PackageOutputFiles Include="$(BplOutDir)\Jcl*.tds" /> + <PackageOutputFiles Include="$(BplOutDir)\Jcl*.jdbg" /> + </ItemGroup> + + <!-- Output filenames --> + <PropertyGroup> + <JclSourcesOutput>@(JclSources->'$(DcuOutDir)\%(Filename).dcu');@(JclSources->'$(DebugDcuOutDir)\%(Filename).dcu');</JclSourcesOutput> + <JclBcbSourceOutput>@(JclSources->'$(ObjOutDir)\%(Filename).obj');@(JclSources->'$(DebugObjOutDir)\%(Filename).obj');@(JclSources->'$(HppOutDir)\%(Filename).hpp')</JclBcbSourceOutput> + <JclSourcesOutput Condition=" '$(BCBCompile)' == 'true' ">$(JclSourcesOutput);$(JclBcbSourceOutput)</JclSourcesOutput> + <JclResFileOutput>@(JclResFiles->'$(DcuOutDir)\%(Filename)%(Extension)');@(JclResFiles->'$(DebugDcuOutDir)\%(Filename)%(Extension)')</JclResFileOutput> + </PropertyGroup> + + + <!-- Targets --> + + <Target Name="CheckEnv"> + <Error Condition=" '$(BDS)' == '' " Text="BDS environment variable isn't set. You must execute rsvars.bat before using msbuild." /> + <Error Condition=" '$(LibDirVersion)' == '' " Text="RAD Studio version couldn't be identified. Have you executed rsvars.bat?" /> + </Target> + + <!-- Create output directories --> + <Target Name="CreateOutputDirectories"> + <MakeDir Directories="$(DcuOutDir);$(DebugDcuOutDir);$(ObjOutDir);$(DebugObjOutDir);$(HppOutDir);$(DcpOutDir);$(BplOutDir)" /> + </Target> + + <!-- Copy *.res files to the dcu output directories --> + <Target Name="CopyResFiles" Inputs="@(JclResFiles)" Outputs="$(JclResFileOutput)"> + <Copy SourceFiles="@(JclResFiles)" DestinationFolder="$(DcuOutDir)" /> + <Copy SourceFiles="@(JclResFiles)" DestinationFolder="$(DebugDcuOutDir)" /> + </Target> + + <!-- Create JclXXX.ini file if it doesn't exist --> + <Target Name="CreateJclIniFile"> + <Copy Condition=" !Exists('$(JclIncFile)') " SourceFiles="$(JclIncTplFile)" DestinationFiles="$(JclIncFile)" /> + </Target> + + <!-- Use Batching via "%(JclSources.WorkDir)" for the source files --> + <Target Name="CompileJclSources" Inputs="@(JclSources);$(JclResFiles);$(JclIncFile)" Outputs="$(JclSourcesOutput)" DependsOnTargets="CreateOutputDirectories;CopyResFiles;CreateJclIniFile"> + <Exec Command="$(DCC32) @(JclSources->'%(Filename)', ' ') $(ReleaseOptions)" WorkingDirectory="%(JclSources.WorkDir)" /> + <Exec Command="$(DCC32) @(JclSources->'%(Filename)', ' ') $(DebugOptions)" WorkingDirectory="%(JclSources.WorkDir)" /> + </Target> + + <!-- Use Batching via "%(Packages.FileName)" for the packages --> + <Target Name="CompilePackages" + Inputs="@(JclSources);$(JclResFiles);$(JclIncFile);@(Packages->'$(JclDir)\Packages\$(LibDirVersion)\%(Filename).dpk')" + Outputs="@(Packages->'$(DcpOutDir)\%(Filename).dcp')" DependsOnTargets="CompileJclSources"> + <Exec Command="$(DCC32) %(Packages.FileName).dpk $(PackageOptions)" WorkingDirectory="$(JclDir)\Packages\$(LibDirVersion)" /> + </Target><Target Name="DeleteOutputFiles"> + <Delete Files="$(JclSourcesOutput)" /> + <Delete Files="$(JclBcbSourceOutput)" /> + <Delete Files="$(JclResFileOutput)" /> + + <Delete Files="@(Packages->'$(DcpOutDir)\%(identity).dcu')" /> + <Delete Files="@(Packages->'$(DcpOutDir)\%(identity).dcp')" /> + <Delete Files="@(Packages->'$(DcpOutDir)\%(identity).bpi')" /> + <Delete Files="@(Packages->'$(DcpOutDir)\%(identity).lib')" /> + <Delete Files="@(Packages->'$(DcpOutDir)\%(identity).lst')" /> + + <Delete Files="@(PackageOutputFiles)" /> + </Target> + +</Project> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-09-22 09:20:45
|
Revision: 3350 http://jcl.svn.sourceforge.net/jcl/?rev=3350&view=rev Author: outchy Date: 2010-09-22 09:20:39 +0000 (Wed, 22 Sep 2010) Log Message: ----------- completely ignore external items. Modified Paths: -------------- trunk/thirdparty/svn_cleaner/SvnCleaner.dpr Modified: trunk/thirdparty/svn_cleaner/SvnCleaner.dpr =================================================================== --- trunk/thirdparty/svn_cleaner/SvnCleaner.dpr 2010-09-22 08:39:48 UTC (rev 3349) +++ trunk/thirdparty/svn_cleaner/SvnCleaner.dpr 2010-09-22 09:20:39 UTC (rev 3350) @@ -315,6 +315,7 @@ FSettings: TSvnSettings; FSvnProperties: TSvnSettings; FSvnItems: TStrings; + FSvnExternals: TStrings; FSvnExe: string; function ExecuteSvn(const Argument: string): string; procedure CleanItem(const ItemName: string); @@ -325,7 +326,7 @@ end; constructor TSvnCleaner.Create(const XmlFileName: string); - procedure ParseSvnItems(RootElem: TJclSimpleXMLElem; Dest: TStrings); + procedure ParseSvnItems(RootElem: TJclSimpleXMLElem; Dest, Externals: TStrings); var TargetIndex, EntryIndex: Integer; TargetElem, EntryElem, WcStatusElem: TJclSimpleXMLElem; @@ -361,6 +362,9 @@ ItemProp := WcStatusElem.Properties.ItemNamed['item']; if not Assigned(ItemProp) then raise Exception.Create('no item prop'); + if ItemProp.Value = 'external' then + Externals.Add(EntryPath) + else if ItemProp.Value <> 'unversioned' then Dest.Add(EntryPath); end; @@ -382,6 +386,7 @@ FSettings := TSvnSettings.Create; FSvnProperties := TSvnSettings.Create; FSvnItems := TStringList.Create; + FSvnExternals := TStringList.Create; Xml := TJclSimpleXML.Create; try @@ -411,7 +416,7 @@ AStringStream.WriteString(SvnResult, 1, Length(SvnResult)); AStringStream.Seek(0, soBeginning); Xml.LoadFromStringStream(AStringStream); - ParseSvnItems(Xml.Root, FSvnItems); + ParseSvnItems(Xml.Root, FSvnItems, FSvnExternals); finally AStringStream.Free; end; @@ -425,6 +430,7 @@ destructor TSvnCleaner.Destroy; begin + FSvnExternals.Free; FSvnItems.Free; FSvnProperties.Free; FSettings.Free; @@ -433,13 +439,21 @@ procedure TSvnCleaner.CleanItem(const ItemName: string); var - Choice, PropFileName: string; + ExternalItem, Choice, PropFileName: string; Index, IndexCheck: Integer; Properties, NewProperties: TSvnProperties; Found: Boolean; begin WriteLn('processing item "', ItemName, '"'); + // do not process external items + for Index := 0 to FSvnExternals.Count - 1 do + begin + ExternalItem := FSvnExternals.Strings[Index]; + if Copy(ItemName, 1, Length(ExternalItem)) = ExternalItem then + Exit; + end; + Properties := FSvnProperties.GetProperties(ItemName); NewProperties := FSettings.GetProperties(ItemName); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-09-22 08:39:57
|
Revision: 3349 http://jcl.svn.sourceforge.net/jcl/?rev=3349&view=rev Author: outchy Date: 2010-09-22 08:39:48 +0000 (Wed, 22 Sep 2010) Log Message: ----------- Use shared jedi.inc. Modified Paths: -------------- trunk/jcl/install/JediRegInfo.pas trunk/jcl/install/VclGui/FrmCompile.pas trunk/jcl/source/include/jcl.inc trunk/thirdparty/svn_cleaner/SvnCleaner.xml Removed Paths: ------------- trunk/jcl/source/include/jedi.inc trunk/jcl/source/include/kylix.inc Property Changed: ---------------- trunk/jcl/source/include/ Modified: trunk/jcl/install/JediRegInfo.pas =================================================================== --- trunk/jcl/install/JediRegInfo.pas 2010-09-21 18:43:23 UTC (rev 3348) +++ trunk/jcl/install/JediRegInfo.pas 2010-09-22 08:39:48 UTC (rev 3349) @@ -34,7 +34,7 @@ unit JediRegInfo; -{$I jedi.inc} +{$I jedi\jedi.inc} interface Modified: trunk/jcl/install/VclGui/FrmCompile.pas =================================================================== --- trunk/jcl/install/VclGui/FrmCompile.pas 2010-09-21 18:43:23 UTC (rev 3348) +++ trunk/jcl/install/VclGui/FrmCompile.pas 2010-09-22 08:39:48 UTC (rev 3349) @@ -27,7 +27,7 @@ unit FrmCompile; -{$I jedi.inc} +{$I jcl.inc} interface Property changes on: trunk/jcl/source/include ___________________________________________________________________ Added: svn:externals + jedi https://projectjedi.svn.sourceforge.net:443/svnroot/projectjedi/trunk/shared/include Modified: trunk/jcl/source/include/jcl.inc =================================================================== --- trunk/jcl/source/include/jcl.inc 2010-09-21 18:43:23 UTC (rev 3348) +++ trunk/jcl/source/include/jcl.inc 2010-09-22 08:39:48 UTC (rev 3349) @@ -38,7 +38,7 @@ {$WRITEABLECONST OFF} // Read-only typed constants {$TYPEDADDRESS OFF} // Type checked pointers off -{$I jedi.inc} // Pull in the JCL/J-VCL shared directives +{$I jedi\jedi.inc} // Pull in the JCL/J-VCL shared directives {$IFNDEF JEDI_INC} ALERT_jedi_inc_incompatible Deleted: trunk/jcl/source/include/jedi.inc =================================================================== --- trunk/jcl/source/include/jedi.inc 2010-09-21 18:43:23 UTC (rev 3348) +++ trunk/jcl/source/include/jedi.inc 2010-09-22 08:39:48 UTC (rev 3349) @@ -1,1307 +0,0 @@ -{$IFNDEF JEDI_INC} -{$DEFINE JEDI_INC} - -{**************************************************************************************************} -{ } -{ The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License");} -{ you may not use this file except in compliance with the License. You may obtain a copy of the } -{ License at http://www.mozilla.org/MPL/ } -{ } -{ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF } -{ ANY KIND, either express or implied. See the License for the specific language governing rights } -{ and limitations under the License. } -{ } -{ The Original Code is: jedi.inc. } -{ The Initial Developer of the Original Code is Project JEDI http://www.delphi-jedi.org } -{ } -{ Alternatively, the contents of this file may be used under the terms of the GNU Lesser General } -{ Public License (the "LGPL License"), in which case the provisions of the LGPL License are } -{ applicable instead of those above. If you wish to allow use of your version of this file only } -{ under the terms of the LGPL License and not to allow others to use your version of this file } -{ under the MPL, indicate your decision by deleting the provisions above and replace them with } -{ the notice and other provisions required by the LGPL License. If you do not delete the } -{ provisions above, a recipient may use your version of this file under either the MPL or the } -{ LGPL License. } -{ } -{ For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html } -{ } -{**************************************************************************************************} -{ } -{ This file defines various generic compiler directives used in different libraries, e.g. in the } -{ JEDI Code Library (JCL) and JEDI Visual Component Library Library (JVCL). The directives in } -{ this file are of generic nature and consist mostly of mappings from the VERXXX directives } -{ defined by Delphi, C++Builder and FPC to friendly names such as DELPHI5 and } -{ SUPPORTS_WIDESTRING. These friendly names are subsequently used in the libraries to test for } -{ compiler versions and/or whether the compiler supports certain features (such as widestrings or } -{ 64 bit integers. The libraries provide an additional, library specific, include file. For the } -{ JCL e.g. this is jcl.inc. These files should be included in source files instead of this file } -{ (which is pulled in automatically). } -{ } -{**************************************************************************************************} -{ } -{ Last modified: $Date:: $ } -{ Revision: $Rev:: $ } -{ Author: $Author:: $ } -{ } -{**************************************************************************************************} - -(* - -- Development environment directives - - This file defines two directives to indicate which development environment the - library is being compiled with. Currently this can either be Delphi, Kylix, - C++Builder or FPC. - - Directive Description - ------------------------------------------------------------------------------ - DELPHI Defined if compiled with Delphi - KYLIX Defined if compiled with Kylix - DELPHICOMPILER Defined if compiled with Delphi or Kylix/Delphi - BCB Defined if compiled with C++Builder - CPPBUILDER Defined if compiled with C++Builder (alias for BCB) - BCBCOMPILER Defined if compiled with C++Builder or Kylix/C++ - DELPHILANGUAGE Defined if compiled with Delphi, Kylix or C++Builder - BORLAND Defined if compiled with Delphi, Kylix or C++Builder - FPC Defined if compiled with FPC - -- Platform Directives - - Platform directives are not all explicitly defined in this file, some are - defined by the compiler itself. They are listed here only for completeness. - - Directive Description - ------------------------------------------------------------------------------ - WIN32 Defined when target platform is 32 bit Windows - WIN64 Defined when target platform is 64 bit Windows - MSWINDOWS Defined when target platform is 32 bit Windows - LINUX Defined when target platform is Linux - UNIX Defined when target platform is Unix-like (including Linux) - CLR Defined when target platform is .NET - -- Architecture directives. These are auto-defined by FPC - CPU32 and CPU64 are mostly for generic pointer size dependant differences rather - than for a specific architecture. - - CPU386 Defined when target platform is native x86 (win32) - CPUx86_64 Defined when target platform is native x86_64 (win64) - CPU32 Defined when target is 32-bit - CPU64 Defined when target is 64-bit - CPUASM Defined when target assembler is available - -- Visual library Directives - - The following directives indicate for a visual library. In a Delphi/BCB - (Win32) application you need to define the VisualCLX symbol in the project - options, if you want to use the VisualCLX library. Alternatively you can use - the IDE expert, which is distributed with the JCL to do this automatically. - - Directive Description - ------------------------------------------------------------------------------ - VCL Defined for Delphi/BCB (Win32) exactly if VisualCLX is not defined - VisualCLX Defined for Kylix; needs to be defined for Delphi/BCB to - use JCL with VisualCLX applications. - - -- Other cross-platform related defines - - These symbols are intended to help in writing portable code. - - Directive Description - ------------------------------------------------------------------------------ - PUREPASCAL Code is machine-independent (as opposed to assembler code) - Win32API Code is specific for the Win32 API; - use instead of "{$IFNDEF CLR} {$IFDEF MSWINDOWS}" constructs - - -- Delphi Versions - - The following directives are direct mappings from the VERXXX directives to a - friendly name of the associated compiler. These directives are only defined if - the compiler is Delphi (ie DELPHI is defined). - - Directive Description - ------------------------------------------------------------------------------ - DELPHI1 Defined when compiling with Delphi 1 (Codename WASABI/MANGO) - DELPHI2 Defined when compiling with Delphi 2 (Codename POLARIS) - DELPHI3 Defined when compiling with Delphi 3 (Codename IVORY) - DELPHI4 Defined when compiling with Delphi 4 (Codename ALLEGRO) - DELPHI5 Defined when compiling with Delphi 5 (Codename ARGUS) - DELPHI6 Defined when compiling with Delphi 6 (Codename ILLIAD) - DELPHI7 Defined when compiling with Delphi 7 (Codename AURORA) - DELPHI8 Defined when compiling with Delphi 8 (Codename OCTANE) - DELPHI2005 Defined when compiling with Delphi 2005 (Codename DIAMONDBACK) - DELPHI9 Alias for DELPHI2005 - DELPHI10 Defined when compiling with Delphi 2006 (Codename DEXTER) - DELPHI2006 Alias for DELPHI10 - DELPHI11 Defined when compiling with Delphi 2007 for Win32 (Codename SPACELY) - DELPHI2007 Alias for DELPHI11 - DELPHI12 Defined when compiling with Delphi 2009 for Win32 (Codename TIBURON) - DELPHI2009 Alias for DELPHI12 - DELPHI14 Defined when compiling with Delphi 2010 for Win32 (Codename WEAVER) - DELPHI2010 Alias for DELPHI14 - DELPHI15 Defined when compiling with Delphi XE for Win32 (Codename FULCRUM) - DELPHIXE Alias for DELPHI15 - DELPHI1_UP Defined when compiling with Delphi 1 or higher - DELPHI2_UP Defined when compiling with Delphi 2 or higher - DELPHI3_UP Defined when compiling with Delphi 3 or higher - DELPHI4_UP Defined when compiling with Delphi 4 or higher - DELPHI5_UP Defined when compiling with Delphi 5 or higher - DELPHI6_UP Defined when compiling with Delphi 6 or higher - DELPHI7_UP Defined when compiling with Delphi 7 or higher - DELPHI8_UP Defined when compiling with Delphi 8 or higher - DELPHI2005_UP Defined when compiling with Delphi 2005 or higher - DELPHI9_UP Alias for DELPHI2005_UP - DELPHI10_UP Defined when compiling with Delphi 2006 or higher - DELPHI2006_UP Alias for DELPHI10_UP - DELPHI11_UP Defined when compiling with Delphi 2007 for Win32 or higher - DELPHI2007_UP Alias for DELPHI11_UP - DELPHI12_UP Defined when compiling with Delphi 2009 for Win32 or higher - DELPHI2009_UP Alias for DELPHI12_UP - DELPHI14_UP Defined when compiling with Delphi 2010 for Win32 or higher - DELPHI2010_UP Alias for DELPHI14_UP - DELPHI15_UP Defined when compiling with Delphi XE for Win32 or higher - DELPHIXE_UP Alias for DELPHI15_UP - - -- Kylix Versions - - The following directives are direct mappings from the VERXXX directives to a - friendly name of the associated compiler. These directives are only defined if - the compiler is Kylix (ie KYLIX is defined). - - Directive Description - ------------------------------------------------------------------------------ - KYLIX1 Defined when compiling with Kylix 1 - KYLIX2 Defined when compiling with Kylix 2 - KYLIX3 Defined when compiling with Kylix 3 (Codename CORTEZ) - KYLIX1_UP Defined when compiling with Kylix 1 or higher - KYLIX2_UP Defined when compiling with Kylix 2 or higher - KYLIX3_UP Defined when compiling with Kylix 3 or higher - - -- Delphi Compiler Versions (Delphi / Kylix, not in BCB mode) - - Directive Description - ------------------------------------------------------------------------------ - DELPHICOMPILER1 Defined when compiling with Delphi 1 - DELPHICOMPILER2 Defined when compiling with Delphi 2 - DELPHICOMPILER3 Defined when compiling with Delphi 3 - DELPHICOMPILER4 Defined when compiling with Delphi 4 - DELPHICOMPILER5 Defined when compiling with Delphi 5 - DELPHICOMPILER6 Defined when compiling with Delphi 6 or Kylix 1, 2 or 3 - DELPHICOMPILER7 Defined when compiling with Delphi 7 - DELPHICOMPILER8 Defined when compiling with Delphi 8 - DELPHICOMPILER9 Defined when compiling with Delphi 2005 - DELPHICOMPILER10 Defined when compiling with Delphi Personality of BDS 4.0 - DELPHICOMPILER11 Defined when compiling with Delphi 2007 for Win32 - DELPHICOMPILER12 Defined when compiling with Delphi Personality of BDS 6.0 - DELPHICOMPILER14 Defined when compiling with Delphi Personality of BDS 7.0 - DELPHICOMPILER15 Defined when compiling with Delphi Personality of BDS 8.0 - DELPHICOMPILER1_UP Defined when compiling with Delphi 1 or higher - DELPHICOMPILER2_UP Defined when compiling with Delphi 2 or higher - DELPHICOMPILER3_UP Defined when compiling with Delphi 3 or higher - DELPHICOMPILER4_UP Defined when compiling with Delphi 4 or higher - DELPHICOMPILER5_UP Defined when compiling with Delphi 5 or higher - DELPHICOMPILER6_UP Defined when compiling with Delphi 6 or Kylix 1, 2 or 3 or higher - DELPHICOMPILER7_UP Defined when compiling with Delphi 7 or higher - DELPHICOMPILER8_UP Defined when compiling with Delphi 8 or higher - DELPHICOMPILER9_UP Defined when compiling with Delphi 2005 - DELPHICOMPILER10_UP Defined when compiling with Delphi 2006 or higher - DELPHICOMPILER11_UP Defined when compiling with Delphi 2007 for Win32 or higher - DELPHICOMPILER12_UP Defined when compiling with Delphi 2009 for Win32 or higher - DELPHICOMPILER14_UP Defined when compiling with Delphi 2010 for Win32 or higher - DELPHICOMPILER15_UP Defined when compiling with Delphi XE for Win32 or higher - - -- C++Builder Versions - - The following directives are direct mappings from the VERXXX directives to a - friendly name of the associated compiler. These directives are only defined if - the compiler is C++Builder (ie BCB is defined). - - Directive Description - ------------------------------------------------------------------------------ - BCB1 Defined when compiling with C++Builder 1 - BCB3 Defined when compiling with C++Builder 3 - BCB4 Defined when compiling with C++Builder 4 - BCB5 Defined when compiling with C++Builder 5 (Codename RAMPAGE) - BCB6 Defined when compiling with C++Builder 6 (Codename RIPTIDE) - BCB10 Defined when compiling with C++Builder Personality of BDS 4.0 (also known as C++Builder 2006) (Codename DEXTER) - BCB11 Defined when compiling with C++Builder Personality of RAD Studio 2007 (also known as C++Builder 2007) (Codename COGSWELL) - BCB12 Defined when compiling with C++Builder Personality of RAD Studio 2009 (also known as C++Builder 2009) (Codename TIBURON) - BCB14 Defined when compiling with C++Builder Personality of RAD Studio 2010 (also known as C++Builder 2010) (Codename WEAVER) - BCB1_UP Defined when compiling with C++Builder 1 or higher - BCB3_UP Defined when compiling with C++Builder 3 or higher - BCB4_UP Defined when compiling with C++Builder 4 or higher - BCB5_UP Defined when compiling with C++Builder 5 or higher - BCB6_UP Defined when compiling with C++Builder 6 or higher - BCB10_UP Defined when compiling with C++Builder Personality of BDS 4.0 or higher - BCB11_UP Defined when compiling with C++Builder Personality of RAD Studio 2007 or higher - BCB12_UP Defined when compiling with C++Builder Personality of RAD Studio 2009 or higher - BCB14_UP Defined when compiling with C++Builder Personality of RAD Studio 2010 or higher - BCB15_UP Defined when compiling with C++Builder Personality of RAD Studio XE or higher - - -- RAD Studio / Borland Developer Studio Versions - - The following directives are direct mappings from the VERXXX directives to a - friendly name of the associated IDE. These directives are only defined if - the IDE is Borland Developer Studio Version 2 or above. - - Note: Borland Developer Studio 2006 is marketed as Delphi 2006 or C++Builder 2006, - but those provide only different labels for identical content. - - Directive Description - ------------------------------------------------------------------------------ - BDS Defined when compiling with BDS version of dcc32.exe (Codename SIDEWINDER) - BDS2 Defined when compiling with BDS 2.0 (Delphi 8) (Codename OCTANE) - BDS3 Defined when compiling with BDS 3.0 (Delphi 2005) (Codename DIAMONDBACK) - BDS4 Defined when compiling with BDS 4.0 (Borland Developer Studio 2006) (Codename DEXTER) - BDS5 Defined when compiling with BDS 5.0 (CodeGear RAD Studio 2007) (Codename HIGHLANDER) - BDS6 Defined when compiling with BDS 6.0 (CodeGear RAD Studio 2009) (Codename TIBURON) - BDS7 Defined when compiling with BDS 7.0 (Embarcadero RAD Studio 2010) (Codename WEAVER) - BDS8 Defined when compiling with BDS 8.0 (Embarcadero RAD Studio XE) (Codename FULCRUM) - BDS2_UP Defined when compiling with BDS 2.0 or higher - BDS3_UP Defined when compiling with BDS 3.0 or higher - BDS4_UP Defined when compiling with BDS 4.0 or higher - BDS5_UP Defined when compiling with BDS 5.0 or higher - BDS6_UP Defined when compiling with BDS 6.0 or higher - BDS7_UP Defined when compiling with BDS 7.0 or higher - BDS8_UP Defined when compiling with BDS 8.0 or higher - -- Compiler Versions - - The following directives are direct mappings from the VERXXX directives to a - friendly name of the associated compiler. Unlike the DELPHI_X and BCB_X - directives, these directives are indepedent of the development environment. - That is, they are defined regardless of whether compilation takes place using - Delphi or C++Builder. - - Directive Description - ------------------------------------------------------------------------------ - COMPILER1 Defined when compiling with Delphi 1 - COMPILER2 Defined when compiling with Delphi 2 or C++Builder 1 - COMPILER3 Defined when compiling with Delphi 3 - COMPILER35 Defined when compiling with C++Builder 3 - COMPILER4 Defined when compiling with Delphi 4 or C++Builder 4 - COMPILER5 Defined when compiling with Delphi 5 or C++Builder 5 - COMPILER6 Defined when compiling with Delphi 6 or C++Builder 6 - COMPILER7 Defined when compiling with Delphi 7 - COMPILER8 Defined when compiling with Delphi 8 - COMPILER9 Defined when compiling with Delphi 9 - COMPILER10 Defined when compiling with Delphi or C++Builder Personalities of BDS 4.0 - COMPILER11 Defined when compiling with Delphi or C++Builder Personalities of BDS 5.0 - COMPILER12 Defined when compiling with Delphi or C++Builder Personalities of BDS 6.0 - COMPILER14 Defined when compiling with Delphi or C++Builder Personalities of BDS 7.0 - COMPILER15 Defined when compiling with Delphi or C++Builder Personalities of BDS 8.0 - COMPILER1_UP Defined when compiling with Delphi 1 or higher - COMPILER2_UP Defined when compiling with Delphi 2 or C++Builder 1 or higher - COMPILER3_UP Defined when compiling with Delphi 3 or higher - COMPILER35_UP Defined when compiling with C++Builder 3 or higher - COMPILER4_UP Defined when compiling with Delphi 4 or C++Builder 4 or higher - COMPILER5_UP Defined when compiling with Delphi 5 or C++Builder 5 or higher - COMPILER6_UP Defined when compiling with Delphi 6 or C++Builder 6 or higher - COMPILER7_UP Defined when compiling with Delphi 7 - COMPILER8_UP Defined when compiling with Delphi 8 - COMPILER9_UP Defined when compiling with Delphi Personalities of BDS 3.0 - COMPILER10_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 4.0 or higher - COMPILER11_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 5.0 or higher - COMPILER12_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 6.0 or higher - COMPILER14_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 7.0 or higher - COMPILER15_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 8.0 or higher - - -- RTL Versions - - Use e.g. following to determine the exact RTL version since version 14.0: - {$IFDEF CONDITIONALEXPRESSIONS} - {$IF Declared(RTLVersion) and (RTLVersion >= 14.2)} - // code for Delphi 6.02 or higher, Kylix 2 or higher, C++Builder 6 or higher - ... - {$IFEND} - {$ENDIF} - - Directive Description - ------------------------------------------------------------------------------ - RTL80_UP Defined when compiling with Delphi 1 or higher - RTL90_UP Defined when compiling with Delphi 2 or higher - RTL93_UP Defined when compiling with C++Builder 1 or higher - RTL100_UP Defined when compiling with Delphi 3 or higher - RTL110_UP Defined when compiling with C++Builder 3 or higher - RTL120_UP Defined when compiling with Delphi 4 or higher - RTL125_UP Defined when compiling with C++Builder 4 or higher - RTL130_UP Defined when compiling with Delphi 5 or C++Builder 5 or higher - RTL140_UP Defined when compiling with Delphi 6, Kylix 1, 2 or 3 or C++Builder 6 or higher - RTL150_UP Defined when compiling with Delphi 7 or higher - RTL160_UP Defined when compiling with Delphi 8 or higher - RTL170_UP Defined when compiling with Delphi Personalities of BDS 3.0 or higher - RTL180_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 4.0 or higher - RTL185_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 5.0 or higher - RTL190_UP Defined when compiling with Delphi.NET of BDS 5.0 or higher - RTL200_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 6.0 or higher - RTL210_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 7.0 or higher - RTL220_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 8.0 or higher - - -- CLR Versions - - Directive Description - ------------------------------------------------------------------------------ - CLR Defined when compiling for .NET - CLR10 Defined when compiling for .NET 1.0 (may be overriden by FORCE_CLR10) - CLR10_UP Defined when compiling for .NET 1.0 or higher - CLR11 Defined when compiling for .NET 1.1 (may be overriden by FORCE_CLR11) - CLR11_UP Defined when compiling for .NET 1.1 or higher - CLR20 Defined when compiling for .NET 2.0 (may be overriden by FORCE_CLR20) - CLR20_UP Defined when compiling for .NET 2.0 or higher - - -- Feature Directives - - The features directives are used to test if the compiler supports specific - features, such as method overloading, and adjust the sources accordingly. Use - of these directives is preferred over the use of the DELPHI and COMPILER - directives. - - Directive Description - ------------------------------------------------------------------------------ - SUPPORTS_CONSTPARAMS Compiler supports const parameters (D1+) - SUPPORTS_SINGLE Compiler supports the Single type (D1+) - SUPPORTS_DOUBLE Compiler supports the Double type (D1+) - SUPPORTS_EXTENDED Compiler supports the Extended type (D1+) - SUPPORTS_CURRENCY Compiler supports the Currency type (D2+) - SUPPORTS_THREADVAR Compiler supports threadvar declarations (D2+) - SUPPORTS_OUTPARAMS Compiler supports out parameters (D3+) - SUPPORTS_VARIANT Compiler supports variant (D2+) - SUPPORTS_WIDECHAR Compiler supports the WideChar type (D2+) - SUPPORTS_WIDESTRING Compiler supports the WideString type (D3+/BCB3+) - SUPPORTS_INTERFACE Compiler supports interfaces (D3+/BCB3+) - SUPPORTS_DISPINTERFACE Compiler supports dispatch interfaces (D3+/BCB3+) - SUPPORTS_DISPID Compiler supports dispatch ids (D3+/BCB3+/FPC) - SUPPORTS_EXTSYM Compiler supports the $EXTERNALSYM directive (D4+/BCB3+) - SUPPORTS_NODEFINE Compiler supports the $NODEFINE directive (D4+/BCB3+) - SUPPORTS_LONGWORD Compiler supports the LongWord type (unsigned 32 bit) (D4+/BCB4+) - SUPPORTS_INT64 Compiler supports the Int64 type (D4+/BCB4+) - SUPPORTS_DYNAMICARRAYS Compiler supports dynamic arrays (D4+/BCB4+) - SUPPORTS_DEFAULTPARAMS Compiler supports default parameters (D4+/BCB4+) - SUPPORTS_OVERLOAD Compiler supports overloading (D4+/BCB4+) - SUPPORTS_IMPLEMENTS Compiler supports implements (D4+/BCB4+) - SUPPORTS_DEPRECATED Compiler supports the deprecated directive (D6+/BCB6+) - SUPPORTS_PLATFORM Compiler supports the platform directive (D6+/BCB6+) - SUPPORTS_LIBRARY Compiler supports the library directive (D6+/BCB6+/FPC) - SUPPORTS_LOCAL Compiler supports the local directive (D6+/BCB6+) - SUPPORTS_SETPEFLAGS Compiler supports the SetPEFlags directive (D6+/BCB6+) - SUPPORTS_EXPERIMENTAL_WARNINGS Compiler supports the WARN SYMBOL_EXPERIMENTAL and WARN UNIT_EXPERIMENTAL directives (D6+/BCB6+) - SUPPORTS_INLINE Compiler supports the inline directive (D9+/FPC) - SUPPORTS_FOR_IN Compiler supports for in loops (D9+) - SUPPORTS_NESTED_CONSTANTS Compiler supports nested constants (D9+) - SUPPORTS_NESTED_TYPES Compiler supports nested types (D9+) - SUPPORTS_REGION Compiler supports the REGION and ENDREGION directives (D9+) - SUPPORTS_ENHANCED_RECORDS Compiler supports class [operator|function|procedure] for record types (D9.NET, D10+) - SUPPORTS_CLASS_FIELDS Compiler supports class fields (D9.NET, D10+) - SUPPORTS_CLASS_HELPERS Compiler supports class helpers (D9.NET, D10+) - SUPPORTS_CLASS_OPERATORS Compiler supports class operators (D9.NET, D10+) - SUPPORTS_CLASS_CTORDTORS Compiler supports class contructors/destructors (D14+) - SUPPORTS_STRICT Compiler supports strict keyword (D9.NET, D10+) - SUPPORTS_STATIC Compiler supports static keyword (D9.NET, D10+) - SUPPORTS_FINAL Compiler supports final keyword (D9.NET, D10+) - SUPPORTS_METHODINFO Compiler supports the METHODINFO directives (D10+) - SUPPORTS_GENERICS Compiler supports generic implementations (D11.NET, D12+) - SUPPORTS_DEPRECATED_DETAILS Compiler supports additional text for the deprecated directive (D11.NET, D12+) - ACCEPT_DEPRECATED Compiler supports or ignores the deprecated directive (D6+/BCB6+/FPC) - ACCEPT_PLATFORM Compiler supports or ignores the platform directive (D6+/BCB6+/FPC) - ACCEPT_LIBRARY Compiler supports or ignores the library directive (D6+/BCB6+) - SUPPORTS_CUSTOMVARIANTS Compiler supports custom variants (D6+/BCB6+) - SUPPORTS_VARARGS Compiler supports varargs (D6+/BCB6+) - SUPPORTS_ENUMVALUE Compiler supports assigning ordinalities to values of enums (D6+/BCB6+) - SUPPORTS_DEPRECATED_WARNINGS Compiler supports deprecated warnings (D6+/BCB6+) - SUPPORTS_LIBRARY_WARNINGS Compiler supports library warnings (D6+/BCB6+) - SUPPORTS_PLATFORM_WARNINGS Compiler supports platform warnings (D6+/BCB6+) - SUPPORTS_UNSAFE_WARNINGS Compiler supports unsafe warnings (D7) - SUPPORTS_WEAKPACKAGEUNIT Compiler supports the WEAKPACKAGEUNIT directive - SUPPORTS_COMPILETIME_MESSAGES Compiler supports the MESSAGE directive - SUPPORTS_PACKAGES Compiler supports Packages - HAS_UNIT_LIBC Unit Libc exists (Kylix, FPC on Linux/x86) - HAS_UNIT_RTLCONSTS Unit RTLConsts exists (D6+/BCB6+/FPC) - HAS_UNIT_TYPES Unit Types exists (D6+/BCB6+/FPC) - HAS_UNIT_VARIANTS Unit Variants exists (D6+/BCB6+/FPC) - HAS_UNIT_STRUTILS Unit StrUtils exists (D6+/BCB6+/FPC) - HAS_UNIT_DATEUTILS Unit DateUtils exists (D6+/BCB6+/FPC) - HAS_UNIT_CONTNRS Unit contnrs exists (D6+/BCB6+/FPC) - HAS_UNIT_HTTPPROD Unit HTTPProd exists (D9+) - HAS_UNIT_GIFIMG Unit GifImg exists (D11+) - HAS_UNIT_ANSISTRINGS Unit AnsiStrings exists (D12+) - HAS_UNIT_PNGIMAGE Unit PngImage exists (D12+) - XPLATFORM_RTL The RTL supports crossplatform function names (e.g. RaiseLastOSError) (D6+/BCB6+/FPC) - SUPPORTS_UNICODE string type is aliased to an unicode string (WideString or UnicodeString) (DX.NET, D12+) - SUPPORTS_UNICODE_STRING Compiler supports UnicodeString (D12+) - SUPPORTS_INT_ALIASES Types Int8, Int16, Int32, UInt8, UInt16 and UInt32 are defined in the unit System (D12+) - HAS_UNIT_RTTI Unit RTTI is available (D14+) - SUPPORTS_CAST_INTERFACE_TO_OBJ The compiler supports casts from interfaces to objects (D14+) - SUPPORTS_DELAYED_LOADING The compiler generates stubs for delaying imported function loads (D14+) - - -- Compiler Settings - - The compiler settings directives indicate whether a specific compiler setting - is in effect. This facilitates changing compiler settings locally in a more - compact and readible manner. - - Directive Description - ------------------------------------------------------------------------------ - ALIGN_ON Compiling in the A+ state (no alignment) - BOOLEVAL_ON Compiling in the B+ state (complete boolean evaluation) - ASSERTIONS_ON Compiling in the C+ state (assertions on) - DEBUGINFO_ON Compiling in the D+ state (debug info generation on) - IMPORTEDDATA_ON Compiling in the G+ state (creation of imported data references) - LONGSTRINGS_ON Compiling in the H+ state (string defined as AnsiString) - IOCHECKS_ON Compiling in the I+ state (I/O checking enabled) - WRITEABLECONST_ON Compiling in the J+ state (typed constants can be modified) - LOCALSYMBOLS Compiling in the L+ state (local symbol generation) - LOCALSYMBOLS_ON Alias of LOCALSYMBOLS - TYPEINFO_ON Compiling in the M+ state (RTTI generation on) - OPTIMIZATION_ON Compiling in the O+ state (code optimization on) - OPENSTRINGS_ON Compiling in the P+ state (variable string parameters are openstrings) - OVERFLOWCHECKS_ON Compiling in the Q+ state (overflow checing on) - RANGECHECKS_ON Compiling in the R+ state (range checking on) - TYPEDADDRESS_ON Compiling in the T+ state (pointers obtained using the @ operator are typed) - SAFEDIVIDE_ON Compiling in the U+ state (save FDIV instruction through RTL emulation) - VARSTRINGCHECKS_ON Compiling in the V+ state (type checking of shortstrings) - STACKFRAMES_ON Compiling in the W+ state (generation of stack frames) - EXTENDEDSYNTAX_ON Compiling in the X+ state (Delphi extended syntax enabled) -*) - -{$DEFINE BORLAND} - -{ Set FreePascal to Delphi mode } -{$IFDEF FPC} - {$MODE DELPHI} - {$ASMMODE Intel} - {$UNDEF BORLAND} - {$DEFINE CPUASM} - // FPC defines CPU32, CPU64 and Unix automatically -{$ENDIF} - -{$IFDEF BORLAND} - {$IFDEF LINUX} - {$DEFINE KYLIX} - {$ENDIF LINUX} - {$IFNDEF CLR} - {$DEFINE CPU386} // For Borland compilers select the x86 compat assembler by default - {$DEFINE CPU32} // Assume Borland compilers are 32-bit (rather than 64-bit) - {$DEFINE CPUASM} - {$ENDIF ~CLR} -{$ENDIF BORLAND} - -{------------------------------------------------------------------------------} -{ VERXXX to COMPILERX, DELPHIX and BCBX mappings } -{------------------------------------------------------------------------------} - -{$IFDEF BORLAND} - {$IFDEF KYLIX} - {$I kylix.inc} // FPC incompatible stuff - {$ELSE ~KYLIX} - - {$DEFINE UNKNOWN_COMPILER_VERSION} - - {$IFDEF VER80} - {$DEFINE COMPILER1} - {$DEFINE DELPHI1} - {$DEFINE DELPHICOMPILER1} - {$DEFINE RTL80_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF} - - {$IFDEF VER90} - {$DEFINE COMPILER2} - {$DEFINE DELPHI2} - {$DEFINE DELPHICOMPILER2} - {$DEFINE RTL90_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF} - - {$IFDEF VER93} - {$DEFINE COMPILER2} - {$DEFINE BCB1} - {$DEFINE BCB} - {$DEFINE RTL93_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF} - - {$IFDEF VER100} - {$DEFINE COMPILER3} - {$DEFINE DELPHI3} - {$DEFINE DELPHICOMPILER3} - {$DEFINE RTL100_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF} - - {$IFDEF VER110} - {$DEFINE COMPILER35} - {$DEFINE BCB3} - {$DEFINE BCB} - {$DEFINE RTL110_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF} - - {$IFDEF VER120} - {$DEFINE COMPILER4} - {$DEFINE DELPHI4} - {$DEFINE DELPHICOMPILER4} - {$DEFINE RTL120_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF} - - {$IFDEF VER125} - {$DEFINE COMPILER4} - {$DEFINE BCB4} - {$DEFINE BCB} - {$DEFINE RTL125_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF} - - {$IFDEF VER130} - {$DEFINE COMPILER5} - {$IFDEF BCB} - {$DEFINE BCB5} - {$ELSE} - {$DEFINE DELPHI5} - {$DEFINE DELPHICOMPILER5} - {$ENDIF} - {$DEFINE RTL130_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF} - - {$IFDEF VER140} - {$DEFINE COMPILER6} - {$IFDEF BCB} - {$DEFINE BCB6} - {$ELSE} - {$DEFINE DELPHI6} - {$DEFINE DELPHICOMPILER6} - {$ENDIF} - {$DEFINE RTL140_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF} - - {$IFDEF VER150} - {$DEFINE COMPILER7} - {$DEFINE DELPHI7} - {$DEFINE DELPHICOMPILER7} - {$DEFINE RTL150_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF} - - {$IFDEF VER160} - {$DEFINE BDS2} - {$DEFINE BDS} - {$IFDEF CLR} - {$DEFINE CLR10} - {$ENDIF CLR} - {$DEFINE COMPILER8} - {$DEFINE DELPHI8} - {$DEFINE DELPHICOMPILER8} - {$DEFINE RTL160_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF} - - {$IFDEF VER170} - {$DEFINE BDS3} - {$DEFINE BDS} - {$IFDEF CLR} - {$DEFINE CLR11} - {$ENDIF CLR} - {$DEFINE COMPILER9} - {$DEFINE DELPHI9} - {$DEFINE DELPHI2005} // synonym to DELPHI9 - {$DEFINE DELPHICOMPILER9} - {$DEFINE RTL170_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF} - - {$IFDEF VER180} - {$DEFINE BDS} - {$IFDEF CLR} - {$DEFINE CLR11} - {$ENDIF CLR} - {$IFDEF VER185} - {$DEFINE BDS5} - {$DEFINE COMPILER11} - {$IFDEF BCB} - {$DEFINE BCB11} - {$ELSE} - {$DEFINE DELPHI11} - {$DEFINE DELPHI2007} // synonym to DELPHI11 - {$DEFINE DELPHICOMPILER11} - {$ENDIF} - {$DEFINE RTL185_UP} - {$ELSE ~~VER185} - {$DEFINE BDS4} - {$DEFINE COMPILER10} - {$IFDEF BCB} - {$DEFINE BCB10} - {$ELSE} - {$DEFINE DELPHI10} - {$DEFINE DELPHI2006} // synonym to DELPHI10 - {$DEFINE DELPHICOMPILER10} - {$ENDIF} - {$DEFINE RTL180_UP} - {$ENDIF ~VER185} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF} - - {$IFDEF VER190} // Delphi 2007 for .NET - {$DEFINE BDS} - {$DEFINE BDS5} - {$IFDEF CLR} - {$DEFINE CLR20} - {$ENDIF CLR} - {$DEFINE COMPILER11} - {$DEFINE DELPHI11} - {$DEFINE DELPHI2007} // synonym to DELPHI11 - {$DEFINE DELPHICOMPILER11} - {$DEFINE RTL190_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF VER190} - - {$IFDEF VER200} // RAD Studio 2009 - {$DEFINE BDS} - {$DEFINE BDS6} - {$IFDEF CLR} - {$DEFINE CLR20} - {$ENDIF CLR} - {$DEFINE COMPILER12} - {$IFDEF BCB} - {$DEFINE BCB12} - {$ELSE} - {$DEFINE DELPHI12} - {$DEFINE DELPHI2009} // synonym to DELPHI12 - {$DEFINE DELPHICOMPILER12} - {$ENDIF BCB} - {$IFDEF CLR} - {$DEFINE RTL190_UP} - {$ELSE} - {$DEFINE RTL200_UP} - {$ENDIF} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF VER200} - - {$IFDEF VER210} // RAD Studio 2010 - {$DEFINE BDS} - {$DEFINE BDS7} - {$DEFINE COMPILER14} - {$IFDEF BCB} - {$DEFINE BCB14} - {$ELSE} - {$DEFINE DELPHI14} - {$DEFINE DELPHI2010} // synonym to DELPHI14 - {$DEFINE DELPHICOMPILER14} - {$ENDIF BCB} - {$DEFINE RTL210_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF VER210} - - {$IFDEF VER220} // RAD Studio XE - {$DEFINE BDS} - {$DEFINE BDS8} - {$DEFINE COMPILER15} - {$IFDEF BCB} - {$DEFINE BCB15} - {$ELSE} - {$DEFINE DELPHI15} - {$DEFINE DELPHIXE} // synonym to DELPHI15 - {$DEFINE DELPHICOMPILER15} - {$ENDIF BCB} - {$DEFINE RTL220_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF VER220} - - {$IFDEF UNKNOWN_COMPILER_VERSION} // adjust for newer version (always use latest version) - {$DEFINE BDS} - {$DEFINE BDS7} - {$DEFINE COMPILER15} - {$IFDEF BCB} - {$DEFINE BCB15} - {$ELSE} - {$DEFINE DELPHI15} - {$DEFINE DELPHIXE} // synonym to DELPHI15 - {$DEFINE DELPHICOMPILER15} - {$ENDIF BCB} - {$DEFINE RTL220_UP} - {$UNDEF UNKNOWN_COMPILER_VERSION} - {$ENDIF} - - {$ENDIF ~KYLIX} - - {$IFDEF BCB} - {$DEFINE CPPBUILDER} - {$DEFINE BCBCOMPILER} - {$ELSE ~BCB} - {$DEFINE DELPHI} - {$DEFINE DELPHICOMPILER} - {$ENDIF ~BCB} - -{$ENDIF BORLAND} - -{------------------------------------------------------------------------------} -{ DELPHIX_UP from DELPHIX mappings } -{------------------------------------------------------------------------------} - -{$IFDEF DELPHI15} {$DEFINE DELPHI15_UP} {$ENDIF} -{$IFDEF DELPHI14} {$DEFINE DELPHI14_UP} {$ENDIF} -{$IFDEF DELPHI12} {$DEFINE DELPHI12_UP} {$ENDIF} -{$IFDEF DELPHI11} {$DEFINE DELPHI11_UP} {$ENDIF} -{$IFDEF DELPHI10} {$DEFINE DELPHI10_UP} {$ENDIF} -{$IFDEF DELPHI9} {$DEFINE DELPHI9_UP} {$ENDIF} -{$IFDEF DELPHI8} {$DEFINE DELPHI8_UP} {$ENDIF} -{$IFDEF DELPHI7} {$DEFINE DELPHI7_UP} {$ENDIF} -{$IFDEF DELPHI6} {$DEFINE DELPHI6_UP} {$ENDIF} -{$IFDEF DELPHI5} {$DEFINE DELPHI5_UP} {$ENDIF} -{$IFDEF DELPHI4} {$DEFINE DELPHI4_UP} {$ENDIF} -{$IFDEF DELPHI3} {$DEFINE DELPHI3_UP} {$ENDIF} -{$IFDEF DELPHI2} {$DEFINE DELPHI2_UP} {$ENDIF} -{$IFDEF DELPHI1} {$DEFINE DELPHI1_UP} {$ENDIF} - -{------------------------------------------------------------------------------} -{ DELPHIX_UP from DELPHIX_UP mappings } -{------------------------------------------------------------------------------} - -{$IFDEF DELPHI15_UP} - {$DEFINE DELPHIXE_UP} // synonym to DELPHI15_UP - {$DEFINE DELPHI14_UP} -{$ENDIF} - -{$IFDEF DELPHI14_UP} - {$DEFINE DELPHI2010_UP} // synonym to DELPHI14_UP - {$DEFINE DELPHI12_UP} -{$ENDIF} - -{$IFDEF DELPHI12_UP} - {$DEFINE DELPHI2009_UP} // synonym to DELPHI12_UP - {$DEFINE DELPHI11_UP} -{$ENDIF} - -{$IFDEF DELPHI11_UP} - {$DEFINE DELPHI2007_UP} // synonym to DELPHI11_UP - {$DEFINE DELPHI10_UP} -{$ENDIF} - -{$IFDEF DELPHI10_UP} - {$DEFINE DELPHI2006_UP} // synonym to DELPHI10_UP - {$DEFINE DELPHI9_UP} -{$ENDIF} - -{$IFDEF DELPHI9_UP} - {$DEFINE DELPHI2005_UP} // synonym to DELPHI9_UP - {$DEFINE DELPHI8_UP} -{$ENDIF} - -{$IFDEF DELPHI8_UP} {$DEFINE DELPHI7_UP} {$ENDIF} -{$IFDEF DELPHI7_UP} {$DEFINE DELPHI6_UP} {$ENDIF} -{$IFDEF DELPHI6_UP} {$DEFINE DELPHI5_UP} {$ENDIF} -{$IFDEF DELPHI5_UP} {$DEFINE DELPHI4_UP} {$ENDIF} -{$IFDEF DELPHI4_UP} {$DEFINE DELPHI3_UP} {$ENDIF} -{$IFDEF DELPHI3_UP} {$DEFINE DELPHI2_UP} {$ENDIF} -{$IFDEF DELPHI2_UP} {$DEFINE DELPHI1_UP} {$ENDIF} - -{------------------------------------------------------------------------------} -{ BCBX_UP from BCBX mappings } -{------------------------------------------------------------------------------} - -{$IFDEF BCB15} {$DEFINE BCB15_UP} {$ENDIF} -{$IFDEF BCB14} {$DEFINE BCB14_UP} {$ENDIF} -{$IFDEF BCB12} {$DEFINE BCB12_UP} {$ENDIF} -{$IFDEF BCB11} {$DEFINE BCB11_UP} {$ENDIF} -{$IFDEF BCB10} {$DEFINE BCB10_UP} {$ENDIF} -{$IFDEF BCB6} {$DEFINE BCB6_UP} {$ENDIF} -{$IFDEF BCB5} {$DEFINE BCB5_UP} {$ENDIF} -{$IFDEF BCB4} {$DEFINE BCB4_UP} {$ENDIF} -{$IFDEF BCB3} {$DEFINE BCB3_UP} {$ENDIF} -{$IFDEF BCB1} {$DEFINE BCB1_UP} {$ENDIF} - -{------------------------------------------------------------------------------} -{ BCBX_UP from BCBX_UP mappings } -{------------------------------------------------------------------------------} - -{$IFDEF BCB15_UP} {$DEFINE BCB15_UP} {$ENDIF} -{$IFDEF BCB14_UP} {$DEFINE BCB12_UP} {$ENDIF} -{$IFDEF BCB12_UP} {$DEFINE BCB11_UP} {$ENDIF} -{$IFDEF BCB11_UP} {$DEFINE BCB10_UP} {$ENDIF} -{$IFDEF BCB10_UP} {$DEFINE BCB6_UP} {$ENDIF} -{$IFDEF BCB6_UP} {$DEFINE BCB5_UP} {$ENDIF} -{$IFDEF BCB5_UP} {$DEFINE BCB4_UP} {$ENDIF} -{$IFDEF BCB4_UP} {$DEFINE BCB3_UP} {$ENDIF} -{$IFDEF BCB3_UP} {$DEFINE BCB1_UP} {$ENDIF} - -{------------------------------------------------------------------------------} -{ BDSX_UP from BDSX mappings } -{------------------------------------------------------------------------------} - -{$IFDEF BDS8} {$DEFINE BDS8_UP} {$ENDIF} -{$IFDEF BDS7} {$DEFINE BDS7_UP} {$ENDIF} -{$IFDEF BDS6} {$DEFINE BDS6_UP} {$ENDIF} -{$IFDEF BDS5} {$DEFINE BDS5_UP} {$ENDIF} -{$IFDEF BDS4} {$DEFINE BDS4_UP} {$ENDIF} -{$IFDEF BDS3} {$DEFINE BDS3_UP} {$ENDIF} -{$IFDEF BDS2} {$DEFINE BDS2_UP} {$ENDIF} - -{------------------------------------------------------------------------------} -{ BDSX_UP from BDSX_UP mappings } -{------------------------------------------------------------------------------} - -{$IFDEF BDS8_UP} {$DEFINE BDS7_UP} {$ENDIF} -{$IFDEF BDS7_UP} {$DEFINE BDS6_UP} {$ENDIF} -{$IFDEF BDS6_UP} {$DEFINE BDS5_UP} {$ENDIF} -{$IFDEF BDS5_UP} {$DEFINE BDS4_UP} {$ENDIF} -{$IFDEF BDS4_UP} {$DEFINE BDS3_UP} {$ENDIF} -{$IFDEF BDS3_UP} {$DEFINE BDS2_UP} {$ENDIF} - -{------------------------------------------------------------------------------} -{ DELPHICOMPILERX_UP from DELPHICOMPILERX mappings } -{------------------------------------------------------------------------------} - -{$IFDEF DELPHICOMPILER15} {$DEFINE DELPHICOMPILER15_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER14} {$DEFINE DELPHICOMPILER14_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER12} {$DEFINE DELPHICOMPILER12_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER11} {$DEFINE DELPHICOMPILER11_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER10} {$DEFINE DELPHICOMPILER10_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER9} {$DEFINE DELPHICOMPILER9_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER8} {$DEFINE DELPHICOMPILER8_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER7} {$DEFINE DELPHICOMPILER7_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER6} {$DEFINE DELPHICOMPILER6_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER5} {$DEFINE DELPHICOMPILER5_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER4} {$DEFINE DELPHICOMPILER4_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER3} {$DEFINE DELPHICOMPILER3_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER2} {$DEFINE DELPHICOMPILER2_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER1} {$DEFINE DELPHICOMPILER1_UP} {$ENDIF} - -{------------------------------------------------------------------------------} -{ DELPHICOMPILERX_UP from DELPHICOMPILERX_UP mappings } -{------------------------------------------------------------------------------} - -{$IFDEF DELPHICOMPILER15_UP} {$DEFINE DELPHICOMPILER14_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER14_UP} {$DEFINE DELPHICOMPILER12_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER12_UP} {$DEFINE DELPHICOMPILER11_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER11_UP} {$DEFINE DELPHICOMPILER10_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER10_UP} {$DEFINE DELPHICOMPILER9_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER9_UP} {$DEFINE DELPHICOMPILER8_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER8_UP} {$DEFINE DELPHICOMPILER7_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER8_UP} {$DEFINE DELPHICOMPILER7_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER7_UP} {$DEFINE DELPHICOMPILER6_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER6_UP} {$DEFINE DELPHICOMPILER5_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER5_UP} {$DEFINE DELPHICOMPILER4_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER4_UP} {$DEFINE DELPHICOMPILER3_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER3_UP} {$DEFINE DELPHICOMPILER2_UP} {$ENDIF} -{$IFDEF DELPHICOMPILER2_UP} {$DEFINE DELPHICOMPILER1_UP} {$ENDIF} - -{------------------------------------------------------------------------------} -{ COMPILERX_UP from COMPILERX mappings } -{------------------------------------------------------------------------------} - -{$IFDEF COMPILER15} {$DEFINE COMPILER15_UP} {$ENDIF} -{$IFDEF COMPILER14} {$DEFINE COMPILER14_UP} {$ENDIF} -{$IFDEF COMPILER12} {$DEFINE COMPILER12_UP} {$ENDIF} -{$IFDEF COMPILER11} {$DEFINE COMPILER11_UP} {$ENDIF} -{$IFDEF COMPILER10} {$DEFINE COMPILER10_UP} {$ENDIF} -{$IFDEF COMPILER9} {$DEFINE COMPILER9_UP} {$ENDIF} -{$IFDEF COMPILER8} {$DEFINE COMPILER8_UP} {$ENDIF} -{$IFDEF COMPILER7} {$DEFINE COMPILER7_UP} {$ENDIF} -{$IFDEF COMPILER6} {$DEFINE COMPILER6_UP} {$ENDIF} -{$IFDEF COMPILER5} {$DEFINE COMPILER5_UP} {$ENDIF} -{$IFDEF COMPILER4} {$DEFINE COMPILER4_UP} {$ENDIF} -{$IFDEF COMPILER35} {$DEFINE COMPILER35_UP} {$ENDIF} -{$IFDEF COMPILER3} {$DEFINE COMPILER3_UP} {$ENDIF} -{$IFDEF COMPILER2} {$DEFINE COMPILER2_UP} {$ENDIF} -{$IFDEF COMPILER1} {$DEFINE COMPILER1_UP} {$ENDIF} - -{------------------------------------------------------------------------------} -{ COMPILERX_UP from COMPILERX_UP mappings } -{------------------------------------------------------------------------------} - -{$IFDEF COMPILER15_UP} {$DEFINE COMPILER14_UP} {$ENDIF} -{$IFDEF COMPILER14_UP} {$DEFINE COMPILER12_UP} {$ENDIF} -{$IFDEF COMPILER12_UP} {$DEFINE COMPILER11_UP} {$ENDIF} -{$IFDEF COMPILER11_UP} {$DEFINE COMPILER10_UP} {$ENDIF} -{$IFDEF COMPILER10_UP} {$DEFINE COMPILER9_UP} {$ENDIF} -{$IFDEF COMPILER9_UP} {$DEFINE COMPILER8_UP} {$ENDIF} -{$IFDEF COMPILER8_UP} {$DEFINE COMPILER7_UP} {$ENDIF} -{$IFDEF COMPILER7_UP} {$DEFINE COMPILER6_UP} {$ENDIF} -{$IFDEF COMPILER6_UP} {$DEFINE COMPILER5_UP} {$ENDIF} -{$IFDEF COMPILER5_UP} {$DEFINE COMPILER4_UP} {$ENDIF} -{$IFDEF COMPILER4_UP} {$DEFINE COMPILER35_UP} {$ENDIF} -{$IFDEF COMPILER35_UP} {$DEFINE COMPILER3_UP} {$ENDIF} -{$IFDEF COMPILER3_UP} {$DEFINE COMPILER2_UP} {$ENDIF} -{$IFDEF COMPILER2_UP} {$DEFINE COMPILER1_UP} {$ENDIF} - -{------------------------------------------------------------------------------} -{ RTLX_UP from RTLX_UP mappings } -{------------------------------------------------------------------------------} - -{$IFDEF RTL220_UP} {$DEFINE RTL210_UP} {$ENDIF} -{$IFDEF RTL210_UP} {$DEFINE RTL200_UP} {$ENDIF} -{$IFDEF RTL200_UP} {$DEFINE RTL190_UP} {$ENDIF} -{$IFDEF RTL190_UP} {$DEFINE RTL185_UP} {$ENDIF} -{$IFDEF RTL185_UP} {$DEFINE RTL180_UP} {$ENDIF} -{$IFDEF RTL180_UP} {$DEFINE RTL170_UP} {$ENDIF} -{$IFDEF RTL170_UP} {$DEFINE RTL160_UP} {$ENDIF} -{$IFDEF RTL160_UP} {$DEFINE RTL150_UP} {$ENDIF} -{$IFDEF RTL150_UP} {$DEFINE RTL145_UP} {$ENDIF} -{$IFDEF RTL145_UP} {$DEFINE RTL142_UP} {$ENDIF} -{$IFDEF RTL142_UP} {$DEFINE RTL140_UP} {$ENDIF} -{$IFDEF RTL140_UP} {$DEFINE RTL130_UP} {$ENDIF} -{$IFDEF RTL130_UP} {$DEFINE RTL125_UP} {$ENDIF} -{$IFDEF RTL125_UP} {$DEFINE RTL120_UP} {$ENDIF} -{$IFDEF RTL120_UP} {$DEFINE RTL110_UP} {$ENDIF} -{$IFDEF RTL110_UP} {$DEFINE RTL100_UP} {$ENDIF} -{$IFDEF RTL100_UP} {$DEFINE RTL93_UP} {$ENDIF} -{$IFDEF RTL93_UP} {$DEFINE RTL90_UP} {$ENDIF} -{$IFDEF RTL90_UP} {$DEFINE RTL80_UP} {$ENDIF} - -{------------------------------------------------------------------------------} -{ Check for CLR overrides of default detection } -{------------------------------------------------------------------------------} - -{$IFDEF CLR} - {$IFDEF FORCE_CLR10} - {$DEFINE CLR10} - {$UNDEF CLR11} - {$UNDEF CLR20} - {$ENDIF FORCE_CLR10} - - {$IFDEF FORCE_CLR11} - {$UNDEF CLR10} - {$DEFINE CLR11} - {$UNDEF CLR20} - {$ENDIF FORCE_CLR11} - - {$IFDEF FORCE_CLR20} - {$UNDEF CLR10} - {$UNDEF CLR11} - {$DEFINE CLR20} - {$ENDIF FORCE_CLR20} -{$ENDIF CLR} - -{------------------------------------------------------------------------------} -{ CLRX from CLRX_UP mappings } -{------------------------------------------------------------------------------} - -{$IFDEF CLR10} {$DEFINE CLR10_UP} {$ENDIF} -{$IFDEF CLR11} {$DEFINE CLR11_UP} {$ENDIF} -{$IFDEF CLR20} {$DEFINE CLR20_UP} {$ENDIF} - -{------------------------------------------------------------------------------} -{ CLRX_UP from CLRX_UP mappings } -{------------------------------------------------------------------------------} - -{$IFDEF CLR20_UP} {$DEFINE CLR11_UP} {$ENDIF} -{$IFDEF CLR11_UP} {$DEFINE CLR10_UP} {$ENDIF} - -{------------------------------------------------------------------------------} - -{$IFDEF DELPHICOMPILER} - {$DEFINE DELPHILANGUAGE} -{$ENDIF} - -{$IFDEF BCBCOMPILER} - {$DEFINE DELPHILANGUAGE} -{$ENDIF} - -{------------------------------------------------------------------------------} -{ KYLIXX_UP from KYLIXX mappings } -{------------------------------------------------------------------------------} - -{$IFDEF KYLIX3} {$DEFINE KYLIX3_UP} {$ENDIF} -{$IFDEF KYLIX2} {$DEFINE KYLIX2_UP} {$ENDIF} -{$IFDEF KYLIX1} {$DEFINE KYLIX1_UP} {$ENDIF} - -{------------------------------------------------------------------------------} -{ KYLIXX_UP from KYLIXX_UP mappings } -{------------------------------------------------------------------------------} - -{$IFDEF KYLIX3_UP} {$DEFINE KYLIX2_UP} {$ENDIF} -{$IFDEF KYLIX2_UP} {$DEFINE KYLIX1_UP} {$ENDIF} - -{------------------------------------------------------------------------------} -{ Map COMPILERX_UP to friendly feature names } -{------------------------------------------------------------------------------} - -{$IFDEF FPC} - {$IFDEF VER1_0} - Please use FPC 2.0 or higher to compile this. - {$ELSE} - {$DEFINE SUPPORTS_OUTPARAMS} - {$DEFINE SUPPORTS_WIDECHAR} - {$DEFINE SUPPORTS_WIDESTRING} - {$IFDEF HASINTF} - {$DEFINE SUPPORTS_INTERFACE} - {$ENDIF} - {$IFDEF HASVARIANT} - {$DEFINE SUPPORTS_VARIANT} - {$ENDIF} - {$IFDEF FPC_HAS_TYPE_SINGLE} - {$DEFINE SUPPORTS_SINGLE} - {$ENDIF} - {$IFDEF FPC_HAS_TYPE_DOUBLE} - {$DEFINE SUPPORTS_DOUBLE} - {$ENDIF} - {$IFDEF FPC_HAS_TYPE_EXTENDED} - {$DEFINE SUPPORTS_EXTENDED} - {$ENDIF} - {$IFDEF HASCURRENCY} - {$DEFINE SUPPORTS_CURRENCY} - {$ENDIF} - {$DEFINE SUPPORTS_THREADVAR} - {$DEFINE SUPPORTS_CONSTPARAMS} - {$DEFINE SUPPORTS_LONGWORD} - {$DEFINE SUPPORTS_INT64} - {$DEFINE SUPPORTS_DYNAMICARRAYS} - {$DEFINE SUPPORTS_DEFAULTPARAMS} - {$DEFINE SUPPORTS_OVERLOAD} - {$DEFINE ACCEPT_DEPRECATED} // 2.2 also gives warnings - {$DEFINE ACCEPT_PLATFORM} // 2.2 also gives warnings - {$DEFINE ACCEPT_LIBRARY} - {$DEFINE SUPPORTS_EXTSYM} - {$DEFINE SUPPORTS_NODEFINE} - - {$DEFINE SUPPORTS_CUSTOMVARIANTS} - {$DEFINE SUPPORTS_VARARGS} - {$DEFINE SUPPORTS_ENUMVALUE} - {$IFDEF LINUX} - {$DEFINE HAS_UNIT_LIBC} - {$ENDIF LINUX} - {$DEFINE HAS_UNIT_CONTNRS} - {$DEFINE HAS_UNIT_TYPES} - {$DEFINE HAS_UNIT_VARIANTS} - {$DEFINE HAS_UNIT_STRUTILS} - {$DEFINE HAS_UNIT_DATEUTILS} - {$DEFINE HAS_UNIT_RTLCONSTS} - - {$DEFINE XPLATFORM_RTL} - - {$IFDEF VER2_2} - {$DEFINE SUPPORTS_DISPINTERFACE} - {$DEFINE SUPPORTS_IMPLEMENTS} - {$DEFINE SUPPORTS_DISPID} - {$ELSE} - {$UNDEF SUPPORTS_DISPINTERFACE} - {$UNDEF SUPPORTS_IMPLEMENTS} - {$endif} - {$UNDEF SUPPORTS_UNSAFE_WARNINGS} - {$ENDIF} -{$ENDIF FPC} - -{$IFDEF CLR} - {$DEFINE SUPPORTS_UNICODE} -{$ENDIF CLR} - -{$IFDEF COMPILER1_UP} - {$DEFINE SUPPORTS_CONSTPARAMS} - {$DEFINE SUPPORTS_SINGLE} - {$DEFINE SUPPORTS_DOUBLE} - {$DEFINE SUPPORTS_EXTENDED} - {$DEFINE SUPPORTS_PACKAGES} -{$ENDIF COMPILER1_UP} - -{$IFDEF COMPILER2_UP} - {$DEFINE SUPPORTS_CURRENCY} - {$DEFINE SUPPORTS_THREADVAR} - {$DEFINE SUPPORTS_VARIANT} - {$DEFINE SUPPORTS_WIDECHAR} -{$ENDIF COMPILER2_UP} - -{$IFDEF COMPILER3_UP} - {$DEFINE SUPPORTS_OUTPARAMS} - {$DEFINE SUPPORTS_WIDESTRING} - {$DEFINE SUPPORTS_INTERFACE} - {$DEFINE SUPPORTS_DISPINTERFACE} - {$DEFINE SUPPORTS_DISPID} - {$DEFINE SUPPORTS_WEAKPACKAGEUNIT} -{$ENDIF COMPILER3_UP} - -{$IFDEF COMPILER35_UP} - {$DEFINE SUPPORTS_EXTSYM} - {$DEFINE SUPPORTS_NODEFINE} -{$ENDIF COMPILER35_UP} - -{$IFDEF COMPILER4_UP} - {$DEFINE SUPPORTS_LONGWORD} - {$DEFINE SUPPORTS_INT64} - {$DEFINE SUPPORTS_DYNAMICARRAYS} - {$DEFINE SUPPORTS_DEFAULTPARAMS} - {$DEFINE SUPPORTS_OVERLOAD} - {$DEFINE SUPPORTS_IMPLEMENTS} -{$ENDIF COMPILER4_UP} - -{$IFDEF COMPILER6_UP} - {$DEFINE SUPPORTS_DEPRECATED} - {$DEFINE SUPPORTS_LIBRARY} - {$DEFINE SUPPORTS_PLATFORM} - {$DEFINE SUPPORTS_LOCAL} - {$DEFINE SUPPORTS_SETPEFLAGS} - {$DEFINE SUPPORTS_EXPERIMENTAL_WARNINGS} - {$DEFINE ACCEPT_DEPRECATED} - {$DEFINE ACCEPT_PLATFORM} - {$DEFINE ACCEPT_LIBRARY} - {$DEFINE SUPPORTS_DEPRECATED_WARNINGS} - {$DEFINE SUPPORTS_LIBRARY_WARNINGS} - {$DEFINE SUPPORTS_PLATFORM_WARNINGS} - {$DEFINE SUPPORTS_CUSTOMVARIANTS} - {$DEFINE SUPPORTS_VARARGS} - {$DEFINE SUPPORTS_ENUMVALUE} - {$DEFINE SUPPORTS_COMPILETIME_MESSAGES} -{$ENDIF COMPILER6_UP} - -{$IFDEF COMPILER7_UP} - {$DEFINE SUPPORTS_UNSAFE_WARNINGS} -{$ENDIF COMPILER7_UP} - -{$IFDEF COMPILER9_UP} - {$DEFINE SUPPORTS_FOR_IN} - {$DEFINE SUPPORTS_INLINE} - {$DEFINE SUPPORTS_NESTED_CONSTANTS} - {$DEFINE SUPPORTS_NESTED_TYPES} - {$DEFINE SUPPORTS_REGION} - {$IFDEF CLR} - {$DEFINE SUPPORTS_ENHANCED_RECORDS} - {$DEFINE SUPPORTS_CLASS_FIELDS} - {$DEFINE SUPPORTS_CLASS_HELPERS} - {$DEFINE SUPPORTS_CLASS_OPERATORS} - {$DEFINE SUPPORTS_STRICT} - {$DEFINE SUPPORTS_STATIC} - {$DEFINE SUPPORTS_FINAL} - {$ENDIF CLR} -{$ENDIF COMPILER9_UP} - -{$IFDEF COMPILER10_UP} - {$DEFINE SUPPORTS_ENHANCED_RECORDS} - {$DEFINE SUPPORTS_CLASS_FIELDS} - {$DEFINE SUPPORTS_CLASS_HELPERS} - {$DEFINE SUPPORTS_CLASS_OPERATORS} - {$DEFINE SUPPORTS_STRICT} - {$DEFINE SUPPORTS_STATIC} - {$DEFINE SUPPORTS_FINAL} - {$DEFINE SUPPORTS_METHODINFO} -{$ENDIF COMPILER10_UP} - -{$IFDEF COMPILER11_UP} - {$IFDEF CLR} - {$DEFINE SUPPORTS_GENERICS} - {$DEFINE SUPPORTS_DEPRECATED_DETAILS} - {$ENDIF CLR} -{$ENDIF COMPILER11_UP} - -{$IFDEF COMPILER12_UP} - {$DEFINE SUPPORTS_GENERICS} - {$DEFINE SUPPORTS_DEPRECATED_DETAILS} - {$DEFINE SUPPORTS_INT_ALIASES} - {$IFNDEF CLR} - {$DEFINE SUPPORTS_UNICODE} - {$DEFINE SUPPORTS_UNICODE_STRING} - {$ENDIF CLR} -{$ENDIF COMPILER12_UP} - -{$IFDEF COMPILER14_UP} - {$DEFINE SUPPORTS_CLASS_CTORDTORS} - {$DEFINE HAS_UNIT_RTTI} - {$DEFINE SUPPORTS_CAST_INTERFACE_TO_OBJ} - {$DEFINE SUPPORTS_DELAYED_LOADING} -{$ENDIF COMPILER14_UP} - -{$IFDEF RTL130_UP} - {$DEFINE HAS_UNIT_CONTNRS} -{$ENDIF RTL130_UP} - -{$IFDEF RTL140_UP} - {$IFDEF LINUX} - {$DEFINE HAS_UNIT_LIBC} - {$ENDIF LINUX} - {$DEFINE HAS_UNIT_RTLCONSTS} - {$DEFINE HAS_UNIT_TYPES} - {$DEFINE HAS_UNIT_VARIANTS} - {$DEFINE HAS_UNIT_STRUTILS} - {$DEFINE HAS_UNIT_DATEUTILS} - {$DEFINE XPLATFORM_RTL} -{$ENDIF RTL140_UP} - -{$IFDEF RTL170_UP} - {$DEFINE HAS_UNIT_HTTPPROD} -{$ENDIF RTL170_UP} - -{$IFDEF RTL185_UP} - {$DEFINE HAS_UNIT_GIFIMG} -{$ENDIF RTL185_UP} - -{$IFDEF RTL200_UP} - {$DEFINE HAS_UNIT_ANSISTRINGS} - {$DEFINE HAS_UNIT_PNGIMAGE} -{$ENDIF RTL200_UP} - -{------------------------------------------------------------------------------} -{ Cross-platform related defines } -{------------------------------------------------------------------------------} - -{$IFNDEF CPUASM} - {$DEFINE PUREPASCAL} -{$ENDIF ~CPUASM} - -{$IFDEF WIN32} - {$DEFINE MSWINDOWS} // predefined for D6+/BCB6+ - {$DEFINE Win32API} -{$ENDIF} - -{$IFDEF DELPHILANGUAGE} - {$IFDEF LINUX} - {$DEFINE UNIX} - {$ENDIF} - - {$IFNDEF CONSOLE} - {$IFDEF LINUX} - {$DEFINE VisualCLX} - {$ENDIF} - {$IFNDEF VisualCLX} - {$DEFINE VCL} - {$ENDIF} - {$ENDIF ~CONSOLE} -{$ENDIF DELPHILANGUAGE} - -{------------------------------------------------------------------------------} -{ Compiler settings } -{------------------------------------------------------------------------------} - -{$IFOPT A+} {$DEFINE ALIGN_ON} {$ENDIF} -{$IFOPT B+} {$DEFINE BOOLEVAL_ON} {$ENDIF} -{$IFDEF COMPILER2_UP} - {$IFOPT C+} {$DEFINE ASSERTIONS_ON} {$ENDIF} -{$ENDIF} -{$IFOPT D+} {$DEFINE DEBUGINFO_ON} {$ENDIF} -{$IFOPT G+} {$DEFINE IMPORTEDDATA_ON} {$ENDIF} -{$IFDEF COMPILER2_UP} - {$IFOPT H+} {$DEFINE LONGSTRINGS_ON} {$ENDIF} -{$ENDIF} - -// Hints -{$IFOPT I+} {$DEFINE IOCHECKS_ON} {$ENDIF} -{$IFDEF COMPILER2_UP} - {$IFOPT J+} {$DEFINE WRITEABLECONST_ON} {$ENDIF} -{$ENDIF} -{$IFOPT L+} {$DEFINE LOCALSYMBOLS} {$DEFINE LOCALSYMBOLS_ON} {$ENDIF} -{$IFOPT M+} {$DEFINE TYPEINFO_ON} {$ENDIF} -{$IFOPT O+} {$DEFINE OPTIMIZATION_ON} {$ENDIF} -{$IFOPT P+} {$DEFINE OPENSTRINGS_ON} {$ENDIF} -{$IFOPT Q+} {$DEFINE OVERFLOWCHECKS_ON} {$ENDIF} -{$IFOPT R+} {$DEFINE RANGECHECKS_ON} {$ENDIF} - -// Real compatibility -{$IFOPT T+} {$DEFINE TYPEDADDRESS_ON} {$ENDIF} -{$IFOPT U+} {$DEFINE SAFEDIVID... [truncated message content] |
From: <ou...@us...> - 2010-09-21 18:43:29
|
Revision: 3348 http://jcl.svn.sourceforge.net/jcl/?rev=3348&view=rev Author: outchy Date: 2010-09-21 18:43:23 +0000 (Tue, 21 Sep 2010) Log Message: ----------- Compatibility with Delphi 6 and C++Builder 6. (inspired by a fix proposed in the jedi.jcl newsgroup) Modified Paths: -------------- trunk/jcl/source/windows/JclRegistry.pas Modified: trunk/jcl/source/windows/JclRegistry.pas =================================================================== --- trunk/jcl/source/windows/JclRegistry.pas 2010-09-21 18:13:12 UTC (rev 3347) +++ trunk/jcl/source/windows/JclRegistry.pas 2010-09-21 18:43:23 UTC (rev 3348) @@ -752,6 +752,37 @@ Result := False; end; +function InternalStrToFloat(const RootKey: DelphiHKEY; const Key, Name: string; out Success: Boolean; + RaiseException: Boolean): Extended; +var + {$IFDEF RTL150_UP} + FS: TFormatSettings; + {$ELSE ~RTL150_UP} + OldSep: Char; + {$ENDIF ~RTL150_UP} +begin + {$IFDEF RTL150_UP} + FS.ThousandSeparator := ','; + FS.DecimalSeparator := '.'; + {$ELSE ~RTL150_UP} + OldSep := DecimalSeparator; + try + DecimalSeparator := '.'; + {$ENDIF ~RTL150_UP} + if RaiseException then + begin + Result := StrToFloat(RegReadString(RootKey, Key, Name){$IFDEF RTL150_UP}, FS{$ENDIF}); + Success := True; + end + else + Success := TryStrToFloat(RegReadString(RootKey, Key, Name), Result{$IFDEF RTL150_UP}, FS{$ENDIF}); + {$IFNDEF RTL150_UP} + finally + DecimalSeparator := OldSep; + end; + {$ENDIF ~RTL150_UP} +end; + procedure InternalSetData(const RootKey: DelphiHKEY; const Key, Name: WideString; RegKind: TRegKind; Value: Pointer; ValueSize: Cardinal); var @@ -1092,37 +1123,10 @@ out RetValue: Single; RaiseException: Boolean): Boolean; var DataType, DataSize: DWORD; - {$IFDEF RTL150_UP} - FS: TFormatSettings; - {$ELSE} - OldSep: Char; - {$ENDIF RTL150_UP} begin RegGetDataType(RootKey, Key, Name, DataType); if DataType in [REG_SZ, REG_EXPAND_SZ] then - begin - {$IFDEF RTL150_UP} - FS.ThousandSeparator := ','; - FS.DecimalSeparator := '.'; - {$ELSE} - OldSep := DecimalSeparator; - try - DecimalSeparator := '.'; - {$ENDIF RTL150_UP} - if RaiseException then - begin - RetValue := StrToFloat(RegReadString(RootKey, Key, Name), FS); - Result := True; - end - else - Result := TryStrToFloat(RegReadString(RootKey, Key, Name), RetValue, FS); - {$IFDEF RTL150_UP} - {$ELSE} - finally - DecimalSeparator := OldSep; - end; - {$ENDIF RTL150_UP} - end + RetValue := InternalStrToFloat(RootKey, Key, Name, Result, RaiseException) else Result := InternalGetData(RootKey, Key, Name, [REG_BINARY], SizeOf(RetValue), DataType, @RetValue, DataSize, RaiseException); @@ -1147,37 +1151,10 @@ out RetValue: Double; RaiseException: Boolean): Boolean; var DataType, DataSize: DWORD; - {$IFDEF RTL150_UP} - FS: TFormatSettings; - {$ELSE} - OldSep: Char; - {$ENDIF RTL150_UP} begin RegGetDataType(RootKey, Key, Name, DataType); if DataType in [REG_SZ, REG_EXPAND_SZ] then - begin - {$IFDEF RTL150_UP} - FS.ThousandSeparator := ','; - FS.DecimalSeparator := '.'; - {$ELSE} - OldSep := DecimalSeparator; - try - DecimalSeparator := '.'; - {$ENDIF RTL150_UP} - if RaiseException then - begin - RetValue := StrToFloat(RegReadString(RootKey, Key, Name), FS); - Result := True; - end - else - Result := TryStrToFloat(RegReadString(RootKey, Key, Name), RetValue, FS); - {$IFDEF RTL150_UP} - {$ELSE} - finally - DecimalSeparator := OldSep; - end; - {$ENDIF RTL150_UP} - end + RetValue := InternalStrToFloat(RootKey, Key, Name, Result, RaiseException) else Result := InternalGetData(RootKey, Key, Name, [REG_BINARY], SizeOf(RetValue), DataType, @RetValue, DataSize, RaiseException); @@ -1202,37 +1179,10 @@ out RetValue: Extended; RaiseException: Boolean): Boolean; var DataType, DataSize: DWORD; - {$IFDEF RTL150_UP} - FS: TFormatSettings; - {$ELSE} - OldSep: Char; - {$ENDIF RTL150_UP} begin RegGetDataType(RootKey, Key, Name, DataType); if DataType in [REG_SZ, REG_EXPAND_SZ] then - begin - {$IFDEF RTL150_UP} - FS.ThousandSeparator := ','; - FS.DecimalSeparator := '.'; - {$ELSE} - OldSep := DecimalSeparator; - try - DecimalSeparator := '.'; - {$ENDIF RTL150_UP} - if RaiseException then - begin - RetValue := StrToFloat(RegReadString(RootKey, Key, Name), FS); - Result := True; - end - else - Result := TryStrToFloat(RegReadString(RootKey, Key, Name), RetValue, FS); - {$IFDEF RTL150_UP} - {$ELSE} - finally - DecimalSeparator := OldSep; - end; - {$ENDIF RTL150_UP} - end + RetValue := InternalStrToFloat(RootKey, Key, Name, Result, RaiseException) else Result := InternalGetData(RootKey, Key, Name, [REG_BINARY], SizeOf(RetValue), DataType, @RetValue, DataSize, RaiseException); @@ -2146,4 +2096,3 @@ end. - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-09-21 18:13:20
|
Revision: 3347 http://jcl.svn.sourceforge.net/jcl/?rev=3347&view=rev Author: outchy Date: 2010-09-21 18:13:12 +0000 (Tue, 21 Sep 2010) Log Message: ----------- Mantis 5329: JCL download archive main folder suggestion. New action TSubTask to execute a task in an other task. Files are now stored in an archive folder named jcl-X.Y.Z.W. Modified Paths: -------------- trunk/thirdparty/makedist/JclFiles.xml trunk/thirdparty/makedist/JclTesting.xml trunk/thirdparty/makedist/MakeDistActions.pas trunk/thirdparty/makedist/MakeDistMain.pas Modified: trunk/thirdparty/makedist/JclFiles.xml =================================================================== --- trunk/thirdparty/makedist/JclFiles.xml 2010-09-21 11:38:45 UTC (rev 3346) +++ trunk/thirdparty/makedist/JclFiles.xml 2010-09-21 18:13:12 UTC (rev 3347) @@ -1,9 +1,9 @@ -<?xml version="1.0" encoding="iso-8859-1"?> +<?xml version="1.0" encoding="iso-8859-1" standalone="no"?> <makedist> - <task name="Jcl-win.zip" selected="-1"> + <task name="Jcl-common" selected="0"> <action classname="TLogCleaner"/> <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-win.log"/> + <configuration index="0" caption="File name" value="jcl%SUFFIX%.log"/> <configuration index="1" caption="Append" value="no"/> </action> <action classname="TDirectoryRemover"> @@ -16,60 +16,76 @@ <action classname="TCommandLineCaller"> <configuration index="0" caption="Application" value="%SVN%"/> <configuration index="1" caption="Working directory" value="sandbox"/> - <configuration index="2" caption="Parameters" value="export -rBASE --native-eol CRLF --force ..\..\..\jcl\ ."/> + <configuration index="2" caption="Parameters" value="export -rBASE --native-eol CRLF --force ..\..\..\ ."/> <configuration index="3" caption="Valid exit codes" value=""/> <configuration index="4" caption="Result file" value=""/> </action> + <action classname="TCommandLineCaller"> + <configuration index="0" caption="Application" value="%ComSpec%"/> + <configuration index="1" caption="Working directory" value="sandbox\jcl\devtools\"/> + <configuration index="2" caption="Parameters" value="/C included_files.bat"/> + <configuration index="3" caption="Valid exit codes" value=""/> + <configuration index="4" caption="Result file" value=""/> + </action> + <action classname="TDelay"> + <configuration index="0" caption="Delay" value="10"/> + </action> <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\source\common\JclBase.pas"/> + <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> <configuration index="1" caption="Constant name" value="JclVersionMajor"/> <configuration index="2" caption="Environment variable" value="VersionMajor"/> </action> <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\source\common\JclBase.pas"/> + <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> <configuration index="1" caption="Constant name" value="JclVersionMinor"/> <configuration index="2" caption="Environment variable" value="VersionMinor"/> </action> <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\source\common\JclBase.pas"/> + <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> <configuration index="1" caption="Constant name" value="JclVersionRelease"/> <configuration index="2" caption="Environment variable" value="VersionRelease"/> </action> <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\source\common\JclBase.pas"/> + <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> <configuration index="1" caption="Constant name" value="JclVersionBuild"/> <configuration index="2" caption="Environment variable" value="VersionBuild"/> </action> + <action classname="TVariableSetter"> + <configuration index="0" caption="Expression" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%"/> + <configuration index="1" caption="Environment variable" value="PREFIX"/> + </action> <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%.log"/> + <configuration index="0" caption="File name" value="%PREFIX%%SUFFIX%.log"/> <configuration index="1" caption="Append" value="no"/> </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%ComSpec%"/> - <configuration index="1" caption="Working directory" value="sandbox\devtools\"/> - <configuration index="2" caption="Parameters" value="/C included_files.bat"/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> + </task> + <task name="Jcl-win.zip" selected="-1"> + <action classname="TVariableSetter"> + <configuration index="0" caption="Expression" value="-win"/> + <configuration index="1" caption="Environment variable" value="SUFFIX"/> </action> + <action classname="TSubTask"> + <configuration index="0" caption="Task name" value="Jcl-common"/> + </action> + <action classname="TFileMover"> + <configuration index="0" caption="Old file name" value="sandbox\jcl"/> + <configuration index="1" caption="New file name" value="sandbox\%PREFIX%"/> + </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="files"/> + </action> <action classname="TDelay"> - <configuration index="0" caption="Delay" value="60"/> + <configuration index="0" caption="Delay" value="10"/> </action> <action classname="TArchiveMaker"> <configuration index="0" caption="Directory" value="sandbox"/> - <configuration index="1" caption="Filter" value="*"/> - <configuration index="2" caption="Archive name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%.zip"/> + <configuration index="1" caption="Filter" value="%PREFIX%"/> + <configuration index="2" caption="Archive name" value="files\%PREFIX%.zip"/> </action> <action classname="TDirectoryRemover"> <configuration index="0" caption="Directory" value="sandbox"/> <configuration index="1" caption="Move to recycle bin" value="no"/> </action> - <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="files"/> - </action> - <action classname="TFileMover"> - <configuration index="0" caption="Old file name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%.zip"/> - <configuration index="1" caption="New file name" value="files\jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%.zip"/> - </action> </task> <task name="Jcl-win.sync" selected="0"> <action classname="TCommandLineCaller"> @@ -81,88 +97,42 @@ </action> </task> <task name="Jcl-linux.zip" selected="-1"> - <action classname="TLogCleaner"/> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-linux.log"/> - <configuration index="1" caption="Append" value="no"/> + <action classname="TVariableSetter"> + <configuration index="0" caption="Expression" value="-linux"/> + <configuration index="1" caption="Environment variable" value="SUFFIX"/> </action> - <action classname="TDirectoryRemover"> - <configuration index="0" caption="Directory" value="sandbox"/> - <configuration index="1" caption="Move to recycle bin" value="no"/> + <action classname="TSubTask"> + <configuration index="0" caption="Task name" value="Jcl-common"/> </action> - <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="sandbox"/> + <action classname="TFileMover"> + <configuration index="0" caption="Old file name" value="sandbox\jcl"/> + <configuration index="1" caption="New file name" value="sandbox\%PREFIX%"/> </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%SVN%"/> - <configuration index="1" caption="Working directory" value="sandbox"/> - <configuration index="2" caption="Parameters" value="export -rBASE --native-eol LF --force ..\..\..\jcl\ ."/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMajor"/> - <configuration index="2" caption="Environment variable" value="VersionMajor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMinor"/> - <configuration index="2" caption="Environment variable" value="VersionMinor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionRelease"/> - <configuration index="2" caption="Environment variable" value="VersionRelease"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionBuild"/> - <configuration index="2" caption="Environment variable" value="VersionBuild"/> - </action> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-linux.log"/> - <configuration index="1" caption="Append" value="no"/> - </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%ComSpec%"/> - <configuration index="1" caption="Working directory" value="sandbox\devtools\"/> - <configuration index="2" caption="Parameters" value="/C included_files.bat"/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TDelay"> - <configuration index="0" caption="Delay" value="60"/> - </action> <action classname="TArchiveMaker"> <configuration index="0" caption="Directory" value="sandbox"/> - <configuration index="1" caption="Filter" value="*"/> - <configuration index="2" caption="Archive name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-linux.tar"/> + <configuration index="1" caption="Filter" value="%PREFIX%"/> + <configuration index="2" caption="Archive name" value="%PREFIX%-linux.tar"/> </action> <action classname="TDirectoryRemover"> <configuration index="0" caption="Directory" value="sandbox"/> <configuration index="1" caption="Move to recycle bin" value="no"/> </action> <action classname="TDelay"> - <configuration index="0" caption="Delay" value="60"/> + <configuration index="0" caption="Delay" value="10"/> </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="files"/> + </action> <action classname="TArchiveMaker"> <configuration index="0" caption="Directory" value=""/> - <configuration index="1" caption="Filter" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-linux.tar"/> - <configuration index="2" caption="Archive name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-linux.tar.gz"/> + <configuration index="1" caption="Filter" value="%PREFIX%-linux.tar"/> + <configuration index="2" caption="Archive name" value="files\%PREFIX%-linux.tar.gz"/> </action> <action classname="TFileRemover"> <configuration index="0" caption="Directory" value="."/> - <configuration index="1" caption="Filter" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-linux.tar"/> + <configuration index="1" caption="Filter" value="%PREFIX%-linux.tar"/> <configuration index="2" caption="Move to recycle bin" value="no"/> </action> - <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="files"/> - </action> - <action classname="TFileMover"> - <configuration index="0" caption="Old file name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-linux.tar.gz"/> - <configuration index="1" caption="New file name" value="files\jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-linux.tar.gz"/> - </action> </task> <task name="Jcl-linux.sync" selected="0"> <action classname="TCommandLineCaller"> @@ -174,86 +144,43 @@ </action> </task> <task name="Jcl-turbo.zip" selected="-1"> - <action classname="TLogCleaner"/> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-turbo.log"/> - <configuration index="1" caption="Append" value="no"/> + <action classname="TVariableSetter"> + <configuration index="0" caption="Expression" value="-turbo"/> + <configuration index="1" caption="Environment variable" value="SUFFIX"/> </action> - <action classname="TDirectoryRemover"> - <configuration index="0" caption="Directory" value="sandbox"/> - <configuration index="1" caption="Move to recycle bin" value="no"/> + <action classname="TSubTask"> + <configuration index="0" caption="Task name" value="Jcl-common"/> </action> - <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="sandbox"/> - </action> <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%SVN%"/> - <configuration index="1" caption="Working directory" value="sandbox"/> - <configuration index="2" caption="Parameters" value="export -rBASE --native-eol CRLF --force ..\..\..\jcl\ ."/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMajor"/> - <configuration index="2" caption="Environment variable" value="VersionMajor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMinor"/> - <configuration index="2" caption="Environment variable" value="VersionMinor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionRelease"/> - <configuration index="2" caption="Environment variable" value="VersionRelease"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionBuild"/> - <configuration index="2" caption="Environment variable" value="VersionBuild"/> - </action> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-turbo.log"/> - <configuration index="1" caption="Append" value="no"/> - </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%ComSpec%"/> - <configuration index="1" caption="Working directory" value="sandbox\devtools\"/> - <configuration index="2" caption="Parameters" value="/C included_files.bat"/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TCommandLineCaller"> <configuration index="0" caption="Application" value="%DCC2006%"/> - <configuration index="1" caption="Working directory" value="sandbox\install"/> + <configuration index="1" caption="Working directory" value="sandbox\jcl\install"/> <configuration index="2" caption="Parameters" value="-q -w -dJCLINSTALL -E..\bin -I..\source\include -U..\source\common;..\source\windows JediInstaller.dpr"/> <configuration index="3" caption="Valid exit codes" value=""/> <configuration index="4" caption="Result file" value=""/> </action> <action classname="TFileMover"> - <configuration index="0" caption="Old file name" value="sandbox\Install turbo delphi.bat"/> - <configuration index="1" caption="New file name" value="sandbox\Install.bat"/> + <configuration index="0" caption="Old file name" value="sandbox\jcl\Install turbo delphi.bat"/> + <configuration index="1" caption="New file name" value="sandbox\jcl\Install.bat"/> </action> + <action classname="TFileMover"> + <configuration index="0" caption="Old file name" value="sandbox\jcl"/> + <configuration index="1" caption="New file name" value="sandbox\%PREFIX%"/> + </action> <action classname="TDelay"> - <configuration index="0" caption="Delay" value="60"/> + <configuration index="0" caption="Delay" value="10"/> </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="files"/> + </action> <action classname="TArchiveMaker"> <configuration index="0" caption="Directory" value="sandbox"/> - <configuration index="1" caption="Filter" value="*"/> - <configuration index="2" caption="Archive name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-turbo.zip"/> + <configuration index="1" caption="Filter" value="%PREFIX%"/> + <configuration index="2" caption="Archive name" value="files\%PREFIX%-turbo.zip"/> </action> <action classname="TDirectoryRemover"> <configuration index="0" caption="Directory" value="sandbox"/> <configuration index="1" caption="Move to recycle bin" value="no"/> </action> - <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="files"/> - </action> - <action classname="TFileMover"> - <configuration index="0" caption="Old file name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-turbo.zip"/> - <configuration index="1" caption="New file name" value="files\jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-turbo.zip"/> - </action> </task> <task name="Jcl-turbo.sync" selected="0"> <action classname="TCommandLineCaller"> @@ -265,57 +192,14 @@ </action> </task> <task name="jcl-html.zip" selected="-1"> - <action classname="TLogCleaner"/> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-html.log"/> - <configuration index="1" caption="Append" value="no"/> + <action classname="TVariableSetter"> + <configuration index="0" caption="Expression" value="-html"/> + <configuration index="1" caption="Environment variable" value="SUFFIX"/> </action> - <action classname="TDirectoryRemover"> - <configuration index="0" caption="Directory" value="sandbox"/> - <configuration index="1" caption="Move to recycle bin" value="no"/> + <action classname="TSubTask"> + <configuration index="0" caption="Task name" value="Jcl-common"/> </action> <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="sandbox"/> - </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%SVN%"/> - <configuration index="1" caption="Working directory" value="sandbox"/> - <configuration index="2" caption="Parameters" value="export -rBASE --native-eol CRLF --force ..\..\..\ ."/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMajor"/> - <configuration index="2" caption="Environment variable" value="VersionMajor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMinor"/> - <configuration index="2" caption="Environment variable" value="VersionMinor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionRelease"/> - <configuration index="2" caption="Environment variable" value="VersionRelease"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionBuild"/> - <configuration index="2" caption="Environment variable" value="VersionBuild"/> - </action> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-htmlhelp.log"/> - <configuration index="1" caption="Append" value="no"/> - </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%ComSpec%"/> - <configuration index="1" caption="Working directory" value="sandbox\jcl\devtools\"/> - <configuration index="2" caption="Parameters" value="/C included_files.bat"/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TDirectoryCreator"> <configuration index="0" caption="Directory" value="sandbox\jcl\help\html"/> </action> <action classname="TCommandLineCaller"> @@ -325,55 +209,28 @@ <configuration index="3" caption="Valid exit codes" value="0;20;30"/> <configuration index="4" caption="Result file" value=""/> </action> - <action classname="TDelay"> - <configuration index="0" caption="Delay" value="60"/> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="sandbox\%PREFIX%"/> </action> - <action classname="TArchiveMaker"> - <configuration index="0" caption="Directory" value="sandbox\jcl"/> - <configuration index="1" caption="Filter" value="*help*"/> - <configuration index="2" caption="Archive name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-htmlhelp-win.zip"/> + <action classname="TFileMover"> + <configuration index="0" caption="Old file name" value="sandbox\jcl\help"/> + <configuration index="1" caption="New file name" value="sandbox\%PREFIX%\help"/> </action> - <action classname="TEolConverter"> - <configuration index="0" caption="Directory" value="sandbox\jcl\help\html"/> - <configuration index="1" caption="Filters" value="*.html;*.css;*.js"/> - <configuration index="2" caption="New EOL" value="LF"/> - </action> <action classname="TDelay"> - <configuration index="0" caption="Delay" value="60"/> + <configuration index="0" caption="Delay" value="10"/> </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="files"/> + </action> <action classname="TArchiveMaker"> - <configuration index="0" caption="Directory" value="sandbox\jcl"/> - <configuration index="1" caption="Filter" value="*help*"/> - <configuration index="2" caption="Archive name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-htmlhelp-linux.tar"/> + <configuration index="0" caption="Directory" value="sandbox"/> + <configuration index="1" caption="Filter" value="%PREFIX%"/> + <configuration index="2" caption="Archive name" value="files\%PREFIX%-htmlhelp.zip"/> </action> <action classname="TDirectoryRemover"> <configuration index="0" caption="Directory" value="sandbox"/> <configuration index="1" caption="Move to recycle bin" value="no"/> </action> - <action classname="TDelay"> - <configuration index="0" caption="Delay" value="60"/> - </action> - <action classname="TArchiveMaker"> - <configuration index="0" caption="Directory" value=""/> - <configuration index="1" caption="Filter" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-htmlhelp-linux.tar"/> - <configuration index="2" caption="Archive name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-htmlhelp-linux.tar.gz"/> - </action> - <action classname="TFileRemover"> - <configuration index="0" caption="Directory" value="."/> - <configuration index="1" caption="Filter" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-htmlhelp-linux.tar"/> - <configuration index="2" caption="Move to recycle bin" value="no"/> - </action> - <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="files"/> - </action> - <action classname="TFileMover"> - <configuration index="0" caption="Old file name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-htmlhelp-win.zip"/> - <configuration index="1" caption="New file name" value="files\jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-htmlhelp-win.zip"/> - </action> - <action classname="TFileMover"> - <configuration index="0" caption="Old file name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-htmlhelp-linux.tar.gz"/> - <configuration index="1" caption="New file name" value="files\jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-htmlhelp-linux.tar.gz"/> - </action> </task> <task name="Jcl-html.sync" selected="0"> <action classname="TCommandLineCaller"> @@ -385,57 +242,14 @@ </action> </task> <task name="jcl-chm.zip" selected="-1"> - <action classname="TLogCleaner"/> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-chm.log"/> - <configuration index="1" caption="Append" value="no"/> + <action classname="TVariableSetter"> + <configuration index="0" caption="Expression" value="-chm"/> + <configuration index="1" caption="Environment variable" value="SUFFIX"/> </action> - <action classname="TDirectoryRemover"> - <configuration index="0" caption="Directory" value="sandbox"/> - <configuration index="1" caption="Move to recycle bin" value="no"/> + <action classname="TSubTask"> + <configuration index="0" caption="Task name" value="Jcl-common"/> </action> <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="sandbox"/> - </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%SVN%"/> - <configuration index="1" caption="Working directory" value="sandbox"/> - <configuration index="2" caption="Parameters" value="export -rBASE --native-eol CRLF --force ..\..\..\ ."/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMajor"/> - <configuration index="2" caption="Environment variable" value="VersionMajor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMinor"/> - <configuration index="2" caption="Environment variable" value="VersionMinor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionRelease"/> - <configuration index="2" caption="Environment variable" value="VersionRelease"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionBuild"/> - <configuration index="2" caption="Environment variable" value="VersionBuild"/> - </action> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-chmhelp.log"/> - <configuration index="1" caption="Append" value="no"/> - </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%ComSpec%"/> - <configuration index="1" caption="Working directory" value="sandbox\jcl\devtools\"/> - <configuration index="2" caption="Parameters" value="/C included_files.bat"/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TDirectoryCreator"> <configuration index="0" caption="Directory" value="sandbox\jcl\help"/> </action> <action classname="TCommandLineCaller"> @@ -450,25 +264,28 @@ <configuration index="1" caption="Filter" value="*.html;*.css;*.js;*.gif;*.jpg;*.png;*.c;*.h;*.inc;*.hhc;*.hhk;*.hhp"/> <configuration index="2" caption="Move to recycle bin" value="no"/> </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="sandbox\%PREFIX%"/> + </action> + <action classname="TFileMover"> + <configuration index="0" caption="Old file name" value="sandbox\jcl\help"/> + <configuration index="1" caption="New file name" value="sandbox\%PREFIX%\help"/> + </action> <action classname="TDelay"> - <configuration index="0" caption="Delay" value="60"/> + <configuration index="0" caption="Delay" value="10"/> </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="files"/> + </action> <action classname="TArchiveMaker"> - <configuration index="0" caption="Directory" value="sandbox\jcl"/> - <configuration index="1" caption="Filter" value="*help*"/> - <configuration index="2" caption="Archive name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-chmhelp.zip"/> + <configuration index="0" caption="Directory" value="sandbox"/> + <configuration index="1" caption="Filter" value="%PREFIX%"/> + <configuration index="2" caption="Archive name" value="files\%PREFIX%-chmhelp.zip"/> </action> <action classname="TDirectoryRemover"> <configuration index="0" caption="Directory" value="sandbox"/> <configuration index="1" caption="Move to recycle bin" value="no"/> </action> - <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="files"/> - </action> - <action classname="TFileMover"> - <configuration index="0" caption="Old file name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-chmhelp.zip"/> - <configuration index="1" caption="New file name" value="files\jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-chmhelp.zip"/> - </action> </task> <task name="Jcl-chm.sync" selected="0"> <action classname="TCommandLineCaller"> @@ -480,57 +297,14 @@ </action> </task> <task name="jcl-h2.zip" selected="-1"> - <action classname="TLogCleaner"/> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-h2.log"/> - <configuration index="1" caption="Append" value="no"/> + <action classname="TVariableSetter"> + <configuration index="0" caption="Expression" value="-h2"/> + <configuration index="1" caption="Environment variable" value="SUFFIX"/> </action> - <action classname="TDirectoryRemover"> - <configuration index="0" caption="Directory" value="sandbox"/> - <configuration index="1" caption="Move to recycle bin" value="no"/> + <action classname="TSubTask"> + <configuration index="0" caption="Task name" value="Jcl-common"/> </action> <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="sandbox"/> - </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%SVN%"/> - <configuration index="1" caption="Working directory" value="sandbox"/> - <configuration index="2" caption="Parameters" value="export -rBASE --native-eol CRLF --force ..\..\..\ ."/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMajor"/> - <configuration index="2" caption="Environment variable" value="VersionMajor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMinor"/> - <configuration index="2" caption="Environment variable" value="VersionMinor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionRelease"/> - <configuration index="2" caption="Environment variable" value="VersionRelease"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionBuild"/> - <configuration index="2" caption="Environment variable" value="VersionBuild"/> - </action> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-htmlhelp2.log"/> - <configuration index="1" caption="Append" value="no"/> - </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%ComSpec%"/> - <configuration index="1" caption="Working directory" value="sandbox\jcl\devtools\"/> - <configuration index="2" caption="Parameters" value="/C included_files.bat"/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TDirectoryCreator"> <configuration index="0" caption="Directory" value="sandbox\jcl\help"/> </action> <action classname="TCommandLineCaller"> @@ -545,25 +319,28 @@ <configuration index="1" caption="Filter" value="*.html;*.css;*.js;*.gif;*.jpg;*.png;*.c;*.h;*.inc;*.log"/> <configuration index="2" caption="Move to recycle bin" value="no"/> </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="sandbox\%PREFIX%"/> + </action> + <action classname="TFileMover"> + <configuration index="0" caption="Old file name" value="sandbox\jcl\help"/> + <configuration index="1" caption="New file name" value="sandbox\%PREFIX%\help"/> + </action> <action classname="TDelay"> - <configuration index="0" caption="Delay" value="60"/> + <configuration index="0" caption="Delay" value="10"/> </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="files"/> + </action> <action classname="TArchiveMaker"> - <configuration index="0" caption="Directory" value="sandbox\jcl"/> - <configuration index="1" caption="Filter" value="*help*"/> - <configuration index="2" caption="Archive name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-htmlhelp2.zip"/> + <configuration index="0" caption="Directory" value="sandbox"/> + <configuration index="1" caption="Filter" value="%PREFIX%"/> + <configuration index="2" caption="Archive name" value="files\%PREFIX%-htmlhelp2.zip"/> </action> <action classname="TDirectoryRemover"> <configuration index="0" caption="Directory" value="sandbox"/> <configuration index="1" caption="Move to recycle bin" value="no"/> </action> - <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="files"/> - </action> - <action classname="TFileMover"> - <configuration index="0" caption="Old file name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-htmlhelp2.zip"/> - <configuration index="1" caption="New file name" value="files\jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-htmlhelp2.zip"/> - </action> </task> <task name="Jcl-h2.sync" selected="0"> <action classname="TCommandLineCaller"> @@ -575,57 +352,14 @@ </action> </task> <task name="jcl-hlp.zip" selected="-1"> - <action classname="TLogCleaner"/> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-hlp.log"/> - <configuration index="1" caption="Append" value="no"/> + <action classname="TVariableSetter"> + <configuration index="0" caption="Expression" value="-winhelp"/> + <configuration index="1" caption="Environment variable" value="SUFFIX"/> </action> - <action classname="TDirectoryRemover"> - <configuration index="0" caption="Directory" value="sandbox"/> - <configuration index="1" caption="Move to recycle bin" value="no"/> + <action classname="TSubTask"> + <configuration index="0" caption="Task name" value="Jcl-common"/> </action> <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="sandbox"/> - </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%SVN%"/> - <configuration index="1" caption="Working directory" value="sandbox"/> - <configuration index="2" caption="Parameters" value="export -rBASE --native-eol CRLF --force ..\..\..\ ."/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMajor"/> - <configuration index="2" caption="Environment variable" value="VersionMajor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMinor"/> - <configuration index="2" caption="Environment variable" value="VersionMinor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionRelease"/> - <configuration index="2" caption="Environment variable" value="VersionRelease"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionBuild"/> - <configuration index="2" caption="Environment variable" value="VersionBuild"/> - </action> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-winhelp.log"/> - <configuration index="1" caption="Append" value="no"/> - </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%ComSpec%"/> - <configuration index="1" caption="Working directory" value="sandbox\jcl\devtools\"/> - <configuration index="2" caption="Parameters" value="/C included_files.bat"/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TDirectoryCreator"> <configuration index="0" caption="Directory" value="sandbox\jcl\help"/> </action> <action classname="TCommandLineCaller"> @@ -635,25 +369,28 @@ <configuration index="3" caption="Valid exit codes" value="0;20;30"/> <configuration index="4" caption="Result file" value=""/> </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="sandbox\%PREFIX%"/> + </action> + <action classname="TFileMover"> + <configuration index="0" caption="Old file name" value="sandbox\jcl\help"/> + <configuration index="1" caption="New file name" value="sandbox\%PREFIX%\help"/> + </action> <action classname="TDelay"> - <configuration index="0" caption="Delay" value="60"/> + <configuration index="0" caption="Delay" value="10"/> </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="files"/> + </action> <action classname="TArchiveMaker"> - <configuration index="0" caption="Directory" value="sandbox\jcl"/> - <configuration index="1" caption="Filter" value="*help*"/> - <configuration index="2" caption="Archive name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-winhelp.zip"/> + <configuration index="0" caption="Directory" value="sandbox"/> + <configuration index="1" caption="Filter" value="%PREFIX%"/> + <configuration index="2" caption="Archive name" value="files\%PREFIX%-winhelp.zip"/> </action> <action classname="TDirectoryRemover"> <configuration index="0" caption="Directory" value="sandbox"/> <configuration index="1" caption="Move to recycle bin" value="no"/> </action> - <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="files"/> - </action> - <action classname="TFileMover"> - <configuration index="0" caption="Old file name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-winhelp.zip"/> - <configuration index="1" caption="New file name" value="files\jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-winhelp.zip"/> - </action> </task> <task name="Jcl-hlp.sync" selected="0"> <action classname="TCommandLineCaller"> @@ -665,57 +402,14 @@ </action> </task> <task name="jcl-xml.zip" selected="-1"> - <action classname="TLogCleaner"/> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-xml.log"/> - <configuration index="1" caption="Append" value="no"/> + <action classname="TVariableSetter"> + <configuration index="0" caption="Expression" value="-xml"/> + <configuration index="1" caption="Environment variable" value="SUFFIX"/> </action> - <action classname="TDirectoryRemover"> - <configuration index="0" caption="Directory" value="sandbox"/> - <configuration index="1" caption="Move to recycle bin" value="no"/> + <action classname="TSubTask"> + <configuration index="0" caption="Task name" value="Jcl-common"/> </action> <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="sandbox"/> - </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%SVN%"/> - <configuration index="1" caption="Working directory" value="sandbox"/> - <configuration index="2" caption="Parameters" value="export -rBASE --native-eol CRLF --force ..\..\..\ ."/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMajor"/> - <configuration index="2" caption="Environment variable" value="VersionMajor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMinor"/> - <configuration index="2" caption="Environment variable" value="VersionMinor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionRelease"/> - <configuration index="2" caption="Environment variable" value="VersionRelease"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionBuild"/> - <configuration index="2" caption="Environment variable" value="VersionBuild"/> - </action> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-xml.log"/> - <configuration index="1" caption="Append" value="no"/> - </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%ComSpec%"/> - <configuration index="1" caption="Working directory" value="sandbox\jcl\devtools\"/> - <configuration index="2" caption="Parameters" value="/C included_files.bat"/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TDirectoryCreator"> <configuration index="0" caption="Directory" value="sandbox\jcl\help"/> </action> <action classname="TCommandLineCaller"> @@ -725,25 +419,28 @@ <configuration index="3" caption="Valid exit codes" value="0;20;30"/> <configuration index="4" caption="Result file" value=""/> </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="sandbox\%PREFIX%"/> + </action> + <action classname="TFileMover"> + <configuration index="0" caption="Old file name" value="sandbox\jcl\help"/> + <configuration index="1" caption="New file name" value="sandbox\%PREFIX%\help"/> + </action> <action classname="TDelay"> - <configuration index="0" caption="Delay" value="60"/> + <configuration index="0" caption="Delay" value="10"/> </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="files"/> + </action> <action classname="TArchiveMaker"> - <configuration index="0" caption="Directory" value="sandbox\jcl"/> - <configuration index="1" caption="Filter" value="*help*"/> - <configuration index="2" caption="Archive name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-xml.zip"/> + <configuration index="0" caption="Directory" value="sandbox"/> + <configuration index="1" caption="Filter" value="%PREFIX%"/> + <configuration index="2" caption="Archive name" value="files\%PREFIX%-xml.zip"/> </action> <action classname="TDirectoryRemover"> <configuration index="0" caption="Directory" value="sandbox"/> <configuration index="1" caption="Move to recycle bin" value="no"/> </action> - <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="files"/> - </action> - <action classname="TFileMover"> - <configuration index="0" caption="Old file name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-xml.zip"/> - <configuration index="1" caption="New file name" value="files\jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-xml.zip"/> - </action> </task> <task name="Jcl-xml.sync" selected="0"> <action classname="TCommandLineCaller"> @@ -755,57 +452,14 @@ </action> </task> <task name="jcl-pdf.zip" selected="-1"> - <action classname="TLogCleaner"/> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-pdf.log"/> - <configuration index="1" caption="Append" value="no"/> + <action classname="TVariableSetter"> + <configuration index="0" caption="Expression" value="-pdf"/> + <configuration index="1" caption="Environment variable" value="%SUFFIX%"/> </action> - <action classname="TDirectoryRemover"> - <configuration index="0" caption="Directory" value="sandbox"/> - <configuration index="1" caption="Move to recycle bin" value="no"/> + <action classname="TSubTask"> + <configuration index="0" caption="Task name" value="Jcl-common"/> </action> <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="sandbox"/> - </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%SVN%"/> - <configuration index="1" caption="Working directory" value="sandbox"/> - <configuration index="2" caption="Parameters" value="export -rBASE --native-eol CRLF --force ..\..\..\ ."/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMajor"/> - <configuration index="2" caption="Environment variable" value="VersionMajor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionMinor"/> - <configuration index="2" caption="Environment variable" value="VersionMinor"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionRelease"/> - <configuration index="2" caption="Environment variable" value="VersionRelease"/> - </action> - <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> - <configuration index="1" caption="Constant name" value="JclVersionBuild"/> - <configuration index="2" caption="Environment variable" value="VersionBuild"/> - </action> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-pdf.log"/> - <configuration index="1" caption="Append" value="no"/> - </action> - <action classname="TCommandLineCaller"> - <configuration index="0" caption="Application" value="%ComSpec%"/> - <configuration index="1" caption="Working directory" value="sandbox\jcl\devtools\"/> - <configuration index="2" caption="Parameters" value="/C included_files.bat"/> - <configuration index="3" caption="Valid exit codes" value=""/> - <configuration index="4" caption="Result file" value=""/> - </action> - <action classname="TDirectoryCreator"> <configuration index="0" caption="Directory" value="sandbox\jcl\help"/> </action> <action classname="TCommandLineCaller"> @@ -815,25 +469,28 @@ <configuration index="3" caption="Valid exit codes" value="0;20;30"/> <configuration index="4" caption="Result file" value=""/> </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="sandbox\%PREFIX%"/> + </action> + <action classname="TFileMover"> + <configuration index="0" caption="Old file name" value="sandbox\jcl\help"/> + <configuration index="1" caption="New file name" value="sandbox\%PREFIX%\help"/> + </action> <action classname="TDelay"> - <configuration index="0" caption="Delay" value="60"/> + <configuration index="0" caption="Delay" value="10"/> </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="files"/> + </action> <action classname="TArchiveMaker"> - <configuration index="0" caption="Directory" value="sandbox\jcl"/> - <configuration index="1" caption="Filter" value="*help*"/> - <configuration index="2" caption="Archive name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-pdf.zip"/> + <configuration index="0" caption="Directory" value="sandbox"/> + <configuration index="1" caption="Filter" value="%PREFIX%"/> + <configuration index="2" caption="Archive name" value="files\%PREFIX%-pdf.zip"/> </action> <action classname="TDirectoryRemover"> <configuration index="0" caption="Directory" value="sandbox"/> <configuration index="1" caption="Move to recycle bin" value="no"/> </action> - <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="files"/> - </action> - <action classname="TFileMover"> - <configuration index="0" caption="Old file name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-pdf.zip"/> - <configuration index="1" caption="New file name" value="files\jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-pdf.zip"/> - </action> </task> <task name="Jcl-pdf.sync" selected="0"> <action classname="TCommandLineCaller"> Modified: trunk/thirdparty/makedist/JclTesting.xml =================================================================== --- trunk/thirdparty/makedist/JclTesting.xml 2010-09-21 11:38:45 UTC (rev 3346) +++ trunk/thirdparty/makedist/JclTesting.xml 2010-09-21 18:13:12 UTC (rev 3347) @@ -1,9 +1,9 @@ -<?xml version="1.0" encoding="iso-8859-1"?> +<?xml version="1.0" encoding="iso-8859-1" standalone="no"?> <makedist> - <task name="jcl-daily-source" selected="0"> + <task name="jcl-common" selected="0"> <action classname="TLogCleaner"/> <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-daily-source.log"/> + <configuration index="0" caption="File name" value="jcl%SUFFIX%.log"/> <configuration index="1" caption="Append" value="no"/> </action> <action classname="TCommandLineCaller"> @@ -31,27 +31,37 @@ <action classname="TCommandLineCaller"> <configuration index="0" caption="Application" value="%SVN%"/> <configuration index="1" caption="Working directory" value="sandbox"/> - <configuration index="2" caption="Parameters" value="export -rBASE --native-eol CRLF --force ..\..\..\jcl\ ."/> + <configuration index="2" caption="Parameters" value="export -rBASE --native-eol CRLF --force ..\..\..\ ."/> <configuration index="3" caption="Valid exit codes" value=""/> <configuration index="4" caption="Result file" value=""/> </action> <action classname="TVariableWriter"> - <configuration index="0" caption="Destination file" value="sandbox\jcl-revision.txt"/> + <configuration index="0" caption="Destination file" value="sandbox\jcl\jcl-revision.txt"/> <configuration index="1" caption="Expression" value="%VersionRevision%"/> <configuration index="2" caption="Append" value="no"/> </action> + <action classname="TCommandLineCaller"> + <configuration index="0" caption="Application" value="%ComSpec%"/> + <configuration index="1" caption="Working directory" value="sandbox\jcl\devtools\"/> + <configuration index="2" caption="Parameters" value="/C included_files.bat"/> + <configuration index="3" caption="Valid exit codes" value=""/> + <configuration index="4" caption="Result file" value=""/> + </action> + <action classname="TDelay"> + <configuration index="0" caption="Delay" value="10"/> + </action> <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\source\common\JclBase.pas"/> + <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> <configuration index="1" caption="Constant name" value="JclVersionMajor"/> <configuration index="2" caption="Environment variable" value="VersionMajor"/> </action> <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\source\common\JclBase.pas"/> + <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> <configuration index="1" caption="Constant name" value="JclVersionMinor"/> <configuration index="2" caption="Environment variable" value="VersionMinor"/> </action> <action classname="TConstantParser"> - <configuration index="0" caption="Source file" value="sandbox\source\common\JclBase.pas"/> + <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> <configuration index="1" caption="Constant name" value="JclVersionRelease"/> <configuration index="2" caption="Environment variable" value="VersionRelease"/> </action> @@ -61,30 +71,43 @@ <configuration index="2" caption="Day" value="01"/> <configuration index="3" caption="Environment variable" value="VersionBuild"/> </action> - <action classname="TLogSaver"> - <configuration index="0" caption="File name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%.log"/> - <configuration index="1" caption="Append" value="no"/> - </action> <action classname="T... [truncated message content] |
From: <ou...@us...> - 2010-09-21 11:38:51
|
Revision: 3346 http://jcl.svn.sourceforge.net/jcl/?rev=3346&view=rev Author: outchy Date: 2010-09-21 11:38:45 +0000 (Tue, 21 Sep 2010) Log Message: ----------- missing dof file for jppExceptionDialogs.dpr. Added Paths: ----------- trunk/jcl/devtools/jpp/jppExceptionDialogs.dof Copied: trunk/jcl/devtools/jpp/jppExceptionDialogs.dof (from rev 3344, trunk/jcl/devtools/jpp/jpp.dof) =================================================================== --- trunk/jcl/devtools/jpp/jppExceptionDialogs.dof (rev 0) +++ trunk/jcl/devtools/jpp/jppExceptionDialogs.dof 2010-09-21 11:38:45 UTC (rev 3346) @@ -0,0 +1,3 @@ +[Directories] +OutputDir=.. +UsePackages=0 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-09-21 11:35:42
|
Revision: 3345 http://jcl.svn.sourceforge.net/jcl/?rev=3345&view=rev Author: outchy Date: 2010-09-21 11:35:35 +0000 (Tue, 21 Sep 2010) Log Message: ----------- Mantis 5315 (related to file sharing modes) Use standard file sharing modes: - fmShareDenyWrite for fmOpenRead and fmOpenReadWrite; - none for fmCreate and fmWrite. Modified Paths: -------------- trunk/jcl/devtools/jpp/JppMain.pas trunk/jcl/devtools/jpp/jppExceptionDialogs.dpr trunk/jcl/examples/common/textconverter/TextConverterMain.pas trunk/jcl/experts/repository/JclOtaRepositoryUtils.pas trunk/jcl/experts/stacktraceviewer/APIExamples/Dummy/DummyRevisionProvider.pas trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFrame.pas trunk/jcl/source/common/JclStreams.pas trunk/jcl/source/common/JclUnicode.pas Modified: trunk/jcl/devtools/jpp/JppMain.pas =================================================================== --- trunk/jcl/devtools/jpp/JppMain.pas 2010-09-20 19:18:26 UTC (rev 3344) +++ trunk/jcl/devtools/jpp/JppMain.pas 2010-09-21 11:35:35 UTC (rev 3345) @@ -114,7 +114,7 @@ ssOut := nil; AState.PushState; try - fsIn := TFileStream.Create(AOld, fmOpenRead); + fsIn := TFileStream.Create(AOld, fmOpenRead or fmShareDenyWrite); ssIn := TJclAutoStream.Create(fsIn); parse := TJppParser.Create(ssIn.ReadString, AState); answer := Format('%s'#13#10'%s', [SWarningJppGenerated, parse.Parse]); Modified: trunk/jcl/devtools/jpp/jppExceptionDialogs.dpr =================================================================== --- trunk/jcl/devtools/jpp/jppExceptionDialogs.dpr 2010-09-20 19:18:26 UTC (rev 3344) +++ trunk/jcl/devtools/jpp/jppExceptionDialogs.dpr 2010-09-21 11:35:35 UTC (rev 3345) @@ -49,7 +49,7 @@ AFileStream: TFileStream; Buffer: AnsiString; begin - AFileStream := TFileStream.Create(FileName, fmOpenRead, fmShareDenyWrite); + AFileStream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite); try SetLength(Buffer, AFileStream.Size); AFileStream.ReadBuffer(Buffer[1], AFileStream.Size); @@ -64,7 +64,7 @@ AFileStream: TFileStream; Buffer: AnsiString; begin - AFileStream := TFileStream.Create(FileName, fmOpenWrite, fmShareExclusive); + AFileStream := TFileStream.Create(FileName, fmOpenWrite or fmShareDenyWrite); try Buffer := AnsiString(FileContent); AFileStream.Size := 0; Modified: trunk/jcl/examples/common/textconverter/TextConverterMain.pas =================================================================== --- trunk/jcl/examples/common/textconverter/TextConverterMain.pas 2010-09-20 19:18:26 UTC (rev 3344) +++ trunk/jcl/examples/common/textconverter/TextConverterMain.pas 2010-09-21 11:35:35 UTC (rev 3345) @@ -101,7 +101,7 @@ begin SourceStream := TFileStream.Create(SourceFileName, fmOpenRead or fmShareDenyWrite); try - DestStream := TFileStream.Create(DestFileName, fmCreate or fmShareExclusive); + DestStream := TFileStream.Create(DestFileName, fmCreate); try Reader := ReaderClass.Create(SourceStream, False); try Modified: trunk/jcl/experts/repository/JclOtaRepositoryUtils.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaRepositoryUtils.pas 2010-09-20 19:18:26 UTC (rev 3344) +++ trunk/jcl/experts/repository/JclOtaRepositoryUtils.pas 2010-09-21 11:35:35 UTC (rev 3345) @@ -554,7 +554,7 @@ if FFileName <> '' then begin try - AFileStream := TFileStream.Create(FFileName, fmOpenRead); + AFileStream := TFileStream.Create(FFileName, fmOpenRead or fmShareDenyWrite); try if GetFileTime(AFileStream.Handle, nil, nil, @AFileTime) then Result := FileTimeToDateTime(AFileTime) Modified: trunk/jcl/experts/stacktraceviewer/APIExamples/Dummy/DummyRevisionProvider.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/APIExamples/Dummy/DummyRevisionProvider.pas 2010-09-20 19:18:26 UTC (rev 3344) +++ trunk/jcl/experts/stacktraceviewer/APIExamples/Dummy/DummyRevisionProvider.pas 2010-09-21 11:35:35 UTC (rev 3345) @@ -34,7 +34,7 @@ R, W: Int64; begin Result := True; - FS := TFileStream.Create(AFileName, fmOpenRead); + FS := TFileStream.Create(AFileName, fmOpenRead or fmShareDenyWrite); try SA := TStreamAdapter.Create(FS); SA.CopyTo(AContent, FS.Size, R, W); @@ -43,4 +43,4 @@ end; end; -end. \ No newline at end of file +end. Modified: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFrame.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFrame.pas 2010-09-20 19:18:26 UTC (rev 3344) +++ trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFrame.pas 2010-09-21 11:35:35 UTC (rev 3345) @@ -589,7 +589,7 @@ {$IFDEF COMPILER12_UP} SS.LoadFromFile(OpenDialog1.FileName); {$ELSE ~COMPILER12_UP} - FS := TFileStream.Create(OpenDialog1.FileName, fmOpenRead); + FS := TFileStream.Create(OpenDialog1.FileName, fmOpenRead or fmShareDenyWrite); try SS.CopyFrom(FS, 0); finally Modified: trunk/jcl/source/common/JclStreams.pas =================================================================== --- trunk/jcl/source/common/JclStreams.pas 2010-09-20 19:18:26 UTC (rev 3344) +++ trunk/jcl/source/common/JclStreams.pas 2010-09-21 11:35:35 UTC (rev 3345) @@ -696,7 +696,7 @@ var FS: TStream; begin - FS := TFileStream.Create(FileName, fmCreate or fmShareExclusive); + FS := TFileStream.Create(FileName, fmCreate); try SaveToStream(FS, BufferSize); finally Modified: trunk/jcl/source/common/JclUnicode.pas =================================================================== --- trunk/jcl/source/common/JclUnicode.pas 2010-09-20 19:18:26 UTC (rev 3344) +++ trunk/jcl/source/common/JclUnicode.pas 2010-09-21 11:35:35 UTC (rev 3345) @@ -5191,7 +5191,7 @@ Stream: TStream; begin try - Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyNone); + Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite); try LoadFromStream(Stream); finally This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-09-20 19:18:34
|
Revision: 3344 http://jcl.svn.sourceforge.net/jcl/?rev=3344&view=rev Author: outchy Date: 2010-09-20 19:18:26 +0000 (Mon, 20 Sep 2010) Log Message: ----------- generic declarations conflict with non-generic declaration of the same name when being parsed by DOM. Disabling DOM parsing of all JCL generic stuff. Modified Paths: -------------- trunk/jcl/source/common/JclAbstractContainers.pas trunk/jcl/source/common/JclAlgorithms.pas trunk/jcl/source/common/JclArrayLists.pas trunk/jcl/source/common/JclArraySets.pas trunk/jcl/source/common/JclBase.pas trunk/jcl/source/common/JclBinaryTrees.pas trunk/jcl/source/common/JclContainerIntf.pas trunk/jcl/source/common/JclHashMaps.pas trunk/jcl/source/common/JclHashSets.pas trunk/jcl/source/common/JclLinkedLists.pas trunk/jcl/source/common/JclQueues.pas trunk/jcl/source/common/JclSortedMaps.pas trunk/jcl/source/common/JclStacks.pas trunk/jcl/source/common/JclTrees.pas trunk/jcl/source/common/JclVectors.pas trunk/jcl/source/prototypes/JclAlgorithms.pas trunk/jcl/source/prototypes/JclArrayLists.pas trunk/jcl/source/prototypes/JclArraySets.pas trunk/jcl/source/prototypes/JclBinaryTrees.pas trunk/jcl/source/prototypes/JclContainerIntf.pas trunk/jcl/source/prototypes/JclHashMaps.pas trunk/jcl/source/prototypes/JclHashSets.pas trunk/jcl/source/prototypes/JclLinkedLists.pas trunk/jcl/source/prototypes/JclQueues.pas trunk/jcl/source/prototypes/JclSortedMaps.pas trunk/jcl/source/prototypes/JclStacks.pas trunk/jcl/source/prototypes/JclTrees.pas trunk/jcl/source/prototypes/JclVectors.pas Modified: trunk/jcl/source/common/JclAbstractContainers.pas =================================================================== --- trunk/jcl/source/common/JclAbstractContainers.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/common/JclAbstractContainers.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -532,6 +532,8 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + TJclAbstractContainer<T> = class(TJclAbstractContainerBase, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} IJclCloneable, IJclIntfCloneable, IJclContainer, IJclItemOwner<T>, IJclEqualityComparer<T>, IJclComparer<T>, IJclHashConverter<T>) @@ -563,6 +565,8 @@ function Hash(const AItem: T): Integer; virtual; property HashConvert: THashConvert<T> read GetHashConvert write SetHashConvert; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} TJclAnsiStrAbstractCollection = class(TJclAnsiStrAbstractContainer, @@ -2258,6 +2262,8 @@ end; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + //=== { TJclAbstractContainer<T> } =========================================== constructor TJclAbstractContainer<T>.Create(AOwnsItems: Boolean); @@ -2356,6 +2362,7 @@ FHashConvert := Value; end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} //=== { TJclAnsiStrAbstractCollection } ====================================== Modified: trunk/jcl/source/common/JclAlgorithms.pas =================================================================== --- trunk/jcl/source/common/JclAlgorithms.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/common/JclAlgorithms.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -423,6 +423,8 @@ procedure Sort(const AList: IJclList; First, Last: Integer; AComparator: TCompare); overload; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + type // cannot implement generic global functions TJclAlgorithms<T> = class @@ -448,6 +450,8 @@ class procedure Sort(const AList: IJclList<T>; First, Last: Integer; AComparator: TCompare<T>); //class property SortProc: TSortProc<T> read FSortProc write FSortProc; end; + +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} const @@ -1179,7 +1183,6 @@ end; end; - procedure MoveArray(var List: TDynAnsiStringArray; FromIndex, ToIndex, Count: SizeInt); overload; begin if Count > 0 then @@ -1187,7 +1190,6 @@ FinalizeArrayBeforeMove(List, FromIndex, ToIndex, Count); Move(List[FromIndex], List[ToIndex], Count * SizeOf(List[0])); InitializeArrayAfterMove(List, FromIndex, ToIndex, Count); - end; end; @@ -3942,6 +3944,8 @@ end; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + class procedure TJclAlgorithms<T>.Iterate(const First: IJclIterator<T>; Count: Integer; F: TIterateProcedure<T>); var I: Integer; @@ -4126,6 +4130,8 @@ begin TJclAlgorithms<T>.QuickSort(AList, First, Last, AComparator); end; + +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} Modified: trunk/jcl/source/common/JclArrayLists.pas =================================================================== --- trunk/jcl/source/common/JclArrayLists.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/common/JclArrayLists.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -1070,6 +1070,8 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + TJclArrayIterator<T> = class; TJclArrayList<T> = class(TJclAbstractContainer<T>, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} @@ -1196,6 +1198,7 @@ function ItemsEqual(const A, B: T): Boolean; override; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -11086,6 +11089,7 @@ end; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN //=== { TJclArrayList<T> } ====================================================== @@ -12015,6 +12019,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/common/JclArraySets.pas =================================================================== --- trunk/jcl/source/common/JclArraySets.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/common/JclArraySets.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -316,6 +316,8 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + TJclArraySet<T> = class(TJclArrayList<T>, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} IJclIntfCloneable, IJclCloneable, IJclPackable, IJclGrowable, IJclContainer, IJclItemOwner<T>, IJclEqualityComparer<T>, IJclComparer<T>, IJclCollection<T>, IJclList<T>, IJclArray<T>, IJclSet<T>) @@ -377,6 +379,7 @@ function ItemsEqual(const A, B: T): Boolean; override; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -2105,6 +2108,8 @@ end; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + //=== { TJclArraySet<T> } ==================================================== function TJclArraySet<T>.Add(const AItem: T): Boolean; @@ -2333,6 +2338,7 @@ Result := A.CompareTo(B) = 0; end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/common/JclBase.pas =================================================================== --- trunk/jcl/source/common/JclBase.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/common/JclBase.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -322,6 +322,8 @@ function Addr32ToAddr64(const Value: TJclAddr32): TJclAddr64; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + type TCompare<T> = function(const Obj1, Obj2: T): Integer; TEqualityCompare<T> = function(const Obj1, Obj2: T): Boolean; @@ -343,6 +345,8 @@ function GetHashCode2(Obj: T): Integer; function IEqualityComparer<T>.GetHashCode = GetHashCode2; end; + +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} const @@ -509,6 +513,8 @@ {$ENDIF OVERFLOWCHECKS_ON} {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + //=== { TEquatable<T> } ====================================================== function TEquatable<T>.TestEquals(Other: T): Boolean; @@ -538,6 +544,7 @@ Result := Obj.GetHashCode; end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} procedure LoadAnsiReplacementCharacter; Modified: trunk/jcl/source/common/JclBinaryTrees.pas =================================================================== --- trunk/jcl/source/common/JclBinaryTrees.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/common/JclBinaryTrees.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -46,8 +46,6 @@ JclUnitVersioning, {$ENDIF UNITVERSIONING} Classes, - {$IFDEF SUPPORTS_GENERICS} - {$ENDIF SUPPORTS_GENERICS} JclBase, JclAbstractContainers, JclAlgorithms, JclContainerIntf, JclSynch; type @@ -1723,6 +1721,8 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + TJclBinaryNode<T> = class public Value: T; @@ -1904,6 +1904,8 @@ { IJclEqualityComparer<T> } function ItemsEqual(const A, B: T): Boolean; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} @@ -19776,6 +19778,8 @@ {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + //=== { TJclBinaryTree<T> } ================================================= constructor TJclBinaryTree<T>.Create(AOwnsItems: Boolean); @@ -21334,6 +21338,7 @@ Result := A.CompareTo(B) = 0; end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/common/JclContainerIntf.pas =================================================================== --- trunk/jcl/source/common/JclContainerIntf.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/common/JclContainerIntf.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -103,7 +103,9 @@ TPtrIterateProcedure = procedure(APtr: Pointer); TIterateProcedure = procedure(AObject: TObject); {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN TIterateProcedure<T> = procedure(const AItem: T); + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} // apply functions Type -> Type @@ -141,7 +143,9 @@ TPtrApplyFunction = function(APtr: Pointer): Pointer; TApplyFunction = function(AObject: TObject): TObject; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN TApplyFunction<T> = function(const AItem: T): T; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} // comparison functions Type -> Type -> Integer @@ -179,7 +183,9 @@ TPtrCompare = function(Obj1, Obj2: Pointer): Integer; TCompare = function(Obj1, Obj2: TObject): Integer; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN TCompare<T> = function(const Obj1, Obj2: T): Integer; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} // comparison for equality functions Type -> Type -> Boolean @@ -217,7 +223,9 @@ TPtrEqualityCompare = function(Obj1, Obj2: Pointer): Boolean; TEqualityCompare = function(Obj1, Obj2: TObject): Boolean; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN TEqualityCompare<T> = function(const Obj1, Obj2: T): Boolean; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} // hash functions Type -> Integer @@ -255,7 +263,9 @@ TPtrHashConvert = function(APtr: Pointer): Integer; THashConvert = function(AObject: TObject): Integer; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN THashConvert<T> = function(const AItem: T): Integer; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} IJclLockable = interface @@ -516,6 +526,7 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IJclEqualityComparer<T> = interface ['{4AF79AD6-D9F4-424B-BEAA-68857F9222B4}'] function GetEqualityCompare: TEqualityCompare<T>; @@ -523,6 +534,7 @@ function ItemsEqual(const A, B: T): Boolean; property EqualityCompare: TEqualityCompare<T> read GetEqualityCompare write SetEqualityCompare; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} @@ -645,6 +657,7 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IJclComparer<T> = interface ['{830AFC8C-AA06-46F5-AABD-8EB46B2A9986}'] function GetCompare: TCompare<T>; @@ -652,6 +665,7 @@ function ItemsCompare(const A, B: T): Integer; property Compare: TCompare<T> read GetCompare write SetCompare; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} @@ -774,6 +788,7 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IJclHashConverter<T> = interface ['{300AEA0E-7433-4C3E-99A6-E533212ACF42}'] function GetHashConvert: THashConvert<T>; @@ -781,6 +796,7 @@ function Hash(const AItem: T): Integer; property HashConvert: THashConvert<T> read GetHashConvert write SetHashConvert; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} IJclIntfCloneable = interface @@ -860,6 +876,8 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + IJclItemOwner<T> = interface ['{0CC220C1-E705-4B21-9F53-4AD340952165}'] function FreeItem(var AItem: T): T; @@ -876,6 +894,8 @@ property OwnsKeys: Boolean read GetOwnsKeys; property OwnsValues: Boolean read GetOwnsValues; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} @@ -1166,6 +1186,7 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IJclIterator<T> = interface(IJclAbstractIterator) ['{6E8547A4-5B5D-4831-8AE3-9C6D04071B11}'] function Add(const AItem: T): Boolean; @@ -1187,6 +1208,7 @@ property Current: T read GetItem; {$ENDIF SUPPORTS_FOR_IN} end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} @@ -1429,6 +1451,7 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IJclTreeIterator<T> = interface(IJclIterator<T>) ['{29A06DA4-D93A-40A5-8581-0FE85BC8384B}'] function AddChild(const AItem: T): Boolean; @@ -1446,6 +1469,7 @@ procedure SetChild(Index: Integer; const AItem: T); property Children[Index: Integer]: T read GetChild write SetChild; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} @@ -1568,6 +1592,7 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IJclBinaryTreeIterator<T> = interface(IJclTreeIterator<T>) ['{0CF5B0FC-C644-458C-BF48-2E093DAFEC26}'] function HasLeft: Boolean; @@ -1575,6 +1600,7 @@ function Left: T; function Right: T; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} @@ -2082,6 +2108,7 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IJclList<T> = interface(IJclCollection<T>) ['{3B4BE3D7-8FF7-4163-91DF-3F73AE6935E7}'] function Delete(Index: Integer): T; @@ -2095,6 +2122,7 @@ function SubList(First, Count: Integer): IJclList<T>; property Items[Key: Integer]: T read GetItem write SetItem; default; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} // Pointer functions for sort algorithms @@ -2132,7 +2160,9 @@ TPtrSortProc = procedure(const AList: IJclPtrList; L, R: Integer; AComparator: TPtrCompare); TSortProc = procedure(const AList: IJclList; L, R: Integer; AComparator: TCompare); {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN TSortProc<T> = procedure(const AList: IJclList<T>; L, R: Integer; AComparator: TCompare<T>); + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} @@ -2243,12 +2273,14 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IJclArray<T> = interface(IJclList<T>) ['{38810C13-E35E-428A-B84F-D25FB994BE8E}'] function GetItem(Index: Integer): T; procedure SetItem(Index: Integer; const AItem: T); property Items[Index: Integer]: T read GetItem write SetItem; default; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} @@ -2359,12 +2391,14 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IJclSet<T> = interface(IJclCollection<T>) ['{0B7CDB90-8588-4260-A54C-D87101C669EA}'] procedure Intersect(const ACollection: IJclCollection<T>); procedure Subtract(const ACollection: IJclCollection<T>); procedure Union(const ACollection: IJclCollection<T>); end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} TJclTraverseOrder = (toPreOrder, toOrder, toPostOrder); @@ -2501,6 +2535,7 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IJclTree<T> = interface(IJclCollection<T>) ['{3F963AB5-5A75-41F9-A21B-7E7FB541A459}'] function GetRoot: IJclTreeIterator<T>; @@ -2509,6 +2544,7 @@ property Root: IJclTreeIterator<T> read GetRoot; property TraverseOrder: TJclTraverseOrder read GetTraverseOrder write SetTraverseOrder; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} @@ -3468,6 +3504,7 @@ end;*) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IHashable = interface function GetHashCode: Integer; end; @@ -3491,6 +3528,8 @@ property Items[const Key: TKey]: TValue read GetValue write PutValue; {$IFNDEF BUGGY_DEFAULT_INDEXED_PROP} default; {$ENDIF ~BUGGY_DEFAULT_INDEXED_PROP} end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} @@ -3649,6 +3688,7 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IJclQueue<T> = interface(IJclContainer) ['{16AB909F-2194-46CF-BD89-B4207AC0CAB8}'] procedure Clear; @@ -3659,6 +3699,7 @@ function Peek: T; function Size: Integer; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} @@ -4139,6 +4180,7 @@ {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IJclSortedMap<TKey,TValue> = interface(IJclMap<TKey,TValue>) ['{C62B75C4-891B-442E-A5D6-9954E75A5C0C}'] function FirstKey: TKey; @@ -4147,6 +4189,7 @@ function SubMap(const FromKey, ToKey: TKey): IJclSortedMap<TKey,TValue>; function TailMap(const FromKey: TKey): IJclSortedMap<TKey,TValue>; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} @@ -4257,12 +4300,14 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IJclSortedSet<T> = interface(IJclSet<T>) ['{30F836E3-2FB1-427E-A499-DFAE201633C8}'] function HeadSet(const Finish: T): IJclSortedSet<T>; function SubSet(const Start, Finish: T): IJclSortedSet<T>; function TailSet(const Start: T): IJclSortedSet<T>; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} @@ -4421,6 +4466,7 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IJclStack<T> = interface(IJclContainer) ['{2F08EAC9-270D-496E-BE10-5E975918A5F2}'] procedure Clear; @@ -4431,6 +4477,7 @@ function Push(const AItem: T): Boolean; function Size: Integer; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} // Exceptions Modified: trunk/jcl/source/common/JclHashMaps.pas =================================================================== --- trunk/jcl/source/common/JclHashMaps.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/common/JclHashMaps.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -2538,6 +2538,8 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + TJclHashEntry<TKey,TValue> = record Key: TKey; Value: TValue; @@ -2685,6 +2687,8 @@ function CreateEmptyContainer: TJclAbstractContainerBase; override; function CreateEmptyArraySet(ACapacity: Integer; AOwnsObjects: Boolean): IJclSet<TKey>; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} function HashMul(Key, Range: Integer): Integer; @@ -27828,6 +27832,8 @@ end; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + //=== { TJclBucket<TKey, TValue> } ========================================== procedure TJclBucket<TKey, TValue>.MoveArray(FromIndex, ToIndex, Count: Integer); @@ -28583,6 +28589,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/common/JclHashSets.pas =================================================================== --- trunk/jcl/source/common/JclHashSets.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/common/JclHashSets.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -54,6 +54,7 @@ type {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN TRefUnique = class; TRefUnique = class(TInterfacedObject, IEquatable<TRefUnique>, IJclEqualityComparer<TRefUnique>) public @@ -65,6 +66,7 @@ function ItemsEqual(const A, B: TRefUnique): Boolean; property EqualityCompare: TEqualityCompare<TRefUnique> read GetEqualityCompare write SetEqualityCompare; end; + //DOM-IGNORE-END {$ELSE ~SUPPORTS_GENERICS} TRefUnique = TInterfacedObject; {$ENDIF ~SUPPORTS_GENERICS} @@ -839,6 +841,7 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN TJclHashSet<T> = class(TJclAbstractContainer<T>, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} IJclIntfCloneable, IJclCloneable, IJclPackable, IJclContainer, IJclItemOwner<T>, IJclEqualityComparer<T>, @@ -945,6 +948,8 @@ { IJclEqualityComparer<T> } function ItemsEqual(const A, B: T): Boolean; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -982,6 +987,7 @@ end; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN //=== { TRefUnique } ========================================================== @@ -1004,6 +1010,8 @@ begin Result := Self = Other; end; + +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} //=== { TJclIntfHashSet } ===================================================== @@ -5408,6 +5416,7 @@ end; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN //=== { TJclHashSet<T> } ===================================================== @@ -5865,6 +5874,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} initialization Modified: trunk/jcl/source/common/JclLinkedLists.pas =================================================================== --- trunk/jcl/source/common/JclLinkedLists.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/common/JclLinkedLists.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -29,7 +29,7 @@ { } {**************************************************************************************************} { } -{ Last modified: $Date:: $ } +{ Last modified: $Date:: $ } { Revision: $Rev:: $ } { Author: $Author:: $ } { } @@ -1130,6 +1130,8 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + TJclLinkedListItem<T> = class public Value: T; @@ -1257,6 +1259,8 @@ { IJclEqualityComparer<T> } function ItemsEqual(const A, B: T): Boolean; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -16343,6 +16347,7 @@ end; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN //=== { TJclLinkedList<T> } ================================================== @@ -17657,6 +17662,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/common/JclQueues.pas =================================================================== --- trunk/jcl/source/common/JclQueues.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/common/JclQueues.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -398,6 +398,7 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN TJclQueue<T> = class(TJclAbstractContainer<T>, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} IJclIntfCloneable, IJclCloneable, IJclPackable, IJclGrowable, IJclContainer, IJclEqualityComparer<T>, IJclItemOwner<T>, @@ -461,6 +462,8 @@ { IJclEqualityComparer<T> } function ItemsEqual(const A, B: T): Boolean; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -3881,6 +3884,7 @@ end; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN //=== { TJclQueue<T> } ======================================================= @@ -4257,6 +4261,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/common/JclSortedMaps.pas =================================================================== --- trunk/jcl/source/common/JclSortedMaps.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/common/JclSortedMaps.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -2368,6 +2368,8 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + TJclSortedEntry<TKey,TValue> = record Key: TKey; Value: TValue; @@ -2499,6 +2501,8 @@ function CreateEmptyContainer: TJclAbstractContainerBase; override; function CreateEmptyArraySet(ACapacity: Integer; AOwnsObjects: Boolean): IJclSet<TKey>; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -29547,6 +29551,7 @@ {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN //=== { TJclSortedMap<TKey,TValue> } ============================================== @@ -30330,6 +30335,7 @@ Result := A.CompareTo(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/common/JclStacks.pas =================================================================== --- trunk/jcl/source/common/JclStacks.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/common/JclStacks.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -364,6 +364,7 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN TJclStack<T> = class(TJclAbstractContainer<T>, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} IJclIntfCloneable, IJclCloneable, IJclPackable, IJclGrowable, IJclContainer, IJclEqualityComparer<T>, IJclItemOwner<T>, @@ -426,6 +427,8 @@ { IJclEqualityComparer<T> } function ItemsEqual(const A, B: T): Boolean; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -2718,6 +2721,7 @@ end; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN //=== { TJclStack<T> } ======================================================= @@ -2965,6 +2969,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/common/JclTrees.pas =================================================================== --- trunk/jcl/source/common/JclTrees.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/common/JclTrees.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -1680,7 +1680,9 @@ function GetPreviousCursor: TJclTreeNode; override; end; -{$IFDEF SUPPORTS_GENERICS} + {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + TJclTreeNode<T> = class public Value: T; @@ -1852,8 +1854,10 @@ { IJclEqualityComparer<T> } function ItemsEqual(const A, B: T): Boolean; override; end; -{$ENDIF SUPPORTS_GENERICS} + //DOM-IGNORE-END + {$ENDIF SUPPORTS_GENERICS} + {$IFDEF UNITVERSIONING} const UnitVersioning: TUnitVersionInfo = ( @@ -18812,6 +18816,8 @@ end; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + //=== { TJclTreeNode<T> } ======================================================= function TJclTreeNode<T>.IndexOfChild(AChild: TJclTreeNode<T>): Integer; @@ -20276,6 +20282,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/common/JclVectors.pas =================================================================== --- trunk/jcl/source/common/JclVectors.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/common/JclVectors.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -1084,6 +1084,8 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + TJclVectorIterator<T> = class; TJclVector<T> = class(TJclAbstractContainer<T>, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} @@ -1207,6 +1209,8 @@ { IJclEqualityComparer<T> } function ItemsEqual(const A, B: T): Boolean; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -11037,6 +11041,8 @@ end; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + //=== { TJclVector<T> } ====================================================== constructor TJclVector<T>.Create(ACapacity: Integer; AOwnsItems: Boolean); @@ -11946,6 +11952,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/prototypes/JclAlgorithms.pas =================================================================== --- trunk/jcl/source/prototypes/JclAlgorithms.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/prototypes/JclAlgorithms.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -146,6 +146,8 @@ {$JPPEXPANDMACRO SORTINT(Sort,,First,Last,, overload;)}*) {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + type // cannot implement generic global functions TJclAlgorithms<T> = class @@ -166,6 +168,8 @@ class {$JPPEXPANDMACRO SORTINT(Sort,IJclList<T>,First,Last,TCompare<T>,)} //class property SortProc: TSortProc<T> read FSortProc write FSortProc; end; + +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} const @@ -882,6 +886,8 @@ end; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + class {$JPPEXPANDMACRO ITERATEIMP(TJclAlgorithms<T>.Iterate,IJclIterator<T>,TIterateProcedure<T>)} class {$JPPEXPANDMACRO APPLYIMP(TJclAlgorithms<T>.Apply,IJclIterator<T>,TApplyFunction<T>,SetItem)} @@ -909,6 +915,8 @@ begin TJclAlgorithms<T>.QuickSort(AList, First, Last, AComparator); end; + +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} Modified: trunk/jcl/source/prototypes/JclArrayLists.pas =================================================================== --- trunk/jcl/source/prototypes/JclArrayLists.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/prototypes/JclArrayLists.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -56,6 +56,8 @@ {$JPPEXPANDMACRO JCLARRAYLISTITRINT(,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + TJclArrayIterator<T> = class; {$JPPEXPANDMACRO JCLARRAYLISTINT(TJclArrayList<T>,TJclAbstractContainer<T>,IJclCollection<T>,IJclList<T>,IJclArray<T>,IJclIterator<T>,TDynArray, IJclItemOwner<T>\, IJclEqualityComparer<T>\,, @@ -107,6 +109,7 @@ function ItemsEqual(const A, B: T): Boolean; override; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -132,6 +135,7 @@ {$JPPEXPANDMACRO JCLARRAYLISTITRIMP(,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN {$JPPEXPANDMACRO JCLARRAYLISTIMP(TJclArrayList<T>,; AOwnsItems: Boolean,AOwnsItems,IJclCollection<T>,IJclIterator<T>,TArrayIterator,IJclList<T>,const ,AItem,GetItem,SetItem,FreeItem,T,Default(T))} @@ -249,6 +253,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/prototypes/JclArraySets.pas =================================================================== --- trunk/jcl/source/prototypes/JclArraySets.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/prototypes/JclArraySets.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -54,6 +54,8 @@ {$JPPEXPANDMACRO JCLARRAYSETINT(,,,,,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + (*$JPPEXPANDMACRO JCLARRAYSETINT(TJclArraySet<T>,TJclArrayList<T>,IJclCollection<T>,IJclList<T>,IJclArray<T>,IJclSet<T>, IJclItemOwner<T>\, IJclEqualityComparer<T>\, IJclComparer<T>\,,,,const ,AItem,T)*) // E = External helper to compare items @@ -99,6 +101,7 @@ function ItemsEqual(const A, B: T): Boolean; override; end; + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -122,6 +125,8 @@ {$JPPEXPANDMACRO JCLARRAYSETIMP(,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + {$JPPEXPANDMACRO JCLARRAYSETIMP(TJclArraySet<T>,IJclCollection<T>,IJclIterator<T>,const ,AItem,T,Default(T),GetItem)} //=== { TJclArraySetE<T> } =================================================== @@ -216,6 +221,7 @@ Result := A.CompareTo(B) = 0; end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/prototypes/JclBinaryTrees.pas =================================================================== --- trunk/jcl/source/prototypes/JclBinaryTrees.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/prototypes/JclBinaryTrees.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -42,8 +42,6 @@ JclUnitVersioning, {$ENDIF UNITVERSIONING} Classes, - {$IFDEF SUPPORTS_GENERICS} - {$ENDIF SUPPORTS_GENERICS} JclBase, JclAbstractContainers, JclAlgorithms, JclContainerIntf, JclSynch; {$I containers\JclContainerCommon.imp} {$I containers\JclBinaryTrees.imp} @@ -59,6 +57,8 @@ {$JPPEXPANDMACRO JCLBINARYTREEITRINT(,,,,,,,,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + (*$JPPEXPANDMACRO JCLBINARYTREETYPESINT(TJclBinaryNode<T>,T)*) TJclBinaryTreeIterator<T> = class; @@ -116,6 +116,8 @@ { IJclEqualityComparer<T> } function ItemsEqual(const A, B: T): Boolean; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} @@ -143,6 +145,8 @@ *) {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + (*$JPPEXPANDMACRO JCLBINARYTREEIMP(TJclBinaryTree<T>,TJclBinaryNode<T>,TPreOrderBinaryTreeIterator,TInOrderBinaryTreeIterator,TPostOrderBinaryTreeIterator,IJclCollection<T>,IJclIterator<T>,IJclTreeIterator<T>,,,AOwnsItems: Boolean,AOwnsItems,const ,AItem,T,Default(T),FreeItem)*) {$JPPEXPANDMACRO JCLBINARYTREEITRIMP(TJclBinaryTreeIterator<T>,TJclPreOrderBinaryTreeIterator<T>,TJclInOrderBinaryTreeIterator<T>,TJclPostOrderBinaryTreeIterator<T>,IJclIterator<T>,IJclCollection<T>,IJclEqualityComparer<T>,TJclBinaryNode<T>,const ,AItem,T,Default(T),GetItem,SetItem,FreeItem)} @@ -225,6 +229,7 @@ Result := A.CompareTo(B) = 0; end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/prototypes/JclContainerIntf.pas =================================================================== --- trunk/jcl/source/prototypes/JclContainerIntf.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/prototypes/JclContainerIntf.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -68,35 +68,45 @@ (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO ITERPROCEDURE(,,,)}*) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN {$JPPEXPANDMACRO ITERPROCEDURE(TIterateProcedure<T>,const ,AItem,T)} + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} // apply functions Type -> Type (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO APPLYFUNCTION(,,,)}*) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN {$JPPEXPANDMACRO APPLYFUNCTION(TApplyFunction<T>,const ,AItem,T)} + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} // comparison functions Type -> Type -> Integer (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO COMPAREFUNCTION(,,)}*) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN {$JPPEXPANDMACRO COMPAREFUNCTION(TCompare<T>,const ,T)} + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} // comparison for equality functions Type -> Type -> Boolean (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO EQUALITYCOMPAREFUNCTION(,,)}*) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN {$JPPEXPANDMACRO EQUALITYCOMPAREFUNCTION(TEqualityCompare<T>,const ,T)} + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} // hash functions Type -> Integer (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO HASHFUNCTION(,,,)}*) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN {$JPPEXPANDMACRO HASHFUNCTION(THashConvert<T>,const ,AItem,T)} + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} IJclLockable = interface @@ -241,21 +251,27 @@ {$JPPEXPANDMACRO EQUALITYCOMPARER(,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO EQUALITYCOMPARER(IJclEqualityComparer<T>,{4AF79AD6-D9F4-424B-BEAA-68857F9222B4},TEqualityCompare<T>,const ,T)*) + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO COMPARER(,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO COMPARER(IJclComparer<T>,{830AFC8C-AA06-46F5-AABD-8EB46B2A9986},TCompare<T>,const ,T)*) + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO HASHCONVERTER(,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO HASHCONVERTER(IJclHashConverter<T>,{300AEA0E-7433-4C3E-99A6-E533212ACF42},THashConvert<T>,const ,AItem,T)*) + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} IJclIntfCloneable = interface @@ -335,6 +351,8 @@ end; {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + IJclItemOwner<T> = interface ['{0CC220C1-E705-4B21-9F53-4AD340952165}'] function FreeItem(var AItem: T): T; @@ -351,27 +369,35 @@ property OwnsKeys: Boolean read GetOwnsKeys; property OwnsValues: Boolean read GetOwnsValues; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO ITERATOR(,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO ITERATOR(IJclIterator<T>,IJclAbstractIterator,{6E8547A4-5B5D-4831-8AE3-9C6D04071B11},const ,AItem,T,GetItem,SetItem)*) + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO TREEITERATOR(,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO TREEITERATOR(IJclTreeIterator<T>,IJclIterator<T>,{29A06DA4-D93A-40A5-8581-0FE85BC8384B},const ,AItem,T)*) + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO BINTREEITERATOR(,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO BINTREEITERATOR(IJclBinaryTreeIterator<T>,IJclTreeIterator<T>,{0CF5B0FC-C644-458C-BF48-2E093DAFEC26},T)*) + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT @@ -387,28 +413,36 @@ {$JPPEXPANDMACRO LIST(,,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO LIST(IJclList<T>,IJclCollection<T>,{3B4BE3D7-8FF7-4163-91DF-3F73AE6935E7},const ,AItem,T,GetItem,SetItem,Items)*) + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} // Pointer functions for sort algorithms (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO SORTPROC(,,)}*) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN {$JPPEXPANDMACRO SORTPROC(TSortProc<T>,IJclList<T>,TCompare<T>)} + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO ARRAY(,,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO ARRAY(IJclArray<T>,IJclList<T>,{38810C13-E35E-428A-B84F-D25FB994BE8E},const ,AItem,T,GetItem,SetItem,Items)*) + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO SET(,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO SET(IJclSet<T>,IJclCollection<T>,{0B7CDB90-8588-4260-A54C-D87101C669EA})*) + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} TJclTraverseOrder = (toPreOrder, toOrder, toPostOrder); @@ -417,7 +451,9 @@ {$JPPEXPANDMACRO TREE(,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO TREE(IJclTree<T>,IJclCollection<T>,{3F963AB5-5A75-41F9-A21B-7E7FB541A459},IJclTreeIterator<T>)*) + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} (*$JPPLOOP ALLMAPINDEX ALLMAPCOUNT @@ -431,18 +467,23 @@ end;*) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN IHashable = interface function GetHashCode: Integer; end; (*$JPPEXPANDMACRO MAP(IJclMap<TKey\,TValue>,IJclContainer,{22624C43-4828-4A1E-BDD4-4A7FE59AE135},const ,TKey,IJclSet<TKey>,const ,TValue,IJclCollection<TValue>)*) + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO QUEUE(,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO QUEUE(IJclQueue<T>,IJclContainer,{16AB909F-2194-46CF-BD89-B4207AC0CAB8},const ,AItem,T)*) + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} (*$JPPLOOP ALLMAPINDEX ALLMAPCOUNT @@ -450,21 +491,27 @@ *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO SORTEDMAP(IJclSortedMap<TKey\,TValue>,IJclMap<TKey\,TValue>,{C62B75C4-891B-442E-A5D6-9954E75A5C0C},const ,TKey)*) + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO SORTEDSET(,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO SORTEDSET(IJclSortedSet<T>,IJclSet<T>,{30F836E3-2FB1-427E-A499-DFAE201633C8},const ,T)*) + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} (*$JPPLOOP ALLTYPEINDEX ALLTYPECOUNT {$JPPEXPANDMACRO STACK(,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO STACK(IJclStack<T>,IJclContainer,{2F08EAC9-270D-496E-BE10-5E975918A5F2},const ,AItem,T)*) + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} // Exceptions Modified: trunk/jcl/source/prototypes/JclHashMaps.pas =================================================================== --- trunk/jcl/source/prototypes/JclHashMaps.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/prototypes/JclHashMaps.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -59,6 +59,8 @@ {$JPPEXPANDMACRO JCLHASHMAPINT(,,,,,,,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + (*$JPPEXPANDMACRO JCLHASHMAPTYPESINT(TJclHashEntry<TKey\,TValue>,TJclBucket<TKey\,TValue>,TKey,TValue)*) (*$JPPEXPANDMACRO JCLHASHMAPINT(TBucket,TJclHashMap<TKey\,TValue>,TJclAbstractContainerBase,IJclMap<TKey\,TValue>,IJclSet<TKey>,IJclCollection<TValue>, IJclPairOwner<TKey\, TValue>\,, @@ -165,6 +167,8 @@ function CreateEmptyContainer: TJclAbstractContainerBase; override; function CreateEmptyArraySet(ACapacity: Integer; AOwnsObjects: Boolean): IJclSet<TKey>; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} function HashMul(Key, Range: Integer): Integer; @@ -201,6 +205,8 @@ {$JPPEXPANDMACRO JCLHASHMAPIMP(,,,,,,,,,,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + {$JPPEXPANDMACRO JCLHASHMAPTYPESIMP(TJclBucket<TKey\, TValue>,Default(TKey),Default(TValue))} {$JPPEXPANDMACRO JCLHASHMAPIMP(TJclHashMap<TKey\, TValue>,TBucket,IJclMap<TKey\, TValue>,IJclSet<TKey>,IJclIterator<TKey>,IJclCollection<TValue>,; AOwnsKeys: Boolean,; AOwnsValues: Boolean, @@ -410,6 +416,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/prototypes/JclHashSets.pas =================================================================== --- trunk/jcl/source/prototypes/JclHashSets.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/prototypes/JclHashSets.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -52,6 +52,7 @@ {$I containers\JclHashSets.int} type {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN TRefUnique = class; TRefUnique = class(TInterfacedObject, IEquatable<TRefUnique>, IJclEqualityComparer<TRefUnique>) public @@ -63,6 +64,7 @@ function ItemsEqual(const A, B: TRefUnique): Boolean; property EqualityCompare: TEqualityCompare<TRefUnique> read GetEqualityCompare write SetEqualityCompare; end; + //DOM-IGNORE-END {$ELSE ~SUPPORTS_GENERICS} TRefUnique = TInterfacedObject; {$ENDIF ~SUPPORTS_GENERICS} @@ -189,6 +191,7 @@ function GetOwnsObjects: Boolean; override;,,,AObject,TObject)*) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO JCLHASHSETINT(TJclHashSet<T>,TJclAbstractContainer<T>,IJclCollection<T>,IJclSet<T>,IJclMap<T\, TRefUnique>,IJclIterator<T>, IJclItemOwner<T>\, IJclEqualityComparer<T>\,, public @@ -241,6 +244,8 @@ { IJclEqualityComparer<T> } function ItemsEqual(const A, B: T): Boolean; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -278,6 +283,7 @@ end; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN //=== { TRefUnique } ========================================================== @@ -300,6 +306,8 @@ begin Result := Self = Other; end; + +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} (*$JPPEXPANDMACRO JCLHASHSETIMP(TJclIntfHashSet,IJclIntfMap,IJclIntfCollection,IJclIntfIterator,,const ,AInterface,IInterface)*) @@ -553,6 +561,7 @@ end; {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO JCLHASHSETIMP(TJclHashSet<T>,IJclMap<T\, TRefUnique>,IJclCollection<T>,IJclIterator<T>,False,const ,AItem,T)*) @@ -664,6 +673,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} initialization Modified: trunk/jcl/source/prototypes/JclLinkedLists.pas =================================================================== --- trunk/jcl/source/prototypes/JclLinkedLists.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/prototypes/JclLinkedLists.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -25,7 +25,7 @@ { } {**************************************************************************************************} { } -{ Last modified: $Date:: $ } +{ Last modified: $Date:: $ } { Revision: $Rev:: $ } { Author: $Author:: $ } { } @@ -60,6 +60,8 @@ {$JPPEXPANDMACRO JCLLINKEDLISTITRINT(,,,,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + (*$JPPEXPANDMACRO JCLLINKEDLISTTYPESINT(TJclLinkedListItem<T>,T)*) TJclLinkedListIterator<T> = class; @@ -111,6 +113,8 @@ { IJclEqualityComparer<T> } function ItemsEqual(const A, B: T): Boolean; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -136,6 +140,7 @@ {$JPPEXPANDMACRO JCLLINKEDLISTITRIMP(,,,,,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN {$JPPEXPANDMACRO JCLLINKEDLISTIMP(TJclLinkedList<T>,TLinkedListItem,IJclCollection<T>,IJclList<T>,IJclIterator<T>,TLinkedListIterator,; AOwnsItems: Boolean,AOwnsItems,const ,AItem,T,Default(T),GetItem,SetItem,FreeItem)} @@ -205,6 +210,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/prototypes/JclQueues.pas =================================================================== --- trunk/jcl/source/prototypes/JclQueues.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/prototypes/JclQueues.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -51,6 +51,7 @@ {$JPPEXPANDMACRO JCLQUEUEINT(,,,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO JCLQUEUEINT(TJclQueue<T>,IJclQueue<T>,TJclAbstractContainer<T>,TDynArray, IJclEqualityComparer<T>\, IJclItemOwner<T>\,, protected @@ -91,6 +92,8 @@ { IJclEqualityComparer<T> } function ItemsEqual(const A, B: T): Boolean; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -114,6 +117,7 @@ {$JPPEXPANDMACRO JCLQUEUEIMP(,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO JCLQUEUEIMP(TJclQueue<T>,; AOwnsItems: Boolean,AOwnsItems,const ,AItem,T,Default(T),FreeItem)*) @@ -215,6 +219,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/prototypes/JclSortedMaps.pas =================================================================== --- trunk/jcl/source/prototypes/JclSortedMaps.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/prototypes/JclSortedMaps.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -54,6 +54,8 @@ {$JPPEXPANDMACRO JCLSORTEDMAPINT(,,,,,,,,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + (*$JPPEXPANDMACRO JCLSORTEDMAPTYPESINT(TJclSortedEntry<TKey\,TValue>,TKey,TValue)*) (*$JPPEXPANDMACRO JCLSORTEDMAPINT(TSortedEntry,TJclSortedMap<TKey\,TValue>,TJclAbstractContainerBase,IJclMap<TKey\,TValue>,IJclSortedMap<TKey\,TValue>,IJclSet<TKey>,IJclCollection<TValue>, IJclPairOwner<TKey\,TValue>\,, @@ -147,6 +149,8 @@ function CreateEmptyContainer: TJclAbstractContainerBase; override; function CreateEmptyArraySet(ACapacity: Integer; AOwnsObjects: Boolean): IJclSet<TKey>; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -171,6 +175,7 @@ *) {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN {$JPPEXPANDMACRO JCLSORTEDMAPIMP(TJclSortedMap<TKey\,TValue>,IJclMap<TKey\,TValue>,IJclSortedMap<TKey\,TValue>,IJclSet<TKey>,IJclIterator<TKey>,IJclCollection<TValue>,; AOwnsKeys: Boolean,; AOwnsValues: Boolean, FOwnsKeys := AOwnsKeys; @@ -360,6 +365,7 @@ Result := A.CompareTo(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/prototypes/JclStacks.pas =================================================================== --- trunk/jcl/source/prototypes/JclStacks.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/prototypes/JclStacks.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -54,6 +54,7 @@ {$JPPEXPANDMACRO JCLSTACKINT(,,,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO JCLSTACKINT(TJclStack<T>,IJclStack<T>,TJclAbstractContainer<T>,TDynArray, IJclEqualityComparer<T>\, IJclItemOwner<T>\,, protected @@ -96,6 +97,8 @@ { IJclEqualityComparer<T> } function ItemsEqual(const A, B: T): Boolean; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -119,6 +122,7 @@ {$JPPEXPANDMACRO JCLSTACKIMP(,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN (*$JPPEXPANDMACRO JCLSTACKIMP(TJclStack<T>,; AOwnsItems: Boolean,AOwnsItems,const ,AItem,T,Default(T),FreeItem)*) @@ -185,6 +189,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/prototypes/JclTrees.pas =================================================================== --- trunk/jcl/source/prototypes/JclTrees.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/prototypes/JclTrees.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -57,7 +57,9 @@ {$JPPEXPANDMACRO JCLTREEITRINT(,,,,,,,,,,,,,)} *) -{$IFDEF SUPPORTS_GENERICS} + {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + {$JPPEXPANDMACRO JCLTREETYPESINT(TJclTreeNode<T>,IJclEqualityComparer<T>,const ,AItem,T)} TJclPreOrderTreeIterator<T> = class; @@ -108,8 +110,10 @@ { IJclEqualityComparer<T> } function ItemsEqual(const A, B: T): Boolean; override; end; -{$ENDIF SUPPORTS_GENERICS} + //DOM-IGNORE-END + {$ENDIF SUPPORTS_GENERICS} + {$IFDEF UNITVERSIONING} const UnitVersioning: TUnitVersionInfo = ( @@ -135,6 +139,8 @@ {$JPPEXPANDMACRO JCLTREEITRIMP(,,,,,,,,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + {$JPPEXPANDMACRO JCLTREETYPESIMP(TJclTreeNode<T>,IJclEqualityComparer<T>,const ,AItem,T)} {$JPPEXPANDMACRO JCLTREEIMP(TTreeNode,TJclTree<T>,TPreOrderTreeIterator,TPostOrderTreeIterator,IJclCollection<T>,IJclIterator<T>,IJclTreeIterator<T>,IJclEqualityComparer<T>,AOwnsItems: Boolean,AOwnsItems,const ,AItem,T,Default(T),FreeItem)} @@ -200,6 +206,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} Modified: trunk/jcl/source/prototypes/JclVectors.pas =================================================================== --- trunk/jcl/source/prototypes/JclVectors.pas 2010-09-20 10:22:39 UTC (rev 3343) +++ trunk/jcl/source/prototypes/JclVectors.pas 2010-09-20 19:18:26 UTC (rev 3344) @@ -58,6 +58,8 @@ {$JPPEXPANDMACRO JCLVECTORITRINT(,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} + //DOM-IGNORE-BEGIN + TJclVectorIterator<T> = class; (*$JPPEXPANDMACRO JCLVECTORINT(TJclVector<T>,TJclAbstractContainer<T>,IJclCollection<T>,IJclList<T>,IJclArray<T>,IJclIterator<T>, IJclItemOwner<T>\, IJclEqualityComparer<T>\,, @@ -105,6 +107,8 @@ { IJclEqualityComparer<T> } function ItemsEqual(const A, B: T): Boolean; override; end; + + //DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} @@ -130,6 +134,8 @@ {$JPPEXPANDMACRO JCLVECTORITRIMP(,,,,,,,)} *) {$IFDEF SUPPORTS_GENERICS} +//DOM-IGNORE-BEGIN + (*$JPPEXPANDMACRO JCLVECTORIMP(TJclVector<T>,IJclCollection<T>,IJclList<T>,IJclIterator<T>,TVectorIterator,; AOwnsItems: Boolean,AOwnsItems,const ,AItem,T,Default(T),GetItem,SetItem,FreeItem)*) (*$JPPEXPANDMACRO JCLVECTORITRIMP(TJclVectorIterator<T>,IJclIterator<T>,IJclList<T>,const ,AItem,T,GetItem,SetItem)*) @@ -232,6 +238,7 @@ Result := A.Equals(B); end; +//DOM-IGNORE-END {$ENDIF SUPPORTS_GENERICS} {$IFDEF UNITVERSIONING} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2010-09-20 10:22:47
|
Revision: 3343 http://jcl.svn.sourceforge.net/jcl/?rev=3343&view=rev Author: outchy Date: 2010-09-20 10:22:39 +0000 (Mon, 20 Sep 2010) Log Message: ----------- The JCL help is not intended to provide documentation for API wrappers. Update help version numbers to JCL 2.3. Modified Paths: -------------- trunk/help/JCLHelp.dox trunk/help/NTFS.dtx trunk/help/Win32.dtx trunk/jcl/source/common/bzip2.pas trunk/jcl/source/common/pcre.pas trunk/jcl/source/common/zlibh.pas trunk/jcl/source/prototypes/Hardlinks.pas trunk/jcl/source/prototypes/JclWin32.pas trunk/jcl/source/windows/Hardlinks.pas trunk/jcl/source/windows/JclWin32.pas trunk/jcl/source/windows/MSHelpServices_TLB.pas trunk/jcl/source/windows/MSTask.pas trunk/jcl/source/windows/Snmp.pas trunk/jcl/source/windows/mscoree_TLB.pas trunk/jcl/source/windows/mscorlib_TLB.pas trunk/jcl/source/windows/sevenzip.pas Modified: trunk/help/JCLHelp.dox =================================================================== --- trunk/help/JCLHelp.dox 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/help/JCLHelp.dox 2010-09-20 10:22:39 UTC (rev 3343) @@ -28361,7 +28361,7 @@ GraphBorder=0 LayoutDirection=1 LevelSpacing=30 -MaxNodeWidth=200 +MaxNodeWidth=350 MinNodeHeight=15 MinNodeWidth=30 NodesAdjustWidthToGrid=0 @@ -28383,8 +28383,8 @@ BackgroundColor=16777215 BorderColor=0 GradientBaseColor=10070188 -HighlightColor=-2147483635 -HighlightFontColor=-2147483634 +HighlightColor=-16777203 +HighlightFontColor=-16777202 Show=1 Style=0 StyleOptions=7 @@ -28394,7 +28394,7 @@ Charset=1 Color=0 Height=-9 -Name=Tahoma +Name=Segoe UI Orientation=0 Pitch=0 Size=7 @@ -28410,8 +28410,8 @@ BackgroundColor=13434829 BorderColor=0 GradientBaseColor=11197867 -HighlightColor=-2147483635 -HighlightFontColor=-2147483634 +HighlightColor=-16777203 +HighlightFontColor=-16777202 Show=1 Style=0 StyleOptions=7 @@ -28421,7 +28421,7 @@ Charset=1 Color=0 Height=-9 -Name=Tahoma +Name=Segoe UI Orientation=0 Pitch=0 Size=7 @@ -28437,8 +28437,8 @@ BackgroundColor=13434829 BorderColor=0 GradientBaseColor=11197867 -HighlightColor=-2147483635 -HighlightFontColor=-2147483634 +HighlightColor=-16777203 +HighlightFontColor=-16777202 Show=1 Style=0 StyleOptions=7 @@ -28448,7 +28448,7 @@ Charset=1 Color=0 Height=-9 -Name=Tahoma +Name=Segoe UI Orientation=0 Pitch=0 Size=7 @@ -28464,8 +28464,8 @@ BackgroundColor=16764313 BorderColor=0 GradientBaseColor=14527351 -HighlightColor=-2147483635 -HighlightFontColor=-2147483634 +HighlightColor=-16777203 +HighlightFontColor=-16777202 Show=1 Style=0 StyleOptions=7 @@ -28475,7 +28475,7 @@ Charset=1 Color=0 Height=-9 -Name=Tahoma +Name=Segoe UI Orientation=0 Pitch=0 Size=7 @@ -28491,8 +28491,8 @@ BackgroundColor=131071 BorderColor=0 GradientBaseColor=56797 -HighlightColor=-2147483635 -HighlightFontColor=-2147483634 +HighlightColor=-16777203 +HighlightFontColor=-16777202 Show=0 Style=3 StyleOptions=7 @@ -28502,7 +28502,7 @@ Charset=1 Color=0 Height=-9 -Name=Tahoma +Name=Segoe UI Orientation=0 Pitch=0 Size=7 @@ -28518,8 +28518,8 @@ BackgroundColor=131071 BorderColor=0 GradientBaseColor=56797 -HighlightColor=-2147483635 -HighlightFontColor=-2147483634 +HighlightColor=-16777203 +HighlightFontColor=-16777202 Show=0 Style=3 StyleOptions=7 @@ -28529,7 +28529,7 @@ Charset=1 Color=0 Height=-9 -Name=Tahoma +Name=Segoe UI Orientation=0 Pitch=0 Size=7 @@ -28545,8 +28545,8 @@ BackgroundColor=16777215 BorderColor=0 GradientBaseColor=10070188 -HighlightColor=-2147483635 -HighlightFontColor=-2147483634 +HighlightColor=-16777203 +HighlightFontColor=-16777202 Show=1 Style=0 StyleOptions=7 @@ -28556,7 +28556,7 @@ Charset=1 Color=0 Height=-9 -Name=Tahoma +Name=Segoe UI Orientation=0 Pitch=0 Size=7 @@ -28572,8 +28572,8 @@ BackgroundColor=52479 BorderColor=0 GradientBaseColor=43741 -HighlightColor=-2147483635 -HighlightFontColor=-2147483634 +HighlightColor=-16777203 +HighlightFontColor=-16777202 Show=1 Style=2 StyleOptions=7 @@ -28583,7 +28583,7 @@ Charset=1 Color=0 Height=-9 -Name=Tahoma +Name=Segoe UI Orientation=0 Pitch=0 Size=7 @@ -28599,8 +28599,8 @@ BackgroundColor=3394407 BorderColor=0 GradientBaseColor=1157445 -HighlightColor=-2147483635 -HighlightFontColor=-2147483634 +HighlightColor=-16777203 +HighlightFontColor=-16777202 Show=1 Style=0 StyleOptions=7 @@ -28610,7 +28610,7 @@ Charset=1 Color=0 Height=-9 -Name=Tahoma +Name=Segoe UI Orientation=0 Pitch=0 Size=7 @@ -28626,8 +28626,8 @@ BackgroundColor=16777215 BorderColor=0 GradientBaseColor=10070188 -HighlightColor=-2147483635 -HighlightFontColor=-2147483634 +HighlightColor=-16777203 +HighlightFontColor=-16777202 Show=1 Style=0 StyleOptions=7 @@ -28637,7 +28637,7 @@ Charset=1 Color=0 Height=-9 -Name=Tahoma +Name=Segoe UI Orientation=0 Pitch=0 Size=7 @@ -136632,7 +136632,7 @@ TypeDefStructsAsStructs=1 VersionBuild=0 VersionMajor=2 -VersionMinor=2 +VersionMinor=3 VersionRelease=0 [Generic Sources] Modified: trunk/help/NTFS.dtx =================================================================== --- trunk/help/NTFS.dtx 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/help/NTFS.dtx 2010-09-20 10:22:39 UTC (rev 3343) @@ -755,16 +755,11 @@ NtfsGetReparsePoint Donator: Marcel van Brakel -@@_REPARSE_GUID_DATA_BUFFER.ReparseTag - Reparse tag. This member uniquely identifies the structure of the reparse data. -@@_REPARSE_GUID_DATA_BUFFER.ReparseDataLength - Size, in bytes, of the data in the GenericReparseBuffer member. -@@_REPARSE_GUID_DATA_BUFFER.Reserved - Reserved. -@@_REPARSE_GUID_DATA_BUFFER.ReparseGuid - GUID which uniquely identifies the kind of reparse tag. -@@_REPARSE_GUID_DATA_BUFFER.GenericReparseBuffer - User defined data for the reparse point. + + + + + @@TReparseGuidDataBuffer <GROUP FilesandIO.FileSystems.NTFS> <COMBINE _REPARSE_GUID_DATA_BUFFER> Modified: trunk/help/Win32.dtx =================================================================== --- trunk/help/Win32.dtx 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/help/Win32.dtx 2010-09-20 10:22:39 UTC (rev 3343) @@ -1179,20 +1179,9 @@ SHDllGetVersion Donator: Marcel van Brakel -@@_DLLVERSIONINFO.cbSize - Set to the size of this record. Initialize is done by SHDllGetVersion. -@@_DLLVERSIONINFO.dwMajorVersion - Major version of the DLL -@@_DLLVERSIONINFO.dwMinorVersion - Minor version of the DLL -@@_DLLVERSIONINFO.dwBuildNumber - Build number of the DLL -@@_DLLVERSIONINFO.dwPlatformId - Identifies the platform for which this DLL was built. Can be - DLLVER_PLATFORM_WINDOWS or DLLVER_PLATFORM_NT which indicate - generic Windows and Windows NT respectively. -@@DLLVERSIONINFO -<COMBINE _DLLVERSIONINFO> -@@TDllVersionInfo -<COMBINE _DLLVERSIONINFO> --------------------------------------------------------------------------------- \ No newline at end of file + + + + + + Modified: trunk/jcl/source/common/bzip2.pas =================================================================== --- trunk/jcl/source/common/bzip2.pas 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/jcl/source/common/bzip2.pas 2010-09-20 10:22:39 UTC (rev 3343) @@ -44,6 +44,8 @@ {$ENDIF UNITVERSIONING} JclBase; // PByte, PCardinal for Delphi 5 and C++Builder 5... +//DOM-IGNORE-BEGIN + { /*-------------------------------------------------------------*/ /*--- Public header file for the library. ---*/ @@ -303,6 +305,8 @@ var bz2_internal_error_event: procedure(errcode: Integer) of object = nil; +//DOM-IGNORE-END + function LoadBZip2: Boolean; function IsBZip2Loaded: Boolean; procedure UnloadBZip2; Modified: trunk/jcl/source/common/pcre.pas =================================================================== --- trunk/jcl/source/common/pcre.pas 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/jcl/source/common/pcre.pas 2010-09-20 10:22:39 UTC (rev 3343) @@ -50,6 +50,8 @@ {$ENDIF UNITVERSIONING} JclBase; +//DOM-IGNORE-BEGIN + (************************************************* * Perl-Compatible Regular Expressions * *************************************************) @@ -579,6 +581,8 @@ {$ENDIF PCRE_LINKONREQUEST} +//DOM-IGNORE-END + function IsPCRELoaded: Boolean; function LoadPCRE: Boolean; procedure UnloadPCRE; Modified: trunk/jcl/source/common/zlibh.pas =================================================================== --- trunk/jcl/source/common/zlibh.pas 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/jcl/source/common/zlibh.pas 2010-09-20 10:22:39 UTC (rev 3343) @@ -72,6 +72,8 @@ {$ENDIF UNITVERSIONING} JclBase; +//DOM-IGNORE-BEGIN + {$IFNDEF FPC} type {$IFDEF UNIX} @@ -2018,6 +2020,8 @@ DEF_MEM_LEVEL = 8; {$EXTERNALSYM DEF_MEM_LEVEL} +//DOM-IGNORE-END + function IsZLibLoaded: Boolean; function LoadZLib: Boolean; procedure UnloadZLib; Modified: trunk/jcl/source/prototypes/Hardlinks.pas =================================================================== --- trunk/jcl/source/prototypes/Hardlinks.pas 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/jcl/source/prototypes/Hardlinks.pas 2010-09-20 10:22:39 UTC (rev 3343) @@ -178,6 +178,9 @@ {$DEFINE RTDL // Use runtime dynamic linking } {$DEFINE PREFERAPI // Prefer the "real" Windows API on systems on which it exists // If this is defined STDCALL is automatically needed and defined! } + +//DOM-IGNORE-BEGIN + {$ENDIF JCL} (* @@ -228,6 +231,10 @@ bRtdlFunctionsLoaded: Boolean = False; // To show wether the RTDL functions had been loaded {$ENDIF RTDL} +{$IFDEF JCL} +//DOM-IGNORE-END +{$ENDIF JCL} + {$IFDEF UNITVERSIONING} const UnitVersioning: TUnitVersionInfo = ( Modified: trunk/jcl/source/prototypes/JclWin32.pas =================================================================== --- trunk/jcl/source/prototypes/JclWin32.pas 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/jcl/source/prototypes/JclWin32.pas 2010-09-20 10:22:39 UTC (rev 3343) @@ -108,6 +108,8 @@ end; {$ENDIF MSWINDOWS} +//DOM-IGNORE-BEGIN + {$I win32api\WinDef.int} {$I win32api\WinNT.int} {$I win32api\WinBase.int} @@ -137,6 +139,8 @@ {$I win32api\TlHelp32.int} {$I win32api\Winternl.int} +//DOM-IGNORE-END + {$IFDEF MSWINDOWS} const Modified: trunk/jcl/source/windows/Hardlinks.pas =================================================================== --- trunk/jcl/source/windows/Hardlinks.pas 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/jcl/source/windows/Hardlinks.pas 2010-09-20 10:22:39 UTC (rev 3343) @@ -55,6 +55,9 @@ {$I jcl.inc} +//DOM-IGNORE-BEGIN + + (* All possible combinations of the above DEFINEs have been tested and work fine. @@ -90,6 +93,8 @@ hNtDll: THandle = 0; // For runtime dynamic linking bRtdlFunctionsLoaded: Boolean = False; // To show wether the RTDL functions had been loaded +//DOM-IGNORE-END + {$IFDEF UNITVERSIONING} const UnitVersioning: TUnitVersionInfo = ( Modified: trunk/jcl/source/windows/JclWin32.pas =================================================================== --- trunk/jcl/source/windows/JclWin32.pas 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/jcl/source/windows/JclWin32.pas 2010-09-20 10:22:39 UTC (rev 3343) @@ -110,6 +110,8 @@ property LastErrorMsg: string read FLastErrorMsg; end; +//DOM-IGNORE-BEGIN + {$IFNDEF FPC} // @@ -2973,7 +2975,6 @@ // line 3189 - function BackupSeek(hFile: THandle; dwLowBytesToSeek, dwHighBytesToSeek: DWORD; out lpdwLowByteSeeked, lpdwHighByteSeeked: DWORD; var lpContext: Pointer): BOOL; stdcall; @@ -3097,18 +3098,15 @@ {$EXTERNALSYM SetExtendedFeaturesMask} - // From JwaAclApi // line 185 - function SetNamedSecurityInfoW(pObjectName: LPWSTR; ObjectType: SE_OBJECT_TYPE; SecurityInfo: SECURITY_INFORMATION; psidOwner, psidGroup: PSID; pDacl, pSacl: PACL): DWORD; stdcall; {$EXTERNALSYM SetNamedSecurityInfoW} - const IMAGE_SEPARATION = (64*1024); {$EXTERNALSYM IMAGE_SEPARATION} @@ -3139,7 +3137,6 @@ // line 152 - function ReBaseImage(CurrentImageName: PAnsiChar; SymbolPath: PAnsiChar; fReBase: BOOL; fRebaseSysfileOk: BOOL; fGoingDown: BOOL; CheckImageSize: ULONG; var OldImageSize: ULONG; var OldImageBase: ULONG_PTR; var NewImageSize: ULONG; @@ -3194,7 +3191,6 @@ {$EXTERNALSYM ImageRvaToVa} - // line 461 // @@ -7540,7 +7536,9 @@ +//DOM-IGNORE-END + const RtdlSetNamedSecurityInfoW: function(pObjectName: LPWSTR; ObjectType: SE_OBJECT_TYPE; SecurityInfo: SECURITY_INFORMATION; psidOwner, psidGroup: PSID; Modified: trunk/jcl/source/windows/MSHelpServices_TLB.pas =================================================================== --- trunk/jcl/source/windows/MSHelpServices_TLB.pas 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/jcl/source/windows/MSHelpServices_TLB.pas 2010-09-20 10:22:39 UTC (rev 3343) @@ -72,8 +72,9 @@ JclUnitVersioning, {$ENDIF UNITVERSIONING} ActiveX, Classes; - +//DOM-IGNORE-BEGIN + // *********************************************************************// // GUIDS declared in the TypeLibrary. Following prefixes are used: // Type Libraries : LIBID_xxxx @@ -1590,6 +1591,8 @@ class function CreateRemote(const MachineName: string): IHxRegisterProtocol; end; +//DOM-IGNORE-END + {$IFDEF UNITVERSIONING} const UnitVersioning: TUnitVersionInfo = ( Modified: trunk/jcl/source/windows/MSTask.pas =================================================================== --- trunk/jcl/source/windows/MSTask.pas 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/jcl/source/windows/MSTask.pas 2010-09-20 10:22:39 UTC (rev 3343) @@ -55,6 +55,7 @@ ActiveX, Windows; +//DOM-IGNORE-BEGIN (*$HPPEMIT '#include <MSTask.h>' *) @@ -691,6 +692,8 @@ {$EXTERNALSYM CLSID_CSchedulingAgent} CLSID_CSchedulingAgent: TCLSID = (D1: $148BD52A; D2: $A2AB; D3: $11CE; D4: ($B1, $1F, $00, $AA, $00, $53, $05, $03)); +//DOM-IGNORE-END + {$IFDEF UNITVERSIONING} const UnitVersioning: TUnitVersionInfo = ( Modified: trunk/jcl/source/windows/Snmp.pas =================================================================== --- trunk/jcl/source/windows/Snmp.pas 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/jcl/source/windows/Snmp.pas 2010-09-20 10:22:39 UTC (rev 3343) @@ -64,6 +64,8 @@ {$ENDIF UNITVERSIONING} Windows, SysUtils; +//DOM-IGNORE-BEGIN + (*$HPPEMIT '#include <snmp.h>'*) type @@ -654,6 +656,8 @@ SnmpExtensionClose: TSnmpExtensionClose; {$EXTERNALSYM SnmpExtensionClose} +//DOM-IGNORE-END + function SnmpExtensionLoaded: Boolean; function LoadSnmpExtension(const LibName: string): Boolean; function UnloadSnmpExtension: Boolean; Modified: trunk/jcl/source/windows/mscoree_TLB.pas =================================================================== --- trunk/jcl/source/windows/mscoree_TLB.pas 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/jcl/source/windows/mscoree_TLB.pas 2010-09-20 10:22:39 UTC (rev 3343) @@ -1,6 +1,6 @@ {**************************************************************************************************} { } -{ Last modified: $Date:: $ } +{ Last modified: $Date:: $ } { Revision: $Rev:: $ } { Author: $Author:: $ } { } @@ -57,6 +57,8 @@ ActiveX, Classes; +//DOM-IGNORE-BEGIN + {$HPPEMIT '#include <winnt.h>'} // *********************************************************************// @@ -437,6 +439,8 @@ class function CreateRemote(const MachineName: string): ICorRuntimeHost; end; +//DOM-IGNORE-END + {$IFDEF UNITVERSIONING} const UnitVersioning: TUnitVersionInfo = ( Modified: trunk/jcl/source/windows/mscorlib_TLB.pas =================================================================== --- trunk/jcl/source/windows/mscorlib_TLB.pas 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/jcl/source/windows/mscorlib_TLB.pas 2010-09-20 10:22:39 UTC (rev 3343) @@ -1,6 +1,6 @@ {**************************************************************************************************} { } -{ Last modified: $Date:: $ } +{ Last modified: $Date:: $ } { Revision: $Rev:: $ } { Author: $Author:: $ } { } @@ -75,6 +75,7 @@ ActiveX, Classes; +//DOM-IGNORE-BEGIN // *********************************************************************// // GUIDS declared in the TypeLibrary. Following prefixes are used: @@ -26627,6 +26628,8 @@ class function CreateRemote(const MachineName: string): _EnumBuilder; end; +//DOM-IGNORE-END + {$IFDEF UNITVERSIONING} const UnitVersioning: TUnitVersionInfo = ( Modified: trunk/jcl/source/windows/sevenzip.pas =================================================================== --- trunk/jcl/source/windows/sevenzip.pas 2010-09-20 09:30:57 UTC (rev 3342) +++ trunk/jcl/source/windows/sevenzip.pas 2010-09-20 10:22:39 UTC (rev 3343) @@ -65,6 +65,8 @@ {$ENDIF UNITVERSIONING} JclBase; +//DOM-IGNORE-BEGIN + // Guid.txt const CLSID_CCodec : TGUID = '{23170F69-40C1-2790-0000-000000000000}'; @@ -624,6 +626,8 @@ function SetLargePageMode: HRESULT; stdcall; {$ENDIF ~7ZIP_LINKONREQUEST} +//DOM-IGNORE-END + function Load7Zip: Boolean; function Is7ZipLoaded: Boolean; procedure Unload7Zip; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |