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...> - 2007-08-19 12:13:23
|
Revision: 2137
http://jcl.svn.sourceforge.net/jcl/?rev=2137&view=rev
Author: outchy
Date: 2007-08-19 05:12:36 -0700 (Sun, 19 Aug 2007)
Log Message:
-----------
fixing zip extraction error.
Modified Paths:
--------------
branches/compression/jcl/source/common/JclStreams.pas
Modified: branches/compression/jcl/source/common/JclStreams.pas
===================================================================
--- branches/compression/jcl/source/common/JclStreams.pas 2007-08-19 11:44:35 UTC (rev 2136)
+++ branches/compression/jcl/source/common/JclStreams.pas 2007-08-19 12:12:36 UTC (rev 2137)
@@ -1565,7 +1565,7 @@
if RemainingOffset < 0 then
begin
// FPosition > ExpectedPosition, seek backward
- if FVolumePosition > -RemainingOffset then
+ if FVolumePosition >= -RemainingOffset then
begin
// seek in current volume
FVolumePosition := StreamSeek(FVolume, FVolumePosition + RemainingOffset, soBeginning);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-08-19 11:44:38
|
Revision: 2136
http://jcl.svn.sourceforge.net/jcl/?rev=2136&view=rev
Author: outchy
Date: 2007-08-19 04:44:35 -0700 (Sun, 19 Aug 2007)
Log Message:
-----------
reworking sevenzip support: using objects instead of records.
Modified Paths:
--------------
branches/compression/jcl/examples/windows/compression/archive/UMain.dfm
branches/compression/jcl/examples/windows/compression/archive/UMain.pas
branches/compression/jcl/source/common/JclBase.pas
branches/compression/jcl/source/common/JclCompression.pas
branches/compression/jcl/source/common/JclResources.pas
branches/compression/jcl/source/windows/sevenzip.pas
Modified: branches/compression/jcl/examples/windows/compression/archive/UMain.dfm
===================================================================
--- branches/compression/jcl/examples/windows/compression/archive/UMain.dfm 2007-08-17 15:39:08 UTC (rev 2135)
+++ branches/compression/jcl/examples/windows/compression/archive/UMain.dfm 2007-08-19 11:44:35 UTC (rev 2136)
@@ -146,7 +146,6 @@
TabOrder = 1
ViewStyle = vsReport
OnData = ListView1Data
- ExplicitHeight = 252
end
object ProgressBar1: TProgressBar
Left = 0
@@ -155,9 +154,6 @@
Height = 16
Align = alBottom
TabOrder = 2
- ExplicitLeft = 440
- ExplicitTop = 272
- ExplicitWidth = 150
end
object ActionList1: TActionList
Left = 128
Modified: branches/compression/jcl/examples/windows/compression/archive/UMain.pas
===================================================================
--- branches/compression/jcl/examples/windows/compression/archive/UMain.pas 2007-08-17 15:39:08 UTC (rev 2135)
+++ branches/compression/jcl/examples/windows/compression/archive/UMain.pas 2007-08-19 11:44:35 UTC (rev 2136)
@@ -84,7 +84,7 @@
(FArchive as TJclCompressArchive).AddDirectory(ExtractFileName(Directory), Directory, True, True);
ListView1.Items.BeginUpdate;
try
- while ListView1.Items.Count < FArchive.FileCount do
+ while ListView1.Items.Count < FArchive.ItemCount do
ListView1.Items.Add;
finally
ListView1.Items.EndUpdate;
@@ -140,15 +140,15 @@
if FileCtrl.SelectDirectory('Target directory', '', Directory, [sdNewUI], Self) then
begin
for Index := 0 to ListView1.Items.Count - 1 do
- FArchive.Selected[Index] := ListView1.Items.Item[Index].Selected;
-
+ FArchive.Items[Index].Selected := ListView1.Items.Item[Index].Selected;
+
(FArchive as TJclDecompressArchive).ExtractSelected(Directory, True);
end;
end;
procedure TForm1.ActionExtractSelectedUpdate(Sender: TObject);
begin
- (Sender as TAction).Enabled := (FArchive is TJclDecompressArchive) and (ListView1.SelCount > 0);
+// (Sender as TAction).Enabled := (FArchive is TJclDecompressArchive) and (ListView1.SelCount > 0);
end;
procedure TForm1.ActionNewExecute(Sender: TObject);
@@ -278,7 +278,7 @@
(FArchive as TJclDecompressArchive).ListFiles;
ListView1.Items.BeginUpdate;
try
- while ListView1.Items.Count < FArchive.FileCount do
+ while ListView1.Items.Count < FArchive.ItemCount do
ListView1.Items.Add;
finally
ListView1.Items.EndUpdate;
@@ -327,7 +327,7 @@
procedure TForm1.ListView1Data(Sender: TObject; Item: TListItem);
var
- Index: Integer;
+ CompressionItem: TJclCompressionItem;
begin
if not Assigned(FArchive) then
begin
@@ -335,22 +335,23 @@
Item.SubItems.Clear;
Exit;
end;
-
- Index := Item.Index;
- Item.Caption := FArchive.DiskFileNames[Index];
+
+ CompressionItem := FArchive.Items[Item.Index];
+
+ Item.Caption := CompressionItem.FileName;
Item.SubItems.Clear;
- Item.SubItems.Add(FArchive.ArchiveFileNames[Index]);
- Item.SubItems.Add(IntToStr(FArchive.FileSizes[Index]));
- Item.SubItems.Add(IntToStr(FArchive.FilePackedSizes[Index]));
- Item.SubItems.Add(FileTimeToString(FArchive.FileCreationTimes[Index]));
- Item.SubItems.Add(FileTimeToString(FArchive.FileLastAccessTimes[Index]));
- Item.SubItems.Add(FileTimeToString(FArchive.FileLastWriteTime[Index]));
- Item.SubItems.Add(FArchive.FileComments[Index]);
- Item.SubItems.Add(FArchive.FileHostOS[Index]);
- Item.SubItems.Add(FArchive.FileHostFS[Index]);
- Item.SubItems.Add(FArchive.FileUsers[Index]);
- Item.SubItems.Add(FArchive.FileGroups[Index]);
- Item.SubItems.Add(IntToHex(FArchive.FileCRC[Index], 8));
+ Item.SubItems.Add(CompressionItem.PackedName);
+ Item.SubItems.Add(IntToStr(CompressionItem.FileSize));
+ Item.SubItems.Add(IntToStr(CompressionItem.PackedSize));
+ Item.SubItems.Add(FileTimeToString(CompressionItem.CreationTime));
+ Item.SubItems.Add(FileTimeToString(CompressionItem.LastAccessTime));
+ Item.SubItems.Add(FileTimeToString(CompressionItem.LastWriteTime));
+ Item.SubItems.Add(CompressionItem.Comment);
+ Item.SubItems.Add(CompressionItem.HostOS);
+ Item.SubItems.Add(CompressionItem.HostFS);
+ Item.SubItems.Add(CompressionItem.User);
+ Item.SubItems.Add(CompressionItem.Group);
+ Item.SubItems.Add(IntToHex(CompressionItem.CRC, 8));
end;
initialization
Modified: branches/compression/jcl/source/common/JclBase.pas
===================================================================
--- branches/compression/jcl/source/common/JclBase.pas 2007-08-17 15:39:08 UTC (rev 2135)
+++ branches/compression/jcl/source/common/JclBase.pas 2007-08-19 11:44:35 UTC (rev 2136)
@@ -131,9 +131,9 @@
{$IFNDEF COMPILER7_UP}
UInt64 = Int64;
{$ENDIF ~COMPILER7_UP}
- PUInt64 = ^UInt64;
- PPUInt64 = ^PUInt64;
+ {$IFNDEF CLR}
PPInt64 = ^PInt64;
+ {$ENDIF CLR}
// Interface compatibility
{$IFDEF SUPPORTS_INTERFACE}
Modified: branches/compression/jcl/source/common/JclCompression.pas
===================================================================
--- branches/compression/jcl/source/common/JclCompression.pas 2007-08-17 15:39:08 UTC (rev 2135)
+++ branches/compression/jcl/source/common/JclCompression.pas 2007-08-19 11:44:35 UTC (rev 2136)
@@ -60,7 +60,7 @@
{$IFDEF HAS_UNIT_LIBC}
Libc,
{$ENDIF HAS_UNIT_LIBC}
- SysUtils, Classes,
+ SysUtils, Classes, Contnrs,
zlibh, bzip2,
JclBase, JclStreams;
@@ -291,7 +291,7 @@
FCompressionLevel: TJclCompressionLevel;
FFatSystem: TJclGZIPFatSystem;
FExtraField: string;
- FOriginalFileName: string;
+ FOriginalFileName: TFileName;
FComment: string;
FZLibStream: TJclZlibCompressStream;
FOriginalSize: Cardinal;
@@ -325,7 +325,7 @@
// must be given or they would display an empty file name in their list.
// This does not affect the decompression stream below as it simply reads
// the value and does not work with it
- property OriginalFileName: string read FOriginalFileName write FOriginalFileName;
+ property OriginalFileName: TFileName read FOriginalFileName write FOriginalFileName;
property Comment: string read FComment write FComment;
end;
@@ -335,7 +335,7 @@
FFooter: TJclGZIPFooter;
FCompressedDataStream: TJclDelegatedStream;
FZLibStream: TJclZLibDecompressStream;
- FOriginalFileName: string;
+ FOriginalFileName: TFileName;
FComment: string;
FExtraField: string;
FComputedHeaderCRC16: Word;
@@ -363,7 +363,7 @@
property ComputedHeaderCRC16: Word read FComputedHeaderCRC16;
property StoredHeaderCRC16: Word read FStoredHeaderCRC16;
property ExtraField: string read FExtraField;
- property OriginalFileName: string read FOriginalFileName;
+ property OriginalFileName: TFileName read FOriginalFileName;
property Comment: string read FComment;
property Flags: TJclGZIPFlags read GetFlags;
property CompressionLevel: Byte read FHeader.ExtraFlags;
@@ -437,49 +437,139 @@
{$IFDEF MSWINDOWS}
type
TJclCompressionVolumeEvent = procedure(Sender: TObject; Index: Integer;
- var AFileName: string; var AStream: TStream; var AOwnStream: Boolean) of object;
+ var AFileName: TFileName; var AStream: TStream; var AOwnsStream: Boolean) of object;
TJclCompressionVolumeMaxSizeEvent = procedure(Sender: TObject; Index: Integer;
var AVolumeMaxSize: Int64) of object;
TJclCompressionProgressEvent = procedure(Sender: TObject; const Value, MaxValue: Int64) of object;
- TJclCompressionProperties = set of (cpFileSize, cpFilePackedSize, cpFileAttributes,
- cpFileCreationTime, cpFileLastAccessTime, cpFileLastWriteTime, cpFileComment,
- cpFileHostOS, cpFileHostFS, cpFileUser, cpFileGroup);
+ TJclCompressionItemProperty = (ipPackedName, ipPackedSize, ipFileSize,
+ ipFileName, ipAttributes, ipCreationTime, ipLastAccessTime, ipLastWriteTime,
+ ipComment, ipHostOS, ipHostFS, ipUser, ipGroup, ipCRC, ipStream);
+ TJclCompressionItemProperties = set of TJclCompressionItemProperty;
+ TJclCompressionItemKind = (ikFile, ikDirectory);
+
TJclCompressionOperationSuccess = (osNoOperation, osOK, osUnsupportedMethod,
osDataError, osCRCError, osUnknownError);
- TCompressFileRec = record
- RelName: WideString;
- FileName: string;
- Stream: TStream;
- OwnStream: Boolean;
- Kind: (kFile, kDirectory);
- Size: Int64;
- PackedSize: Int64;
- Attributes: Cardinal;
- CreationTime: TFileTime;
- LastAccessTime: TFileTime;
- LastWriteTime: TFileTime;
- Comment: WideString;
- HostOS: WideString;
- HostFS: WideString;
- User: WideString;
- Group: WideString;
- CRC: Cardinal;
- Selected: Boolean;
- OperationSuccess: TJclCompressionOperationSuccess;
- IndexInArchive: Integer;
+ TJclCompressionArchive = class;
+
+ TJclCompressionItem = class
+ private
+ FArchive: TJclCompressionArchive;
+ // source or destination
+ FFileName: TFileName;
+ FStream: TStream;
+ FOwnsStream: Boolean;
+ // miscellaneous
+ FValidProperties: TJclCompressionItemProperties;
+ FModifiedProperties: TJclCompressionItemProperties;
+ FPackedIndex: Integer;
+ FSelected: Boolean;
+ FOperationSuccess: TJclCompressionOperationSuccess;
+ // file properties
+ FPackedName: WideString;
+ FPackedSize: Int64;
+ FFileSize: Int64;
+ FAttributes: Cardinal;
+ FCreationTime: TFileTime;
+ FLastAccessTime: TFileTime;
+ FLastWriteTime: TFileTime;
+ FComment: WideString;
+ FHostOS: WideString;
+ FHostFS: WideString;
+ FUser: WideString;
+ FGroup: WideString;
+ FCRC: Cardinal;
+ protected
+ // property checkers
+ procedure CheckGetProperty(AProperty: TJclCompressionItemProperty); virtual; abstract;
+ procedure CheckSetProperty(AProperty: TJclCompressionItemProperty); virtual; abstract;
+ // property getters
+ function GetAttributes: Cardinal;
+ function GetComment: WideString;
+ function GetCRC: Cardinal;
+ function GetCreationTime: TFileTime;
+ function GetFileName: TFileName;
+ function GetFileSize: Int64;
+ function GetGroup: WideString;
+ function GetHostFS: WideString;
+ function GetHostOS: WideString;
+ function GetItemKind: TJclCompressionItemKind;
+ function GetLastAccessTime: TFileTime;
+ function GetLastWriteTime: TFileTime;
+ function GetPackedName: WideString;
+ function GetPackedSize: Int64;
+ function GetStream: TStream; virtual; abstract;
+ function GetUser: WideString;
+ // property setters
+ procedure SetAttributes(const Value: Cardinal);
+ procedure SetComment(const Value: WideString);
+ procedure SetCRC(const Value: Cardinal);
+ procedure SetCreationTime(const Value: TFileTime);
+ procedure SetFileName(const Value: TFileName);
+ procedure SetFileSize(const Value: Int64);
+ procedure SetGroup(const Value: WideString);
+ procedure SetHostFS(const Value: WideString);
+ procedure SetHostOS(const Value: WideString);
+ procedure SetLastAccessTime(const Value: TFileTime);
+ procedure SetLastWriteTime(const Value: TFileTime);
+ procedure SetPackedName(const Value: WideString);
+ procedure SetPackedSize(const Value: Int64);
+ procedure SetStream(const Value: TStream);
+ procedure SetUser(const Value: WideString);
+ public
+ constructor Create(AArchive: TJclCompressionArchive);
+ destructor Destroy; override;
+ // release stream if owned and created from file name
+ procedure ReleaseStream;
+ // properties in archive
+ property Attributes: Cardinal read GetAttributes write SetAttributes;
+ property Comment: WideString read GetComment write SetComment;
+ property CRC: Cardinal read GetCRC write SetCRC;
+ property CreationTime: TFileTime read GetCreationTime write SetCreationTime;
+ property FileSize: Int64 read GetFileSize write SetFileSize;
+ property Group: WideString read GetGroup write SetGroup;
+ property HostOS: WideString read GetHostOS write SetHostOS;
+ property HostFS: WideString read GetHostFS write SetHostFS;
+ property Kind: TJclCompressionItemKind read GetItemKind;
+ property LastAccessTime: TFileTime read GetLastAccessTime write SetLastAccessTime;
+ property LastWriteTime: TFileTime read GetLastWriteTime write SetLastWriteTime;
+ property PackedName: WideString read GetPackedName write SetPackedName;
+ property PackedSize: Int64 read GetPackedSize write SetPackedSize;
+ property User: WideString read GetUser write SetUser;
+ // source or destination
+ property FileName: TFileName read GetFileName write SetFileName;
+ property OwnsStream: Boolean read FOwnsStream write FOwnsStream;
+ property Stream: TStream read GetStream write SetStream;
+ // miscellaneous
+ property Archive: TJclCompressionArchive read FArchive;
+ property OperationSuccess: TJclCompressionOperationSuccess read FOperationSuccess
+ write FOperationSuccess;
+ property ValidProperties: TJclCompressionItemProperties read FValidProperties;
+ property ModifiedProperties: TJclCompressionItemProperties read FModifiedProperties
+ write FModifiedProperties;
+ property PackedIndex: Integer read FPackedIndex;
+ property Selected: Boolean read FSelected write FSelected;
end;
- PCompressFileRec = ^TCompressFileRec;
- TCompressVolumeRec = record
- FileName: string;
- Stream: TStream;
- OwnStream: Boolean;
- VolumeMaxSize: Int64;
+ TJclCompressionItemClass = class of TJclCompressionItem;
+
+ TJclCompressionVolume = class
+ protected
+ FFileName: TFileName;
+ FStream: TStream;
+ FOwnsStream: Boolean;
+ FVolumeMaxSize: Int64;
+ public
+ constructor Create(AStream: TStream; AOwnsStream: Boolean; AFileName: TFileName;
+ AVolumeMaxSize: Int64);
+ destructor Destroy; override;
+ property FileName: TFileName read FFileName;
+ property Stream: TStream read FStream;
+ property OwnsStream: Boolean read FOwnsStream;
+ property VolumeMaxSize: Int64 read FVolumeMaxSize;
end;
- PCompressVolumeRec = ^TCompressVolumeRec;
TJclCompressionArchive = class
private
@@ -491,59 +581,23 @@
FVolumeIndexOffset: Integer;
FVolumeMaxSize: Int64;
FVolumeNameMask: string;
- FVolumes: TList;
- FFiles: TList;
+ function GetItemCount: Integer;
+ function GetItem(Index: Integer): TJclCompressionItem;
+ function GetVolumeCount: Integer;
+ function GetVolume(Index: Integer): TJclCompressionVolume;
protected
+ FVolumes: TObjectList;
+ FItems: TObjectList;
+
procedure CreateCompressionObject; virtual;
procedure FreeCompressionObject; virtual;
- function GetFileCount: Integer;
- function GetArchiveFileName(Index: Integer): WideString; virtual;
- function GetDiskFileName(Index: Integer): string; virtual;
- function GetStream(Index: Integer): TStream; virtual; abstract;
- function GetFileRec(Index: Integer): PCompressFileRec;
- procedure ClearFiles; virtual;
+ function InternalOpenVolume(const FileName: TFileName): TStream; virtual; abstract;
- function GetVolumeCount: Integer;
- function GetVolumeName(Index: Integer): string;
- function GetVolumeMaxSize(Index: Integer): Int64;
- procedure ClearVolumes; virtual;
-
- function GetSelected(Index: Integer): Boolean; virtual;
- procedure SetSelected(Index: Integer; Value: Boolean); virtual;
- function GetOperationSuccess(Index: Integer): TJclCompressionOperationSuccess; virtual;
- procedure SetOperationSuccess(Index: Integer; Value: TJclCompressionOperationSuccess); virtual;
- procedure ClearAllOperationSuccess;
-
- function GetIsDirectory(Index: Integer): Boolean; virtual;
- function GetFileSize(Index: Integer): Int64; virtual;
- procedure SetFileSize(Index: Integer; const Value: Int64); virtual;
- function GetFileAttributes(Index: Integer): Cardinal; virtual;
- procedure SetFileAttributes(Index: Integer; Value: Cardinal); virtual;
- function GetFilePackedSize(Index: Integer): Int64; virtual;
- function GetFileCreationTime(Index: Integer): TFileTime; virtual;
- procedure SetFileCreationTime(Index: Integer; const Value: TFileTime); virtual;
- function GetFileLastAccessTime(Index: Integer): TFileTime; virtual;
- procedure SetFileLastAccessTime(Index: Integer; const Value: TFileTime); virtual;
- function GetFileLastWriteTime(Index: Integer): TFileTime; virtual;
- procedure SetFileLastWriteTime(Index: Integer; const Value: TFileTime); virtual;
- function GetFileComment(Index: Integer): WideString; virtual;
- procedure SetFileComment(Index: Integer; const Value: WideString); virtual;
- function GetFileCRC(Index: Integer): Cardinal; virtual;
- function GetFileHostOS(Index: Integer): WideString; virtual;
- procedure SetFileHostOS(Index: Integer; const Value: WideString); virtual;
- function GetFileHostFS(Index: Integer): WideString; virtual;
- procedure SetFileHostFS(Index: Integer; const Value: WideString); virtual;
- function GetFileUser(Index: Integer): WideString; virtual;
- procedure SetFileUser(Index: Integer; const Value: WideString); virtual;
- function GetFileGroup(Index: Integer): WideString; virtual;
- procedure SetFileGroup(Index: Integer; const Value: WideString); virtual;
-
- function OpenVolume(const FileName: string): TStream; virtual; abstract;
-
procedure DoProgress(const Value, MaxValue: Int64);
function NeedVolume(Index: Integer): TStream;
function NeedVolumeMaxSize(Index: Integer): Int64;
+ function GetItemClass: TJclCompressionItemClass; virtual; abstract;
public
constructor Create(Volume0: TStream; AVolumeMaxSize: Int64 = 0;
AOwnVolume: Boolean = False); overload;
@@ -553,92 +607,81 @@
// "myfile%d.zip" "myfile.zip.%.3d" ...
destructor Destroy; override;
- procedure AddVolume(const VolumeName: string; AVolumeMaxSize: Int64 = 0); overload; virtual;
- procedure AddVolume(VolumeStream: TStream; AVolumeMaxSize: Int64 = 0;
- AOwnStream: Boolean = False); overload; virtual;
+ function AddVolume(const VolumeName: string;
+ AVolumeMaxSize: Int64 = 0): Integer; overload; virtual;
+ function AddVolume(VolumeStream: TStream; AVolumeMaxSize: Int64 = 0;
+ AOwnsStream: Boolean = False): Integer; overload; virtual;
- procedure CheckOperationSuccess;
+ // miscellaneous
+ procedure ClearVolumes;
+ procedure ClearItems;
+ procedure CheckOperationSuccess;
+ procedure ClearOperationSuccess;
procedure SelectAll;
procedure UnselectAll;
- property FileCount: Integer read GetFileCount;
- property ArchiveFileNames[Index: Integer]: WideString read GetArchiveFileName;
- property DiskFileNames[Index: Integer]: string read GetDiskFileName;
- property Streams[Index: Integer]: TStream read GetStream;
- property Directories[Index: Integer]: Boolean read GetIsDirectory;
- property FileSizes[Index: Integer]: Int64 read GetFileSize write SetFileSize;
- property FilePackedSizes[Index: Integer]: Int64 read GetFilePackedSize;
- property FileAttributes[Index: Integer]: Cardinal read GetFileAttributes write SetFileAttributes;
- property FileCreationTimes[Index: Integer]: TFileTime read GetFileCreationTime write SetFileCreationTime;
- property FileLastAccessTimes[Index: Integer]: TFileTime read GetFileLastAccessTime write SetFileLastAccessTime;
- property FileLastWriteTime[Index: Integer]: TFileTime read GetFileLastWriteTime write SetFileLastWriteTime;
- property FileComments[Index: Integer]: WideString read GetFileComment write SetFileComment;
- //kpidEncrypted
- property FileCRC[Index: Integer]: Cardinal read GetFileCRC;
- property FileHostOS[Index: Integer]: WideString read GetFileHostOS write SetFileHostOS;
- property FileHostFS[Index: Integer]: WideString read GetFileHostFS write SetFileHostFS;
- property FileUsers[Index: Integer]: WideString read GetFileUser write SetFileUser;
- property FileGroups[Index: Integer]: WideString read GetFileGroup write SetFileGroup;
- property Selected[Index: Integer]: Boolean read GetSelected write SetSelected;
- property OperationSuccess[Index: Integer]: TJclCompressionOperationSuccess read GetOperationSuccess;
+ property ItemCount: Integer read GetItemCount;
+ property Items[Index: Integer]: TJclCompressionItem read GetItem;
+ property VolumeCount: Integer read GetVolumeCount;
+ property Volumes[Index: Integer]: TJclCompressionVolume read GetVolume;
+ property VolumeMaxSize: Int64 read FVolumeMaxSize;
+ property VolumeNameMask: string read FVolumeNameMask;
+ property VolumeIndexOffset: Integer read FVolumeIndexOffset write FVolumeIndexOffset;
+
property OnProgress: TJclCompressionProgressEvent read FOnProgress write FOnProgress;
+
+ // volume events
property OnVolume: TJclCompressionVolumeEvent read FOnVolume write FOnVolume;
property OnVolumeMaxSize: TJclCompressionVolumeMaxSizeEvent read FOnVolumeMaxSize
write FOnVolumeMaxSize;
property Password: WideString read FPassword write FPassword;
- property VolumeMaxSize: Int64 read FVolumeMaxSize;
- property VolumeNameMask: string read FVolumeNameMask;
- property VolumeIndexOffset: Integer read FVolumeIndexOffset write FVolumeIndexOffset;
- property VolumeCount: Integer read GetVolumeCount;
- property VolumeNames[Index: Integer]: string read GetVolumeName;
- property VolumeMaxSizes[Index: Integer]: Int64 read GetVolumeMaxSize;
end;
- PSearchRec = ^TSearchRec;
+ TJclCompressItem = class(TJclCompressionItem)
+ protected
+ procedure CheckGetProperty(AProperty: TJclCompressionItemProperty); override;
+ procedure CheckSetProperty(AProperty: TJclCompressionItemProperty); override;
+ function GetStream: TStream; override;
+ end;
TJclCompressArchive = class(TJclCompressionArchive)
private
FBaseRelName: WideString;
FBaseDirName: string;
FAddFilesInDir: Boolean;
- function InternalGetRelItemName(const ItemName: string): WideString;
+ function InternalGetRelItemName(const ItemName: TFileName): WideString;
procedure InternalAddFile(const Directory: string; const FileInfo: TSearchRec);
procedure InternalAddDirectory(const Directory: string);
protected
FCompressing: Boolean;
procedure CheckNotCompressing;
- procedure InitFileRec(AFileRec: PCompressFileRec; ASearchRec: PSearchRec);
- procedure SetFileSize(Index: Integer; const Value: Int64); override;
- procedure SetFileAttributes(Index: Integer; Value: Cardinal); override;
- procedure SetFileCreationTime(Index: Integer; const Value: TFileTime); override;
- procedure SetFileLastAccessTime(Index: Integer; const Value: TFileTime); override;
- procedure SetFileLastWriteTime(Index: Integer; const Value: TFileTime); override;
- procedure SetFileComment(Index: Integer; const Value: WideString); override;
- procedure SetFileHostOS(Index: Integer; const Value: WideString); override;
- procedure SetFileHostFS(Index: Integer; const Value: WideString); override;
- procedure SetFileUser(Index: Integer; const Value: WideString); override;
- procedure SetFileGroup(Index: Integer; const Value: WideString); override;
-
- function GetStream(Index: Integer): TStream; override;
- function OpenVolume(const FileName: string): TStream; override;
+ function InternalOpenVolume(const FileName: TFileName): TStream; override;
public
- function AddDirectory(const DirRelName: WideString;
+ function AddDirectory(const PackedName: WideString;
const DirName: string = ''; RecurseIntoDir: Boolean = False;
AddFilesInDir: Boolean = False): Integer; overload; virtual;
- function AddFile(const RelName: WideString;
+ function AddFile(const PackedName: WideString;
const FileName: string): Integer; overload; virtual;
- function AddFile(const RelName: WideString; AStream: TStream;
- AOwnStream: Boolean = False): Integer; overload; virtual;
+ function AddFile(const PackedName: WideString; AStream: TStream;
+ AOwnsStream: Boolean = False): Integer; overload; virtual;
procedure Compress; virtual; abstract;
end;
+ TJclDecompressItem = class(TJclCompressionItem)
+ protected
+ procedure CheckGetProperty(AProperty: TJclCompressionItemProperty); override;
+ procedure CheckSetProperty(AProperty: TJclCompressionItemProperty); override;
+ function GetStream: TStream; override;
+ function ValidateExtraction(Index: Integer): Boolean; virtual;
+ end;
+
// return False not to extract this file
- // Stream is not initialized before passed to this event, assign your owns to override default one
+ // assign your own FileName, Stream or AOwnsStream to override default one
TJclCompressionExtractEvent = function (Sender: TObject; Index: Integer;
- var FileName: string; out Stream: TStream; out AOwnStream: Boolean): Boolean of object;
+ var FileName: TFileName; var Stream: TStream; var AOwnsStream: Boolean): Boolean of object;
TJclDecompressArchive = class(TJclCompressionArchive)
private
@@ -646,11 +689,15 @@
FAutoCreateSubDir: Boolean;
protected
FDecompressing: Boolean;
+ FListing: Boolean;
FDestinationDir: string;
+ FExtractingAllIndex: Integer;
procedure CheckNotDecompressing;
+ procedure CheckListing;
- function GetStream(Index: Integer): TStream; override;
- function OpenVolume(const FileName: string): TStream; override;
+ function InternalOpenVolume(const FileName: TFileName): TStream; override;
+ function ValidateExtraction(Index: Integer; out FileName: TFileName; var AStream: TStream;
+ var AOwnsStream: Boolean): Boolean; virtual;
public
procedure ListFiles; virtual; abstract;
procedure ExtractSelected(const ADestinationDir: string = '';
@@ -663,7 +710,7 @@
property AutoCreateSubDir: Boolean read FAutoCreateSubDir;
end;
-// ancestor classes for archives handled by sevenzip
+// sevenzip classes for compression
type
TJclSevenzipCompressArchive = class(TJclCompressArchive)
private
@@ -676,55 +723,15 @@
procedure FreeCompressionObject; override;
function GetCLSID: TGUID; virtual; abstract;
procedure SetCompressionProperties; virtual;
+ function GetItemClass: TJclCompressionItemClass; override;
public
procedure Compress; override;
property CompressionLevel: Cardinal read FCompressionLevel write SetCompressionLevel; // X9
end;
- TJclSevenzipDecompressArchive = class(TJclDecompressArchive)
- private
- FInArchive: IInArchive;
- FOpened: Boolean;
- FListed: Boolean;
- FExtractingAllIndex: Integer;
- FInStream: IInStream;
- protected
- FProgressMax: Int64;
- procedure OpenArchive;
- procedure CreateCompressionObject; override;
- procedure FreeCompressionObject; override;
- function GetCLSID: TGUID; virtual; abstract;
- procedure ClearFiles; override;
- function GetStream(Index: Integer): TStream; override;
- function NeedStream(Index: Integer; out AStream: TStream; out AOwnStream: Boolean): Boolean;
+ // file formats
- function GetArchiveFileName(Index: Integer): WideString; override;
- function GetIsDirectory(Index: Integer): Boolean; override;
- function GetFileSize(Index: Integer): Int64; override;
- function GetFileAttributes(Index: Integer): Cardinal; override;
- function GetFilePackedSize(Index: Integer): Int64; override;
- function GetFileCreationTime(Index: Integer): TFileTime; override;
- function GetFileLastAccessTime(Index: Integer): TFileTime; override;
- function GetFileLastWriteTime(Index: Integer): TFileTime; override;
- function GetFileComment(Index: Integer): WideString; override;
- function GetFileCRC(Index: Integer): Cardinal; override;
- function GetFileHostOS(Index: Integer): WideString; override;
- function GetFileHostFS(Index: Integer): WideString; override;
- function GetFileUser(Index: Integer): WideString; override;
- function GetFileGroup(Index: Integer): WideString; override;
- function GetSelected(Index: Integer): Boolean; override;
- procedure SetOperationSuccess(Index: Integer; Value: TJclCompressionOperationSuccess); override;
- public
- procedure ListFiles; override;
- procedure ExtractSelected(const ADestinationDir: string = '';
- AAutoCreateSubDir: Boolean = True); override;
- procedure ExtractAll(const ADestinationDir: string = '';
- AAutoCreateSubDir: Boolean = True); override;
- end;
-
-// file formats handled by sevenzip
-type
TJclZipMethod = (zmDeflate, zmDeflate64, zmCopy, zmBZip2);
TJclZipCompressArchive = class(TJclSevenzipCompressArchive)
@@ -764,6 +771,31 @@
function GetCLSID: TGUID; override;
end;
+// sevenzip classes for decompression
+type
+ TJclSevenzipDecompressArchive = class(TJclDecompressArchive)
+ private
+ FInArchive: IInArchive;
+ FOpened: Boolean;
+ FListed: Boolean;
+ FInStream: IInStream;
+ protected
+ FProgressMax: Int64;
+ procedure OpenArchive;
+ procedure CreateCompressionObject; override;
+ procedure FreeCompressionObject; override;
+ function GetCLSID: TGUID; virtual; abstract;
+ function GetItemClass: TJclCompressionItemClass; override;
+ public
+ procedure ListFiles; override;
+ procedure ExtractSelected(const ADestinationDir: string = '';
+ AAutoCreateSubDir: Boolean = True); override;
+ procedure ExtractAll(const ADestinationDir: string = '';
+ AAutoCreateSubDir: Boolean = True); override;
+ end;
+
+ // file formats
+
TJclZipDecompressArchive = class(TJclSevenzipDecompressArchive)
protected
function GetCLSID: TGUID; override;
@@ -2145,337 +2177,464 @@
end;
end;
-//=== { TJclCompressionArchive } =============================================
+//=== { TJclCompressionItem } ================================================
{$IFDEF MSWINDOWS}
-constructor TJclCompressionArchive.Create(Volume0: TStream;
- AVolumeMaxSize: Int64 = 0; AOwnVolume: Boolean = False);
+constructor TJclCompressionItem.Create(AArchive: TJclCompressionArchive);
begin
inherited Create;
- FVolumeIndex := -1;
- FVolumeIndexOffset := 1;
- FVolumeMaxSize := AVolumeMaxSize;
- FFiles := TList.Create;
- FVolumes := TList.Create;
- if Assigned(Volume0) then
- AddVolume(Volume0, AVolumeMaxSize, AOwnVolume);
- CreateCompressionObject;
+ FArchive := AArchive;
end;
-constructor TJclCompressionArchive.Create(const VolumeName: string;
- AVolumeMaxSize: Int64 = 0; VolumeMask: Boolean = False);
+destructor TJclCompressionItem.Destroy;
begin
- inherited Create;
- FVolumeIndex := -1;
- FVolumeIndexOffset := 1;
- FVolumeMaxSize := AVolumeMaxSize;
- FFiles := TList.Create;
- FVolumes := TList.Create;
- if VolumeMask then
- FVolumeNameMask := VolumeName
+ ReleaseStream;
+
+ inherited Destroy;
+end;
+
+function TJclCompressionItem.GetAttributes: Cardinal;
+begin
+ CheckGetProperty(ipAttributes);
+ Result := FAttributes;
+end;
+
+function TJclCompressionItem.GetComment: WideString;
+begin
+ CheckGetProperty(ipComment);
+ Result := FComment;
+end;
+
+function TJclCompressionItem.GetCRC: Cardinal;
+begin
+ CheckGetProperty(ipCRC);
+ Result := FCRC;
+end;
+
+function TJclCompressionItem.GetCreationTime: TFileTime;
+begin
+ CheckGetProperty(ipCreationTime);
+ Result := FCreationTime;
+end;
+
+function TJclCompressionItem.GetFileName: TFileName;
+begin
+ CheckGetProperty(ipFileName);
+ Result := FFileName;
+end;
+
+function TJclCompressionItem.GetFileSize: Int64;
+begin
+ CheckGetProperty(ipFileSize);
+ Result := FFileSize;
+end;
+
+function TJclCompressionItem.GetGroup: WideString;
+begin
+ CheckGetProperty(ipGroup);
+ Result := FGroup;
+end;
+
+function TJclCompressionItem.GetHostFS: WideString;
+begin
+ CheckGetProperty(ipHostFS);
+ Result := FHostFS;
+end;
+
+function TJclCompressionItem.GetHostOS: WideString;
+begin
+ CheckGetProperty(ipHostOS);
+ Result := FHostOS;
+end;
+
+function TJclCompressionItem.GetItemKind: TJclCompressionItemKind;
+begin
+ if (Attributes and FILE_ATTRIBUTE_DIRECTORY) <> 0 then
+ Result := ikDirectory
else
- AddVolume(VolumeName, AVolumeMaxSize);
- CreateCompressionObject;
+ Result := ikFile;
end;
-destructor TJclCompressionArchive.Destroy;
+function TJclCompressionItem.GetLastAccessTime: TFileTime;
begin
- // might be null if an exception is raised in the constructor
- if Assigned(FFiles) then
- begin
- ClearFiles;
- FFiles.Destroy;
- end;
+ CheckGetProperty(ipLastAccessTime);
+ Result := FLastAccessTime;
+end;
- if Assigned(FVolumes) then
- begin
- ClearVolumes;
- FVolumes.Destroy;
- end;
+function TJclCompressionItem.GetLastWriteTime: TFileTime;
+begin
+ CheckGetProperty(ipLastWriteTime);
+ Result := FLastWriteTime;
+end;
- FreeCompressionObject;
- inherited Destroy;
+function TJclCompressionItem.GetPackedName: WideString;
+begin
+ CheckGetProperty(ipPackedName);
+ Result := FPackedName;
end;
-procedure TJclCompressionArchive.AddVolume(VolumeStream: TStream;
- AVolumeMaxSize: Int64; AOwnStream: Boolean);
-var
- AVolumeRec: PCompressVolumeRec;
+function TJclCompressionItem.GetPackedSize: Int64;
begin
- New(AVolumeRec);
- AVolumeRec^.FileName := Format(VolumeNameMask, [FVolumes.Count + VolumeIndexOffset]);
- AVolumeRec^.Stream := VolumeStream;
- AVolumeRec^.OwnStream := AOwnStream;
- AVolumeRec^.VolumeMaxSize := AVolumeMaxSize;
- FVolumes.Add(AVolumeRec);
+ CheckGetProperty(ipPackedSize);
+ Result := FPackedSize;
end;
-procedure TJclCompressionArchive.AddVolume(const VolumeName: string;
- AVolumeMaxSize: Int64);
-var
- AVolumeRec: PCompressVolumeRec;
+function TJclCompressionItem.GetUser: WideString;
begin
- New(AVolumeRec);
- AVolumeRec^.FileName := VolumeName;
- AVolumeRec^.Stream := nil;
- AVolumeRec^.OwnStream := True;
- AVolumeRec^.VolumeMaxSize := AVolumeMaxSize;
- FVolumes.Add(AVolumeRec);
+ CheckGetProperty(ipUser);
+ Result := FUser;
end;
-procedure TJclCompressionArchive.CheckOperationSuccess;
-var
- Index: Integer;
+procedure TJclCompressionItem.ReleaseStream;
begin
- for Index := 0 to FFiles.Count - 1 do
- begin
- case PCompressFileRec(FFiles.Items[Index])^.OperationSuccess of
- osNoOperation: ;
- osOK: ;
- osUnsupportedMethod:
- raise EJclCompressionError.CreateRes(@RsCompressionUnsupportedMethod);
- osDataError:
- raise EJclCompressionError.CreateRes(@RsCompressionDataError);
- osCRCError:
- raise EJclCompressionError.CreateRes(@RsCompressionCRCError);
- else
- raise EJclCompressionError.CreateRes(@RsCompressionUnknownError);
- end;
- end;
+ if OwnsStream or (FileName <> '') then
+ FreeAndNil(FStream);
end;
-procedure TJclCompressionArchive.ClearFiles;
-var
- Index: Integer;
- AFileRec: PCompressFileRec;
+procedure TJclCompressionItem.SetAttributes(const Value: Cardinal);
begin
- for Index := 0 to FFiles.Count - 1 do
- begin
- AFileRec := FFiles.Items[Index];
- AFileRec^.FileName := '';
- AFileRec^.RelName := '';
- AFileRec^.Comment := '';
- AFileRec^.User := '';
- AFileRec^.Group := '';
- AFileRec^.HostOS := '';
- AFileRec^.HostFS := '';
- if AFileRec^.OwnStream then
- AFileRec^.Stream.Free;
- Dispose(AFileRec);
- end;
- FFiles.Clear;
+ CheckSetProperty(ipAttributes);
+ FAttributes := Value;
+ Include(FModifiedProperties, ipAttributes);
+ Include(FValidProperties, ipAttributes);
end;
-procedure TJclCompressionArchive.ClearAllOperationSuccess;
-var
- Index: Integer;
+procedure TJclCompressionItem.SetComment(const Value: WideString);
begin
- for Index := 0 to FFiles.Count - 1 do
- PCompressFileRec(FFiles.Items[Index])^.OperationSuccess := osNoOperation;
+ CheckSetProperty(ipComment);
+ FComment := Value;
+ Include(FModifiedProperties, ipComment);
+ Include(FValidProperties, ipComment);
end;
-procedure TJclCompressionArchive.ClearVolumes;
+procedure TJclCompressionItem.SetCRC(const Value: Cardinal);
+begin
+ CheckSetProperty(ipCRC);
+ FCRC := Value;
+ Include(FModifiedProperties, ipCRC);
+ Include(FValidProperties, ipCRC);
+end;
+
+procedure TJclCompressionItem.SetCreationTime(const Value: TFileTime);
+begin
+ CheckSetProperty(ipCreationTime);
+ FCreationTime := Value;
+ Include(FModifiedProperties, ipCreationTime);
+ Include(FValidProperties, ipCreationTime);
+end;
+
+procedure TJclCompressionItem.SetFileName(const Value: TFileName);
var
- Index: Integer;
- AVolumeRec: PCompressVolumeRec;
+ AFindData: TWin32FindData;
begin
- for Index := 0 to FVolumes.Count - 1 do
+ CheckSetProperty(ipFileName);
+ FFileName := Value;
+ Include(FModifiedProperties, ipFileName);
+ Include(FValidProperties, ipFileName);
+
+ if (Value <> '') and (FArchive is TJclCompressionArchive)
+ and GetFileAttributesEx(PAnsiChar(Value), GetFileExInfoStandard, @AFindData) then
begin
- AVolumeRec := FVolumes.Items[Index];
- AVolumeRec^.FileName := '';
- if AVolumeRec^.OwnStream then
- AVolumeRec^.Stream.Free;
- Dispose(AVolumeRec);
+ FileSize := (Int64(AFindData.nFileSizeHigh) shl 32) or AFindData.nFileSizeLow;
+ Attributes := AFindData.dwFileAttributes;
+ CreationTime := AFindData.ftCreationTime;
+ LastAccessTime := AFindData.ftLastAccessTime;
+ LastWriteTime := AFindData.ftLastWriteTime;
+ // TODO: user name and group (using file handle and GetSecurityInfo)
+ {$IFDEF MSWINDOWS}
+ HostOS := RsCompression7zWindows;
+ {$ENDIF MSWINDOWS}
+ {$IFDEF UNIX}
+ HostOS := RsCompression7zUnix;
+ {$ENDIF UNIX}
end;
end;
-procedure TJclCompressionArchive.CreateCompressionObject;
+procedure TJclCompressionItem.SetFileSize(const Value: Int64);
begin
- // override to customize
+ CheckSetProperty(ipFileSize);
+ FFileSize := Value;
+ Include(FModifiedProperties, ipFileSize);
+ Include(FValidProperties, ipFileSize);
end;
-procedure TJclCompressionArchive.DoProgress(const Value, MaxValue: Int64);
+procedure TJclCompressionItem.SetGroup(const Value: WideString);
begin
- if Assigned(FOnProgress) then
- FOnProgress(Self, Value, MaxValue);
+ CheckSetProperty(ipGroup);
+ FGroup := Value;
+ Include(FModifiedProperties, ipGroup);
+ Include(FValidProperties, ipGroup);
end;
-procedure TJclCompressionArchive.FreeCompressionObject;
+procedure TJclCompressionItem.SetHostFS(const Value: WideString);
begin
- // override to customize
+ CheckSetProperty(ipHostFS);
+ FHostFS := Value;
+ Include(FModifiedProperties, ipHostFS);
+ Include(FValidProperties, ipHostFS);
end;
-function TJclCompressionArchive.GetArchiveFileName(Index: Integer): WideString;
+procedure TJclCompressionItem.SetHostOS(const Value: WideString);
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.RelName;
+ CheckSetProperty(ipHostOS);
+ FHostOS := Value;
+ Include(FModifiedProperties, ipHostOS);
+ Include(FValidProperties, ipHostOS);
end;
-function TJclCompressionArchive.GetDiskFileName(Index: Integer): string;
+procedure TJclCompressionItem.SetLastAccessTime(const Value: TFileTime);
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.FileName;
+ CheckSetProperty(ipLastAccessTime);
+ FLastAccessTime := Value;
+ Include(FModifiedProperties, ipLastAccessTime);
+ Include(FValidProperties, ipLastAccessTime);
end;
-function TJclCompressionArchive.GetFileAttributes(Index: Integer): Cardinal;
+procedure TJclCompressionItem.SetLastWriteTime(const Value: TFileTime);
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.Attributes;
+ CheckSetProperty(ipLastWriteTime);
+ FLastWriteTime := Value;
+ Include(FModifiedProperties, ipLastWriteTime);
+ Include(FValidProperties, ipLastWriteTime);
end;
-function TJclCompressionArchive.GetFileComment(Index: Integer): WideString;
+procedure TJclCompressionItem.SetPackedName(const Value: WideString);
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.Comment;
+ CheckSetProperty(ipPackedName);
+ FPackedName := Value;
+ Include(FModifiedProperties, ipPackedName);
+ Include(FValidProperties, ipPackedName);
end;
-function TJclCompressionArchive.GetFileCount: Integer;
+procedure TJclCompressionItem.SetPackedSize(const Value: Int64);
begin
- Result := FFiles.Count;
+ CheckSetProperty(ipPackedSize);
+ FPackedSize := Value;
+ Include(FModifiedProperties, ipPackedSize);
+ Include(FValidProperties, ipPackedSize);
end;
-function TJclCompressionArchive.GetFileCRC(Index: Integer): Cardinal;
+procedure TJclCompressionItem.SetStream(const Value: TStream);
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.CRC;
+ CheckSetProperty(ipStream);
+ ReleaseStream;
+ FStream := Value;
+ Include(FModifiedProperties, ipStream);
+ Include(FValidProperties, ipStream);
end;
-function TJclCompressionArchive.GetFileCreationTime(Index: Integer): TFileTime;
+procedure TJclCompressionItem.SetUser(const Value: WideString);
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.CreationTime;
+ CheckSetProperty(ipUser);
+ FUser := Value;
+ Include(FModifiedProperties, ipUser);
+ Include(FValidProperties, ipUser);
end;
-function TJclCompressionArchive.GetFileGroup(Index: Integer): WideString;
+//=== { TJclCompressionVolume } ==============================================
+
+constructor TJclCompressionVolume.Create(AStream: TStream; AOwnsStream: Boolean;
+ AFileName: TFileName; AVolumeMaxSize: Int64);
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.Group;
+ inherited Create;
+ FStream := AStream;
+ FOwnsStream := AOwnsStream;
+ FFileName := AFileName;
+ FVolumeMaxSize := AVolumeMaxSize;
end;
-function TJclCompressionArchive.GetFileHostFS(Index: Integer): WideString;
+destructor TJclCompressionVolume.Destroy;
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.HostFS;
+ if OwnsStream then
+ FStream.Free;
+ inherited Destroy;
end;
-function TJclCompressionArchive.GetFileHostOS(Index: Integer): WideString;
+//=== { TJclCompressionArchive } =============================================
+
+constructor TJclCompressionArchive.Create(Volume0: TStream;
+ AVolumeMaxSize: Int64 = 0; AOwnVolume: Boolean = False);
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.HostOS;
+ inherited Create;
+ FVolumeIndex := -1;
+ FVolumeIndexOffset := 1;
+ FVolumeMaxSize := AVolumeMaxSize;
+ FItems := TObjectList.Create(True);
+ FVolumes := TObjectList.Create(True);
+ if Assigned(Volume0) then
+ AddVolume(Volume0, AVolumeMaxSize, AOwnVolume);
+ CreateCompressionObject;
end;
-function TJclCompressionArchive.GetFileLastAccessTime(
- Index: Integer): TFileTime;
+constructor TJclCompressionArchive.Create(const VolumeName: string;
+ AVolumeMaxSize: Int64 = 0; VolumeMask: Boolean = False);
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.LastAccessTime;
+ inherited Create;
+ FVolumeIndex := -1;
+ FVolumeIndexOffset := 1;
+ FVolumeMaxSize := AVolumeMaxSize;
+ FItems := TObjectList.Create(True);
+ FVolumes := TObjectList.Create(True);
+ if VolumeMask then
+ FVolumeNameMask := VolumeName
+ else
+ AddVolume(VolumeName, AVolumeMaxSize);
+ CreateCompressionObject;
end;
-function TJclCompressionArchive.GetFileLastWriteTime(Index: Integer): TFileTime;
+destructor TJclCompressionArchive.Destroy;
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.LastWriteTime;
+ FItems.Free;
+ FVolumes.Free;
+
+ FreeCompressionObject;
+ inherited Destroy;
end;
-function TJclCompressionArchive.GetFilePackedSize(Index: Integer): Int64;
+function TJclCompressionArchive.AddVolume(VolumeStream: TStream;
+ AVolumeMaxSize: Int64; AOwnsStream: Boolean): Integer;
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.PackedSize;
+ Result := FVolumes.Add(TJclCompressionVolume.Create(VolumeStream, AOwnsStream, '', AVolumeMaxSize));
end;
-function TJclCompressionArchive.GetFileRec(Index: Integer): PCompressFileRec;
+function TJclCompressionArchive.AddVolume(const VolumeName: string;
+ AVolumeMaxSize: Int64): Integer;
begin
- Result := PCompressFileRec(FFiles.Items[Index]);
+ Result := FVolumes.Add(TJclCompressionVolume.Create(nil, True, VolumeName, AVolumeMaxSize));
end;
-function TJclCompressionArchive.GetFileSize(Index: Integer): Int64;
+procedure TJclCompressionArchive.CheckOperationSuccess;
+var
+ Index: Integer;
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.Size;
+ for Index := 0 to FItems.Count - 1 do
+ begin
+ case TJclCompressionItem(FItems.Items[Index]).OperationSuccess of
+ osNoOperation: ;
+ osOK: ;
+ osUnsupportedMethod:
+ raise EJclCompressionError.CreateRes(@RsCompressionUnsupportedMethod);
+ osDataError:
+ raise EJclCompressionError.CreateRes(@RsCompressionDataError);
+ osCRCError:
+ raise EJclCompressionError.CreateRes(@RsCompressionCRCError);
+ else
+ raise EJclCompressionError.CreateRes(@RsCompressionUnknownError);
+ end;
+ end;
end;
-function TJclCompressionArchive.GetFileUser(Index: Integer): WideString;
+procedure TJclCompressionArchive.ClearItems;
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.User;
+ FItems.Clear;
end;
-function TJclCompressionArchive.GetIsDirectory(Index: Integer): Boolean;
+procedure TJclCompressionArchive.ClearOperationSuccess;
+var
+ Index: Integer;
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.Kind = kDirectory;
+ for Index := 0 to FItems.Count - 1 do
+ TJclCompressionItem(FItems.Items[Index]).OperationSuccess := osNoOperation;
end;
-function TJclCompressionArchive.GetOperationSuccess(Index: Integer): TJclCompressionOperationSuccess;
+procedure TJclCompressionArchive.ClearVolumes;
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.OperationSuccess;
+ FVolumes.Clear;
end;
-function TJclCompressionArchive.GetSelected(Index: Integer): Boolean;
+procedure TJclCompressionArchive.CreateCompressionObject;
begin
- Result := PCompressFileRec(FFiles.Items[Index])^.Selected;
+ // override to customize
end;
-function TJclCompressionArchive.GetVolumeCount: Integer;
+procedure TJclCompressionArchive.DoProgress(const Value, MaxValue: Int64);
begin
- Result := FVolumes.Count;
+ if Assigned(FOnProgress) then
+ FOnProgress(Self, Value, MaxValue);
end;
-function TJclCompressionArchive.GetVolumeName(Index: Integer): string;
+procedure TJclCompressionArchive.FreeCompressionObject;
begin
- Result := PCompressVolumeRec(FVolumes.Items[Index]).FileName;
+ // override to customize
end;
-function TJclCompressionArchive.GetVolumeMaxSize(Index: Integer): Int64;
+function TJclCompressionArchive.GetItem(Index: Integer): TJclCompressionItem;
begin
- Result := PCompressVolumeRec(FVolumes.Items[Index]).VolumeMaxSize;
+ Result := TJclCompressionItem(FItems.Items[Index]);
end;
+function TJclCompressionArchive.GetItemCount: Integer;
+begin
+ Result := FItems.Count;
+end;
+
+function TJclCompressionArchive.GetVolume(Index: Integer): TJclCompressionVolume;
+begin
+ Result := TJclCompressionVolume(FVolumes.Items[Index]);
+end;
+
+function TJclCompressionArchive.GetVolumeCount: Integer;
+begin
+ Result := FVolumes.Count;
+end;
+
function TJclCompressionArchive.NeedVolume(Index: Integer): TStream;
var
- AVolumeRec: PCompressVolumeRec;
- AOwnStream: Boolean;
- AFileName: string;
+ AVolume: TJclCompressionVolume;
+ AOwnsStream: Boolean;
+ AFileName: TFileName;
begin
Result := nil;
if Index <> FVolumeIndex then
begin
- AOwnStream := VolumeNameMask <> '';
- AVolumeRec := nil;
+ AOwnsStream := VolumeNameMask <> '';
+ AVolume := nil;
AFileName := Format(VolumeNameMask, [Index + VolumeIndexOffset]);
if (Index >= 0) and (Index < FVolumes.Count) then
begin
- AVolumeRec := FVolumes.Items[Index];
- Result := AVolumeRec^.Stream;
- AOwnStream := AVolumeRec^.OwnStream;
- AFileName := AVolumeRec^.FileName;
+ AVolume := TJclCompressionVolume(FVolumes.Items[Index]);
+ Result := AVolume.Stream;
+ AOwnsStream := AVolume.OwnsStream;
+ AFileName := AVolume.FileName;
end;
if Assigned(FOnVolume) then
- FOnVolume(Self, Index, AFileName, Result, AOwnStream);
+ FOnVolume(Self, Index, AFileName, Result, AOwnsStream);
- if Assigned(AVolumeRec) then
+ if Assigned(AVolume) then
begin
if not Assigned(Result) then
- Result := OpenVolume(AFileName);
- AVolumeRec^.FileName := AFileName;
- AVolumeRec^.Stream := Result;
- AVolumeRec^.OwnStream := AOwnStream;
+ Result := InternalOpenVolume(AFileName);
+ AVolume.FFileName := AFileName;
+ AVolume.FStream := Result;
+ AVolume.FOwnsStream := AOwnsStream;
end
else
begin
while FVolumes.Count < Index do
- begin
- New(AVolumeRec);
- AVolumeRec^.FileName := Format(VolumeNameMask, [Index + VolumeIndexOffset]);
- AVolumeRec^.Stream := nil;
- AVolumeRec^.OwnStream := True;
- AVolumeRec^.VolumeMaxSize := FVolumeMaxSize;
- FVolumes.Add(AVolumeRec);
- end;
+ FVolumes.Add(TJclCompressionVolume.Create(nil, True, Format(VolumeNameMask, [Index + VolumeIndexOffset]), FVolumeMaxSize));
if not Assigned(Result) then
- Result := OpenVolume(AFileName);
+ Result := InternalOpenVolume(AFileName);
if Assigned(Result) then
begin
- New(AVolumeRec);
- AVolumeRec^.FileName := AFileName;
- AVolumeRec^.Stream := Result;
- AVolumeRec^.OwnStream := AOwnStream;
- AVolumeRec^.VolumeMaxSize := FVolumeMaxSize;
- FVolumes.Insert(Index, AVolumeRec);
+ if Index < FVolumes.Count then
+ begin
+ AVolume := TJclCompressionVolume(FVolumes.Items[Index]);
+ AVolume.FFileName := AFileName;
+ AVolume.FStream := Result;
+ AVolume.FOwnsStream := AOwnsStream;
+ AVolume.FVolumeMaxSize := FVolumeMaxSize;
+ end
+ else
+ FVolumes.Add(TJclCompressionVolume.Create(Result, AOwnsStream, AFileName, FVolumeMaxSize));
end;
end;
FVolumeIndex := Index;
end
else if (Index >= 0) and (Index < FVolumes.Count) then
begin
- AVolumeRec := FVolumes.Items[Index];
- Result := AVolumeRec^.Stream;
+ AVolume := TJclCompressionVolume(FVolumes.Items[Index]);
+ Result := AVolume.Stream;
if Assigned(Result) then
StreamSeek(Result, 0, soBeginning);
end
@@ -2485,37 +2644,34 @@
function TJclCompressionArchive.NeedVolumeMaxSize(Index: Integer): Int64;
var
- AVolumeRec: PCompressVolumeRec;
+ AVolume: TJclCompressionVolume;
begin
if (Index <> FVolumeIndex) then
begin
- AVolumeRec := nil;
+ AVolume := nil;
if (Index >= 0) and (Index < FVolumes.Count) then
begin
- AVolumeRec := FVolumes.Items[Index];
- FVolumeMaxSize := AVolumeRec^.VolumeMaxSize;
+ AVolume := TJclCompressionVolume(FVolumes.Items[Index]);
+ FVolumeMaxSize := AVolume.VolumeMaxSize;
end;
if Assigned(FOnVolumeMaxSize) then
FOnVolumeMaxSize(Self, Index, FVolumeMaxSize);
- if Assigned(AVolumeRec) then
- AVolumeRec^.VolumeMaxSize := FVolumeMaxSize
+ if Assigned(AVolume) then
+ AVolume.FVolumeMaxSize := FVolumeMaxSize
else
begin
while FVolumes.Count < Index do
+ FVolumes.Add(TJclCompressionVolume.Create(nil, True, Format(VolumeNameMask, [Index + VolumeIndexOffset]), FVolumeMaxSize));
+ if Index < FVolumes.Count then
begin
- New(AVolumeRec);
- AVolumeRec^.FileName := Format(VolumeNameMask, [Index + VolumeIndexOffset]);
- AVolumeRec^.Stream := nil;
- AVolumeRec^.OwnStream := True;
- AVolumeRec^.VolumeMaxSize := 0;
- FVolumes.Add(AVolumeRec);
- end;
- New(AVolumeRec);
- AVolumeRec^.FileName := Format(VolumeNameMask, [Index + VolumeIndexOffset]);
- AVolumeRec^.Stream := nil;
- AVolumeRec^.OwnStream := True;
- AVolumeRec^.VolumeMaxSize := FVolumeMaxSize;
- FVolumes.Insert(Index, AVolumeRec);
+ AVolume := TJclCompressionVolume(FVolumes.Items[Index]);
+ AVolume.FFileName := Format(VolumeNameMask, [Index + VolumeIndexOffset]);
+ AVolume.FStream := nil;
+ AVolume.FOwnsStream := True;
+ AVolume.FVolumeMaxSize := FVolumeMaxSize;
+ end
+ else
+ FVolumes.Add(TJclCompressionVolume.Create(nil, True, Format(VolumeNameMask, [Index + VolumeIndexOffset]), FVolumeMaxSize));
end;
end;
Result := FVolumeMaxSize;
@@ -2525,87 +2681,42 @@
var
Index: Integer;
begin
- for Index := 0 to FFiles.Count - 1 do
- PCompressFileRec(FFiles.Items[Index])^.Selected := True;
+ for Index := 0 to FItems.Count - 1 do
+ TJclCompressionItem(FItems.Items[Index]).Selected := True;
end;
-procedure TJclCompressionArchive.SetFileAttributes(Index: Integer;
- Value: Cardinal);
+procedure TJclCompressionArchive.UnselectAll;
+var
+ Index: Integer;
begin
- raise EJclCompressionError.CreateRes(@RsCompressionWriteNotSupported);
+ for Index := 0 to FItems.Count - 1 do
+ TJclCompressionItem(FItems.Items[Index]).Selected := False;
end;
-procedure TJclCompressionArchive.SetFileComment(Index: Integer;
- const Value: WideString);
-begin
- raise EJclCompressionError.CreateRes(@RsCompressionWriteNotSupported);
-end;
+//=== { TJclCompressItem } ===================================================
-procedure TJclCompressionArchive.SetFileCreationTime(Index: Integer;
- const Value: TFileTime);
+procedure TJclCompressItem.CheckGetProperty(
+ AProperty: TJclCompressionItemProperty);
begin
- raise EJclCompressionError.CreateRes(@RsCompressionWriteNotSupported);
+ // always valid
end;
-procedure TJclCompressionArchive.SetFileGroup(Index: Integer;
- const Value: WideString);
+procedure TJclCompressItem.CheckSetProperty(
+ AProperty: TJclCompressionItemProperty);
begin
- raise EJclCompressionError.CreateRes(@RsCompressionWriteNotSupported);
+ (Archive as TJclCompressArchive).CheckNotCompressing;
end;
-procedure TJclCompressionArchive.SetFileHostFS(Index: Integer; const Value: WideString);
+function TJclCompressItem.GetStream: TStream;
begin
- raise EJclCompressionError.CreateRes(@RsCompressionWriteNotSupported);
+ if not Assigned(FStream) and (FileName <> '') then
+ begin
+ FStream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
+ FOwnsStream := True;
+ end;
+ Result := FStream;
end;
-procedure TJclCompressionArchive.SetFileHostOS(Index: Integer; const Value: WideString);
-begin
- raise EJclCompressionError.CreateRes(@RsCompressionWriteNotSupported);
-end;
-
-procedure TJclCompressionArchive.SetFileLastAccessTime(Index: Integer;
- const Value: TFileTime);
-begin
- raise EJclCompressionError.CreateRes(@RsCompressionWriteNotSupported);
-end;
-
-procedure TJclCompressionArchive.SetFileLastWriteTime(Index: Integer;
- const Value: TFileTime);
-begin
- raise EJclCompressionError.CreateRes(@RsCompressionWriteNotSupported);
-end;
-
-procedure TJclCompressionArchive.SetFileSize(Index: Integer;
- const Value: Int64);
-begin
- raise EJclCompressionError.CreateRes(@RsCompressionWriteNotSupported);
-end;
-
-procedure TJclCompressionArchive.SetFileUser(Index: Integer;
- const Value: WideString);
-begin
- raise EJclCompressionError.CreateRes(@RsCompressionWriteNotSupported);
-end;
-
-procedure TJclCompressionArchive.SetOperationSuccess(Index: Integer;
- Value: TJclCompressionOperationSuccess);
-begin
- PCompressFileRec(FFiles.Items[Index])^.OperationSuccess := Value;
-end;
-
-procedure TJclCompressionArchive.SetSelected(Index: Integer; Value: Boolean);
-begin
- PCompressFileRec(FFiles.Items[Index])^.Selected := Value;
-end;
-
-procedure TJclCompressionArchive.UnselectAll;
-var
- Index: Integer;
-begin
- for Index := 0 to FFiles.Count - 1 do
- PCompressFileRec(FFiles.Items[Index])^.Selected := False;
-end;
-
//=== { TJclCompressArchive } ================================================
procedure TJclCompressArchive.CheckNotCompressing;
@@ -2614,135 +2725,79 @@
raise EJclCompressionError.CreateRes(@RsCompressionCompressingError);
end;
-function TJclCompressArchive.AddDirectory(const DirRelName: WideString;
+function TJclCompressArchive.AddDirectory(const PackedName: WideString;
const DirName: string; RecurseIntoDir: Boolean; AddFilesInDir: Boolean): Integer;
var
- AFileRec: PCompressFileRec;
+ AItem: TJclCompressionItem;
begin
CheckNotCompressing;
if DirName <> '' then
begin
- FBaseRelName := DirRelName;
+ FBaseRelName := PackedName;
FBaseDirName := PathRemoveSeparator(DirName);
FAddFilesInDir := AddFilesInDir;
if RecurseIntoDir then
begin
- Result := FFiles.Count;
+ Result := FItems.Count;
EnumDirectories(DirName, InternalAddDirectory, True, '', nil);
Exit;
end;
end;
- New(AFileRec);
- AFileRec^.RelName := DirRelName;
- AFileRec^.FileName := DirName;
- AFileRec^.Stream := nil;
- AFileRec^.OwnStream := False;
- AFileRec^.Kind := kDirectory;
- InitFileRec(AFileRec, nil);
+ AItem := GetItemClass.Create(Self);
+ try
+ AItem.PackedName := PackedName;
+ AItem.FileName := DirName;
+ except
+ AItem.Destroy;
+ raise;
+ end;
- Result := FFiles.Add(AFileRec);
+ Result := FItems.Add(AItem);
if (DirName <> '') and AddFilesInDir then
EnumFiles(PathAddSeparator(DirName) + '*', InternalAddFile, faDirectory);
end;
-function TJclCompressArchive.AddFile(const RelName: WideString;
+function TJclCompressArchive.AddFile(const PackedName: WideString;
const FileName: string): Integer;
var
- AFileRec: PCompressFileRec;
+ AItem: TJclCompressionItem;
begin
CheckNotCompressing;
- New(AFileRec);
- AFileRec^.RelName := RelName;
- AFileRec^.FileName := FileName;
- AFileRec^.Stream := nil;
- AFileRec^.OwnStream := True;
- AFileRec^.Kind := kFile;
- InitFileRec(AFileRec, nil);
+ AItem := GetItemClass.Create(Self);
+ try
+ AItem.PackedName := PackedName;
+ AItem.FileName := FileName;
+ except
+ AItem.Destroy;
+ raise;
+ end;
- Result := FFiles.Add(AFileRec);
+ Result := FItems.Add(AItem);
end;
-function TJclCompressArchive.AddFile(const RelName: WideString;
- AStream: TStream; AOwnStream: Boolean): Integer;
+function TJclCompressArchive.AddFile(const PackedName: WideString;
+ AStream: TStream; AOwnsStream: Boolean): Integer;
var
- AFileRec: PCompressFileRec;
+ AItem: TJclCompressionItem;
begin
CheckNotCompressing;
- New(AFileRec);
- AFileRec^.RelName := RelName;
- AFileRec^.FileName := '';
- AFileRec^.Stream := AStream;
- AFileRec^.OwnStream := AOwnStream;
- AFileRec^.Kind := kFile;
- InitFileRec(AFileRec, nil);
-
- Result := FFiles.Add(AFileRec);
-end;
-
-function TJclCompressArchive.GetStream(Index: Integer): TStream;
-var
- AFileRec: PCompressFileRec;
-begin
- AFileRec := PCompressFileRec(FFiles.Items[Index]);
- if (not Assigned(AFileRec^.Stream)) and (AFileRec^.FileName <> '')
- and (AFileRec^.Kind = kFile) then
- begin
- AFileRec^.Stream := TFileStream.Create(AFileRec^.FileName, fmOpenRead or fmShareDenyWrite);
- AFileRec^.OwnStream := True;
+ AItem := GetItemClass.Create(Self);
+ try
+ AItem.PackedName := PackedName;
+ AItem.Stream := AStream;
+ AItem.OwnsStream := AOwnsStream;
+ except
+ AItem.Destroy;
+ raise;
end;
- Result := AFileRec^.Stream;
-end;
-procedure TJclCompressArchive.InitFileRec(AFileRec: PCompressFileRec;
- ASearchRec: PSearchRec);
-var
- FindData: TWin32FindData;
- FileFT: TFileTime;
-begin
- if AFileRec^.FileName <> '' then
- begin
- if Assigned(ASearchRec) then
- FindData := ASearchRec^.FindData;
-
- if Assigned(ASearchRec) or GetFileAttributesEx(PAnsiChar(AFileRec^.FileName), GetFileExInfoStandard, @FindData) then
- begin
- AFileRec^.Size := (Int64(FindData.nFileSizeHigh) sh...
[truncated message content] |
|
From: <ah...@us...> - 2007-08-17 15:39:11
|
Revision: 2135
http://jcl.svn.sourceforge.net/jcl/?rev=2135&view=rev
Author: ahuser
Date: 2007-08-17 08:39:08 -0700 (Fri, 17 Aug 2007)
Log Message:
-----------
Uninstall only from installed IDEs
Modified Paths:
--------------
trunk/thirdparty/InnoSetup/Install.iss
Modified: trunk/thirdparty/InnoSetup/Install.iss
===================================================================
--- trunk/thirdparty/InnoSetup/Install.iss 2007-08-15 16:38:15 UTC (rev 2134)
+++ trunk/thirdparty/InnoSetup/Install.iss 2007-08-17 15:39:08 UTC (rev 2135)
@@ -317,18 +317,18 @@
// during the installation. The user could have started the JediInstaller
// or have added additional designtime packages by hand.
var
- {IdeList: TStrings;
+ IdeList: TStrings;
IdeIndex: Integer;
- IdeKind: TIdeKind;}
+ IdeKind: TIdeKind;
Version: Integer;
begin
- // Uninstall from all IDEs ?
+{ // Uninstall from all IDEs ?
for Version := 5 to 11 do
UninstallExpertsPrefixed(ikDelphi, Version, 'Jcl');
for Version := 5 to 6 do
- UninstallExpertsPrefixed(ikBCB, Version, 'Jcl');
+ UninstallExpertsPrefixed(ikBCB, Version, 'Jcl');}
-{ IdeList := TStringList.Create;
+ IdeList := TStringList.Create;
try
GetSelectedList(IdeList, 'IDE', Components);
// unregister per IDE
@@ -339,7 +339,7 @@
end;
finally
IdeList.Free;
- end;}
+ end;
end;
function MapExpert(IdeKind: TIdeKind; Version: Integer; const ExpertName: string): string;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-08-15 16:38:23
|
Revision: 2134
http://jcl.svn.sourceforge.net/jcl/?rev=2134&view=rev
Author: outchy
Date: 2007-08-15 09:38:15 -0700 (Wed, 15 Aug 2007)
Log Message:
-----------
Sync code and documentation
Modified Paths:
--------------
trunk/help/Base.dtx
trunk/help/Bitmap32.dtx
trunk/help/ExprEval.dtx
trunk/help/JCLHelp.dox
trunk/help/PE.dtx
trunk/help/RTTI.dtx
trunk/help/Streams.dtx
trunk/help/SysInfo.dtx
trunk/help/WideStrings.dtx
trunk/help/hlpgrps.dtx
Modified: trunk/help/Base.dtx
===================================================================
--- trunk/help/Base.dtx 2007-08-15 11:21:26 UTC (rev 2133)
+++ trunk/help/Base.dtx 2007-08-15 16:38:15 UTC (rev 2134)
@@ -98,40 +98,8 @@
Donator:
Marcel van Brakel
--------------------------------------------------------------------------------
-@@EJclError.CreateResRecFmt
-Summary:
- Creates an instance of EJclError with a message loaded from the application's resource and then formatted.
-Description:
- Creates an instance of EJclError with a message loaded from the application's
- resource and then formatted with additional information. The message is specified
- using the ResStringRec parameter and is used as:
- resourcestring
- RsMyResource = 'Oops, an error occurred with code %u';
- raise EJclError.CreateResRecFmt(@RsMyResource, [GetLastError]);
-Parameters:
- ResStringRec - Pointer to a resource string. See the example above.
- Args - Array of value used to format the message string with. See the Format function for more information on how to use these parameters (internally Format is used to do the formatting so the semantics are identical).
-See also:
- CreateResRec
-Donator:
- Marcel van Brakel
---------------------------------------------------------------------------------
-@@EJclError.CreateResRec
-Summary:
- Creates an instance of EJclError with a simple message loaded from the application's resource.
-Description:
- Creates an instance of EJclError with a simple message loaded from the application's
- resource. The message is specified using the ResStringRec parameter and is used as:
- resourcestring
- RsMyResource = 'Oops, an error occurred';
- raise EJclError.CreateResRec(@RsMyResource);
-Parameters
- ResStringRec - Pointer to a resource string. See the example above.
-See also:
- CreateResRecFmt
-Donator:
- Marcel van Brakel
---------------------------------------------------------------------------------
+
+
@@EJclInternalError
<GROUP BaseServices.ErrorHandling>
Summary:
@@ -203,21 +171,7 @@
Donator:
Marcel van Brakel
--------------------------------------------------------------------------------
-@@EJclWin32Error.CreateResRec
-Summary:
- Instantiates an instance of EJclWin32Error with a string loaded from the application's resource.
-Description:
- CreateRes instantiates an EJclWin32Error exception class. ResStringRec is a pointer
- to a message which is loaded from the application's resource.
-Parameters:
- ResStringRec - ResStringRec is a pointer to a resource string.
-See also:
- Create
- CreateFmt
- CreateRes
-Donator:
- Marcel van Brakel
---------------------------------------------------------------------------------
+
@@EJclWin32Error.LastError
Summary:
Contains the LastError.
@@ -592,38 +546,9 @@
Donator:
Petr Vones
--------------------------------------------------------------------------------
-@@TObjectList.Clear
-Summary:
- Deletes all items from the list.
-Description:
- Clear empties the list, frees the memory used to store the Objects array, and
- sets Count and Capacity to 0. If OwnsObjects is True, Clear also frees the objects
- in the list.
-Donator:
- Petr Vones
---------------------------------------------------------------------------------
-@@TObjectList.Create
-Summary:
- Creates an instance of TObjectList
-Description:
- Creates an instance of TObjectList and initializes the OwnsObjects property.
-Parameters:
- AOwnsObjects - Initial value for the OwnsObjects property.
-Donator:
- Petr Vones
---------------------------------------------------------------------------------
-@@TObjectList.OwnsObjects
-Summary:
- Determines whether the class owns it's items.
-Description:
- The OwnsObjects property determines whether the class owns the objects it stores.
- If set to True, clearing the list through the Clear method will free all objects
- in addition to removing them from the list. If set to False, clearing the list
- through the Clear method merely removes the items from the list but does not free
- the objects.
-Donator:
- Petr Vones
---------------------------------------------------------------------------------
+
+
+
@@RaiseLastOSError
<GROUP BaseServices.Compatibility>
Summary:
Modified: trunk/help/Bitmap32.dtx
===================================================================
--- trunk/help/Bitmap32.dtx 2007-08-15 11:21:26 UTC (rev 2133)
+++ trunk/help/Bitmap32.dtx 2007-08-15 16:38:15 UTC (rev 2134)
@@ -683,7 +683,7 @@
@@TJclBitmap32.FillRectTS
<COMBINE TJclBitmap32.FillRect>
--------------------------------------------------------------------------------
-@@TJclBitmap32.FrameRect
+@@TJclBitmap32.FrameRectS
Summary:
Draws a rectangle using the specified color.
Description:
@@ -700,12 +700,10 @@
TColor32
Donator:
Alex Denissov
-@@TJclBitmap32.FrameRectS
-<COMBINE TJclBitmap32.FrameRect>
@@TJclBitmap32.FrameRectTS
-<COMBINE TJclBitmap32.FrameRect>
+<COMBINE TJclBitmap32.FrameRectS>
@@TJclBitmap32.FrameRectTSP
-<COMBINE TJclBitmap32.FrameRect>
+<COMBINE TJclBitmap32.FrameRectS>
--------------------------------------------------------------------------------
@@TJclBitmap32.DrawHorzLine
Summary:
@@ -1193,20 +1191,7 @@
Donator:
Alex Denissov
--------------------------------------------------------------------------------
-@@TJclBitmap32.OnPixelCombine
-Summary:
- Occurs for every pixel drawn on dmCustom draw mode.
-Description:
- This event is called when the bitmap is drawn in dmCustom draw mode.
- Use this event to customize handling of colors. Note, however, that this event
- is called for every pixel, so the event handler should be kept small and fast.
-See also:
- DrawMode
- TColor32
- TPixelCombineEvent
-Donator:
- Alex Denissov
---------------------------------------------------------------------------------
+
@@Graphics_Naming_Conventions
<TITLE Function naming conventions>
<GROUP Graphics.Bitmaps>
@@ -1367,19 +1352,7 @@
Donator:
Alex Denissov
--------------------------------------------------------------------------------
-@@TJclByteMap.Byte
-Summary:
- Provides access to the data byte at position (X, Y).
-Description:
- Provides coordinate-based access to stored bytes. This function does not
- perform any range checking of its arguments. Ensure that the byte map is not
- empty and that both X and Y are in a valid range.
-See also:
- ValPtr
- Bytes
-Donator:
- Alex Denissov
---------------------------------------------------------------------------------
+
@@TJclByteMap.Assign
Summary:
TODO
@@ -2175,4 +2148,4 @@
TScanLine
Donator:
Alex Denissov
---------------------------------------------------------------------------------
\ No newline at end of file
+--------------------------------------------------------------------------------
Modified: trunk/help/ExprEval.dtx
===================================================================
--- trunk/help/ExprEval.dtx 2007-08-15 11:21:26 UTC (rev 2133)
+++ trunk/help/ExprEval.dtx 2007-08-15 16:38:15 UTC (rev 2134)
@@ -868,25 +868,25 @@
Donator:
Barry Kelly
--------------------------------------------------------------------------------
-@@TExprCompileParser.CompileExpr
+@@TExprCompileParser.CompileExprLevel0
Summary:
- Compiles relational operators and uses CompileSimpleExpr.
+ Compiles relational operators and uses CompileExprLevel1.
Donator:
Barry Kelly
--------------------------------------------------------------------------------
-@@TExprCompileParser.CompileSimpleExpr
+@@TExprCompileParser.CompileExprLevel1
Summary:
- Compiles +, -, etc and uses CompileTerm.
+ Compiles +, -, etc and uses CompileExprLevel2.
Donator:
Barry Kelly
--------------------------------------------------------------------------------
-@@TExprCompileParser.CompileTerm
+@@TExprCompileParser.CompileExprLevel2
Summary:
- Compiles *, /, etc and uses CompileSignedFactor.
+ Compiles *, /, etc and uses CompileExprLevel3.
Donator:
Barry Kelly
--------------------------------------------------------------------------------
-@@TExprCompileParser.CompileSignedFactor
+@@TExprCompileParser.CompileExprLevel3
Summary:
Compiles unary negate etc, and uses CompileFactor.
Donator:
@@ -959,25 +959,25 @@
Donator:
Barry Kelly
--------------------------------------------------------------------------------
-@@TExprEvalParser.EvalExpr
+@@TExprEvalParser.EvalExprLevel0
Summary:
- Evaluates relational operators and uses EvalSimpleExpr.
+ Evaluates relational operators and uses EvalExprLevel1.
Donator:
Barry Kelly
--------------------------------------------------------------------------------
-@@TExprEvalParser.EvalSimpleExpr
+@@TExprEvalParser.EvalExprLevel1
Summary:
- Evaluates +, -, etc and uses EvalTerm.
+ Evaluates +, -, etc and uses EvalExprLevel2.
Donator:
Barry Kelly
--------------------------------------------------------------------------------
-@@TExprEvalParser.EvalTerm
+@@TExprEvalParser.EvalExprLevel2
Summary:
- Evaluates *, /, etc and uses EvalSignedFactor.
+ Evaluates *, /, etc and uses EvalExprLevel3.
Donator:
Barry Kelly
--------------------------------------------------------------------------------
-@@TExprEvalParser.EvalSignedFactor
+@@TExprEvalParser.EvalExprLevel3
Summary:
Evaluates unary negate etc, and uses EvalFactor.
Donator:
Modified: trunk/help/JCLHelp.dox
===================================================================
--- trunk/help/JCLHelp.dox 2007-08-15 11:21:26 UTC (rev 2133)
+++ trunk/help/JCLHelp.dox 2007-08-15 16:38:15 UTC (rev 2134)
@@ -11723,9 +11723,9 @@
[Configurations\Configuration 1\Image Paths]
Count=3
-Path0=$(DOM)\graphics
-Path1=$(DOM)\graphics\legacy
-Path2=images
+Path0=images
+Path1=$(DOM)\graphics
+Path2=$(DOM)\graphics\legacy
[Configurations\Configuration 1\Link Database]
LinkPrecedence=0
@@ -23846,9 +23846,9 @@
[Configurations\Configuration 2\Image Paths]
Count=3
-Path0=$(DOM)\graphics
-Path1=$(DOM)\graphics\legacy
-Path2=images
+Path0=images
+Path1=$(DOM)\graphics
+Path2=$(DOM)\graphics\legacy
[Configurations\Configuration 2\Link Database]
LinkPrecedence=0
@@ -34065,7 +34065,7 @@
DontIncludeFolders=0
Help2AdditionalXMLData=
Help2Collection=
-Help2Compiler=F:\Programme\Microsoft Help 2.0 SDK\hxcomp.exe
+Help2Compiler=C:\Program Files\Visual Studio 2005 SDK\2006.04\VisualStudioIntegration\Archive\HelpIntegration\hxcomp.exe
Help2CompileResult=1
Help2Dexplore=
Help2GenericInfoType=kbRef
@@ -35969,9 +35969,9 @@
[Configurations\Configuration 3\Image Paths]
Count=3
-Path0=$(DOM)\graphics
-Path1=$(DOM)\graphics\legacy
-Path2=images
+Path0=images
+Path1=$(DOM)\graphics
+Path2=$(DOM)\graphics\legacy
[Configurations\Configuration 3\Link Database]
LinkPrecedence=0
@@ -39943,9 +39943,9 @@
[Configurations\Configuration 5\Image Paths]
Count=3
-Path0=$(DOM)\graphics
-Path1=$(DOM)\graphics\legacy
-Path2=images
+Path0=images
+Path1=$(DOM)\graphics
+Path2=$(DOM)\graphics\legacy
[Configurations\Configuration 5\Link Database]
LinkPrecedence=0
@@ -41323,9 +41323,9 @@
[Configurations\Configuration 6\Image Paths]
Count=3
-Path0=$(DOM)\graphics
-Path1=$(DOM)\graphics\legacy
-Path2=images
+Path0=images
+Path1=$(DOM)\graphics
+Path2=$(DOM)\graphics\legacy
[Configurations\Configuration 6\Link Database]
LinkPrecedence=0
@@ -52004,4290 +52004,4293 @@
UseInheritedUseUsing=0
[External Topic Properties]
-Count=13852
+Count=13855
ID0=!!CLASSES
ID1=!!CONSTANTS
ID10=!!OVERLOADED_AppendFormat_TStringBuilder
ID100=!!OVERLOADED_InsertSegments_TEDITransactionSet
ID1000=clTrRed32
-ID10000=TJclClrTableMethodDefRow.GetMethodImplFlags
-ID10001=TJclClrTableMethodDefRow.GetName
-ID10002=TJclClrTableMethodDefRow.GetNewSlot
-ID10003=TJclClrTableMethodDefRow.GetParam@Integer
-ID10004=TJclClrTableMethodDefRow.GetParamCount
-ID10005=TJclClrTableMethodDefRow.GetSignature
-ID10006=TJclClrTableMethodDefRow.GetSignatureData
-ID10007=TJclClrTableMethodDefRow.HasParam
-ID10008=TJclClrTableMethodDefRow.ImplFlags
-ID10009=TJclClrTableMethodDefRow.Managed
+ID10000=TJclClrTableMethodDefRow.GetManaged
+ID10001=TJclClrTableMethodDefRow.GetMemberAccess
+ID10002=TJclClrTableMethodDefRow.GetMethodFlags
+ID10003=TJclClrTableMethodDefRow.GetMethodImplFlags
+ID10004=TJclClrTableMethodDefRow.GetName
+ID10005=TJclClrTableMethodDefRow.GetNewSlot
+ID10006=TJclClrTableMethodDefRow.GetParam@Integer
+ID10007=TJclClrTableMethodDefRow.GetParamCount
+ID10008=TJclClrTableMethodDefRow.GetSignature
+ID10009=TJclClrTableMethodDefRow.GetSignatureData
ID1001=clTrWhite32
-ID10010=TJclClrTableMethodDefRow.MemberAccess
-ID10011=TJclClrTableMethodDefRow.MethodBody
-ID10012=TJclClrTableMethodDefRow.MethodFlags
-ID10013=TJclClrTableMethodDefRow.MethodImplFlags
-ID10014=TJclClrTableMethodDefRow.Name
-ID10015=TJclClrTableMethodDefRow.NameOffset
-ID10016=TJclClrTableMethodDefRow.NewSlot
-ID10017=TJclClrTableMethodDefRow.ParamCount
-ID10018=TJclClrTableMethodDefRow.ParamListIdx
-ID10019=TJclClrTableMethodDefRow.Params
+ID10010=TJclClrTableMethodDefRow.HasParam
+ID10011=TJclClrTableMethodDefRow.ImplFlags
+ID10012=TJclClrTableMethodDefRow.Managed
+ID10013=TJclClrTableMethodDefRow.MemberAccess
+ID10014=TJclClrTableMethodDefRow.MethodBody
+ID10015=TJclClrTableMethodDefRow.MethodFlags
+ID10016=TJclClrTableMethodDefRow.MethodImplFlags
+ID10017=TJclClrTableMethodDefRow.Name
+ID10018=TJclClrTableMethodDefRow.NameOffset
+ID10019=TJclClrTableMethodDefRow.NewSlot
ID1002=CLTYPE_LEN
-ID10020=TJclClrTableMethodDefRow.ParentToken
-ID10021=TJclClrTableMethodDefRow.RVA
-ID10022=TJclClrTableMethodDefRow.SetParentToken@TJclClrTableTypeDefRow
-ID10023=TJclClrTableMethodDefRow.Signature
-ID10024=TJclClrTableMethodDefRow.SignatureData
-ID10025=TJclClrTableMethodDefRow.SignatureOffset
-ID10026=TJclClrTableMethodDefRow.Update
-ID10027=TJclClrTableMethodDefRow.UpdateParams
-ID10028=TJclClrTableMethodImpl
-ID10029=TJclClrTableMethodImpl.GetRow@Integer
+ID10020=TJclClrTableMethodDefRow.ParamCount
+ID10021=TJclClrTableMethodDefRow.ParamListIdx
+ID10022=TJclClrTableMethodDefRow.Params
+ID10023=TJclClrTableMethodDefRow.ParentToken
+ID10024=TJclClrTableMethodDefRow.RVA
+ID10025=TJclClrTableMethodDefRow.SetParentToken@TJclClrTableTypeDefRow
+ID10026=TJclClrTableMethodDefRow.Signature
+ID10027=TJclClrTableMethodDefRow.SignatureData
+ID10028=TJclClrTableMethodDefRow.SignatureOffset
+ID10029=TJclClrTableMethodDefRow.Update
ID1003=clWhite32
-ID10030=TJclClrTableMethodImpl.Rows
-ID10031=TJclClrTableMethodImpl.TableRowClass
-ID10032=TJclClrTableMethodImplRow
-ID10033=TJclClrTableMethodImplRow.ClassIdx
-ID10034=TJclClrTableMethodImplRow.Create@TJclClrTable
-ID10035=TJclClrTableMethodImplRow.FClassIdx
-ID10036=TJclClrTableMethodImplRow.FMethodBodyIdx
-ID10037=TJclClrTableMethodImplRow.FMethodDeclarationIdx
-ID10038=TJclClrTableMethodImplRow.MethodBodyIdx
-ID10039=TJclClrTableMethodImplRow.MethodDeclarationIdx
+ID10030=TJclClrTableMethodDefRow.UpdateParams
+ID10031=TJclClrTableMethodImpl
+ID10032=TJclClrTableMethodImpl.GetRow@Integer
+ID10033=TJclClrTableMethodImpl.Rows
+ID10034=TJclClrTableMethodImpl.TableRowClass
+ID10035=TJclClrTableMethodImplRow
+ID10036=TJclClrTableMethodImplRow.ClassIdx
+ID10037=TJclClrTableMethodImplRow.Create@TJclClrTable
+ID10038=TJclClrTableMethodImplRow.FClassIdx
+ID10039=TJclClrTableMethodImplRow.FMethodBodyIdx
ID1004=clYellow32
-ID10040=TJclClrTableMethodPtr
-ID10041=TJclClrTableMethodPtr.GetRow@Integer
-ID10042=TJclClrTableMethodPtr.Rows
-ID10043=TJclClrTableMethodPtr.TableRowClass
-ID10044=TJclClrTableMethodPtrRow
-ID10045=TJclClrTableMethodPtrRow.Create@TJclClrTable
-ID10046=TJclClrTableMethodPtrRow.FMethodIdx
-ID10047=TJclClrTableMethodPtrRow.GetMethod
-ID10048=TJclClrTableMethodPtrRow.Method
-ID10049=TJclClrTableMethodPtrRow.MethodIdx
+ID10040=TJclClrTableMethodImplRow.FMethodDeclarationIdx
+ID10041=TJclClrTableMethodImplRow.MethodBodyIdx
+ID10042=TJclClrTableMethodImplRow.MethodDeclarationIdx
+ID10043=TJclClrTableMethodPtr
+ID10044=TJclClrTableMethodPtr.GetRow@Integer
+ID10045=TJclClrTableMethodPtr.Rows
+ID10046=TJclClrTableMethodPtr.TableRowClass
+ID10047=TJclClrTableMethodPtrRow
+ID10048=TJclClrTableMethodPtrRow.Create@TJclClrTable
+ID10049=TJclClrTableMethodPtrRow.FMethodIdx
ID1005=CMOV_FLAG
-ID10050=TJclClrTableMethodSemantics
-ID10051=TJclClrTableMethodSemantics.GetRow@Integer
-ID10052=TJclClrTableMethodSemantics.Rows
-ID10053=TJclClrTableMethodSemantics.TableRowClass
-ID10054=TJclClrTableMethodSemanticsRow
-ID10055=TJclClrTableMethodSemanticsRow.AssociationIdx
-ID10056=TJclClrTableMethodSemanticsRow.Create@TJclClrTable
-ID10057=TJclClrTableMethodSemanticsRow.FAssociationIdx
-ID10058=TJclClrTableMethodSemanticsRow.FMethodIdx
-ID10059=TJclClrTableMethodSemanticsRow.FSemantics
+ID10050=TJclClrTableMethodPtrRow.GetMethod
+ID10051=TJclClrTableMethodPtrRow.Method
+ID10052=TJclClrTableMethodPtrRow.MethodIdx
+ID10053=TJclClrTableMethodSemantics
+ID10054=TJclClrTableMethodSemantics.GetRow@Integer
+ID10055=TJclClrTableMethodSemantics.Rows
+ID10056=TJclClrTableMethodSemantics.TableRowClass
+ID10057=TJclClrTableMethodSemanticsRow
+ID10058=TJclClrTableMethodSemanticsRow.AssociationIdx
+ID10059=TJclClrTableMethodSemanticsRow.Create@TJclClrTable
ID1006=CMYKToBGR@Pointer@Pointer@Byte@Cardinal
-ID10060=TJclClrTableMethodSemanticsRow.MethodIdx
-ID10061=TJclClrTableMethodSemanticsRow.Semantics
-ID10062=TJclClrTableMethodSpec
-ID10063=TJclClrTableMethodSpec.GetRow@Integer
-ID10064=TJclClrTableMethodSpec.Rows
-ID10065=TJclClrTableMethodSpec.TableRowClass
-ID10066=TJclClrTableMethodSpecRow
-ID10067=TJclClrTableMethodSpecRow.Create@TJclClrTable
-ID10068=TJclClrTableMethodSpecRow.FInstantiationOffset
-ID10069=TJclClrTableMethodSpecRow.FMethodIdx
+ID10060=TJclClrTableMethodSemanticsRow.FAssociationIdx
+ID10061=TJclClrTableMethodSemanticsRow.FMethodIdx
+ID10062=TJclClrTableMethodSemanticsRow.FSemantics
+ID10063=TJclClrTableMethodSemanticsRow.MethodIdx
+ID10064=TJclClrTableMethodSemanticsRow.Semantics
+ID10065=TJclClrTableMethodSpec
+ID10066=TJclClrTableMethodSpec.GetRow@Integer
+ID10067=TJclClrTableMethodSpec.Rows
+ID10068=TJclClrTableMethodSpec.TableRowClass
+ID10069=TJclClrTableMethodSpecRow
ID1007=CMYKToBGR@Pointer@Pointer@Pointer@Pointer@Pointer@Byte@Cardinal
-ID10070=TJclClrTableMethodSpecRow.GetInstantiation
-ID10071=TJclClrTableMethodSpecRow.GetMethod
-ID10072=TJclClrTableMethodSpecRow.Instantiation
-ID10073=TJclClrTableMethodSpecRow.InstantiationOffset
-ID10074=TJclClrTableMethodSpecRow.Method
-ID10075=TJclClrTableMethodSpecRow.MethodIdx
-ID10076=TJclClrTableModule
-ID10077=TJclClrTableModule.GetRow@Integer
-ID10078=TJclClrTableModule.Rows
-ID10079=TJclClrTableModule.TableRowClass
+ID10070=TJclClrTableMethodSpecRow.Create@TJclClrTable
+ID10071=TJclClrTableMethodSpecRow.FInstantiationOffset
+ID10072=TJclClrTableMethodSpecRow.FMethodIdx
+ID10073=TJclClrTableMethodSpecRow.GetInstantiation
+ID10074=TJclClrTableMethodSpecRow.GetMethod
+ID10075=TJclClrTableMethodSpecRow.Instantiation
+ID10076=TJclClrTableMethodSpecRow.InstantiationOffset
+ID10077=TJclClrTableMethodSpecRow.Method
+ID10078=TJclClrTableMethodSpecRow.MethodIdx
+ID10079=TJclClrTableModule
ID1008=CNLEN
-ID10080=TJclClrTableModuleRef
-ID10081=TJclClrTableModuleRef.GetRow@Integer
-ID10082=TJclClrTableModuleRef.Rows
-ID10083=TJclClrTableModuleRef.TableRowClass
-ID10084=TJclClrTableModuleRefRow
-ID10085=TJclClrTableModuleRefRow.Create@TJclClrTable
-ID10086=TJclClrTableModuleRefRow.DumpIL
-ID10087=TJclClrTableModuleRefRow.FNameOffset
-ID10088=TJclClrTableModuleRefRow.GetName
-ID10089=TJclClrTableModuleRefRow.Name
+ID10080=TJclClrTableModule.GetRow@Integer
+ID10081=TJclClrTableModule.Rows
+ID10082=TJclClrTableModule.TableRowClass
+ID10083=TJclClrTableModuleRef
+ID10084=TJclClrTableModuleRef.GetRow@Integer
+ID10085=TJclClrTableModuleRef.Rows
+ID10086=TJclClrTableModuleRef.TableRowClass
+ID10087=TJclClrTableModuleRefRow
+ID10088=TJclClrTableModuleRefRow.Create@TJclClrTable
+ID10089=TJclClrTableModuleRefRow.DumpIL
ID1009=CodeBlockName@TUnicodeBlock
-ID10090=TJclClrTableModuleRefRow.NameOffset
-ID10091=TJclClrTableModuleRow
-ID10092=TJclClrTableModuleRow.Create@TJclClrTable
-ID10093=TJclClrTableModuleRow.DumpIL
-ID10094=TJclClrTableModuleRow.EncBaseId
-ID10095=TJclClrTableModuleRow.EncBaseIdIdx
-ID10096=TJclClrTableModuleRow.EncId
-ID10097=TJclClrTableModuleRow.EncIdIdx
-ID10098=TJclClrTableModuleRow.FEncBaseIdIdx
-ID10099=TJclClrTableModuleRow.FEncIdIdx
+ID10090=TJclClrTableModuleRefRow.FNameOffset
+ID10091=TJclClrTableModuleRefRow.GetName
+ID10092=TJclClrTableModuleRefRow.Name
+ID10093=TJclClrTableModuleRefRow.NameOffset
+ID10094=TJclClrTableModuleRow
+ID10095=TJclClrTableModuleRow.Create@TJclClrTable
+ID10096=TJclClrTableModuleRow.DumpIL
+ID10097=TJclClrTableModuleRow.EncBaseId
+ID10098=TJclClrTableModuleRow.EncBaseIdIdx
+ID10099=TJclClrTableModuleRow.EncId
ID101=!!OVERLOADED_InsertSubElement_TEDISEFCompositeElement
ID1010=CodeBlockRange@TUnicodeBlock
-ID10100=TJclClrTableModuleRow.FGeneration
-ID10101=TJclClrTableModuleRow.FMvidIdx
-ID10102=TJclClrTableModuleRow.FNameOffset
-ID10103=TJclClrTableModuleRow.Generation
-ID10104=TJclClrTableModuleRow.GetEncBaseId
-ID10105=TJclClrTableModuleRow.GetEncId
-ID10106=TJclClrTableModuleRow.GetMvid
-ID10107=TJclClrTableModuleRow.GetName
-ID10108=TJclClrTableModuleRow.HasEncBaseId
-ID10109=TJclClrTableModuleRow.HasEncId
+ID10100=TJclClrTableModuleRow.EncIdIdx
+ID10101=TJclClrTableModuleRow.FEncBaseIdIdx
+ID10102=TJclClrTableModuleRow.FEncIdIdx
+ID10103=TJclClrTableModuleRow.FGeneration
+ID10104=TJclClrTableModuleRow.FMvidIdx
+ID10105=TJclClrTableModuleRow.FNameOffset
+ID10106=TJclClrTableModuleRow.Generation
+ID10107=TJclClrTableModuleRow.GetEncBaseId
+ID10108=TJclClrTableModuleRow.GetEncId
+ID10109=TJclClrTableModuleRow.GetMvid
ID1011=Color32@Byte@Byte@Byte@Byte
-ID10110=TJclClrTableModuleRow.Mvid
-ID10111=TJclClrTableModuleRow.MvidIdx
-ID10112=TJclClrTableModuleRow.Name
-ID10113=TJclClrTableModuleRow.NameOffset
-ID10114=TJclClrTableNestedClass
-ID10115=TJclClrTableNestedClass.GetRow@Integer
-ID10116=TJclClrTableNestedClass.Rows
-ID10117=TJclClrTableNestedClass.TableRowClass
-ID10118=TJclClrTableNestedClassRow
-ID10119=TJclClrTableNestedClassRow.Create@TJclClrTable
+ID10110=TJclClrTableModuleRow.GetName
+ID10111=TJclClrTableModuleRow.HasEncBaseId
+ID10112=TJclClrTableModuleRow.HasEncId
+ID10113=TJclClrTableModuleRow.Mvid
+ID10114=TJclClrTableModuleRow.MvidIdx
+ID10115=TJclClrTableModuleRow.Name
+ID10116=TJclClrTableModuleRow.NameOffset
+ID10117=TJclClrTableNestedClass
+ID10118=TJclClrTableNestedClass.GetRow@Integer
+ID10119=TJclClrTableNestedClass.Rows
ID1012=Color32@Byte@TPalette32
-ID10120=TJclClrTableNestedClassRow.EnclosingClassIdx
-ID10121=TJclClrTableNestedClassRow.FEnclosingClassIdx
-ID10122=TJclClrTableNestedClassRow.FNestedClassIdx
-ID10123=TJclClrTableNestedClassRow.NestedClassIdx
-ID10124=TJclClrTableParamDef
-ID10125=TJclClrTableParamDef.GetRow@Integer
-ID10126=TJclClrTableParamDef.Rows
-ID10127=TJclClrTableParamDef.TableRowClass
-ID10128=TJclClrTableParamDefRow
-ID10129=TJclClrTableParamDefRow.Create@TJclClrTable
+ID10120=TJclClrTableNestedClass.TableRowClass
+ID10121=TJclClrTableNestedClassRow
+ID10122=TJclClrTableNestedClassRow.Create@TJclClrTable
+ID10123=TJclClrTableNestedClassRow.EnclosingClassIdx
+ID10124=TJclClrTableNestedClassRow.FEnclosingClassIdx
+ID10125=TJclClrTableNestedClassRow.FNestedClassIdx
+ID10126=TJclClrTableNestedClassRow.NestedClassIdx
+ID10127=TJclClrTableParamDef
+ID10128=TJclClrTableParamDef.GetRow@Integer
+ID10129=TJclClrTableParamDef.Rows
ID1013=Color32@TColor
-ID10130=TJclClrTableParamDefRow.DumpIL
-ID10131=TJclClrTableParamDefRow.FFlagMask
-ID10132=TJclClrTableParamDefRow.FFlags
-ID10133=TJclClrTableParamDefRow.FlagMask
-ID10134=TJclClrTableParamDefRow.Flags
-ID10135=TJclClrTableParamDefRow.FMethod
-ID10136=TJclClrTableParamDefRow.FNameOffset
-ID10137=TJclClrTableParamDefRow.FSequence
-ID10138=TJclClrTableParamDefRow.GetName
-ID10139=TJclClrTableParamDefRow.Method
+ID10130=TJclClrTableParamDef.TableRowClass
+ID10131=TJclClrTableParamDefRow
+ID10132=TJclClrTableParamDefRow.Create@TJclClrTable
+ID10133=TJclClrTableParamDefRow.DumpIL
+ID10134=TJclClrTableParamDefRow.FFlagMask
+ID10135=TJclClrTableParamDefRow.FFlags
+ID10136=TJclClrTableParamDefRow.FlagMask
+ID10137=TJclClrTableParamDefRow.Flags
+ID10138=TJclClrTableParamDefRow.FMethod
+ID10139=TJclClrTableParamDefRow.FNameOffset
ID1014=ColorToHTML@TColor
-ID10140=TJclClrTableParamDefRow.Name
-ID10141=TJclClrTableParamDefRow.NameOffset
-ID10142=TJclClrTableParamDefRow.ParamFlags@TJclClrParamKinds
-ID10143=TJclClrTableParamDefRow.ParamFlags@Word
-ID10144=TJclClrTableParamDefRow.Sequence
-ID10145=TJclClrTableParamDefRow.SetMethod@TJclClrTableMethodDefRow
-ID10146=TJclClrTableParamPtr
-ID10147=TJclClrTableParamPtr.GetRow@Integer
-ID10148=TJclClrTableParamPtr.Rows
-ID10149=TJclClrTableParamPtr.TableRowClass
+ID10140=TJclClrTableParamDefRow.FSequence
+ID10141=TJclClrTableParamDefRow.GetName
+ID10142=TJclClrTableParamDefRow.Method
+ID10143=TJclClrTableParamDefRow.Name
+ID10144=TJclClrTableParamDefRow.NameOffset
+ID10145=TJclClrTableParamDefRow.ParamFlags@TJclClrParamKinds
+ID10146=TJclClrTableParamDefRow.ParamFlags@Word
+ID10147=TJclClrTableParamDefRow.Sequence
+ID10148=TJclClrTableParamDefRow.SetMethod@TJclClrTableMethodDefRow
+ID10149=TJclClrTableParamPtr
ID1015=CoMallocFree@Pointer
-ID10150=TJclClrTableParamPtrRow
-ID10151=TJclClrTableParamPtrRow.Create@TJclClrTable
-ID10152=TJclClrTableParamPtrRow.FParamIdx
-ID10153=TJclClrTableParamPtrRow.GetParam
-ID10154=TJclClrTableParamPtrRow.Param
-ID10155=TJclClrTableParamPtrRow.ParamIdx
-ID10156=TJclClrTablePropertyDef
-ID10157=TJclClrTablePropertyDef.GetRow@Integer
-ID10158=TJclClrTablePropertyDef.Rows
-ID10159=TJclClrTablePropertyDef.TableRowClass
+ID10150=TJclClrTableParamPtr.GetRow@Integer
+ID10151=TJclClrTableParamPtr.Rows
+ID10152=TJclClrTableParamPtr.TableRowClass
+ID10153=TJclClrTableParamPtrRow
+ID10154=TJclClrTableParamPtrRow.Create@TJclClrTable
+ID10155=TJclClrTableParamPtrRow.FParamIdx
+ID10156=TJclClrTableParamPtrRow.GetParam
+ID10157=TJclClrTableParamPtrRow.Param
+ID10158=TJclClrTableParamPtrRow.ParamIdx
+ID10159=TJclClrTablePropertyDef
ID1016=Combinations@Cardinal@Cardinal
-ID10160=TJclClrTablePropertyDefRow
-ID10161=TJclClrTablePropertyDefRow.Create@TJclClrTable
-ID10162=TJclClrTablePropertyDefRow.DumpIL
-ID10163=TJclClrTablePropertyDefRow.FFlags
-ID10164=TJclClrTablePropertyDefRow.FKindIdx
-ID10165=TJclClrTablePropertyDefRow.Flags
-ID10166=TJclClrTablePropertyDefRow.FNameOffset
-ID10167=TJclClrTablePropertyDefRow.GetFlags
-ID10168=TJclClrTablePropertyDefRow.GetName
-ID10169=TJclClrTablePropertyDefRow.KindIdx
+ID10160=TJclClrTablePropertyDef.GetRow@Integer
+ID10161=TJclClrTablePropertyDef.Rows
+ID10162=TJclClrTablePropertyDef.TableRowClass
+ID10163=TJclClrTablePropertyDefRow
+ID10164=TJclClrTablePropertyDefRow.Create@TJclClrTable
+ID10165=TJclClrTablePropertyDefRow.DumpIL
+ID10166=TJclClrTablePropertyDefRow.FFlags
+ID10167=TJclClrTablePropertyDefRow.FKindIdx
+ID10168=TJclClrTablePropertyDefRow.Flags
+ID10169=TJclClrTablePropertyDefRow.FNameOffset
ID1017=CombineCOMSDataOfCOMSDefinition@TEDISEFCompositeElement
-ID10170=TJclClrTablePropertyDefRow.Name
-ID10171=TJclClrTablePropertyDefRow.NameOffset
-ID10172=TJclClrTablePropertyDefRow.RawFlags
-ID10173=TJclClrTablePropertyFlag
-ID10174=TJclClrTablePropertyFlag.pfHasDefault
-ID10175=TJclClrTablePropertyFlag.pfRTSpecialName
-ID10176=TJclClrTablePropertyFlag.pfSpecialName
-ID10177=TJclClrTablePropertyFlags
-ID10178=TJclClrTablePropertyMap
-ID10179=TJclClrTablePropertyMap.GetRow@Integer
+ID10170=TJclClrTablePropertyDefRow.GetFlags
+ID10171=TJclClrTablePropertyDefRow.GetName
+ID10172=TJclClrTablePropertyDefRow.KindIdx
+ID10173=TJclClrTablePropertyDefRow.Name
+ID10174=TJclClrTablePropertyDefRow.NameOffset
+ID10175=TJclClrTablePropertyDefRow.RawFlags
+ID10176=TJclClrTablePropertyFlag
+ID10177=TJclClrTablePropertyFlag.pfHasDefault
+ID10178=TJclClrTablePropertyFlag.pfRTSpecialName
+ID10179=TJclClrTablePropertyFlag.pfSpecialName
ID1018=CombineCOMSDataOfSEGSDefinition@TEDISEFCompositeElement
-ID10180=TJclClrTablePropertyMap.Rows
-ID10181=TJclClrTablePropertyMap.TableRowClass
-ID10182=TJclClrTablePropertyMap.Update
-ID10183=TJclClrTablePropertyMapRow
-ID10184=TJclClrTablePropertyMapRow.Add@TJclClrTablePropertyDefRow
-ID10185=TJclClrTablePropertyMapRow.Create@TJclClrTable
-ID10186=TJclClrTablePropertyMapRow.Destroy
-ID10187=TJclClrTablePropertyMapRow.FParentIdx
-ID10188=TJclClrTablePropertyMapRow.FProperties
-ID10189=TJclClrTablePropertyMapRow.FPropertyListIdx
+ID10180=TJclClrTablePropertyFlags
+ID10181=TJclClrTablePropertyMap
+ID10182=TJclClrTablePropertyMap.GetRow@Integer
+ID10183=TJclClrTablePropertyMap.Rows
+ID10184=TJclClrTablePropertyMap.TableRowClass
+ID10185=TJclClrTablePropertyMap.Update
+ID10186=TJclClrTablePropertyMapRow
+ID10187=TJclClrTablePropertyMapRow.Add@TJclClrTablePropertyDefRow
+ID10188=TJclClrTablePropertyMapRow.Create@TJclClrTable
+ID10189=TJclClrTablePropertyMapRow.Destroy
ID1019=CombineELMSDataOfCOMSorSEGSDefinition@TEDISEFElement@TEDISEFDataObjectList
-ID10190=TJclClrTablePropertyMapRow.GetParent
-ID10191=TJclClrTablePropertyMapRow.GetProperty@Integer
-ID10192=TJclClrTablePropertyMapRow.GetPropertyCount
-ID10193=TJclClrTablePropertyMapRow.Parent
-ID10194=TJclClrTablePropertyMapRow.ParentIdx
-ID10195=TJclClrTablePropertyMapRow.Properties
-ID10196=TJclClrTablePropertyMapRow.PropertyCount
-ID10197=TJclClrTablePropertyMapRow.PropertyListIdx
-ID10198=TJclClrTablePropertyPtr
-ID10199=TJclClrTablePropertyPtr.GetRow@Integer
+ID10190=TJclClrTablePropertyMapRow.FParentIdx
+ID10191=TJclClrTablePropertyMapRow.FProperties
+ID10192=TJclClrTablePropertyMapRow.FPropertyListIdx
+ID10193=TJclClrTablePropertyMapRow.GetParent
+ID10194=TJclClrTablePropertyMapRow.GetProperty@Integer
+ID10195=TJclClrTablePropertyMapRow.GetPropertyCount
+ID10196=TJclClrTablePropertyMapRow.Parent
+ID10197=TJclClrTablePropertyMapRow.ParentIdx
+ID10198=TJclClrTablePropertyMapRow.Properties
+ID10199=TJclClrTablePropertyMapRow.PropertyCount
ID102=!!OVERLOADED_InsertTable_TEDISEFSet
ID1020=CombineELMSDataOfELMSDefinition@TEDISEFElement
-ID10200=TJclClrTablePropertyPtr.Rows
-ID10201=TJclClrTablePropertyPtr.TableRowClass
-ID10202=TJclClrTablePropertyPtrRow
-ID10203=TJclClrTablePropertyPtrRow._Property
-ID10204=TJclClrTablePropertyPtrRow.Create@TJclClrTable
-ID10205=TJclClrTablePropertyPtrRow.FPropertyIdx
-ID10206=TJclClrTablePropertyPtrRow.GetProperty
-ID10207=TJclClrTablePropertyPtrRow.PropertyIdx
-ID10208=TJclClrTableRow
-ID10209=TJclClrTableRow.Create@TJclClrTable
+ID10200=TJclClrTablePropertyMapRow.PropertyListIdx
+ID10201=TJclClrTablePropertyPtr
+ID10202=TJclClrTablePropertyPtr.GetRow@Integer
+ID10203=TJclClrTablePropertyPtr.Rows
+ID10204=TJclClrTablePropertyPtr.TableRowClass
+ID10205=TJclClrTablePropertyPtrRow
+ID10206=TJclClrTablePropertyPtrRow._Property
+ID10207=TJclClrTablePropertyPtrRow.Create@TJclClrTable
+ID10208=TJclClrTablePropertyPtrRow.FPropertyIdx
+ID10209=TJclClrTablePropertyPtrRow.GetProperty
ID1021=CombineMem
-ID10210=TJclClrTableRow.DecodeResolutionScope@DWORD
-ID10211=TJclClrTableRow.DecodeTypeDefOrRef@DWORD
-ID10212=TJclClrTableRow.DumpIL
-ID10213=TJclClrTableRow.FIndex
-ID10214=TJclClrTableRow.FTable
-ID10215=TJclClrTableRow.GetToken
-ID10216=TJclClrTableRow.Index
-ID10217=TJclClrTableRow.Table
-ID10218=TJclClrTableRow.Token
-ID10219=TJclClrTableRow.Update
+ID10210=TJclClrTablePropertyPtrRow.PropertyIdx
+ID10211=TJclClrTableRow
+ID10212=TJclClrTableRow.Create@TJclClrTable
+ID10213=TJclClrTableRow.DecodeResolutionScope@DWORD
+ID10214=TJclClrTableRow.DecodeTypeDefOrRef@DWORD
+ID10215=TJclClrTableRow.DumpIL
+ID10216=TJclClrTableRow.FIndex
+ID10217=TJclClrTableRow.FTable
+ID10218=TJclClrTableRow.GetToken
+ID10219=TJclClrTableRow.Index
ID1022=CombineReg
-ID10220=TJclClrTableRowClass
-ID10221=TJclClrTableStandAloneSig
-ID10222=TJclClrTableStandAloneSig.GetRow@Integer
-ID10223=TJclClrTableStandAloneSig.Rows
-ID10224=TJclClrTableStandAloneSig.TableRowClass
-ID10225=TJclClrTableStandAloneSigRow
-ID10226=TJclClrTableStandAloneSigRow.Create@TJclClrTable
-ID10227=TJclClrTableStandAloneSigRow.FSignatureOffset
-ID10228=TJclClrTableStandAloneSigRow.GetSignature
-ID10229=TJclClrTableStandAloneSigRow.Signature
+ID10220=TJclClrTableRow.Table
+ID10221=TJclClrTableRow.Token
+ID10222=TJclClrTableRow.Update
+ID10223=TJclClrTableRowClass
+ID10224=TJclClrTableStandAloneSig
+ID10225=TJclClrTableStandAloneSig.GetRow@Integer
+ID10226=TJclClrTableStandAloneSig.Rows
+ID10227=TJclClrTableStandAloneSig.TableRowClass
+ID10228=TJclClrTableStandAloneSigRow
+ID10229=TJclClrTableStandAloneSigRow.Create@TJclClrTable
ID1023=CombineSEGSDataOfSEGSDefinition@TEDISEFSegment
-ID10230=TJclClrTableStandAloneSigRow.SignatureOffset
-ID10231=TJclClrTableStream
-ID10232=TJclClrTableStream.BigHeap
-ID10233=TJclClrTableStream.Create@TJclPeMetadata@PClrStreamHeader
-ID10234=TJclClrTableStream.Destroy
-ID10235=TJclClrTableStream.DumpIL
-ID10236=TJclClrTableStream.FHeader
-ID10237=TJclClrTableStream.FindTable@TJclClrTableKind@TJclClrTable
-ID10238=TJclClrTableStream.FTableCount
-ID10239=TJclClrTableStream.FTables
+ID10230=TJclClrTableStandAloneSigRow.FSignatureOffset
+ID10231=TJclClrTableStandAloneSigRow.GetSignature
+ID10232=TJclClrTableStandAloneSigRow.Signature
+ID10233=TJclClrTableStandAloneSigRow.SignatureOffset
+ID10234=TJclClrTableStream
+ID10235=TJclClrTableStream.BigHeap
+ID10236=TJclClrTableStream.Create@TJclPeMetadata@PClrStreamHeader
+ID10237=TJclClrTableStream.Destroy
+ID10238=TJclClrTableStream.DumpIL
+ID10239=TJclClrTableStream.FHeader
ID1024=CombineSEGSDataOfSETSDefinition@TEDISEFSegment
-ID10240=TJclClrTableStream.GetBigHeap@TJclClrHeapKind
-ID10241=TJclClrTableStream.GetTable@TJclClrTableKind
-ID10242=TJclClrTableStream.GetVersionString
-ID10243=TJclClrTableStream.Header
-ID10244=TJclClrTableStream.TableCount
-ID10245=TJclClrTableStream.Tables
-ID10246=TJclClrTableStream.Update
-ID10247=TJclClrTableStream.VersionString
-ID10248=TJclClrTableTypeDef
-ID10249=TJclClrTableTypeDef.GetRow@Integer
+ID10240=TJclClrTableStream.FindTable@TJclClrTableKind@TJclClrTable
+ID10241=TJclClrTableStream.FTableCount
+ID10242=TJclClrTableStream.FTables
+ID10243=TJclClrTableStream.GetBigHeap@TJclClrHeapKind
+ID10244=TJclClrTableStream.GetTable@TJclClrTableKind
+ID10245=TJclClrTableStream.GetVersionString
+ID10246=TJclClrTableStream.Header
+ID10247=TJclClrTableStream.TableCount
+ID10248=TJclClrTableStream.Tables
+ID10249=TJclClrTableStream.Update
ID1025=CompareCLRVersions@string@string
-ID10250=TJclClrTableTypeDef.Rows
-ID10251=TJclClrTableTypeDef.TableRowClass
-ID10252=TJclClrTableTypeDefRow
-ID10253=TJclClrTableTypeDefRow.Attributes
-ID10254=TJclClrTableTypeDefRow.ClassLayout
-ID10255=TJclClrTableTypeDefRow.ClassSemantics
-ID10256=TJclClrTableTypeDefRow.Create@TJclClrTable
-ID10257=TJclClrTableTypeDefRow.Destroy
-ID10258=TJclClrTableTypeDefRow.DumpIL
-ID10259=TJclClrTableTypeDefRow.Extends
+ID10250=TJclClrTableStream.VersionString
+ID10251=TJclClrTableTypeDef
+ID10252=TJclClrTableTypeDef.GetRow@Integer
+ID10253=TJclClrTableTypeDef.Rows
+ID10254=TJclClrTableTypeDef.TableRowClass
+ID10255=TJclClrTableTypeDefRow
+ID10256=TJclClrTableTypeDefRow.Attributes
+ID10257=TJclClrTableTypeDefRow.ClassLayout
+ID10258=TJclClrTableTypeDefRow.ClassSemantics
+ID10259=TJclClrTableTypeDefRow.Create@TJclClrTable
ID1026=CompilerExtensionBPI
-ID10260=TJclClrTableTypeDefRow.ExtendsIdx
-ID10261=TJclClrTableTypeDefRow.FExtendsIdx
-ID10262=TJclClrTableTypeDefRow.FFieldListIdx
-ID10263=TJclClrTableTypeDefRow.FFields
-ID10264=TJclClrTableTypeDefRow.FFlags
-ID10265=TJclClrTableTypeDefRow.FieldCount
-ID10266=TJclClrTableTypeDefRow.FieldListIdx
-ID10267=TJclClrTableTypeDefRow.Fields
-ID10268=TJclClrTableTypeDefRow.Flags
-ID10269=TJclClrTableTypeDefRow.FMethodListIdx
+ID10260=TJclClrTableTypeDefRow.Destroy
+ID10261=TJclClrTableTypeDefRow.DumpIL
+ID10262=TJclClrTableTypeDefRow.Extends
+ID10263=TJclClrTableTypeDefRow.ExtendsIdx
+ID10264=TJclClrTableTypeDefRow.FExtendsIdx
+ID10265=TJclClrTableTypeDefRow.FFieldListIdx
+ID10266=TJclClrTableTypeDefRow.FFields
+ID10267=TJclClrTableTypeDefRow.FFlags
+ID10268=TJclClrTableTypeDefRow.FieldCount
+ID10269=TJclClrTableTypeDefRow.FieldListIdx
ID1027=CompilerExtensionDCP
-ID10270=TJclClrTableTypeDefRow.FMethods
-ID10271=TJclClrTableTypeDefRow.FNameOffset
-ID10272=TJclClrTableTypeDefRow.FNamespaceOffset
-ID10273=TJclClrTableTypeDefRow.FullName
-ID10274=TJclClrTableTypeDefRow.GetAttributes
-ID10275=TJclClrTableTypeDefRow.GetClassLayout
-ID10276=TJclClrTableTypeDefRow.GetClassSemantics
-ID10277=TJclClrTableTypeDefRow.GetExtends
-ID10278=TJclClrTableTypeDefRow.GetField@Integer
-ID10279=TJclClrTableTypeDefRow.GetFieldCount
+ID10270=TJclClrTableTypeDefRow.Fields
+ID10271=TJclClrTableTypeDefRow.Flags
+ID10272=TJclClrTableTypeDefRow.FMethodListIdx
+ID10273=TJclClrTableTypeDefRow.FMethods
+ID10274=TJclClrTableTypeDefRow.FNameOffset
+ID10275=TJclClrTableTypeDefRow.FNamespaceOffset
+ID10276=TJclClrTableTypeDefRow.FullName
+ID10277=TJclClrTableTypeDefRow.GetAttributes
+ID10278=TJclClrTableTypeDefRow.GetClassLayout
+ID10279=TJclClrTableTypeDefRow.GetClassSemantics
ID1028=CompilerExtensionDEF
-ID10280=TJclClrTableTypeDefRow.GetFullName
-ID10281=TJclClrTableTypeDefRow.GetMethod@Integer
-ID10282=TJclClrTableTypeDefRow.GetMethodCount
-ID10283=TJclClrTableTypeDefRow.GetName
-ID10284=TJclClrTableTypeDefRow.GetNamespace
-ID10285=TJclClrTableTypeDefRow.GetStringFormatting
-ID10286=TJclClrTableTypeDefRow.GetVisibility
-ID10287=TJclClrTableTypeDefRow.HasField
-ID10288=TJclClrTableTypeDefRow.HasMethod
-ID10289=TJclClrTableTypeDefRow.MethodCount
+ID10280=TJclClrTableTypeDefRow.GetExtends
+ID10281=TJclClrTableTypeDefRow.GetField@Integer
+ID10282=TJclClrTableTypeDefRow.GetFieldCount
+ID10283=TJclClrTableTypeDefRow.GetFullName
+ID10284=TJclClrTableTypeDefRow.GetMethod@Integer
+ID10285=TJclClrTableTypeDefRow.GetMethodCount
+ID10286=TJclClrTableTypeDefRow.GetName
+ID10287=TJclClrTableTypeDefRow.GetNamespace
+ID10288=TJclClrTableTypeDefRow.GetStringFormatting
+ID10289=TJclClrTableTypeDefRow.GetVisibility
ID1029=CompilerExtensionDRC
-ID10290=TJclClrTableTypeDefRow.MethodListIdx
-ID10291=TJclClrTableTypeDefRow.Methods
-ID10292=TJclClrTableTypeDefRow.Name
-ID10293=TJclClrTableTypeDefRow.NameOffset
-ID10294=TJclClrTableTypeDefRow.Namespace
-ID10295=TJclClrTableTypeDefRow.NamespaceOffset
-ID10296=TJclClrTableTypeDefRow.StringFormatting
-ID10297=TJclClrTableTypeDefRow.Update
-ID10298=TJclClrTableTypeDefRow.UpdateFields
-ID10299=TJclClrTableTypeDefRow.UpdateMethods
+ID10290=TJclClrTableTypeDefRow.HasField
+ID10291=TJclClrTableTypeDefRow.HasMethod
+ID10292=TJclClrTableTypeDefRow.MethodCount
+ID10293=TJclClrTableTypeDefRow.MethodListIdx
+ID10294=TJclClrTableTypeDefRow.Methods
+ID10295=TJclClrTableTypeDefRow.Name
+ID10296=TJclClrTableTypeDefRow.NameOffset
+ID10297=TJclClrTableTypeDefRow.Namespace
+ID10298=TJclClrTableTypeDefRow.NamespaceOffset
+ID10299=TJclClrTableTypeDefRow.StringFormatting
ID103=!!OVERLOADED_IsConsole_TJclConsole
ID1030=CompilerExtensionLIB
-ID10300=TJclClrTableTypeDefRow.Visibility
-ID10301=TJclClrTableTypeRef
-ID10302=TJclClrTableTypeRef.GetRow@Integer
-ID10303=TJclClrTableTypeRef.Rows
-ID10304=TJclClrTableTypeRef.TableRowClass
-ID10305=TJclClrTableTypeRefRow
-ID10306=TJclClrTableTypeRefRow.Create@TJclClrTable
-ID10307=TJclClrTableTypeRefRow.DumpIL
-ID10308=TJclClrTableTypeRefRow.FNameOffset
-ID10309=TJclClrTableTypeRefRow.FNamespaceOffset
+ID10300=TJclClrTableTypeDefRow.Update
+ID10301=TJclClrTableTypeDefRow.UpdateFields
+ID10302=TJclClrTableTypeDefRow.UpdateMethods
+ID10303=TJclClrTableTypeDefRow.Visibility
+ID10304=TJclClrTableTypeRef
+ID10305=TJclClrTableTypeRef.GetRow@Integer
+ID10306=TJclClrTableTypeRef.Rows
+ID10307=TJclClrTableTypeRef.TableRowClass
+ID10308=TJclClrTableTypeRefRow
+ID10309=TJclClrTableTypeRefRow.Create@TJclClrTable
ID1031=CompilerExtensionMAP
-ID10310=TJclClrTableTypeRefRow.FResolutionScopeIdx
-ID10311=TJclClrTableTypeRefRow.FullName
-ID10312=TJclClrTableTypeRefRow.GetFullName
-ID10313=TJclClrTableTypeRefRow.GetName
-ID10314=TJclClrTableTypeRefRow.GetNamespace
-ID10315=TJclClrTableTypeRefRow.GetResolutionScope
-ID10316=TJclClrTableTypeRefRow.GetResolutionScopeName
-ID10317=TJclClrTableTypeRefRow.Name
-ID10318=TJclClrTableTypeRefRow.NameOffset
-ID10319=TJclClrTableTypeRefRow.Namespace
+ID10310=TJclClrTableTypeRefRow.DumpIL
+ID10311=TJclClrTableTypeRefRow.FNameOffset
+ID10312=TJclClrTableTypeRefRow.FNamespaceOffset
+ID10313=TJclClrTableTypeRefRow.FResolutionScopeIdx
+ID10314=TJclClrTableTypeRefRow.FullName
+ID10315=TJclClrTableTypeRefRow.GetFullName
+ID10316=TJclClrTableTypeRefRow.GetName
+ID10317=TJclClrTableTypeRefRow.GetNamespace
+ID10318=TJclClrTableTypeRefRow.GetResolutionScope
+ID10319=TJclClrTableTypeRefRow.GetResolutionScopeName
ID1032=CompilerExtensionTDS
-ID10320=TJclClrTableTypeRefRow.NamespaceOffset
-ID10321=TJclClrTableTypeRefRow.ResolutionScope
-ID10322=TJclClrTableTypeRefRow.ResolutionScopeIdx
-ID10323=TJclClrTableTypeRefRow.ResolutionScopeName
-ID10324=TJclClrTableTypeSpec
-ID10325=TJclClrTableTypeSpec.GetRow@Integer
-ID10326=TJclClrTableTypeSpec.Rows
-ID10327=TJclClrTableTypeSpec.TableRowClass
-ID10328=TJclClrTableTypeSpecRow
-ID10329=TJclClrTableTypeSpecRow.Create@TJclClrTable
+ID10320=TJclClrTableTypeRefRow.Name
+ID10321=TJclClrTableTypeRefRow.NameOffset
+ID10322=TJclClrTableTypeRefRow.Namespace
+ID10323=TJclClrTableTypeRefRow.NamespaceOffset
+ID10324=TJclClrTableTypeRefRow.ResolutionScope
+ID10325=TJclClrTableTypeRefRow.ResolutionScopeIdx
+ID10326=TJclClrTableTypeRefRow.ResolutionScopeName
+ID10327=TJclClrTableTypeSpec
+ID10328=TJclClrTableTypeSpec.GetRow@Integer
+ID10329=TJclClrTableTypeSpec.Rows
ID1033=CompleteDelphiSet
-ID10330=TJclClrTableTypeSpecRow.FSignatureOffset
-ID10331=TJclClrTableTypeSpecRow.GetSignature
-ID10332=TJclClrTableTypeSpecRow.Signature
-ID10333=TJclClrTableTypeSpecRow.SignatureOffset
-ID10334=TJclClrToken
-ID10335=TJclClrTypeAttribute
-ID10336=TJclClrTypeAttribute.taAbstract
-ID10337=TJclClrTypeAttribute.taBeforeFieldInit
-ID10338=TJclClrTypeAttribute.taHasSecurity
-ID10339=TJclClrTypeAttribute.taImport
+ID10330=TJclClrTableTypeSpec.TableRowClass
+ID10331=TJclClrTableTypeSpecRow
+ID10332=TJclClrTableTypeSpecRow.Create@TJclClrTable
+ID10333=TJclClrTableTypeSpecRow.FSignatureOffset
+ID10334=TJclClrTableTypeSpecRow.GetSignature
+ID10335=TJclClrTableTypeSpecRow.Signature
+ID10336=TJclClrTableTypeSpecRow.SignatureOffset
+ID10337=TJclClrToken
+ID10338=TJclClrTypeAttribute
+ID10339=TJclClrTypeAttribute.taAbstract
ID1034=ComplexPrecision
-ID10340=TJclClrTypeAttribute.taRTSpecialName
-ID10341=TJclClrTypeAttribute.taSealed
-ID10342=TJclClrTypeAttribute.taSerializable
-ID10343=TJclClrTypeAttribute.taSpecialName
-ID10344=TJclClrTypeAttributes
-ID10345=TJclClrTypeVisibility
-ID10346=TJclClrTypeVisibility.tvNestedAssembly
-ID10347=TJclClrTypeVisibility.tvNestedFamANDAssem
-ID10348=TJclClrTypeVisibility.tvNestedFamily
-ID10349=TJclClrTypeVisibility.tvNestedFamORAssem
+ID10340=TJclClrTypeAttribute.taBeforeFieldInit
+ID10341=TJclClrTypeAttribute.taHasSecurity
+ID10342=TJclClrTypeAttribute.taImport
+ID10343=TJclClrTypeAttribute.taRTSpecialName
+ID10344=TJclClrTypeAttribute.taSealed
+ID10345=TJclClrTypeAttribute.taSerializable
+ID10346=TJclClrTypeAttribute.taSpecialName
+ID10347=TJclClrTypeAttributes
+ID10348=TJclClrTypeVisibility
+ID10349=TJclClrTypeVisibility.tvNestedAssembly
ID1035=COMPRESSION_ENGINE_HIBER
-ID10350=TJclClrTypeVisibility.tvNestedPrivate
-ID10351=TJclClrTypeVisibility.tvNestedPublic
-ID10352=TJclClrTypeVisibility.tvNotPublic
-ID10353=TJclClrTypeVisibility.tvPublic
-ID10354=TJclClrUserStringStream
-ID10355=TJclClrUserStringStream.At@DWORD
-ID10356=TJclClrUserStringStream.BlobToString@TJclClrBlobRecord
-ID10357=TJclClrUserStringStream.GetOffset@Integer
-ID10358=TJclClrUserStringStream.GetString@Integer
-ID10359=TJclClrUserStringStream.GetStringCount
+ID10350=TJclClrTypeVisibility.tvNestedFamANDAssem
+ID10351=TJclClrTypeVisibility.tvNestedFamily
+ID10352=TJclClrTypeVisibility.tvNestedFamORAssem
+ID10353=TJclClrTypeVisibility.tvNestedPrivate
+ID10354=TJclClrTypeVisibility.tvNestedPublic
+ID10355=TJclClrTypeVisibility.tvNotPublic
+ID10356=TJclClrTypeVisibility.tvPublic
+ID10357=TJclClrUserStringStream
+ID10358=TJclClrUserStringStream.At@DWORD
+ID10359=TJclClrUserStringStream.BlobToString@TJclClrBlobRecord
ID1036=COMPRESSION_ENGINE_MAXIMUM
-ID10360=TJclClrUserStringStream.Offsets
-ID10361=TJclClrUserStringStream.StringCount
-ID10362=TJclClrUserStringStream.Strings
-ID10363=TJclClrVTableFixupRecord
-ID10364=TJclClrVTableFixupRecord.Count
-ID10365=TJclClrVTableFixupRecord.Create@PImageCorVTableFixup
-ID10366=TJclClrVTableFixupRecord.Data
-ID10367=TJclClrVTableFixupRecord.FData
-ID10368=TJclClrVTableFixupRecord.GetCount
-ID10369=TJclClrVTableFixupRecord.GetKinds
+ID10360=TJclClrUserStringStream.GetOffset@Integer
+ID10361=TJclClrUserStringStream.GetString@Integer
+ID10362=TJclClrUserStringStream.GetStringCount
+ID10363=TJclClrUserStringStream.Offsets
+ID10364=TJclClrUserStringStream.StringCount
+ID10365=TJclClrUserStringStream.Strings
+ID10366=TJclClrVTableFixupRecord
+ID10367=TJclClrVTableFixupRecord.Count
+ID10368=TJclClrVTableFixupRecord.Create@PImageCorVTableFixup
+ID10369=TJclClrVTableFixupRecord.Data
ID1037=COMPRESSION_ENGINE_STANDARD
-ID10370=TJclClrVTableFixupRecord.GetRVA
-ID10371=TJclClrVTableFixupRecord.Kinds
-ID10372=TJclClrVTableFixupRecord.RVA
-ID10373=TJclClrVTableFixupRecord.VTableKinds@DWORD
-ID10374=TJclClrVTableFixupRecord.VTableKinds@TJclClrVTableKinds
-ID10375=TJclClrVTableKind
-ID10376=TJclClrVTableKind.vtk32Bit
-ID10377=TJclClrVTableKind.vtk64Bit
-ID10378=TJclClrVTableKind.vtkCallMostDerived
-ID10379=TJclClrVTableKind.vtkFromUnmanaged
+ID10370=TJclClrVTableFixupRecord.FData
+ID10371=TJclClrVTableFixupRecord.GetCount
+ID10372=TJclClrVTableFixupRecord.GetKinds
+ID10373=TJclClrVTableFixupRecord.GetRVA
+ID10374=TJclClrVTableFixupRecord.Kinds
+ID10375=TJclClrVTableFixupRecord.RVA
+ID10376=TJclClrVTableFixupRecord.VTableKinds@DWORD
+ID10377=TJclClrVTableFixupRecord.VTableKinds@TJclClrVTableKinds
+ID10378=TJclClrVTableKind
+ID10379=TJclClrVTableKind.vtk32Bit
ID1038=Conjugate@TPolarComplex
-ID10380=TJclClrVTableKinds
-ID10381=TJclCommandLineTool
-ID10382=TJclCommandLineTool.AddPathOption@string@string
-ID10383=TJclCommandLineTool.Create@string
-ID10384=TJclCommandLineTool.Destroy
-ID10385=TJclCommandLineTool.Execute@string
-ID10386=TJclCommandLineTool.ExeName
-ID10387=TJclCommandLineTool.FExeName
-ID10388=TJclCommandLineTool.FOptions
-ID10389=TJclCommandLineTool.FOutput
+ID10380=TJclClrVTableKind.vtk64Bit
+ID10381=TJclClrVTableKind.vtkCallMostDerived
+ID10382=TJclClrVTableKind.vtkFromUnmanaged
+ID10383=TJclClrVTableKinds
+ID10384=TJclCommandLineTool
+ID10385=TJclCommandLineTool.AddPathOption@string@string
+ID10386=TJclCommandLineTool.Create@string
+ID10387=TJclCommandLineTool.Destroy
+ID10388=TJclCommandLineTool.Execute@string
+ID10389=TJclCommandLineTool.ExeName
ID1039=Conjugate@TRectComplex
-ID10390=TJclCommandLineTool.FOutputCallback
-ID10391=TJclCommandLineTool.GetExeName
-ID10392=TJclCommandLineTool.GetOptions
-ID10393=TJclCommandLineTool.GetOutput
-ID10394=TJclCommandLineTool.GetOutputCallback
-ID10395=TJclCommandLineTool.Output
-ID10396=TJclCommandLineTool.SetOutputCallback@TTextHandler
-ID10397=TJclCompressionLevel
-ID10398=TJclCompressionStream
-ID10399=TJclCompressionStream.Create@TStream
+ID10390=TJclCommandLineTool.FExeName
+ID10391=TJclCommandLineTool.FOptions
+ID10392=TJclCommandLineTool.FOutput
+ID10393=TJclCommandLineTool.FOutputCallback
+ID10394=TJclCommandLineTool.GetExeName
+ID10395=TJclCommandLineTool.GetOptions
+ID10396=TJclCommandLineTool.GetOutput
+ID10397=TJclCommandLineTool.GetOutputCallback
+ID10398=TJclCommandLineTool.Output
+ID10399=TJclCommandLineTool.SetOutputCallback@TTextHandler
ID104=!!OVERLOADED_IsEqual_TJclRational
ID1040=Containers
-ID10400=TJclCompressionStream.Destroy
-ID10401=TJclCompressionStream.FBuffer
-ID10402=TJclCompressionStream.FBufferSize
-ID10403=TJclCompressionStream.FOnProgress
-ID10404=TJclCompressionStream.FStream
-ID10405=TJclCompressionStream.OnProgress
-ID10406=TJclCompressionStream.Progress@TObject
-ID10407=TJclCompressionStream.Read@@Longint
-ID10408=TJclCompressionStream.Reset
-ID10409=TJclCompressionStream.Seek@Int64@TSeekOrigin
+ID10400=TJclCompressionLevel
+ID10401=TJclCompressionStream
+ID10402=TJclCompressionStream.Create@TStream
+ID10403=TJclCompressionStream.Destroy
+ID10404=TJclCompressionStream.FBuffer
+ID10405=TJclCompressionStream.FBufferSize
+ID10406=TJclCompressionStream.FOnProgress
+ID10407=TJclCompressionStream.FStream
+ID10408=TJclCompressionStream.OnProgress
+ID10409=TJclCompressionStream.Progress@TObject
ID1041=ContinueCount@TJclCounter
-ID10410=TJclCompressionStream.SetBufferSize@Cardinal
-ID10411=TJclCompressionStream.Write@@Longint
-ID10412=TJclCompressStream
-ID10413=TJclCompressStream.Create@TStream
-ID10414=TJclCompressStream.Flush
-ID10415=TJclCompressStreamProgressCallback
-ID10416=TJclConsole
-ID10417=TJclConsole.ActiveScreen
-ID10418=TJclConsole.ActiveScreenIndex
-ID10419=TJclConsole.Add@Smallint@Smallint
+ID10410=TJclCompressionStream.Read@@Longint
+ID10411=TJclCompressionStream.Reset
+ID10412=TJclCompressionStream.Seek@Int64@TSeekOrigin
+ID10413=TJclCompressionStream.SetBufferSize@Cardinal
+ID10414=TJclCompressionStream.Write@@Longint
+ID10415=TJclCompressStream
+ID10416=TJclCompressStream.Create@TStream
+ID10417=TJclCompressStream.Flush
+ID10418=TJclCompressStreamProgressCallback
+ID10419=TJclConsole
ID1042=ConvertMapFileToJdbgFile@TFileName@string@Integer
-ID10420=TJclConsole.Alloc
-ID10421=TJclConsole.Create
-ID10422=TJclConsole.Default
-ID10423=TJclConsole.Delete@Longword
-ID10424=TJclConsole.Destroy
-ID10425=TJclConsole.FActiveScreenIndex
-ID10426=TJclConsole.FInput
-ID10427=TJclConsole.FOnClose
-ID10428=TJclConsole.FOnCtrlBreak
-ID10429=TJclConsole.FOnCtrlC
+ID10420=TJclConsole.ActiveScreen
+ID10421=TJclConsole.ActiveScreenIndex
+ID10422=TJclConsole.Add@Smallint@Smallint
+ID10423=TJclConsole.Alloc
+ID10424=TJclConsole.Create
+ID10425=TJclConsole.Default
+ID10426=TJclConsole.Delete@Longword
+ID10427=TJclConsole.Destroy
+ID10428=TJclConsole.FActiveScreenIndex
+ID10429=TJclConsole.FInput
ID1043=ConvertMapFileToJdbgFile@TFileName@string@Integer@Integer@Integer
-ID10430=TJclConsole.FOnLogOff
-ID10431=TJclConsole.FOnShutdown
-ID10432=TJclConsole.Free
-ID10433=TJclConsole.FScreens
-ID10434=TJclConsole.GetActiveScreen
-ID10435=TJclConsole.GetInputCodePage
-ID10436=TJclConsole.GetOutputCodePage
-ID10437=TJclConsole.GetScreen@Longword
-ID10438=TJclConsole.GetScreenCount
-ID10439=TJclConsole.GetTitle
+ID10430=TJclConsole.FOnClose
+ID10431=TJclConsole.FOnCtrlBreak
+ID10432=TJclConsole.FOnCtrlC
+ID10433=TJclConsole.FOnLogOff
+ID10434=TJclConsole.FOnShutdown
+ID10435=TJclConsole.Free
+ID10436=TJclConsole.FScreens
+ID10437=TJclConsole.GetActiveScreen
+ID10438=TJclConsole.GetInputCodePage
+ID10439=TJclConsole.GetOutputCodePage
ID1044=ConvertTemperature@TTemperatureType@TTemperatureType@Float
-ID10440=TJclConsole.Input
-ID10441=TJclConsole.InputCodePage
-ID10442=TJclConsole.IsConsole@HMODULE
-ID10443=TJclConsole.IsConsole@TFileName
-ID10444=TJclConsole.MouseButtonCount
-ID10445=TJclConsole.OnClose
-ID10446=TJclConsole.OnCtrlBreak
-ID10447=TJclConsole.OnCtrlC
-ID10448=TJclConsole.OnLogOff
-ID10449=TJclConsole.OnShutdown
+ID10440=TJclConsole.GetScreen@Longword
+ID10441=TJclConsole.GetScreenCount
+ID10442=TJclConsole.GetTitle
+ID10443=TJclConsole.Input
+ID10444=TJclConsole.InputCodePage
+ID10445=TJclConsole.IsConsole@HMODULE
+ID10446=TJclConsole.IsConsole@TFileName
+ID10447=TJclConsole.MouseButtonCount
+ID10448=TJclConsole.OnClose
+ID10449=TJclConsole.OnCtrlBreak
ID1045=Copy@IJclIntfIterator@Integer@IJclIntfIterator
-ID10450=TJclConsole.OutputCodePage
-ID10451=TJclConsole.Remove@TJclScreenBuffer
-ID10452=TJclConsole.ScreenCount
-ID10453=TJclConsole.Screens
-ID10454=TJclConsole.SetActiveScreen@TJclScreenBuffer
-ID10455=TJclConsole.SetActiveScreenIndex@Longword
-ID10456=TJclConsole.SetInputCodePage@DWORD
-ID10457=TJclConsole.SetOutputCodePage@DWORD
-ID10458=TJclConsole.SetTitle@string
-ID10459=TJclConsole.Shutdown
+ID10450=TJclConsole.OnCtrlC
+ID10451=TJclConsole.OnLogOff
+ID10452=TJclConsole.OnShutdown
+ID10453=TJclConsole.OutputCodePage
+ID10454=TJclConsole.Remove@TJclScreenBuffer
+ID10455=TJclConsole.ScreenCount
+ID10456=TJclConsole.Screens
+ID10457=TJclConsole.SetActiveScreen@TJclScreenBuffer
+ID10458=TJclConsole.SetActiveScreenIndex@Longword
+ID10459=TJclConsole.SetInputCodePage@DWORD
ID1046=Copy@IJclIterator@Integer@IJclIterator
-ID10460=TJclConsole.Title
-ID10461=TJclConsoleInputMode
-ID10462=TJclConsoleInputMode.imEcho
-ID10463=TJclConsoleInputMode.imLine
-ID10464=TJclConsoleInputMode.imMouse
-ID10465=TJclConsoleInputMode.imProcessed
-ID10466=TJclConsoleInputMode.imWindow
-ID10467=TJclConsoleInputModes
-ID10468=TJclConsoleOutputMode
-ID10469=TJclConsoleOutputMode.omProcessed
+ID10460=TJclConsole.SetOutputCodePage@DWORD
+ID10461=TJclConsole.SetTitle@string
+ID10462=TJclConsole.Shutdown
+ID10463=TJclConsole.Title
+ID10464=TJclConsoleInputMode
+ID10465=TJclConsoleInputMode.imEcho
+ID10466=TJclConsoleInputMode.imLine
+ID10467=TJclConsoleInputMode.imMouse
+ID10468=TJclConsoleInputMode.imProcessed
+ID10469=TJclConsoleInputMode.imWindow
ID1047=Copy@IJclStrIterator@Integer@IJclStrIterator
-ID10470=TJclConsoleOutputMode.omWrapAtEol
-ID10471=TJclConsoleOutputModes
-ID10472=TJclConstantSymbolInfo
-ID10473=TJclConstantSymbolInfo.Create@PSymbolInfo
-ID10474=TJclConstantSymbolInfo.FNameIndex
-ID10475=TJclConstantSymbolInfo.FTypeIndex
-ID10476=TJclConstantSymbolInfo.FValue
-ID10477=TJclConstantSymbolInfo.NameIndex
-ID10478=TJclConstantSymbolInfo.TypeIndex
-ID10479=TJclConstantSymbolInfo.Value
+ID10470=TJclConsoleInputModes
+ID10471=TJclConsoleOutputMode
+ID10472=TJclConsoleOutputMode.omProcessed
+ID10473=TJclConsoleOutputMode.omWrapAtEol
+ID10474=TJclConsoleOutputModes
+ID10475=TJclConstantSymbolInfo
+ID10476=TJclConstantSymbolInfo.Create@PSymbolInfo
+ID10477=TJclConstantSymbolInfo.FNameIndex
+ID10478=TJclConstantSymbolInfo.FTypeIndex
+ID10479=TJclConstantSymbolInfo.FValue
ID1048=COR_DELETED_NAME_LENGTH
-ID10480=TJclControlPanelSummaryInformation
-ID10481=TJclControlPanelSummaryInformation.GetFMTID
-ID10482=TJclCRC16Stream
-ID10483=TJclCRC16Stream.AfterBlockRead
-ID10484=TJclCRC16Stream.BeforeBlockWrite
-ID10485=TJclCRC16Stream.Create@TStream@Boolean
-ID10486=TJclCRC32Stream
-ID10487=TJclCRC32Stream.AfterBlockRead
-ID10488=TJclCRC32Stream.BeforeBlockWrite
-ID10489=TJclCRC32Stream.Create@TStream@Boolean
+ID10480=TJclConstantSymbolInfo.NameIndex
+ID10481=TJclConstantSymbolInfo.TypeIndex
+ID10482=TJclConstantSymbolInfo.Value
+ID10483=TJclControlPanelSummaryInformation
+ID10484=TJclControlPanelSummaryInformation.GetFMTID
+ID10485=TJclCRC16Stream
+ID10486=TJclCRC16Stream.AfterBlockRead
+ID10487=TJclCRC16Stream.BeforeBlockWrite
+ID10488=TJclCRC16Stream.Create@TStream@Boolean
+ID10489=TJclCRC32Stream
ID1049=COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE
-ID10490=TJclDataSymbolInfo
-ID10491=TJclDataSymbolInfo.Create@PSymbolInfo
-ID10492=TJclDataSymbolInfo.FNameIndex
-ID10493=TJclDataSymbolInfo.FOffset
-ID10494=TJclDataSymbolInfo.FTypeIndex
-ID10495=TJclDataSymbolInfo.NameIndex
-ID10496=TJclDataSymbolInfo.Offset
-ID10497=TJclDataSymbolInfo.TypeIndex
-ID10498=TJclDbgHeader
-ID10499=TJclDbgHeader.CheckSum
+ID10490=TJclCRC32Stream.AfterBlockRead
+ID10491=TJclCRC32Stream.BeforeBlockWrite
+ID10492=TJclCRC32Stream.Create@TStream@Boolean
+ID10493=TJclDataSymbolInfo
+ID10494=TJclDataSymbolInfo.Create@PSymbolInfo
+ID10495=TJclDataSymbolInfo.FNameIndex
+ID10496=TJclDataSymbolInfo.FOffset
+ID10497=TJclDataSymbolInfo.FTypeIndex
+ID10498=TJclDataSymbolInfo.NameIndex
+ID10499=TJclDataSymbolInfo.Offset
ID105=!!OVERLOADED_IsWideIndex_TJclClrTable
ID1050=COR_VERSION_MAJOR
-ID10500=TJclDbgHeader.CheckSumValid
-ID10501=TJclDbgHeader.LineNumbers
-ID10502=TJclDbgHeader.ModuleName
-ID10503=TJclDbgHeader.Signature
-ID10504=TJclDbgHeader.SourceNames
-ID10505=TJclDbgHeader.Symbols
-ID10506=TJclDbgHeader.Units
-ID10507=TJclDbgHeader.Version
-ID10508=TJclDbgHeader.Words
-ID10509=TJclDCC
+ID10500=TJclDataSymbolInfo.TypeIndex
+ID10501=TJclDbgHeader
+ID10502=TJclDbgHeader.CheckSum
+ID10503=TJclDbgHeader.CheckSumValid
+ID10504=TJclDbgHeader.LineNumbers
+ID10505=TJclDbgHeader.ModuleName
+ID10506=TJclDbgHeader.Signature
+ID10507=TJclDbgHeader.SourceNames
+ID10508=TJclDbgHeader.Symbols
+ID10509=TJclDbgHeader.Units
ID1051=COR_VERSION_MAJOR_V2
-ID10510=TJclDCC32
-ID10511=TJclDCC32.AddProjectOptions@string@string
-ID10512=TJclDCC32.Compile@string
-ID10513=TJclDCC32.ConfigFileName
-ID10514=TJclDCC32.Create@TJclBorRADToolInstallation
-ID10515=TJclDCC32.Execute@string
-ID10516=TJclDCC32.FOnBeforeSaveOptionsToFile
-ID10517=TJclDCC32.GetConfigFileName
-ID10518=TJclDCC32.GetExeName
-ID10519=TJclDCC32.MakePackage@string@string@string@string
+ID10510=TJclDbgHeader.Version
+ID10511=TJclDbgHeader.Words
+ID10512=TJclDCC
+ID10513=TJclDCC32
+ID10514=TJclDCC32.AddProjectOptions@string@string
+ID10515=TJclDCC32.Compile@string
+ID10516=TJclDCC32.ConfigFileName
+ID10517=TJclDCC32.Create@TJclBorRADToolInstallation
+ID10518=TJclDCC32.Execute@string
+ID10519=TJclDCC32.FOnBeforeSaveOptionsToFile
ID1052=COR_VERSION_MINOR
-ID10520=TJclDCC32.MakeProject@string@string@string@string
-ID10521=TJclDCC32.OnBeforeSaveOptionsToFile
-ID10522=TJclDCC32.SaveOptionsToFile@string
-ID10523=TJclDCC32.SetDefaultOptions
-ID10524=TJclDCC32.SupportsLibSuffix
-ID10525=TJclDCCIL
-ID10526=TJclDCCIL.FMaxCLRVersion
-ID10527=TJclDCCIL.GetConfigFileName
-ID10528=TJclDCCIL.GetExeName
-ID10529=TJclDCCIL.GetMaxCLRVersion
+ID10520=TJclDCC32.GetConfigFileName
+ID10521=TJclDCC32.GetExeName
+ID10522=TJclDCC32.MakePackage@string@string@string@string
+ID10523=TJclDCC32.MakeProject@string@string@string@string
+ID10524=TJclDCC32.OnBeforeSaveOptionsToFile
+ID10525=TJclDCC32.SaveOptionsToFile@string
+ID10526=TJclDCC32.SetDefaultOptions
+ID10527=TJclDCC32.SupportsLibSuffix
+ID10528=TJclDCCIL
+ID10529=TJclDCCIL.FMaxCLRVersion
ID1053=COR_VTABLE_32BIT
-ID10530=TJclDCCIL.MakeProject@string@string@string
-ID10531=TJclDCCIL.MaxCLRVersion
-ID10532=TJclDCCIL.SetDefaultOptions
-ID10533=TJclDebugInfoSourceClass
-ID10534=TJclDebugInfoSymbols
-ID10535=TJclDebugInfoSymbols.CleanupDebugSymbols
-ID10536=TJclDebugInfoSymbols.GetLocationInfo@Pointer@TJclLocationInfo
-ID10537=TJclDebugInfoSymbols.InitializeDebugSymbols
-ID10538=TJclDebugInfoSymbols.InitializeSource
-ID10539=TJclDebugInfoSymbols.LoadDebugFunctions
+ID10530=TJclDCCIL.GetConfigFileName
+ID10531=TJclDCCIL.GetExeName
+ID10532=TJclDCCIL.GetMaxCLRVersion
+ID10533=TJclDCCIL.MakeProject@string@string@string
+ID10534=TJclDCCIL.MaxCLRVersion
+ID10535=TJclDCCIL.SetDefaultOptions
+ID10536=TJclDebugInfoSourceClass
+ID10537=TJclDebugInfoSymbols
+ID10538=TJclDebugInfoSymbols.CleanupDebugSymbols
+ID10539=TJclDebugInfoSymbols.GetLocationInfo@Pointer@TJclLocationInfo
ID1054=COR_VTABLE_64BIT
-ID10540=TJclDebugInfoSymbols.UnloadDebugFunctions
-ID10541=TJclDebugInfoTD32
-ID10542=TJclDebugInfoTD32.Destroy
-ID10543=TJclDebugInfoTD32.FImage
-ID10544=TJclDebugInfoTD32.GetLocationInfo@Pointer@TJclLocationInfo
-ID10545=TJclDebugInfoTD32.InitializeSource
-ID10546=TJclDebugThread
-ID10547=TJclDebugThread.Create@Boolean@string
-ID10548=TJclDebugThread.Destroy
-ID10549=TJclDebugThread.DoHandleException
+ID10540=TJclDebugInfoSymbols.InitializeDebugSymbols
+ID10541=TJclDebugInfoSymbols.InitializeSource
+ID10542=TJclDebugInfoSymbols.LoadDebugFunctions
+ID10543=TJclDebugInfoSymbols.UnloadDebugFunctions
+ID10544=TJclDebugInfoTD32
+ID10545=TJclDebugInfoTD32.Destroy
+ID10546=TJclDebugInfoTD32.FImage
+ID10547=TJclDebugInfoTD32.GetLocationInfo@Pointer@TJclLocationInfo
+ID10548=TJclDebugInfoTD32.InitializeSource
+ID10549=TJclDebugThread
ID1055=COR_VTABLE_CALL_MOST_DERIVED
-ID10550=TJclDebugThread.DoNotify
-ID10551=TJclDebugThread.DoSyncHandleException
-ID10552=TJclDebugThread.FSyncException
-ID10553=TJclDebugThread.FThreadName
-ID...
[truncated message content] |
|
From: <ou...@us...> - 2007-08-15 11:21:29
|
Revision: 2133
http://jcl.svn.sourceforge.net/jcl/?rev=2133&view=rev
Author: outchy
Date: 2007-08-15 04:21:26 -0700 (Wed, 15 Aug 2007)
Log Message:
-----------
Fixes for C++Builder headers
Modified Paths:
--------------
trunk/jcl/install/HeaderTest/jcl_a2z.cpp
trunk/jcl/install/HeaderTest/jcl_z2a.cpp
trunk/jcl/install/JclInstall.pas
trunk/jcl/source/common/pcre.pas
trunk/jcl/source/windows/JclUnicode.pas
Modified: trunk/jcl/install/HeaderTest/jcl_a2z.cpp
===================================================================
--- trunk/jcl/install/HeaderTest/jcl_a2z.cpp 2007-08-13 21:41:39 UTC (rev 2132)
+++ trunk/jcl/install/HeaderTest/jcl_a2z.cpp 2007-08-15 11:21:26 UTC (rev 2133)
@@ -3,298 +3,298 @@
//#pragma hdrstop
#ifdef TEST_COMMON
-#include "../../source/common/bzip2.hpp"
+#include <bzip2.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/Hardlinks.hpp"
+#include <Hardlinks.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/Jcl8087.hpp"
+#include <Jcl8087.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclAbstractContainers.hpp"
+#include <JclAbstractContainers.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclAlgorithms.hpp"
+#include <JclAlgorithms.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclAnsiStrings.hpp"
+#include <JclAnsiStrings.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclAppInst.hpp"
+#include <JclAppInst.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclArrayLists.hpp"
+#include <JclArrayLists.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclArraySets.hpp"
+#include <JclArraySets.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclBase.hpp"
+#include <JclBase.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclBinaryTrees.hpp"
+#include <JclBinaryTrees.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclBorlandTools.hpp"
+#include <JclBorlandTools.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclCIL.hpp"
+#include <JclCIL.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclCLR.hpp"
+#include <JclCLR.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclCOM.hpp"
+#include <JclCOM.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclComplex.hpp"
+#include <JclComplex.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclCompression.hpp"
+#include <JclCompression.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclConsole.hpp"
+#include <JclConsole.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclContainerIntf.hpp"
+#include <JclContainerIntf.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclCounter.hpp"
+#include <JclCounter.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclDateTime.hpp"
+#include <JclDateTime.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclDebug.hpp"
+#include <JclDebug.hpp>
#endif TEST_WINDOWS
-#ifdef TEST_WINDOWS
-#include "../../source/windows/JclDotNet.hpp"
-#endif TEST_WINDOWS
+//#ifdef TEST_WINDOWS
+//#include <JclDotNet.hpp> mscorlib_TLB is known to fail
+//#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclEDI.hpp"
+#include <JclEDI.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclEDI_ANSIX12.hpp"
+#include <JclEDI_ANSIX12.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclEDI_ANSIX12_Ext.hpp"
+#include <JclEDI_ANSIX12_Ext.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclEDI_UNEDIFACT.hpp"
+#include <JclEDI_UNEDIFACT.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclEDI_UNEDIFACT_Ext.hpp"
+#include <JclEDI_UNEDIFACT_Ext.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclEDISEF.hpp"
+#include <JclEDISEF.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclEDITranslators.hpp"
+#include <JclEDITranslators.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclEDIXML.hpp"
+#include <JclEDIXML.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclExprEval.hpp"
+#include <JclExprEval.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclFileUtils.hpp"
+#include <JclFileUtils.hpp>
#endif TEST_COMMON
#ifdef TEST_VCL
-#include "../../source/vcl/JclFont.hpp"
+#include <JclFont.hpp>
#endif TEST_VCL
#ifdef TEST_VCL
-#include "../../source/vcl/JclGraphics.hpp"
+#include <JclGraphics.hpp>
#endif TEST_VCL
#ifdef TEST_VCL
-#include "../../source/vcl/JclGraphUtils.hpp"
+#include <JclGraphUtils.hpp>
#endif TEST_VCL
#ifdef TEST_COMMON
-#include "../../source/common/JclHashMaps.hpp"
+#include <JclHashMaps.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclHashSets.hpp"
+#include <JclHashSets.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclHookExcept.hpp"
+#include <JclHookExcept.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclIniFiles.hpp"
+#include <JclIniFiles.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclLANMan.hpp"
+#include <JclLANMan.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclLinkedLists.hpp"
+#include <JclLinkedLists.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclLocales.hpp"
+#include <JclLocales.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclLogic.hpp"
+#include <JclLogic.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclMapi.hpp"
+#include <JclMapi.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclMath.hpp"
+#include <JclMath.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclMetadata.hpp"
+#include <JclMetadata.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclMIDI.hpp"
+#include <JclMIDI.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclMime.hpp"
+#include <JclMime.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclMiscel.hpp"
+#include <JclMiscel.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclMsdosSys.hpp"
+#include <JclMsdosSys.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclMultimedia.hpp"
+#include <JclMultimedia.hpp>
#endif TEST_WINDOWS
-#ifdef TEST_WINDOWS
-#include "../../source/windows/JclNTFS.hpp"
-#endif TEST_WINDOWS
+//#ifdef TEST_WINDOWS
+//#include <JclNTFS.hpp> no declaration for IPropertyStorage
+//#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclPCRE.hpp"
+#include <JclPCRE.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclPeImage.hpp"
+#include <JclPeImage.hpp>
#endif TEST_WINDOWS
#ifdef TEST_VCL
-#include "../../source/vcl/JclPrint.hpp"
+#include <JclPrint.hpp>
#endif TEST_VCL
#ifdef TEST_VISCLX
-#include "../../source/visclx/JclQGraphics.hpp"
+#include <JclQGraphics.hpp>
#endif TEST_VISCLX
#ifdef TEST_VISCLX
-#include "../../source/visclx/JclQGraphUtils.hpp"
+#include <JclQGraphUtils.hpp>
#endif TEST_VISCLX
#ifdef TEST_COMMON
-#include "../../source/common/JclQueues.hpp"
+#include <JclQueues.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclRegistry.hpp"
+#include <JclRegistry.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclResources.hpp"
+#include <JclResources.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclRTTI.hpp"
+#include <JclRTTI.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclSchedule.hpp"
+#include <JclSchedule.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclSecurity.hpp"
+#include <JclSecurity.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclShell.hpp"
+#include <JclShell.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclSimpleXml.hpp"
+#include <JclSimpleXml.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclStacks.hpp"
+#include <JclStacks.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclStatistics.hpp"
+#include <JclStatistics.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclStreams.hpp"
+#include <JclStreams.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclStrHashMap.hpp"
+#include <JclStrHashMap.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclStringLists.hpp"
+#include <JclStringLists.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclStrings.hpp"
+#include <JclStrings.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclStructStorage.hpp"
+#include <JclStructStorage.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclSvcCtrl.hpp"
+#include <JclSvcCtrl.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclSynch.hpp"
+#include <JclSynch.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclSysInfo.hpp"
+#include <JclSysInfo.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclSysUtils.hpp"
+#include <JclSysUtils.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclTask.hpp"
+#include <JclTask.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclTD32.hpp"
+#include <JclTD32.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclUnicode.hpp"
+#include <JclUnicode.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclUnitConv.hpp"
+#include <JclUnitConv.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclUnitVersioning.hpp"
+#include <JclUnitVersioning.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclUnitVersioningProviders.hpp"
+#include <JclUnitVersioningProviders.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclValidation.hpp"
+#include <JclValidation.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclVectors.hpp"
+#include <JclVectors.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclWideFormat.hpp"
+#include <JclWideFormat.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclWideStrings.hpp"
+#include <JclWideStrings.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclWin32.hpp"
+#include <JclWin32.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclWin32Ex.hpp"
+#include <JclWin32Ex.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclWinMIDI.hpp"
+#include <JclWinMIDI.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/mscoree_TLB.hpp"
+#include <mscoree_TLB.hpp>
#endif TEST_WINDOWS
+//#ifdef TEST_WINDOWS
+//#include <mscorlib_TLB.hpp> known to fail
+//#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/mscorlib_TLB.hpp"
+#include <MSHelpServices_TLB.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/MSHelpServices_TLB.hpp"
+#include <MSTask.hpp>
#endif TEST_WINDOWS
-#ifdef TEST_WINDOWS
-#include "../../source/windows/MSTask.hpp"
-#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/pcre.hpp"
+#include <pcre.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/Snmp.hpp"
+#include <Snmp.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/zlibh.hpp"
+#include <zlibh.hpp>
#endif TEST_WINDOWS
#ifdef TEST_UNIX
-#include "../../source/unix/zlibh.hpp"
+#include <zlibh.hpp>
#endif TEST_UNIX
//---------------------------------------------------------------------------
Modified: trunk/jcl/install/HeaderTest/jcl_z2a.cpp
===================================================================
--- trunk/jcl/install/HeaderTest/jcl_z2a.cpp 2007-08-13 21:41:39 UTC (rev 2132)
+++ trunk/jcl/install/HeaderTest/jcl_z2a.cpp 2007-08-15 11:21:26 UTC (rev 2133)
@@ -3,298 +3,298 @@
//#pragma hdrstop
#ifdef TEST_WINDOWS
-#include "../../source/windows/zlibh.hpp"
+#include <zlibh.hpp>
#endif TEST_WINDOWS
#ifdef TEST_UNIX
-#include "../../source/unix/zlibh.hpp"
+#include <zlibh.hpp>
#endif TEST_UNIX
#ifdef TEST_WINDOWS
-#include "../../source/windows/Snmp.hpp"
+#include <Snmp.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/pcre.hpp"
+#include <pcre.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/MSTask.hpp"
+#include <MSTask.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/MSHelpServices_TLB.hpp"
+#include <MSHelpServices_TLB.hpp>
#endif TEST_WINDOWS
+//#ifdef TEST_WINDOWS
+//#include <mscorlib_TLB.hpp> known to fail
+//#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/mscorlib_TLB.hpp"
+#include <mscoree_TLB.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/mscoree_TLB.hpp"
+#include <JclWinMIDI.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclWinMIDI.hpp"
+#include <JclWin32Ex.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclWin32Ex.hpp"
+#include <JclWin32.hpp>
#endif TEST_WINDOWS
-#ifdef TEST_WINDOWS
-#include "../../source/windows/JclWin32.hpp"
-#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclWideStrings.hpp"
+#include <JclWideStrings.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclWideFormat.hpp"
+#include <JclWideFormat.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclVectors.hpp"
+#include <JclVectors.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclValidation.hpp"
+#include <JclValidation.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclUnitVersioningProviders.hpp"
+#include <JclUnitVersioningProviders.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclUnitVersioning.hpp"
+#include <JclUnitVersioning.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclUnitConv.hpp"
+#include <JclUnitConv.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclUnicode.hpp"
+#include <JclUnicode.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclTD32.hpp"
+#include <JclTD32.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclTask.hpp"
+#include <JclTask.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclSysUtils.hpp"
+#include <JclSysUtils.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclSysInfo.hpp"
+#include <JclSysInfo.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclSynch.hpp"
+#include <JclSynch.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclSvcCtrl.hpp"
+#include <JclSvcCtrl.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclStructStorage.hpp"
+#include <JclStructStorage.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclStrings.hpp"
+#include <JclStrings.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclStringLists.hpp"
+#include <JclStringLists.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclStrHashMap.hpp"
+#include <JclStrHashMap.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclStreams.hpp"
+#include <JclStreams.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclStatistics.hpp"
+#include <JclStatistics.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclStacks.hpp"
+#include <JclStacks.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclSimpleXml.hpp"
+#include <JclSimpleXml.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclShell.hpp"
+#include <JclShell.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclSecurity.hpp"
+#include <JclSecurity.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclSchedule.hpp"
+#include <JclSchedule.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclRTTI.hpp"
+#include <JclRTTI.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclResources.hpp"
+#include <JclResources.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclRegistry.hpp"
+#include <JclRegistry.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclQueues.hpp"
+#include <JclQueues.hpp>
#endif TEST_COMMON
#ifdef TEST_VISCLX
-#include "../../source/visclx/JclQGraphUtils.hpp"
+#include <JclQGraphUtils.hpp>
#endif TEST_VISCLX
#ifdef TEST_VISCLX
-#include "../../source/visclx/JclQGraphics.hpp"
+#include <JclQGraphics.hpp>
#endif TEST_VISCLX
#ifdef TEST_VCL
-#include "../../source/vcl/JclPrint.hpp"
+#include <JclPrint.hpp>
#endif TEST_VCL
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclPeImage.hpp"
+#include <JclPeImage.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclPCRE.hpp"
+#include <JclPCRE.hpp>
#endif TEST_COMMON
+//#ifdef TEST_WINDOWS
+//#include <JclNTFS.hpp> no declaration for IPropertyStorage
+//#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclNTFS.hpp"
+#include <JclMultimedia.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclMultimedia.hpp"
+#include <JclMsdosSys.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclMsdosSys.hpp"
+#include <JclMiscel.hpp>
#endif TEST_WINDOWS
-#ifdef TEST_WINDOWS
-#include "../../source/windows/JclMiscel.hpp"
-#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclMime.hpp"
+#include <JclMime.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclMIDI.hpp"
+#include <JclMIDI.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclMetadata.hpp"
+#include <JclMetadata.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclMath.hpp"
+#include <JclMath.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclMapi.hpp"
+#include <JclMapi.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclLogic.hpp"
+#include <JclLogic.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclLocales.hpp"
+#include <JclLocales.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclLinkedLists.hpp"
+#include <JclLinkedLists.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclLANMan.hpp"
+#include <JclLANMan.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclIniFiles.hpp"
+#include <JclIniFiles.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclHookExcept.hpp"
+#include <JclHookExcept.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclHashSets.hpp"
+#include <JclHashSets.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclHashMaps.hpp"
+#include <JclHashMaps.hpp>
#endif TEST_COMMON
#ifdef TEST_VCL
-#include "../../source/vcl/JclGraphUtils.hpp"
+#include <JclGraphUtils.hpp>
#endif TEST_VCL
#ifdef TEST_VCL
-#include "../../source/vcl/JclGraphics.hpp"
+#include <JclGraphics.hpp>
#endif TEST_VCL
#ifdef TEST_VCL
-#include "../../source/vcl/JclFont.hpp"
+#include <JclFont.hpp>
#endif TEST_VCL
#ifdef TEST_COMMON
-#include "../../source/common/JclFileUtils.hpp"
+#include <JclFileUtils.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclExprEval.hpp"
+#include <JclExprEval.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclEDIXML.hpp"
+#include <JclEDIXML.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclEDITranslators.hpp"
+#include <JclEDITranslators.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclEDISEF.hpp"
+#include <JclEDISEF.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclEDI_UNEDIFACT_Ext.hpp"
+#include <JclEDI_UNEDIFACT_Ext.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclEDI_UNEDIFACT.hpp"
+#include <JclEDI_UNEDIFACT.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclEDI_ANSIX12_Ext.hpp"
+#include <JclEDI_ANSIX12_Ext.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclEDI_ANSIX12.hpp"
+#include <JclEDI_ANSIX12.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclEDI.hpp"
+#include <JclEDI.hpp>
#endif TEST_COMMON
+//#ifdef TEST_WINDOWS
+//#include <JclDotNet.hpp> mscorlib_TLB.hpp is known to fail
+//#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclDotNet.hpp"
+#include <JclDebug.hpp>
#endif TEST_WINDOWS
-#ifdef TEST_WINDOWS
-#include "../../source/windows/JclDebug.hpp"
-#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclDateTime.hpp"
+#include <JclDateTime.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclCounter.hpp"
+#include <JclCounter.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclContainerIntf.hpp"
+#include <JclContainerIntf.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclConsole.hpp"
+#include <JclConsole.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclCompression.hpp"
+#include <JclCompression.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclComplex.hpp"
+#include <JclComplex.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclCOM.hpp"
+#include <JclCOM.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclCLR.hpp"
+#include <JclCLR.hpp>
#endif TEST_WINDOWS
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclCIL.hpp"
+#include <JclCIL.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclBorlandTools.hpp"
+#include <JclBorlandTools.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclBinaryTrees.hpp"
+#include <JclBinaryTrees.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclBase.hpp"
+#include <JclBase.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclArraySets.hpp"
+#include <JclArraySets.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclArrayLists.hpp"
+#include <JclArrayLists.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/JclAppInst.hpp"
+#include <JclAppInst.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/JclAnsiStrings.hpp"
+#include <JclAnsiStrings.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclAlgorithms.hpp"
+#include <JclAlgorithms.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/JclAbstractContainers.hpp"
+#include <JclAbstractContainers.hpp>
#endif TEST_COMMON
#ifdef TEST_COMMON
-#include "../../source/common/Jcl8087.hpp"
+#include <Jcl8087.hpp>
#endif TEST_COMMON
#ifdef TEST_WINDOWS
-#include "../../source/windows/Hardlinks.hpp"
+#include <Hardlinks.hpp>
#endif TEST_WINDOWS
#ifdef TEST_COMMON
-#include "../../source/common/bzip2.hpp"
+#include <bzip2.hpp>
#endif TEST_COMMON
//---------------------------------------------------------------------------
Modified: trunk/jcl/install/JclInstall.pas
===================================================================
--- trunk/jcl/install/JclInstall.pas 2007-08-13 21:41:39 UTC (rev 2132)
+++ trunk/jcl/install/JclInstall.pas 2007-08-15 11:21:26 UTC (rev 2133)
@@ -1561,7 +1561,7 @@
{$ENDIF ~MSWINDOWS}
Target.BCC32.Options.Add('-w-par'); // warning
Target.BCC32.Options.Add('-w-aus'); // warning
- Target.BCC32.AddPathOption('I', Format('%sinclude%s%s%sinclude%s%s', [Distribution.JclPath, DirSeparator, Target.RootDir, DirDelimiter, DirSeparator, Target.VclIncludeDir]));
+ Target.BCC32.AddPathOption('I', Format('%sinclude%s%s%s%s%sinclude%s%s', [Distribution.JclPath, DirSeparator, Distribution.JclSourcePath, DirSeparator, Target.RootDir, DirDelimiter, DirSeparator, Target.VclIncludeDir]));
Target.BCC32.Options.Add('-DTEST_COMMON');
{$IFDEF MSWINDOWS}
Target.BCC32.Options.Add('-DTEST_WINDOWS');
Modified: trunk/jcl/source/common/pcre.pas
===================================================================
--- trunk/jcl/source/common/pcre.pas 2007-08-13 21:41:39 UTC (rev 2132)
+++ trunk/jcl/source/common/pcre.pas 2007-08-15 11:21:26 UTC (rev 2133)
@@ -238,11 +238,8 @@
req_char: PChar;
code: array [0..0] of Char;}
end;
- {$EXTERNALSYM real_pcre}
TPCRE = real_pcre;
- {$EXTERNALSYM TPCRE}
PPCRE = ^TPCRE;
- {$EXTERNALSYM PPCRE}
real_pcre_extra = record
{options: PChar;
@@ -254,11 +251,8 @@
tables: PChar; (* Pointer to character tables *)
match_limit_recursion: Cardinal; (* Max recursive calls to match() *)
end;
- {$EXTERNALSYM real_pcre_extra}
TPCREExtra = real_pcre_extra;
- {$EXTERNALSYM TPCREExtra}
PPCREExtra = ^TPCREExtra;
- {$EXTERNALSYM PPCREExtra}
pcre_callout_block = record
version: Integer; (* Identifies version of block *)
@@ -277,7 +271,6 @@
next_item_length: Integer; (* Length of next item in the pattern *)
(* ------------------------------------------------------------------ *)
end;
- {$EXTERNALSYM pcre_callout_block}
pcre_malloc_callback = function(Size: Integer): Pointer; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_malloc_callback}
Modified: trunk/jcl/source/windows/JclUnicode.pas
===================================================================
--- trunk/jcl/source/windows/JclUnicode.pas 2007-08-13 21:41:39 UTC (rev 2132)
+++ trunk/jcl/source/windows/JclUnicode.pas 2007-08-15 11:21:26 UTC (rev 2133)
@@ -950,8 +950,6 @@
Denominator: Integer;
end;
- TFontCharSet = 0..255;
-
const
ReplacementCharacter: UCS4 = $0000FFFD;
MaximumUCS2: UCS4 = $0000FFFF;
@@ -1089,8 +1087,8 @@
function UnicodeIsHangul(C: UCS4): Boolean;
// Utility functions
-function CharSetFromLocale(Language: LCID): TFontCharSet;
-function GetCharSetFromLocale(Language: LCID; out FontCharSet: TFontCharSet): Boolean;
+function CharSetFromLocale(Language: LCID): Byte;
+function GetCharSetFromLocale(Language: LCID; out FontCharSet: Byte): Boolean;
function CodePageFromLocale(Language: LCID): Integer;
function CodeBlockName(const CB: TUnicodeBlock): string;
function CodeBlockRange(const CB: TUnicodeBlock): TUnicodeBlockRange;
@@ -6998,7 +6996,7 @@
function TranslateCharsetInfoEx(lpSrc: PDWORD; var lpCs: TCharsetInfo; dwFlags: DWORD): BOOL; stdcall;
external 'gdi32.dll' name 'TranslateCharsetInfo';
-function GetCharSetFromLocale(Language: LCID; out FontCharSet: TFontCharSet): Boolean;
+function GetCharSetFromLocale(Language: LCID; out FontCharSet: Byte): Boolean;
var
CP: Cardinal;
CSI: TCharsetInfo;
@@ -7009,7 +7007,7 @@
FontCharset := CSI.ciCharset;
end;
-function CharSetFromLocale(Language: LCID): TFontCharSet;
+function CharSetFromLocale(Language: LCID): Byte;
begin
if not GetCharSetFromLocale(Language, Result) then
RaiseLastOSError;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2007-08-13 21:41:40
|
Revision: 2132
http://jcl.svn.sourceforge.net/jcl/?rev=2132&view=rev
Author: ahuser
Date: 2007-08-13 14:41:39 -0700 (Mon, 13 Aug 2007)
Log Message:
-----------
Moved hard coded directories into an include file
Modified Paths:
--------------
trunk/thirdparty/InnoSetup/DownloadScript.iss
trunk/thirdparty/InnoSetup/Install.iss
Added Paths:
-----------
trunk/thirdparty/InnoSetup/SourceDirectories.iss
trunk/thirdparty/InnoSetup/isxdl.dll
Modified: trunk/thirdparty/InnoSetup/DownloadScript.iss
===================================================================
--- trunk/thirdparty/InnoSetup/DownloadScript.iss 2007-08-13 18:32:24 UTC (rev 2131)
+++ trunk/thirdparty/InnoSetup/DownloadScript.iss 2007-08-13 21:41:39 UTC (rev 2132)
@@ -1,5 +1,5 @@
[Files]
-Source: {#DownloadDllDir}\isxdl.dll; DestDir: {tmp}; Flags: dontcopy
+Source: isxdl.dll; DestDir: {tmp}; Flags: dontcopy
[Code]
procedure istool_AddFile(URL, Filename: PChar);
Modified: trunk/thirdparty/InnoSetup/Install.iss
===================================================================
--- trunk/thirdparty/InnoSetup/Install.iss 2007-08-13 18:32:24 UTC (rev 2131)
+++ trunk/thirdparty/InnoSetup/Install.iss 2007-08-13 21:41:39 UTC (rev 2132)
@@ -39,15 +39,8 @@
;---------------------------------------------------
+#include "SourceDirectories.iss"
-; Hard coded directories
-#define JclRoot "Z:\JEDI\JCL"
-#define DownloadDllDir "C:\Programme\ISTool"
-#define BorlandRoot = "C:\Borland"
-#define CodeGearRoot = "C:\CodeGear"
-#define BorlandSudioProjects "C:\Dokumente und Einstellungen\Andreas\Eigene Dateien\Borland Studio-Projekte"
-#define CommonDocs "C:\Dokumente und Einstellungen\All Users\Dokumente"
-
#define Delphi5Root BorlandRoot + "\Delphi5"
#define Delphi5Bpl Delphi5Root + "\Projects\Bpl"
#define Delphi5Dcp Delphi5Bpl
Added: trunk/thirdparty/InnoSetup/SourceDirectories.iss
===================================================================
--- trunk/thirdparty/InnoSetup/SourceDirectories.iss (rev 0)
+++ trunk/thirdparty/InnoSetup/SourceDirectories.iss 2007-08-13 21:41:39 UTC (rev 2132)
@@ -0,0 +1,6 @@
+#define JclRoot "Z:\JEDI\JCL"
+#define BorlandRoot = "C:\Borland"
+#define CodeGearRoot = "C:\CodeGear"
+#define BorlandSudioProjects "C:\Dokumente und Einstellungen\Andreas\Eigene Dateien\Borland Studio-Projekte"
+#define CommonDocs "C:\Dokumente und Einstellungen\All Users\Dokumente"
+
Added: trunk/thirdparty/InnoSetup/isxdl.dll
===================================================================
(Binary files differ)
Property changes on: trunk/thirdparty/InnoSetup/isxdl.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2007-08-13 18:32:25
|
Revision: 2131
http://jcl.svn.sourceforge.net/jcl/?rev=2131&view=rev
Author: ahuser
Date: 2007-08-13 11:32:24 -0700 (Mon, 13 Aug 2007)
Log Message:
-----------
Inno Setup - binary distribution
Added Paths:
-----------
trunk/thirdparty/InnoSetup/
trunk/thirdparty/InnoSetup/CompInstall.dll
trunk/thirdparty/InnoSetup/CompInstall.txt
trunk/thirdparty/InnoSetup/ComponentInstallerScript.iss
trunk/thirdparty/InnoSetup/DownloadScript.iss
trunk/thirdparty/InnoSetup/IdeComponents.iss
trunk/thirdparty/InnoSetup/Install.iss
trunk/thirdparty/InnoSetup/Skin/
trunk/thirdparty/InnoSetup/Skin/images/
trunk/thirdparty/InnoSetup/Skin/images/button.bmp
trunk/thirdparty/InnoSetup/Skin/images/wizard.bmp
trunk/thirdparty/InnoSetup/Skin/images/wizardbottom.bmp
trunk/thirdparty/InnoSetup/Skin/images/wizardsmall.bmp
trunk/thirdparty/InnoSetup/Skin/isxskin.iss
Added: trunk/thirdparty/InnoSetup/CompInstall.dll
===================================================================
(Binary files differ)
Property changes on: trunk/thirdparty/InnoSetup/CompInstall.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/thirdparty/InnoSetup/CompInstall.txt
===================================================================
--- trunk/thirdparty/InnoSetup/CompInstall.txt (rev 0)
+++ trunk/thirdparty/InnoSetup/CompInstall.txt 2007-08-13 18:32:24 UTC (rev 2131)
@@ -0,0 +1 @@
+The source code of CompInstall.dll is in the JVCL InnoSetup directory.
\ No newline at end of file
Added: trunk/thirdparty/InnoSetup/ComponentInstallerScript.iss
===================================================================
--- trunk/thirdparty/InnoSetup/ComponentInstallerScript.iss (rev 0)
+++ trunk/thirdparty/InnoSetup/ComponentInstallerScript.iss 2007-08-13 18:32:24 UTC (rev 2131)
@@ -0,0 +1,442 @@
+[Files]
+Source: CompInstall.dll; DestDir: {app};
+
+[Code]
+type
+ TIdeKind = (ikUnknown, ikDelphi, ikBCB);
+
+function MapDesignPackage(IdeKind: TIdeKind; Version: Integer; const PackageName: string): string;
+ forward; // user defined mapping function that maps the component name @PackageName to a full qualified DesignPackage file name
+function MapExpert(IdeKind: TIdeKind; Version: Integer; const ExpertName: string): string;
+ forward; // user defined mapping function that maps the component name @PackageName to a full qualified IDE expert file name
+procedure GetSearchPaths(IdeKind: TIdeKind; Version: Integer; var SearchPaths, DebugPaths, BrowsePaths: string);
+ forward; // user defined function that returns a semicolon separated list of paths that the installer should add to the IDE paths
+procedure UserRegisterComponents(Components: TStrings);
+ forward; // user defined function that does additional component registration. In Components[] is the list of selected wizard components
+procedure UserUnregisterComponents(Components: TStrings);
+ forward; // user defined function that does additional component unregistration. In Components[] is the list of installed wizard components
+
+{----------------------------------------------------------}
+
+function GetDelphiDir(Version: string): string;
+begin
+ Result := GetEnv('DELPHI' + Version);
+ if Result = '' then
+ Result := ExpandConstant('{app}') + '\bpl\d' + Version;
+end;
+
+function GetBCBBplDir(Version: string): string;
+begin
+ Result := GetEnv('BCB' + Version + 'BPL');
+ if Result = '' then
+ Result := ExpandConstant('{app}') + '\bpl\c' + Version;
+end;
+
+function GetDelphiBplDir(Version: string): string;
+begin
+ Result := GetEnv('DELPHI' + Version + 'BPL');
+ if Result = '' then
+ Result := ExpandConstant('{app}') + '\bpl\d' + Version;
+end;
+
+function GetBCBDir(Version: string): string;
+begin
+ Result := GetEnv('BCB' + Version);
+ if Result = '' then
+ Result := ExpandConstant('{app}') + '\bpl\d' + Version;
+end;
+
+function GetDelphiRegKey(Version: string): string;
+begin
+ Result := GetEnv('DELPHI' + Version + 'RegKey');
+end;
+
+function GetBCBRegKey(Version: string): string;
+begin
+ Result := GetEnv('BCB' + Version + 'RegKey');
+end;
+
+{----------------------------------------------------------}
+
+function StartsText(const SubStr, S: string): Boolean;
+begin
+ Result := (Length(S) >= Length(SubStr)) and (CompareText(Copy(S, 1, Length(SubStr)), SubStr) = 0);
+end;
+
+function EndsText(const SubStr, S: string): Boolean;
+var
+ Len: Integer;
+begin
+ Len := Length(SubStr);
+ Result := (Length(S) >= Len) and (CompareText(Copy(S, Length(S) - Len + 1, Len), SubStr) = 0);
+end;
+
+procedure GetSelectedList(List: TStrings; Prefix: string; Components: TStrings);
+var
+ I, Len: Integer;
+begin
+ Prefix := Prefix + '\';
+ Len := Length(Prefix);
+ for I := 0 to Components.Count - 1 do
+ if StartsText(Prefix, Components[I]) then
+ List.Add(Copy(Components[I], Len + 1, Length(Components[I])));
+end;
+
+procedure ExtractIdeInfo(const IdeName: string; var Kind: TIdeKind; var Version: Integer);
+begin
+ Kind := ikUnknown;
+ Version := 0;
+ if StartsText('Delphi', IdeName) then
+ begin
+ Kind := ikDelphi;
+ Version := StrToInt(Copy(IdeName, 7, Length(IdeName)));
+ end
+ else if StartsText('BCB', IdeName) then
+ begin
+ Kind := ikBCB;
+ Version := StrToInt(Copy(IdeName, 4, Length(IdeName)));
+ end;
+end;
+
+// -------------------
+function compinst_init(): Integer;
+ external 'compinst_init@files:CompInstall.dll stdcall';
+function compinst_initUninstall(): Integer;
+ external 'compinst_init@{app}\CompInstall.dll stdcall uninstallonly';
+
+// install only
+function compinst_isDelphiInstalled(Version: Integer): Integer;
+ external 'compinst_isDelphiInstalled@files:CompInstall.dll stdcall';
+function compinst_isBCBInstalled(Version: Integer): Integer;
+ external 'compinst_isDelphiInstalled@files:CompInstall.dll stdcall';
+function compinst_isBDSInstalled(IDEVersion: Integer): Integer;
+ external 'compinst_isDelphiInstalled@files:CompInstall.dll stdcall';
+
+ // design package
+function compinst_installDelphiDesignPackage(Version: Integer; BplFilename, Description: PChar): Integer;
+ external 'compinst_installDelphiDesignPackage@files:CompInstall.dll stdcall';
+function compinst_installBCBDesignPackage(Version: Integer; BplFilename, Description: PChar): Integer;
+ external 'compinst_installBCBDesignPackage@files:CompInstall.dll stdcall';
+
+ // expert
+function compinst_installDelphiExpert(Version: Integer; Filename, Description: PChar): Integer;
+ external 'compinst_installDelphiExpert@files:CompInstall.dll stdcall';
+function compinst_installBCBExpert(Version: Integer; Filename, Description: PChar): Integer;
+ external 'compinst_installBCBExpert@files:CompInstall.dll stdcall';
+
+ // search path
+function compinst_addDelphiSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer;
+ external 'compinst_addDelphiSearchPaths@files:CompInstall.dll stdcall';
+function compinst_addBCBSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer;
+ external 'compinst_addBCBSearchPaths@files:CompInstall.dll stdcall';
+
+// uninstall only
+ // design package
+function compinst_uninstallDelphiDesignPackage(Version: Integer; BplFilename: PChar): Integer;
+ external 'compinst_uninstallDelphiDesignPackage@{app}\CompInstall.dll stdcall uninstallonly';
+function compinst_uninstallBCBDesignPackage(Version: Integer; BplFilename: PChar): Integer;
+ external 'compinst_uninstallBCBDesignPackage@{app}\CompInstall.dll stdcall uninstallonly';
+
+function compinst_uninstallDelphiDesignPackagesPrefixed(Version: Integer; BplFilenamePrefix: PChar): Integer;
+ external 'compinst_uninstallDelphiDesignPackagesPrefixed@{app}\CompInstall.dll stdcall uninstallonly';
+function compinst_uninstallBCBDesignPackagesPrefixed(Version: Integer; BplFilenamePrefix: PChar): Integer;
+ external 'compinst_uninstallBCBDesignPackagesPrefixed@{app}\CompInstall.dll stdcall uninstallonly';
+
+ // expert
+function compinst_uninstallDelphiExpert(Version: Integer; Filename: PChar): Integer;
+ external 'compinst_uninstallDelphiExpert@{app}\CompInstall.dll stdcall uninstallonly';
+function compinst_uninstallBCBExpert(Version: Integer; Filename: PChar): Integer;
+ external 'compinst_uninstallBCBExpert@{app}\CompInstall.dll stdcall uninstallonly';
+
+function compinst_uninstallDelphiExpertsPrefixed(Version: Integer; FilenamePrefix: PChar): Integer;
+ external 'compinst_uninstallDelphiExpertsPrefixed@{app}\CompInstall.dll stdcall uninstallonly';
+function compinst_uninstallBCBExpertsPrefixed(Version: Integer; FilenamePrefix: PChar): Integer;
+ external 'compinst_uninstallBCBExpertsPrefixed@{app}\CompInstall.dll stdcall uninstallonly';
+
+ // search path
+function compinst_removeDelphiSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer;
+ external 'compinst_removeDelphiSearchPaths@{app}\CompInstall.dll stdcall uninstallonly';
+function compinst_removeBCBSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer;
+ external 'compinst_removeBCBSearchPaths@{app}\CompInstall.dll stdcall uninstallonly';
+
+function IsDelphiInstalled(Version: Integer): Boolean;
+begin
+ Result := compinst_isDelphiInstalled(Version) <> 0;
+end;
+
+function IsBCBInstalled(Version: Integer): Boolean;
+begin
+ Result := compinst_isBCBInstalled(Version) <> 0;
+end;
+
+function IsSourceInstall: Boolean;
+var
+ List: TStrings;
+ I: Integer;
+begin
+ Result := False;
+ List := TStringList.Create;
+ try
+ List.CommaText := WizardSelectedComponents(False);
+ for I := 0 to List.Count - 1 do
+ if StartsText('IDE\', List[I]) then
+ Exit;
+ finally
+ List.Free;
+ end;
+ Result := True;
+end;
+
+// Design Packages
+procedure InstallDesignPackage(Kind: TIdeKind; Version: Integer; const BplFilename: string);
+begin
+ if not FileExists(BplFilename) then
+ Exit;
+ Log('Register designtime package: ' + BplFilename);
+ case Kind of
+ ikDelphi:
+ if compinst_installDelphiDesignPackage(Version, PChar(BplFilename), '') = 0 then
+ MsgBox('Failed to install designtime package ' + ExtractFileName(BplFilename), mbError, MB_OK);
+ ikBCB:
+ if compinst_installBCBDesignPackage(Version, PChar(BplFilename), '') = 0 then
+ MsgBox('Failed to install designtime package ' + ExtractFileName(BplFilename), mbError, MB_OK);
+ end;
+end;
+
+function UninstallDesignPackage(Kind: TIdeKind; Version: Integer; const BplFilename: string): Boolean;
+begin
+ Log('Unregister designtime package: ' + BplFilename);
+ Result := False;
+ case Kind of
+ ikDelphi:
+ Result := compinst_uninstallDelphiDesignPackage(Version, PChar(BplFilename)) <> 0;
+ ikBCB:
+ Result := compinst_uninstallBCBDesignPackage(Version, PChar(BplFilename)) <> 0;
+ end;
+end;
+
+function UninstallDesignPackagesPrefixed(Kind: TIdeKind; Version: Integer; const BplFilenamePrefix: string): Boolean;
+begin
+ Log('Unregister designtime packages that have the prefix: ' + BplFilenamePrefix);
+ Result := False;
+ case Kind of
+ ikDelphi:
+ Result := compinst_uninstallDelphiDesignPackagesPrefixed(Version, PChar(BplFilenamePrefix)) <> 0;
+ ikBCB:
+ Result := compinst_uninstallBCBDesignPackagesPrefixed(Version, PChar(BplFilenamePrefix)) <> 0;
+ end;
+end;
+
+// Experts
+procedure InstallExpert(Kind: TIdeKind; Version: Integer; const Filename, Description: string);
+begin
+ if not FileExists(Filename) then
+ Exit;
+ if EndsText('.bpl', Filename) then
+ InstallDesignPackage(Kind, Version, Filename)
+ else
+ begin
+ Log('Register IDE expert: ' + Filename);
+ case Kind of
+ ikDelphi:
+ if compinst_installDelphiExpert(Version, PChar(Filename), Description) = 0 then
+ MsgBox('Failed to install IDE expert ' + ExtractFileName(Filename), mbError, MB_OK);
+ ikBCB:
+ if compinst_installBCBExpert(Version, PChar(Filename), Description) = 0 then
+ MsgBox('Failed to install IDE expert ' + ExtractFileName(Filename), mbError, MB_OK);
+ end;
+ end;
+end;
+
+function UninstallExpert(Kind: TIdeKind; Version: Integer; const Filename: string): Boolean;
+begin
+ if EndsText('.bpl', Filename) then
+ UninstallDesignPackage(Kind, Version, Filename)
+ else
+ begin
+ Log('Unregister IDE expert: ' + Filename);
+ Result := False;
+ case Kind of
+ ikDelphi:
+ Result := compinst_uninstallDelphiExpert(Version, PChar(Filename)) <> 0;
+ ikBCB:
+ Result := compinst_uninstallBCBExpert(Version, PChar(Filename)) <> 0;
+ end;
+ end;
+end;
+
+function UninstallExpertsPrefixed(Kind: TIdeKind; Version: Integer; const FilenamePrefix: string): Boolean;
+begin
+ Log('Unregister IDE experts that have the prefix: ' + FilenamePrefix);
+ Result := False;
+ case Kind of
+ ikDelphi:
+ Result := compinst_uninstallDelphiExpertsPrefixed(Version, PChar(FilenamePrefix)) <> 0;
+ ikBCB:
+ Result := compinst_uninstallBCBExpertsPrefixed(Version, PChar(FilenamePrefix)) <> 0;
+ end;
+end;
+
+// Search Paths
+procedure ChangeIdeSearchPaths(Kind: TIdeKind; Version: Integer; Installing: Boolean);
+var
+ SearchPaths, DebugPaths, BrowsePaths: string;
+ Value: Integer;
+begin
+ GetSearchPaths(Kind, Version, SearchPaths, DebugPaths, BrowsePaths);
+ if Installing then
+ begin
+ Log('Adding search paths: ' + SearchPaths);
+ Log('Adding debug paths: ' + DebugPaths);
+ Log('Adding browsing paths: ' + BrowsePaths);
+ end
+ else
+ begin
+ Log('Removing search paths: ' + SearchPaths);
+ Log('Removing debug paths: ' + DebugPaths);
+ Log('Removing browsing paths: ' + BrowsePaths);
+ end;
+
+ case Kind of
+ ikDelphi:
+ if Installing then
+ Value := compinst_addDelphiSearchPaths(Version, PChar(SearchPaths), PChar(DebugPaths), PChar(BrowsePaths))
+ else
+ Value := compinst_removeDelphiSearchPaths(Version, PChar(SearchPaths), PChar(DebugPaths), PChar(BrowsePaths));
+ ikBCB:
+ if Installing then
+ Value := compinst_addBCBSearchPaths(Version, PChar(SearchPaths), PChar(DebugPaths), PChar(BrowsePaths))
+ else
+ Value := compinst_removeBCBSearchPaths(Version, PChar(SearchPaths), PChar(DebugPaths), PChar(BrowsePaths));
+ end;
+end;
+
+procedure ChangeComponentRegistration(Installing: Boolean; Components: TStrings);
+var
+ IdeList, PackageList, ExpertList: TStrings;
+ IdeIndex, Index: Integer;
+ DesignPackageName, ExpertName, Name: string;
+ IdeKind: TIdeKind;
+ Version: Integer;
+ ComponentsFilename: string;
+begin
+ // Register Packages into the IDEs
+ IdeList := nil;
+ PackageList := nil;
+ ExpertList := nil;
+ try
+ IdeList := TStringList.Create;
+ PackageList := TStringList.Create;
+ ExpertList := TStringList.Create;
+
+ ComponentsFilename := ExpandConstant('{app}\unins00c.dat');
+
+ if Installing then
+ Components.CommaText := WizardSelectedComponents(False)
+ else
+ if FileExists(ComponentsFilename) then
+ Components.LoadFromFile(ComponentsFilename);
+
+ GetSelectedList(IdeList, 'IDE', Components);
+ GetSelectedList(PackageList, 'Packages', Components);
+ GetSelectedList(ExpertList, 'Experts', Components);
+
+ // install per IDE
+ for IdeIndex := 0 to IdeList.Count - 1 do
+ begin
+ ExtractIdeInfo(IdeList[IdeIndex], IdeKind, Version);
+ // install per Package
+ for Index := 0 to PackageList.Count - 1 do
+ begin
+ Name := ExtractFileName(PackageList[Index]);
+ if Trim(Name) <> '' then
+ begin
+ DesignPackageName := MapDesignPackage(IdeKind, Version, Name);
+ if Trim(DesignPackageName) <> '' then
+ begin
+ if Installing then
+ InstallDesignPackage(IdeKind, Version, DesignPackageName)
+ else
+ UninstallDesignPackage(IdeKind, Version, DesignPackageName);
+ end;
+ end;
+ end;
+
+ // install per Expert
+ for Index := 0 to ExpertList.Count - 1 do
+ begin
+ Name := ExtractFileName(ExpertList[Index]);
+ if Trim(Name) <> '' then
+ begin
+ ExpertName := MapExpert(IdeKind, Version, Name);
+ if Trim(ExpertName) <> '' then
+ begin
+ if Installing then
+ InstallExpert(IdeKind, Version, ExpertName, Name)
+ else
+ UninstallExpert(IdeKind, Version, ExpertName);
+ end;
+ end;
+ end;
+
+ ChangeIdeSearchPaths(IdeKind, Version, Installing);
+ end;
+ if Installing then
+ Components.SaveToFile(ComponentsFilename)
+ else
+ DeleteFile(ComponentsFilename);
+ finally
+ IdeList.Free;
+ PackageList.Free;
+ end;
+end;
+
+function InitComponentInstaller(): Boolean;
+var
+ Version: Integer;
+begin
+ compinst_init; // sets the "DELPHIx[|BPL|DCP|RegKey]" and "BCBx[|BPL|DCP|RegKey] environment variables
+
+ // Check if there is any Delphi IDE installed
+ Result := False;
+ for Version := 5 to 11 do
+ if IsDelphiInstalled(Version) then
+ Result := True;
+
+ if not Result then
+ MsgBox('No Delphi IDE is installed. Installation aborted.', mbError, MB_OK);
+end;
+
+function InitComponentUninstaller(): Boolean;
+begin
+ compinst_initUninstall; // sets the "DELPHIx[|BPL|DCP|RegKey]" and "BCBx[|BPL|DCP|RegKey] environment variables
+ Result := True;
+end;
+
+procedure RegisterComponents();
+var
+ Components: TStrings;
+begin
+ Components := TStringList.Create;
+ try
+ ChangeComponentRegistration(True, Components);
+ UserRegisterComponents(Components);
+ finally
+ Components.Free;
+ end;
+end;
+
+procedure UnregisterComponents();
+var
+ Components: TStrings;
+begin
+ Components := TStringList.Create;
+ try
+ ChangeComponentRegistration(False, Components);
+ UserUnregisterComponents(Components);
+ finally
+ Components.Free;
+ UnloadDLL(ExpandConstant('{app}\CompInstall.dll')); // make the file deletable
+ end;
+end;
+
Added: trunk/thirdparty/InnoSetup/DownloadScript.iss
===================================================================
--- trunk/thirdparty/InnoSetup/DownloadScript.iss (rev 0)
+++ trunk/thirdparty/InnoSetup/DownloadScript.iss 2007-08-13 18:32:24 UTC (rev 2131)
@@ -0,0 +1,71 @@
+[Files]
+Source: {#DownloadDllDir}\isxdl.dll; DestDir: {tmp}; Flags: dontcopy
+
+[Code]
+procedure istool_AddFile(URL, Filename: PChar);
+ external 'isxdl_AddFile@files:isxdl.dll stdcall';
+function istool_DownloadFiles(hWnd: Integer): Integer;
+ external 'isxdl_DownloadFiles@files:isxdl.dll stdcall';
+procedure istool_ClearFiles;
+ external 'isxdl_ClearFiles@files:isxdl.dll stdcall';
+
+type
+ ISXDL = record
+ Source: string;
+ DestDir: string;
+ DestName: string;
+ Tasks: string;
+ Components: string;
+ Languages: string;
+ Flags: Cardinal;
+ end;
+
+var
+ istool_files: array of ISXDL;
+
+procedure istool_download_init();
+begin
+ SetArrayLength(istool_files, 1);
+ // Delphi 5
+ istool_files[0].Source := 'http://jvcl.sourceforge.net/daily/JVCL3-Latest.zip';
+ istool_files[0].DestDir := ExpandConstant('{tmp}');
+ istool_files[0].DestName := 'JVCL3-Latest.zip';
+ istool_files[0].Tasks := '';
+ istool_files[0].Components := 'IDE\Delphi5';
+ istool_files[0].Languages := '';
+ istool_files[0].Flags := 0;
+end;
+
+function istool_checklanguages(const Languages: String): Boolean;
+begin
+ Result := (Languages = '') or (Pos(ActiveLanguage, Languages) > 0);
+end;
+
+function istool_download(CurPage: Integer): boolean;
+var
+ i, NumFiles: Integer;
+ DestFile, DestDir: string;
+begin
+ Result := True;
+ if CurPage <> wpReady then
+ Exit;
+ istool_ClearFiles();
+ istool_download_init();
+ NumFiles := GetArrayLength(istool_files);
+ for i := 0 to NumFiles - 1 do
+ begin
+ if IsComponentSelected(istool_files[i].Components) and
+ IsTaskSelected(istool_files[i].Tasks) and
+ istool_checklanguages(istool_files[i].Languages) then
+ begin
+ DestDir := AddBackslash(istool_files[i].DestDir);
+ if istool_files[i].DestName = '' then
+ DestFile := DestDir + 'dlfile.' + IntToStr(i)
+ else
+ DestFile := DestDir + istool_files[i].DestName;
+ istool_AddFile(istool_files[i].Source, DestFile);
+ end;
+ end;
+ //Result := 0 <> istool_DownloadFiles(StrToInt(ExpandConstant('{wizardhwnd}')));
+ Result := 0 <> istool_DownloadFiles(0);
+end;
Added: trunk/thirdparty/InnoSetup/IdeComponents.iss
===================================================================
--- trunk/thirdparty/InnoSetup/IdeComponents.iss (rev 0)
+++ trunk/thirdparty/InnoSetup/IdeComponents.iss 2007-08-13 18:32:24 UTC (rev 2131)
@@ -0,0 +1,28 @@
+[Components]
+; IDE selection
+Name: "IDE"; Description: "Install for IDE"
+#ifdef Include_Delphi5
+Name: "IDE\Delphi5"; Description: "Install for Delphi 5"; Types: full prefered; Check: IsDelphiInstalled(5)
+#endif
+#ifdef Include_BCB5
+Name: "IDE\BCB5"; Description: "Install for C++Builder 5"; Types: full prefered; Check: IsBCBInstalled(5)
+#endif
+#ifdef Include_Delphi6
+Name: "IDE\Delphi6"; Description: "Install for Delphi 6"; Types: full prefered; Check: IsDelphiInstalled(6)
+#endif
+#ifdef Include_BCB6
+Name: "IDE\BCB6"; Description: "Install for C++Builder 6"; Types: full prefered; Check: IsBCBInstalled(6)
+#endif
+#ifdef Include_Delphi7
+Name: "IDE\Delphi7"; Description: "Install for Delphi 7"; Types: full prefered; Check: IsDelphiInstalled(7)
+#endif
+#ifdef Include_Delphi9
+Name: "IDE\Delphi9"; Description: "Install for Delphi 2005"; Types: full prefered; Check: IsDelphiInstalled(9)
+#endif
+#ifdef Include_Delphi10
+Name: "IDE\Delphi10"; Description: "Install for Delphi/C++Builder 2006"; Types: full prefered; Check: IsDelphiInstalled(10)
+#endif
+#ifdef Include_Delphi11
+Name: "IDE\Delphi11"; Description: "Install for RAD Studio 2007"; Types: full prefered; Check: IsDelphiInstalled(11)
+#endif
+
Added: trunk/thirdparty/InnoSetup/Install.iss
===================================================================
--- trunk/thirdparty/InnoSetup/Install.iss (rev 0)
+++ trunk/thirdparty/InnoSetup/Install.iss 2007-08-13 18:32:24 UTC (rev 2131)
@@ -0,0 +1,445 @@
+; Script created by Andreas Hausladen (And...@gm...) for the JCL
+;
+; CONDITIONAL COMPILATION
+; Include_Binaries Create an installer that can install a precompiled JCL
+; Include_Examples Add the Examples directory to the installer (user can then select the component)
+; DEBUGGING Development. Will only use Delphi 5 BPLs as files with a fast compression (script debugging)
+; Include_DelphiX Include the binaries for Delphi X (X in 5..11)
+; Include_BCBX Include the binaries for C++Builder X (X in 5..6)
+
+#define JclVersionStr "1.101.0.2647"
+#define MyAppName "Jedi Code Library"
+#define MyAppVerName "Jedi Code Library " + JclVersionStr
+#define MyAppPublisher "JCL Team"
+#define MyAppURL "http://jcl.sourceforge.net/"
+
+#define Include_Binaries
+#define Include_Examples
+;#define DEBUGGING
+
+#ifdef DEBUGGING
+ #define Include_SingleIDE
+ #define Include_Delphi5
+ #undef Include_Examples
+#endif
+
+
+#ifdef Include_Binaries
+ #ifndef Include_SingleIDE
+; #define Include_BCB5
+ #define Include_Delphi5
+; #define Include_BCB6
+ #define Include_Delphi6
+ #define Include_Delphi7
+ #define Include_Delphi9
+ #define Include_Delphi10
+ #define Include_Delphi11
+ #endif
+#endif
+
+
+;---------------------------------------------------
+
+; Hard coded directories
+#define JclRoot "Z:\JEDI\JCL"
+#define DownloadDllDir "C:\Programme\ISTool"
+#define BorlandRoot = "C:\Borland"
+#define CodeGearRoot = "C:\CodeGear"
+#define BorlandSudioProjects "C:\Dokumente und Einstellungen\Andreas\Eigene Dateien\Borland Studio-Projekte"
+#define CommonDocs "C:\Dokumente und Einstellungen\All Users\Dokumente"
+
+#define Delphi5Root BorlandRoot + "\Delphi5"
+#define Delphi5Bpl Delphi5Root + "\Projects\Bpl"
+#define Delphi5Dcp Delphi5Bpl
+#define BCB5Root BorlandRoot + "\CBuilder5"
+#define BCB5Bpl BCB5Root + "\Projects\Bpl"
+#define BCB5Dcp BCB5Bpl
+#define Delphi6Root BorlandRoot + "\Delphi6"
+#define Delphi6Bpl Delphi6Root + "\Projects\Bpl"
+#define Delphi6Dcp Delphi6Bpl
+#define BCB6Root BorlandRoot + "\CBuilder6"
+#define BCB6Bpl BCB6Root + "\Projects\Bpl"
+#define BCB6Dcp BCB6Bpl
+#define Delphi7Root BorlandRoot + "\Delphi7"
+#define Delphi7Bpl Delphi7Root + "\Projects\Bpl"
+#define Delphi7Dcp Delphi7Bpl
+#define Delphi9Root BorlandRoot + "\BDS\3.0"
+#define Delphi9Bpl BorlandSudioProjects + "\Bpl"
+#define Delphi10Root BorlandRoot + "\BDS\4.0"
+#define Delphi10Bpl BorlandSudioProjects + "\Bpl"
+#define Delphi11Root CodeGearRoot + "\RAD Studio\5.0"
+#define Delphi11Bpl CommonDocs + "\RAD Studio\5.0\Bpl"
+
+
+[Setup]
+AppName={#MyAppName}
+AppVerName={#MyAppVerName}
+AppVersion={#JclVersionStr}
+AppPublisher={#MyAppPublisher}
+AppPublisherURL={#MyAppURL}
+AppSupportURL={#MyAppURL}
+AppUpdatesURL={#MyAppURL}
+DefaultDirName=C:\DelphiComponents\JCL
+DefaultGroupName=DelphiComponents\JEDI Code Library
+DisableProgramGroupPage=no
+;LicenseFile={#JclRoot}\help\MPL-1.1.html
+OutputBaseFilename=setup
+#ifdef DEBUGGING
+Compression=zip/1
+#else
+Compression=lzma/ultra64
+#endif
+SolidCompression=yes
+ShowLanguageDialog=auto
+
+// for skin
+#define MyWizardBottomImageFile "Skin\images\wizardbottom.bmp"
+#define MyWizardButtonImageFile "Skin\images\button.bmp"
+#define MyWizardImageFile "wizard.bmp"
+#define MyWizardSmallImageFile "wizardsmall.bmp"
+WizardImageFile=Skin\images\{#MyWizardImageFile}
+WizardSmallImageFile=Skin\images\{#MyWizardSmallImageFile}
+#include "Skin\isxskin.iss"
+
+[Languages]
+Name: "english"; MessagesFile: "compiler:Default.isl"
+Name: "french"; MessagesFile: "compiler:Languages\French.isl"
+Name: "german"; MessagesFile: "compiler:Languages\German.isl"
+
+
+#ifdef Include_Binaries
+[Types]
+Name: "full"; Description: "Full installation"
+Name: "compact"; Description: "Source only installation"
+Name: "custom"; Description: "Custom installation"; Flags: iscustom
+Name: "prefered"; Description: "Prefered installation"
+#endif
+
+[Components]
+#ifdef Include_Examples
+Name: "Examples"; Description: "Example projects"; Types: full;
+#endif
+
+#ifdef Include_Binaries
+#include "IdeComponents.iss"
+
+[Components]
+; Package selection
+Name: "Experts"; Description: "Register IDE Experts"; Types: full prefered
+Name: "Experts\JclDebugExpert"; Description: "Debug Expert"; Types: full prefered
+Name: "Experts\JclFavoriteFoldersExpert"; Description: "Favorite Folder Expert"; Types: full prefered
+Name: "Experts\JclProjectAnalysisExpert"; Description: "Project Analysis Expert"; Types: full prefered
+Name: "Experts\JclRepositoryExpert"; Description: "Repository Expert"; Types: full prefered
+Name: "Experts\JclSIMDViewExpert"; Description: "SIMD-View Expert"; Types: full prefered
+Name: "Experts\JclThreadNameExpert"; Description: "Thread Name Expert"; Types: full prefered
+Name: "Experts\JclUsesExpert"; Description: "Uses Expert"; Types: full prefered
+Name: "Experts\JclVersionControlExpert"; Description: "Version Control Expert"; Types: full prefered
+#endif
+
+[Dirs]
+Name: "{app}\bin"
+
+[Files]
+Source: {#JclRoot}\*.bat; DestDir: "{app}"; Flags: ignoreversion
+Source: {#JclRoot}\*.sh; DestDir: "{app}"; Flags: ignoreversion
+Source: {#JclRoot}\*.txt; DestDir: "{app}"; Flags: ignoreversion
+Source: {#JclRoot}\source\*; DestDir: "{app}\source"; Excludes: ".svn,__history,*.~*,*.hpp,*.txt"; Flags: ignoreversion sortfilesbyextension recursesubdirs
+Source: {#JclRoot}\packages\*; DestDir: "{app}\packages"; Excludes: ".svn,__history,*.drc,*.txt"; Flags: ignoreversion sortfilesbyextension recursesubdirs
+Source: {#JclRoot}\install\*; DestDir: "{app}\install"; Excludes: ".svn,__history,*.~*,ISS"; Flags: ignoreversion recursesubdirs sortfilesbyextension
+Source: {#JclRoot}\devtools\*; DestDir: "{app}\devtools"; Excludes: ".svn,__history"; Flags: ignoreversion sortfilesbyextension recursesubdirs
+Source: {#JclRoot}\docs\*; DestDir: "{app}\docs"; Excludes: ".svn,__history"; Flags: ignoreversion sortfilesbyextension recursesubdirs
+Source: {#JclRoot}\experts\*; DestDir: "{app}\experts"; Excludes: ".svn,__history,*.~*,*.txt"; Flags: ignoreversion sortfilesbyextension recursesubdirs
+Source: {#JclRoot}\include\*; DestDir: "{app}\include"; Excludes: ".svn,__history"; Flags: ignoreversion recursesubdirs sortfilesbyextension
+Source: {#JclRoot}\lib\*; DestDir: "{app}\lib"; Excludes: ".svn,__history,*.dcu,*.obj,*.dcp,*.lib,*.bpi,*.dfm,*.res,*.txt"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+
+#ifdef Include_Examples
+; SolidBreak
+Source: {#JclRoot}\examples\*; DestDir: "{app}\examples"; Excludes: ".svn,__history,*.dcu,*.obj,*.exe,*.bpl,*.dcp,*.~*"; Components: "Examples"; Flags: ignoreversion recursesubdirs sortfilesbyextension solidbreak
+#endif
+
+#ifdef Include_Binaries
+#ifdef Include_Delphi5
+; SolidBreak;
+Source: {#JclRoot}\lib\d5\*; DestDir: "{app}\lib\d5"; Excludes: ".svn,__history,*.txt"; Components: "IDE\Delphi5"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#Delphi5Bpl}\Jcl*.*; DestDir: "{code:GetDelphiBplDir|5}"; Components: "IDE\Delphi5"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#ifdef Include_BCB5
+; SolidBreak;
+Source: {#JclRoot}\lib\c5\*; DestDir: "{app}\lib\c5"; Excludes: ".svn,__history,*.txt"; Components: "IDE\BCB5"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#BCB5Bpl}\Jcl*.*; DestDir: "{code:GetBCBBplDir|5}"; Components: "IDE\BCB5"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+Source: {#BCB5Root}\Include\Vcl\Jcl*.hpp; DestDir: "{code:GetBCBDir|5}\Include\Vcl"; Components: "IDE\BCB5"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#ifdef Include_Delphi6
+; SolidBreak;
+Source: {#JclRoot}\lib\d6\*; DestDir: "{app}\lib\d6"; Excludes: ".svn,__history,*.txt"; Components: "IDE\Delphi6"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#Delphi6Bpl}\Jcl*.*; DestDir: "{code:GetDelphiBplDir|6}"; Components: "IDE\Delphi6"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#ifdef Include_BCB6
+; SolidBreak;
+Source: {#JclRoot}\lib\c6\*; DestDir: "{app}\lib\c6"; Excludes: ".svn,__history,*.txt"; Components: "IDE\BCB6"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#BCB6Bpl}\Jcl*.*; DestDir: "{code:GetBCBBplDir|6}"; Components: "IDE\BCB6"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+Source: {#BCB6Root}\Include\Vcl\Jcl*.hpp; DestDir: "{code:GetBCBDir|6}\Include\Vcl"; Components: "IDE\BCB6"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#ifdef Include_Delphi7
+; SolidBreak;
+Source: {#JclRoot}\lib\d7\*; DestDir: "{app}\lib\d7"; Excludes: ".svn,__history,*.txt"; Components: "IDE\Delphi7"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#Delphi7Bpl}\Jcl*.*; DestDir: "{code:GetDelphiBplDir|7}"; Components: "IDE\Delphi7"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#ifdef Include_Delphi9
+; SolidBreak;
+Source: {#JclRoot}\lib\d9\*; DestDir: "{app}\lib\d9"; Excludes: ".svn,__history,*.txt"; Components: "IDE\Delphi9"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#Delphi9Bpl}\Jcl*9*.*; DestDir: "{code:GetDelphiBplDir|9}"; Components: "IDE\Delphi9"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#ifdef Include_Delphi10
+; SolidBreak;
+Source: {#JclRoot}\lib\d10\*; DestDir: "{app}\lib\d10"; Excludes: ".svn,__history,*.txt"; Components: "IDE\Delphi10"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#Delphi10Bpl}\Jcl*10*.*; DestDir: "{code:GetDelphiBplDir|10}"; Components: "IDE\Delphi10"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+Source: {#Delphi10Root}\Include\Vcl\Jcl*.hpp; DestDir: "{code:GetDelphiDir|10}\Include\Vcl"; Components: "IDE\Delphi10"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#ifdef Include_Delphi11
+; SolidBreak;
+Source: {#JclRoot}\lib\d11\*; DestDir: "{app}\lib\d11"; Excludes: ".svn,__history,*.txt"; Components: "IDE\Delphi11"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#Delphi11Bpl}\Jcl*.*; DestDir: "{code:GetDelphiBplDir|11}"; Components: "IDE\Delphi11"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+Source: {#Delphi11Root}\Include\Vcl\Jcl*.hpp; DestDir: "{code:GetDelphiDir|10}\Include\Vcl"; Components: "IDE\Delphi11"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#endif
+
+; only source code => execute Jedi Installer
+[Run]
+Filename: {app}\install.bat; Description: "Execute JEDI Installer"; Flags: postinstall shellexec; Check: IsSourceInstall;
+
+#ifdef Include_Binaries
+[Registry]
+#ifdef Include_Delphi5
+; Delphi 5
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|5}\Jedi\JCL"; ValueType: string; ValueName: "BplDir"; ValueData: {code:GetDelphiBplDir|5}; Components: "IDE\Delphi5"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|5}\Jedi\JCL"; ValueType: string; ValueName: "DcpDir"; ValueData: {app}\lib\d5; Components: "IDE\Delphi5"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|5}\Jedi\JCL"; ValueType: string; ValueName: "RootDir"; ValueData: {app}; Components: "IDE\Delphi5"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|5}\Jedi\JCL"; ValueType: string; ValueName: "Version"; ValueData: {#JclVersionStr}; Components: "IDE\Delphi5"; Flags: uninsdeletevalue
+#endif
+#ifdef Include_Delphi6
+; Delphi 6
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|6}\Jedi\JCL"; ValueType: string; ValueName: "BplDir"; ValueData: {code:GetDelphiBplDir|6}; Components: "IDE\Delphi6"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|6}\Jedi\JCL"; ValueType: string; ValueName: "DcpDir"; ValueData: {app}\lib\d6; Components: "IDE\Delphi6"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|6}\Jedi\JCL"; ValueType: string; ValueName: "RootDir"; ValueData: {app}; Components: "IDE\Delphi6"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|6}\Jedi\JCL"; ValueType: string; ValueName: "Version"; ValueData: {#JclVersionStr}; Components: "IDE\Delphi6"; Flags: uninsdeletevalue
+#endif
+#ifdef Include_Delphi7
+; Delphi 7
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|7}\Jedi\JCL"; ValueType: string; ValueName: "BplDir"; ValueData: {code:GetDelphiBplDir|7}; Components: "IDE\Delphi7"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|7}\Jedi\JCL"; ValueType: string; ValueName: "DcpDir"; ValueData: {app}\lib\d7; Components: "IDE\Delphi7"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|7}\Jedi\JCL"; ValueType: string; ValueName: "RootDir"; ValueData: {app}; Components: "IDE\Delphi7"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|7}\Jedi\JCL"; ValueType: string; ValueName: "Version"; ValueData: {#JclVersionStr}; Components: "IDE\Delphi7"; Flags: uninsdeletevalue
+#endif
+#ifdef Include_Delphi9
+; Delphi 2005
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|9}\Jedi\JCL"; ValueType: string; ValueName: "BplDir"; ValueData: {code:GetDelphiBplDir|9}; Components: "IDE\Delphi9"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|9}\Jedi\JCL"; ValueType: string; ValueName: "DcpDir"; ValueData: {app}\lib\d9; Components: "IDE\Delphi9"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|9}\Jedi\JCL"; ValueType: string; ValueName: "RootDir"; ValueData: {app}; Components: "IDE\Delphi9"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|9}\Jedi\JCL"; ValueType: string; ValueName: "Version"; ValueData: {#JclVersionStr}; Components: "IDE\Delphi9"; Flags: uninsdeletevalue
+#endif
+#ifdef Include_Delphi10
+; Delphi 2006
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|10}\Jedi\JCL"; ValueType: string; ValueName: "BplDir"; ValueData: {code:GetDelphiBplDir|10}; Components: "IDE\Delphi10"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|10}\Jedi\JCL"; ValueType: string; ValueName: "DcpDir"; ValueData: {app}\lib\d10; Components: "IDE\Delphi10"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|10}\Jedi\JCL"; ValueType: string; ValueName: "RootDir"; ValueData: {app}; Components: "IDE\Delphi10"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|10}\Jedi\JCL"; ValueType: string; ValueName: "Version"; ValueData: {#JclVersionStr}; Components: "IDE\Delphi10"; Flags: uninsdeletevalue
+#endif
+#ifdef Include_Delphi11
+; Delphi 2007
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|11}\Jedi\JCL"; ValueType: string; ValueName: "BplDir"; ValueData: {code:GetDelphiBplDir|11}; Components: "IDE\Delphi11"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|11}\Jedi\JCL"; ValueType: string; ValueName: "DcpDir"; ValueData: {app}\lib\d11; Components: "IDE\Delphi11"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|11}\Jedi\JCL"; ValueType: string; ValueName: "RootDir"; ValueData: {app}; Components: "IDE\Delphi11"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|11}\Jedi\JCL"; ValueType: string; ValueName: "Version"; ValueData: {#JclVersionStr}; Components: "IDE\Delphi11"; Flags: uninsdeletevalue
+#endif
+#endif
+
+
+
+[UninstallDelete]
+Type: files; Name: "{app}\bin\JediInstaller.exe"
+Type: files; Name: "{app}\bin\JCL-install.ini"
+Type: files; Name: "{app}\bin\*.log"
+Type: files; Name: "{app}\source\*.hpp"
+Type: files; Name: "{app}\source\common\*.hpp"
+Type: files; Name: "{app}\source\vcl\*.hpp"
+Type: files; Name: "{app}\source\windows\*.hpp"
+; lib\C++Builder 5
+Type: files; Name: "{app}\lib\c5\*"
+Type: files; Name: "{app}\lib\c5\debug\*"
+Type: files; Name: "{code:GetBCBBplDir|5}\Jcl*.*"
+Type: files; Name: "{code:GetBCBDir|5}\Include\Vcl\Jcl*.hpp"
+; lib\C++Builder 6
+Type: files; Name: "{app}\lib\c6\*"
+Type: files; Name: "{code:GetBCBBplDir|6}\Jcl*.*"
+Type: files; Name: "{code:GetBCBDir|6}\Include\Vcl\Jcl*.hpp"
+; lib\Delphi 5
+Type: files; Name: "{app}\lib\d5\*"
+Type: files; Name: "{app}\lib\d5\debug\*"
+Type: files; Name: "{code:GetDelphiBplDir|5}\Jcl*.*"
+; lib\Delphi 6
+Type: files; Name: "{app}\lib\d6\*"
+Type: files; Name: "{app}\lib\d6\debug\*"
+Type: files; Name: "{code:GetDelphiBplDir|6}\Jcl*.*"
+; lib\Delphi 7
+Type: files; Name: "{app}\lib\d7\*"
+Type: files; Name: "{app}\lib\d7\debug\*"
+Type: files; Name: "{code:GetDelphiBplDir|7}\Jcl*.*"
+; lib\Delphi 2005
+Type: files; Name: "{app}\lib\d9\*"
+Type: files; Name: "{app}\lib\d9\debug\*"
+Type: files; Name: "{code:GetDelphiBplDir|9}\Jcl*.*"
+; lib\Delphi/C++Builder 2006
+Type: files; Name: "{app}\lib\d10\*"
+Type: files; Name: "{app}\lib\d10\debug\*"
+Type: files; Name: "{code:GetDelphiBplDir|10}\Jcl*.*"
+Type: files; Name: "{code:GetDelphiDir|10}\Include\Vcl\Jcl*.hpp"
+; lib\Delphi/C++Builder 2007
+Type: files; Name: "{app}\lib\d11\*"
+Type: files; Name: "{app}\lib\d11\debug\*"
+Type: files; Name: "{code:GetDelphiBplDir|11}\Jcl*.*"
+Type: files; Name: "{code:GetDelphiDir|11}\Include\Vcl\Jcl*.hpp"
+
+
+[Icons]
+Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
+Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
+
+; Downloading script
+//#ifdef Include_Binaries
+//#include "DownloadScript.iss"
+//#endif
+
+#include "ComponentInstallerScript.iss"
+
+[Code]
+// callbacks for the ComponentInstaller
+
+procedure UserRegisterComponents(Components: TStrings);
+begin
+end;
+
+procedure UserUnregisterComponents(Components: TStrings);
+// uninstall all JCL experts, not only the one that the user had selected
+// during the installation. The user could have started the JediInstaller
+// or have added additional designtime packages by hand.
+var
+ {IdeList: TStrings;
+ IdeIndex: Integer;
+ IdeKind: TIdeKind;}
+ Version: Integer;
+begin
+ // Uninstall from all IDEs ?
+ for Version := 5 to 11 do
+ UninstallExpertsPrefixed(ikDelphi, Version, 'Jcl');
+ for Version := 5 to 6 do
+ UninstallExpertsPrefixed(ikBCB, Version, 'Jcl');
+
+{ IdeList := TStringList.Create;
+ try
+ GetSelectedList(IdeList, 'IDE', Components);
+ // unregister per IDE
+ for IdeIndex := 0 to IdeList.Count - 1 do
+ begin
+ ExtractIdeInfo(IdeList[IdeIndex], IdeKind, Version);
+ UninstallExpertsPrefixed(IdeKind, Version, 'Jv');
+ end;
+ finally
+ IdeList.Free;
+ end;}
+end;
+
+function MapExpert(IdeKind: TIdeKind; Version: Integer; const ExpertName: string): string;
+begin
+ if StartsText('Jcl', ExpertName) then
+ begin
+ if Version < 9 then
+ begin
+ case IdeKind of
+ ikDelphi:
+ Result := GetDelphiBplDir(IntToStr(Version)) + '\' + ExpertName + 'DLLd' + IntToStr(Version) + '0.dll';
+ ikBCB:
+ Result := GetBCBBplDir(IntToStr(Version)) + '\' + ExpertName + 'DLLc' + IntToStr(Version) + '0.dll';
+ end;
+ end
+ else
+ Result := GetDelphiBplDir(IntToStr(Version)) + '\' + ExpertName + IntToStr(Version) + '0.bpl';
+ end;
+end;
+
+function MapDesignPackage(IdeKind: TIdeKind; Version: Integer; const PackageName: string): string;
+begin
+ Result := '';
+end;
+
+procedure GetSearchPaths(IdeKind: TIdeKind; Version: Integer; var SearchPaths, DebugPaths, BrowsePaths: string);
+var
+ LibDir, AppDir: string;
+begin
+ AppDir := ExpandConstant('{app}');
+ SearchPaths := '';
+ DebugPaths := '';
+ BrowsePaths := '';
+ case IdeKind of
+ ikDelphi:
+ LibDir := AppDir + '\lib\d' + IntToStr(Version);
+ ikBCB:
+ LibDir := AppDir + '\lib\c' + IntToStr(Version);
+ else
+ Exit;
+ end;
+
+ SearchPaths := LibDir + ';' + AppDir + '\source';
+ DebugPaths := LibDir + '\debug';
+ BrowsePaths := AppDir + '\source;' + AppDir + '\source\common;' + AppDir + '\source\vcl;' + AppDir + '\source\windows;';
+end;
+
+// events
+
+function InitializeSetup(): Boolean;
+begin
+ Result := InitComponentInstaller;
+end;
+
+procedure CurStepChanged(CurStep: TSetupStep);
+begin
+ if CurStep = ssPostInstall then
+ RegisterComponents;
+end;
+
+function InitializeUninstall(): Boolean;
+begin
+ Result := InitComponentUninstaller;
+end;
+
+procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
+begin
+ if CurUninstallStep = usUninstall then
+ UnregisterComponents;
+end;
+
+#ifdef Include_Binaries
+// Function generated by ISTool.
+function NextButtonClick(CurPage: Integer): Boolean;
+begin
+ //Result := istool_download(CurPage);
+ Result := True;
+end;
+#endif
+
+// Skin
+
+procedure CurPageChanged(CurPageID: Integer);
+begin
+// update calls for skin
+ UpdateButton(WizardForm.BackButton, bidBack);
+ UpdateButton(WizardForm.NextButton, bidNext);
+ UpdateButton(WizardForm.CancelButton, bidCancel);
+end;
+
+procedure InitializeWizard();
+begin
+// initialize call for skin
+ InitializeSkin;
+end;
+
Added: trunk/thirdparty/InnoSetup/Skin/images/button.bmp
===================================================================
(Binary files differ)
Property changes on: trunk/thirdparty/InnoSetup/Skin/images/button.bmp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/thirdparty/InnoSetup/Skin/images/wizard.bmp
===================================================================
(Binary files differ)
Property changes on: trunk/thirdparty/InnoSetup/Skin/images/wizard.bmp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/thirdparty/InnoSetup/Skin/images/wizardbottom.bmp
===================================================================
(Binary files differ)
Property changes on: trunk/thirdparty/InnoSetup/Skin/images/wizardbottom.bmp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/thirdparty/InnoSetup/Skin/images/wizardsmall.bmp
===================================================================
(Binary files differ)
Property changes on: trunk/thirdparty/InnoSetup/Skin/images/wizardsmall.bmp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/thirdparty/InnoSetup/Skin/isxskin.iss
===================================================================
--- trunk/thirdparty/InnoSetup/Skin/isxskin.iss (rev 0)
+++ trunk/thirdparty/InnoSetup/Skin/isxskin.iss 2007-08-13 18:32:24 UTC (rev 2131)
@@ -0,0 +1,621 @@
+[Files]
+Source: {#MyWizardButtonImageFile}; DestDir: {tmp}; Flags: dontcopy
+Source: {#MyWizardBottomImageFile}; DestDir: {tmp}; Flags: dontcopy
+
+[Code]
+const
+ MAINPANELCOLOR = $663300;
+ PAGECOLOR = $ab663d;
+ BUTTONPANELCOLOR = $603A2B;
+ BUTTONWIDTH = 100;
+ BUTTONHEIGHT = 27;
+
+ bidBack = 0;
+ bidNext = 1;
+ bidCancel = 2;
+ bidDirBrowse = 3;
+ bidGroupBrowse = 4;
+
+var
+ ButtonPanels: array [0..4] of TPanel;
+ ButtonImages: array [0..4] of TBitmapImage;
+ ButtonLabels: array [0..4] of TLabel;
+
+procedure UpdateButton(AButton: TButton;AButtonIndex: integer);
+begin
+ ButtonLabels[AButtonIndex].Caption:=AButton.Caption;
+ ButtonPanels[AButtonIndex].visible:=AButton.Visible;
+ ButtonLabels[AButtonIndex].Enabled:=Abutton.Enabled;
+end;
+
+procedure ButtonLabelClick(Sender: TObject);
+var
+ button: TButton;
+begin
+ ButtonImages[TLabel(Sender).Tag].Left:=0;
+ if not ButtonLabels[TLabel(Sender).Tag].Enabled then Exit;
+ case TLabel(Sender).Tag of
+ bidBack: button:=WizardForm.BackButton;
+ bidNext: button:=WizardForm.NextButton;
+ bidCancel: button:=WizardForm.CancelButton;
+ bidDirBrowse: button:=WizardForm.DirBrowseButton;
+ bidGroupBrowse: button:=WizardForm.GroupBrowseButton;
+ else
+ Exit;
+ end;
+ button.OnClick(button);
+end;
+
+procedure ButtonLabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
+begin
+ if (Button=mbLeft) and (ButtonLabels[TLabel(Sender).Tag].Enabled) then
+ ButtonImages[TLabel(Sender).Tag].Left:=-BUTTONWIDTH;
+end;
+
+procedure ButtonLabelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
+begin
+ ButtonImages[TLabel(Sender).Tag].Left:=0;
+end;
+
+procedure LoadButtonImage(AButton: TButton; AButtonIndex: integer);
+var
+ image: TBitmapImage;
+ panel: TPanel;
+ labl: TLabel;
+ FileName: String;
+
+begin
+ panel:=TPanel.Create(WizardForm);
+ with panel do begin
+ Parent:=AButton.Parent;
+ Color:=BUTTONPANELCOLOR;
+ Tag:=AButtonIndex;
+ Left:=AButton.Left;
+ Top:=AButton.Top;
+ Width:=AButton.Width;
+ Height:=AButton.Height;
+ end;
+ ButtonPanels[AButtonIndex]:=panel;
+
+ image:=TBitmapImage.Create(WizardForm);
+ FileName:=ExtractFileName('{#MyWizardButtonImageFile}');
+ with image do begin
+ Height:=BUTTONHEIGHT;
+ Width:=BUTTONWIDTH*2;
+ Bitmap.LoadFromFile(ExpandConstant('{tmp}\')+FileName);
+ Parent:=panel;
+ Enabled:=false;
+ end;
+ ButtonImages[AButtonIndex]:=image;
+
+ with TLabel.Create(WizardForm) do begin
+ Tag:=AButtonIndex;
+ Parent:=panel;
+ Width:=panel.Width;
+ Height:=panel.Height;
+ transparent:=true;
+ OnClick:=@ButtonLabelClick;
+ OnDblClick:=@ButtonLabelClick;
+ OnMouseDown:=@ButtonLabelMouseDown;
+ OnMouseUp:=@ButtonLabelMouseUp;
+ end;
+
+ labl:=TLabel.Create(WizardForm);
+ with labl do begin
+ Tag:=AButtonIndex;
+ Alignment:=taCenter;
+ Transparent:=true;
+ AutoSize:=false;
+ Top:=(BUTTONHEIGHT div 4);
+ Left:=0;
+ Width:=panel.ClientWidth;
+ Parent:=panel;
+ Font.Color:=clWhite;
+ Caption:=AButton.Caption;
+ OnClick:=@ButtonLabelClick;
+ OnDblClick:=@ButtonLabelClick;
+ OnMouseDown:=@ButtonLabelMouseDown;
+ OnMouseUp:=@ButtonLabelMouseUp;
+ end;
+ ButtonLabels[AButtonIndex]:=labl;
+end;
+
+procedure LicenceAcceptedRadioOnClick(Sender: TObject);
+begin
+ ButtonLabels[bidNext].Enabled:=true;
+end;
+
+procedure LicenceNotAcceptedRadioOnClick(Sender: TObject);
+begin
+ ButtonLabels[bidNext].Enabled:=false;
+end;
+
+
+procedure InitializeSkin;
+var
+ image : TBitmapImage;
+ TypesComboItemIndex: integer;
+ FileName: String;
+
+begin
+ with WizardForm do
+ with OuterNotebook do
+ with InnerPage do
+ with InnerNotebook do
+ with SelectComponentsPage do
+ TypesComboItemIndex:=TypesCombo.ItemIndex;
+
+
+ WizardForm.Bevel.Hide;
+ WizardForm.Bevel1.Hide;
+ WizardForm.SelectDirBitmapImage.Hide;
+ WizardForm.SelectGroupBitmapImage.Hide;
+
+ image:=TBitmapImage.Create(WizardForm);
+ image.Top:=451;
+ image.Width:=690;
+ image.Height:=45;
+
+ FileName:=ExtractFileName('{#MyWizardBottomImageFile}');
+ ExtractTemporaryFile(FileName);
+ image.Bitmap.LoadFromFile(ExpandConstant('{tmp}\')+FileName);
+ image.Parent:=WizardForm;
+ image.SendToBack;
+
+
+with WizardForm do begin
+ Position:=poScreenCenter;
+ ClientWidth:=690
+ ClientHeight:=496
+ Font.Color:=$ffffff
+ Font.Name:='MS Sans Serif'
+ Font.Style:=[]
+ with CancelButton do begin
+ Left:=555
+ Top:=460
+ Width:=BUTTONWIDTH;
+ Height:=BUTTONHEIGHT;
+ end
+ with NextButton do begin
+ Left:=371
+ Top:=460
+ Width:=BUTTONWIDTH;
+ Height:=BUTTONHEIGHT;
+ end
+ with BackButton do begin
+ Left:=266
+ Top:=460
+ Width:=BUTTONWIDTH;
+ Height:=BUTTONHEIGHT;
+ end
+
+ with OuterNotebook do begin
+ Left:=190
+ Top:=59
+ Width:=500
+ Height:=392
+ with WelcomePage do begin
+ Color:=PAGECOLOR;
+ with WizardBitmapImage do begin
+ Parent:=WizardForm
+ Left:=0
+ Top:=60
+ Width:=190
+ Height:=391
+ end
+ with WelcomeLabel2 do begin
+ Left:=35
+ Top:=171
+ Width:=465
+ Height:=200
+ end
+ with WelcomeLabel1 do begin
+ Left:=35
+ Top:=131
+ Width:=465
+ Height:=28
+ Font.Size:=8
+ Font.Color:=$ffffff
+ end
+ end
+ with InnerPage do begin
+ with InnerNotebook do begin
+ Left:=20
+ Top:=20
+ Width:=465
+ Height:=354
+ Color:=PAGECOLOR;
+ with LicensePage do begin
+ with LicenseNotAcceptedRadio do begin
+ Left:=0
+ Top:=338
+ Width:=17
+ Height:=17
+ OnClick:=@LicenceNotAcceptedRadioOnClick;
+ end
+ with LicenseAcceptedRadio do begin
+ Left:=0
+ Top:=318
+ Width:=17
+ Height:=17
+ OnClick:=@LicenceAcceptedRadioOnClick;
+ end
+ with LicenseMemo do begin
+ Left:=0
+ Top:=38
+ Width:=465
+ Height:=266
+ end
+ with LicenseLabel1 do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=28
+ end
+ end
+ with PasswordPage do begin
+ with PasswordEdit do begin
+ Left:=0
+ Top:=50
+ Width:=465
+ Height:=21
+ Color:=$ffffff
+ Font.Color:=$000000
+ end
+ with PasswordEditLabel do begin
+ Left:=0
+ Top:=34
+ Width:=465
+ Height:=14
+ end
+ with PasswordLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=28
+ end
+ end
+ with InfoBeforePage do begin
+ with InfoBeforeMemo do begin
+ Left:=0
+ Top:=24
+ Width:=465
+ Height:=327
+ end
+ with InfoBeforeClickLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=14
+ end
+ end
+ with UserInfoPage do begin
+ with UserInfoSerialEdit do begin
+ Left:=0
+ Top:=120
+ Width:=465
+ Height:=21
+ Color:=$ffffff
+ Font.Color:=$000000
+ end
+ with UserInfoSerialLabel do begin
+ Left:=0
+ Top:=104
+ Width:=465
+ Height:=14
+ end
+ with UserInfoOrgEdit do begin
+ Left:=0
+ Top:=68
+ Width:=465
+ Height:=21
+ Color:=$ffffff
+ Font.Color:=$000000
+ end
+ with UserInfoOrgLabel do begin
+ Left:=0
+ Top:=52
+ Width:=465
+ Height:=14
+ end
+ with UserInfoNameEdit do begin
+ Left:=0
+ Top:=16
+ Width:=465
+ Height:=21
+ Color:=$ffffff
+ Font.Color:=$000000
+ end
+ with UserInfoNameLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=14
+ end
+ end
+ with SelectDirPage do begin
+ with DiskSpaceLabel do begin
+ Left:=0
+ Top:=340
+ Width:=465
+ Height:=14
+ end
+ with DirBrowseButton do begin
+ Left:=368
+ Top:=288
+ Width:=BUTTONWIDTH;
+ Height:=BUTTONHEIGHT;
+ end
+ with DirEdit do begin
+ Left:=0
+ Top:=290
+ Width:=350
+ Height:=21
+ Color:=$ffffff
+ Font.Color:=$000000
+ end
+ with SelectDirBrowseLabel do begin
+ Left:=0
+ Top:=24
+ Width:=465
+ Height:=28
+ end
+ with SelectDirLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=14
+ end
+ end
+ with SelectComponentsPage do begin
+ with ComponentsDiskSpaceLabel do begin
+ Left:=0
+ Top:=340
+ Width:=417
+ Height:=14
+ end
+ with ComponentsList do begin
+ Left:=0
+ Top:=62
+ Width:=465
+ Height:=261
+ Color:=$ffffff
+ Font.Color:=$000000
+ end
+ with TypesCombo do begin
+ Left:=0
+ Top:=38
+ Width:=465
+ Height:=21
+ Color:=$ffffff
+ Font.Color:=$000000
+ ItemIndex:=TypesComboItemIndex;
+ end
+ with SelectComponentsLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=28
+ end
+ end
+ with SelectProgramGroupPage do begin
+ with NoIconsCheck do begin
+ Left:=0
+ Top:=337
+ Width:=17
+ Height:=17
+ Visible:=True
+ end
+ with GroupBrowseButton do begin
+ Left:=368
+ Top:=288
+ Width:=BUTTONWIDTH;
+ Height:=BUTTONHEIGHT;
+ end
+ with GroupEdit do begin
+ Left:=0
+ Top:=290
+ Width:=350
+ Height:=21
+ Color:=$ffffff
+ Font.Color:=$000000
+ end
+ with SelectStartMenuFolderBrowseLabel do begin
+ Left:=0
+ Top:=24
+ Width:=465
+ Height:=28
+ end
+ with SelectStartMenuFolderLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=14
+ end
+ end
+ with SelectTasksPage do begin
+ with TasksList do begin
+ Left:=0
+ Top:=34
+ Width:=465
+ Height:=317
+ Color:=PAGECOLOR;
+ end
+ with SelectTasksLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=28
+ end
+ end
+ with ReadyPage do begin
+ with ReadyMemo do begin
+ Left:=0
+ Top:=34
+ Width:=465
+ Height:=317
+ Color:=PAGECOLOR;
+ //Color:=$ffffff
+ //Font.Color:=$000000
+ end
+ with ReadyLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=28
+ end
+ end
+ with InstallingPage do begin
+ with FilenameLabel do begin
+ Left:=0+10
+ Top:=16+10
+ Width:=465
+ Height:=16
+ end
+ with StatusLabel do begin
+ Left:=0+10
+ Top:=0+10
+ Width:=465
+ Height:=16
+ end
+ with ProgressGauge do begin
+ Left:=0+10
+ Top:=42+10
+ Width:=465
+ Height:=21
+ end
+ end
+ with InfoAfterPage do begin
+ with InfoAfterMemo do begin
+ Left:=0
+ Top:=24
+ Width:=465
+ Height:=327
+ end
+ with InfoAfterClickLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=14
+ end
+ end
+ end
+ with MainPanel do begin
+ Parent:=WizardForm;
+ color:=MAINPANELCOLOR;
+ Left:=0
+ Top:=0
+ Width:=690
+ Height:=60
+ with WizardSmallBitmapImage do begin
+ Left:=0
+ Top:=58
+ Width:=690
+ Height:=2
+ end
+ with PageDescriptionLabel do begin
+ Left:=25
+ Top:=25
+ Width:=500
+ Height:=14
+ Color:=MAINPANELCOLOR;
+ Font.Color:=$ffffff
+ end
+ with PageNameLabel do begin
+ Left:=15
+ Top:=7
+ Width:=500
+ Height:=14
+ Color:=MAINPANELCOLOR;
+ Font.Color:=$ffffff
+ end
+ end
+ end;
+ with FinishedPage do begin
+ Color:=PAGECOLOR;
+ WizardBitmapImage2.hide;
+ with NoRadio do begin
+ Left:=35
+ Top:=168
+ Width:=465
+ Height:=17
+ end
+ with YesRadio do begin
+ Left:=35
+ Top:=140
+ Width:=465
+ Height:=17
+ end
+ with RunList do begin
+ Left:=35
+ Top:=140
+ Width:=465
+ Height:=149
+ end
+ with FinishedLabel do begin
+ Left:=35
+ Top:=60
+ Width:=465
+ Height:=53
+ end
+ with FinishedHeadingLabel do begin
+ Left:=35
+ Top:=20
+ Width:=465
+ Height:=24
+ Font.Size:=8
+ Font.Color:=$ffffff
+ end
+ end;
+ end;
+end;
+
+with TLabel.Create(WizardForm) do begin
+ Left:=17
+ Top:=320
+ Width:=445
+ Height:=17
+ Color:=clWhite;
+ Transparent:=true;
+ Caption:=WizardForm.LicenseAcceptedRadio.Caption
+ Parent:=WizardForm.LicensePage
+end;
+with TLabel.Create(WizardForm) do begin
+ Left:=17
+ Top:=320
+ Width:=445
+ Height:=17
+ Color:=clWhite;
+ Transparent:=true;
+ Caption:=WizardForm.LicenseAcceptedRadio.Caption
+ Parent:=WizardForm.LicensePage
+end;
+with TLabel.Create(WizardForm) do begin
+ Left:=17
+ Top:=340
+ Width:=445
+ Height:=17
+ Color:=clWhite;
+ Transparent:=true;
+ Caption:=WizardForm.LicenseNotAcceptedRadio.Caption
+ Parent:=WizardForm.LicensePage
+end
+with TLabel.Create(WizardForm) do begin
+ Left:=17
+ Top:=340
+ Width:=445
+ Height:=17
+ Color:=clWhite;
+ Transparent:=true;
+ Caption:=WizardForm.NoIconsCheck.Caption
+ Parent:=WizardForm.SelectProgramGroupPage
+end
+
+ ExtractTemporaryFile(ExtractFileName('{#MyWizardButtonImageFile}'));
+
+ LoadButtonImage(WizardForm.BackButton,bidBack);
+ LoadButtonImage(WizardForm.NextButton,bidNext);
+ LoadButtonImage(WizardForm.CancelButton,bidCancel);
+ LoadButtonImage(WizardForm.DirBrowseButton,bidDirBrowse);
+ LoadButtonImage(...
[truncated message content] |
|
From: <ah...@us...> - 2007-08-13 18:23:21
|
Revision: 2130
http://jcl.svn.sourceforge.net/jcl/?rev=2130&view=rev
Author: ahuser
Date: 2007-08-13 11:23:20 -0700 (Mon, 13 Aug 2007)
Log Message:
-----------
Removed from destribution location
Removed Paths:
-------------
trunk/jcl/install/ISS/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2007-08-13 18:15:43
|
Revision: 2129
http://jcl.svn.sourceforge.net/jcl/?rev=2129&view=rev
Author: ahuser
Date: 2007-08-13 11:15:41 -0700 (Mon, 13 Aug 2007)
Log Message:
-----------
Inno Setup - binary distribution
Added Paths:
-----------
trunk/jcl/install/ISS/
trunk/jcl/install/ISS/CompInstall.dll
trunk/jcl/install/ISS/ComponentInstallerScript.iss
trunk/jcl/install/ISS/DownloadScript.iss
trunk/jcl/install/ISS/IdeComponents.iss
trunk/jcl/install/ISS/Install.iss
trunk/jcl/install/ISS/Skin/
trunk/jcl/install/ISS/Skin/images/
trunk/jcl/install/ISS/Skin/images/button.bmp
trunk/jcl/install/ISS/Skin/images/wizard.bmp
trunk/jcl/install/ISS/Skin/images/wizardbottom.bmp
trunk/jcl/install/ISS/Skin/images/wizardsmall.bmp
trunk/jcl/install/ISS/Skin/isxskin.iss
Added: trunk/jcl/install/ISS/CompInstall.dll
===================================================================
(Binary files differ)
Property changes on: trunk/jcl/install/ISS/CompInstall.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jcl/install/ISS/ComponentInstallerScript.iss
===================================================================
--- trunk/jcl/install/ISS/ComponentInstallerScript.iss (rev 0)
+++ trunk/jcl/install/ISS/ComponentInstallerScript.iss 2007-08-13 18:15:41 UTC (rev 2129)
@@ -0,0 +1,442 @@
+[Files]
+Source: CompInstall.dll; DestDir: {app};
+
+[Code]
+type
+ TIdeKind = (ikUnknown, ikDelphi, ikBCB);
+
+function MapDesignPackage(IdeKind: TIdeKind; Version: Integer; const PackageName: string): string;
+ forward; // user defined mapping function that maps the component name @PackageName to a full qualified DesignPackage file name
+function MapExpert(IdeKind: TIdeKind; Version: Integer; const ExpertName: string): string;
+ forward; // user defined mapping function that maps the component name @PackageName to a full qualified IDE expert file name
+procedure GetSearchPaths(IdeKind: TIdeKind; Version: Integer; var SearchPaths, DebugPaths, BrowsePaths: string);
+ forward; // user defined function that returns a semicolon separated list of paths that the installer should add to the IDE paths
+procedure UserRegisterComponents(Components: TStrings);
+ forward; // user defined function that does additional component registration. In Components[] is the list of selected wizard components
+procedure UserUnregisterComponents(Components: TStrings);
+ forward; // user defined function that does additional component unregistration. In Components[] is the list of installed wizard components
+
+{----------------------------------------------------------}
+
+function GetDelphiDir(Version: string): string;
+begin
+ Result := GetEnv('DELPHI' + Version);
+ if Result = '' then
+ Result := ExpandConstant('{app}') + '\bpl\d' + Version;
+end;
+
+function GetBCBBplDir(Version: string): string;
+begin
+ Result := GetEnv('BCB' + Version + 'BPL');
+ if Result = '' then
+ Result := ExpandConstant('{app}') + '\bpl\c' + Version;
+end;
+
+function GetDelphiBplDir(Version: string): string;
+begin
+ Result := GetEnv('DELPHI' + Version + 'BPL');
+ if Result = '' then
+ Result := ExpandConstant('{app}') + '\bpl\d' + Version;
+end;
+
+function GetBCBDir(Version: string): string;
+begin
+ Result := GetEnv('BCB' + Version);
+ if Result = '' then
+ Result := ExpandConstant('{app}') + '\bpl\d' + Version;
+end;
+
+function GetDelphiRegKey(Version: string): string;
+begin
+ Result := GetEnv('DELPHI' + Version + 'RegKey');
+end;
+
+function GetBCBRegKey(Version: string): string;
+begin
+ Result := GetEnv('BCB' + Version + 'RegKey');
+end;
+
+{----------------------------------------------------------}
+
+function StartsText(const SubStr, S: string): Boolean;
+begin
+ Result := (Length(S) >= Length(SubStr)) and (CompareText(Copy(S, 1, Length(SubStr)), SubStr) = 0);
+end;
+
+function EndsText(const SubStr, S: string): Boolean;
+var
+ Len: Integer;
+begin
+ Len := Length(SubStr);
+ Result := (Length(S) >= Len) and (CompareText(Copy(S, Length(S) - Len + 1, Len), SubStr) = 0);
+end;
+
+procedure GetSelectedList(List: TStrings; Prefix: string; Components: TStrings);
+var
+ I, Len: Integer;
+begin
+ Prefix := Prefix + '\';
+ Len := Length(Prefix);
+ for I := 0 to Components.Count - 1 do
+ if StartsText(Prefix, Components[I]) then
+ List.Add(Copy(Components[I], Len + 1, Length(Components[I])));
+end;
+
+procedure ExtractIdeInfo(const IdeName: string; var Kind: TIdeKind; var Version: Integer);
+begin
+ Kind := ikUnknown;
+ Version := 0;
+ if StartsText('Delphi', IdeName) then
+ begin
+ Kind := ikDelphi;
+ Version := StrToInt(Copy(IdeName, 7, Length(IdeName)));
+ end
+ else if StartsText('BCB', IdeName) then
+ begin
+ Kind := ikBCB;
+ Version := StrToInt(Copy(IdeName, 4, Length(IdeName)));
+ end;
+end;
+
+// -------------------
+function compinst_init(): Integer;
+ external 'compinst_init@files:CompInstall.dll stdcall';
+function compinst_initUninstall(): Integer;
+ external 'compinst_init@{app}\CompInstall.dll stdcall uninstallonly';
+
+// install only
+function compinst_isDelphiInstalled(Version: Integer): Integer;
+ external 'compinst_isDelphiInstalled@files:CompInstall.dll stdcall';
+function compinst_isBCBInstalled(Version: Integer): Integer;
+ external 'compinst_isDelphiInstalled@files:CompInstall.dll stdcall';
+function compinst_isBDSInstalled(IDEVersion: Integer): Integer;
+ external 'compinst_isDelphiInstalled@files:CompInstall.dll stdcall';
+
+ // design package
+function compinst_installDelphiDesignPackage(Version: Integer; BplFilename, Description: PChar): Integer;
+ external 'compinst_installDelphiDesignPackage@files:CompInstall.dll stdcall';
+function compinst_installBCBDesignPackage(Version: Integer; BplFilename, Description: PChar): Integer;
+ external 'compinst_installBCBDesignPackage@files:CompInstall.dll stdcall';
+
+ // expert
+function compinst_installDelphiExpert(Version: Integer; Filename, Description: PChar): Integer;
+ external 'compinst_installDelphiExpert@files:CompInstall.dll stdcall';
+function compinst_installBCBExpert(Version: Integer; Filename, Description: PChar): Integer;
+ external 'compinst_installBCBExpert@files:CompInstall.dll stdcall';
+
+ // search path
+function compinst_addDelphiSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer;
+ external 'compinst_addDelphiSearchPaths@files:CompInstall.dll stdcall';
+function compinst_addBCBSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer;
+ external 'compinst_addBCBSearchPaths@files:CompInstall.dll stdcall';
+
+// uninstall only
+ // design package
+function compinst_uninstallDelphiDesignPackage(Version: Integer; BplFilename: PChar): Integer;
+ external 'compinst_uninstallDelphiDesignPackage@{app}\CompInstall.dll stdcall uninstallonly';
+function compinst_uninstallBCBDesignPackage(Version: Integer; BplFilename: PChar): Integer;
+ external 'compinst_uninstallBCBDesignPackage@{app}\CompInstall.dll stdcall uninstallonly';
+
+function compinst_uninstallDelphiDesignPackagesPrefixed(Version: Integer; BplFilenamePrefix: PChar): Integer;
+ external 'compinst_uninstallDelphiDesignPackagesPrefixed@{app}\CompInstall.dll stdcall uninstallonly';
+function compinst_uninstallBCBDesignPackagesPrefixed(Version: Integer; BplFilenamePrefix: PChar): Integer;
+ external 'compinst_uninstallBCBDesignPackagesPrefixed@{app}\CompInstall.dll stdcall uninstallonly';
+
+ // expert
+function compinst_uninstallDelphiExpert(Version: Integer; Filename: PChar): Integer;
+ external 'compinst_uninstallDelphiExpert@{app}\CompInstall.dll stdcall uninstallonly';
+function compinst_uninstallBCBExpert(Version: Integer; Filename: PChar): Integer;
+ external 'compinst_uninstallBCBExpert@{app}\CompInstall.dll stdcall uninstallonly';
+
+function compinst_uninstallDelphiExpertsPrefixed(Version: Integer; FilenamePrefix: PChar): Integer;
+ external 'compinst_uninstallDelphiExpertsPrefixed@{app}\CompInstall.dll stdcall uninstallonly';
+function compinst_uninstallBCBExpertsPrefixed(Version: Integer; FilenamePrefix: PChar): Integer;
+ external 'compinst_uninstallBCBExpertsPrefixed@{app}\CompInstall.dll stdcall uninstallonly';
+
+ // search path
+function compinst_removeDelphiSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer;
+ external 'compinst_removeDelphiSearchPaths@{app}\CompInstall.dll stdcall uninstallonly';
+function compinst_removeBCBSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer;
+ external 'compinst_removeBCBSearchPaths@{app}\CompInstall.dll stdcall uninstallonly';
+
+function IsDelphiInstalled(Version: Integer): Boolean;
+begin
+ Result := compinst_isDelphiInstalled(Version) <> 0;
+end;
+
+function IsBCBInstalled(Version: Integer): Boolean;
+begin
+ Result := compinst_isBCBInstalled(Version) <> 0;
+end;
+
+function IsSourceInstall: Boolean;
+var
+ List: TStrings;
+ I: Integer;
+begin
+ Result := False;
+ List := TStringList.Create;
+ try
+ List.CommaText := WizardSelectedComponents(False);
+ for I := 0 to List.Count - 1 do
+ if StartsText('IDE\', List[I]) then
+ Exit;
+ finally
+ List.Free;
+ end;
+ Result := True;
+end;
+
+// Design Packages
+procedure InstallDesignPackage(Kind: TIdeKind; Version: Integer; const BplFilename: string);
+begin
+ if not FileExists(BplFilename) then
+ Exit;
+ Log('Register designtime package: ' + BplFilename);
+ case Kind of
+ ikDelphi:
+ if compinst_installDelphiDesignPackage(Version, PChar(BplFilename), '') = 0 then
+ MsgBox('Failed to install designtime package ' + ExtractFileName(BplFilename), mbError, MB_OK);
+ ikBCB:
+ if compinst_installBCBDesignPackage(Version, PChar(BplFilename), '') = 0 then
+ MsgBox('Failed to install designtime package ' + ExtractFileName(BplFilename), mbError, MB_OK);
+ end;
+end;
+
+function UninstallDesignPackage(Kind: TIdeKind; Version: Integer; const BplFilename: string): Boolean;
+begin
+ Log('Unregister designtime package: ' + BplFilename);
+ Result := False;
+ case Kind of
+ ikDelphi:
+ Result := compinst_uninstallDelphiDesignPackage(Version, PChar(BplFilename)) <> 0;
+ ikBCB:
+ Result := compinst_uninstallBCBDesignPackage(Version, PChar(BplFilename)) <> 0;
+ end;
+end;
+
+function UninstallDesignPackagesPrefixed(Kind: TIdeKind; Version: Integer; const BplFilenamePrefix: string): Boolean;
+begin
+ Log('Unregister designtime packages that have the prefix: ' + BplFilenamePrefix);
+ Result := False;
+ case Kind of
+ ikDelphi:
+ Result := compinst_uninstallDelphiDesignPackagesPrefixed(Version, PChar(BplFilenamePrefix)) <> 0;
+ ikBCB:
+ Result := compinst_uninstallBCBDesignPackagesPrefixed(Version, PChar(BplFilenamePrefix)) <> 0;
+ end;
+end;
+
+// Experts
+procedure InstallExpert(Kind: TIdeKind; Version: Integer; const Filename, Description: string);
+begin
+ if not FileExists(Filename) then
+ Exit;
+ if EndsText('.bpl', Filename) then
+ InstallDesignPackage(Kind, Version, Filename)
+ else
+ begin
+ Log('Register IDE expert: ' + Filename);
+ case Kind of
+ ikDelphi:
+ if compinst_installDelphiExpert(Version, PChar(Filename), Description) = 0 then
+ MsgBox('Failed to install IDE expert ' + ExtractFileName(Filename), mbError, MB_OK);
+ ikBCB:
+ if compinst_installBCBExpert(Version, PChar(Filename), Description) = 0 then
+ MsgBox('Failed to install IDE expert ' + ExtractFileName(Filename), mbError, MB_OK);
+ end;
+ end;
+end;
+
+function UninstallExpert(Kind: TIdeKind; Version: Integer; const Filename: string): Boolean;
+begin
+ if EndsText('.bpl', Filename) then
+ UninstallDesignPackage(Kind, Version, Filename)
+ else
+ begin
+ Log('Unregister IDE expert: ' + Filename);
+ Result := False;
+ case Kind of
+ ikDelphi:
+ Result := compinst_uninstallDelphiExpert(Version, PChar(Filename)) <> 0;
+ ikBCB:
+ Result := compinst_uninstallBCBExpert(Version, PChar(Filename)) <> 0;
+ end;
+ end;
+end;
+
+function UninstallExpertsPrefixed(Kind: TIdeKind; Version: Integer; const FilenamePrefix: string): Boolean;
+begin
+ Log('Unregister IDE experts that have the prefix: ' + FilenamePrefix);
+ Result := False;
+ case Kind of
+ ikDelphi:
+ Result := compinst_uninstallDelphiExpertsPrefixed(Version, PChar(FilenamePrefix)) <> 0;
+ ikBCB:
+ Result := compinst_uninstallBCBExpertsPrefixed(Version, PChar(FilenamePrefix)) <> 0;
+ end;
+end;
+
+// Search Paths
+procedure ChangeIdeSearchPaths(Kind: TIdeKind; Version: Integer; Installing: Boolean);
+var
+ SearchPaths, DebugPaths, BrowsePaths: string;
+ Value: Integer;
+begin
+ GetSearchPaths(Kind, Version, SearchPaths, DebugPaths, BrowsePaths);
+ if Installing then
+ begin
+ Log('Adding search paths: ' + SearchPaths);
+ Log('Adding debug paths: ' + DebugPaths);
+ Log('Adding browsing paths: ' + BrowsePaths);
+ end
+ else
+ begin
+ Log('Removing search paths: ' + SearchPaths);
+ Log('Removing debug paths: ' + DebugPaths);
+ Log('Removing browsing paths: ' + BrowsePaths);
+ end;
+
+ case Kind of
+ ikDelphi:
+ if Installing then
+ Value := compinst_addDelphiSearchPaths(Version, PChar(SearchPaths), PChar(DebugPaths), PChar(BrowsePaths))
+ else
+ Value := compinst_removeDelphiSearchPaths(Version, PChar(SearchPaths), PChar(DebugPaths), PChar(BrowsePaths));
+ ikBCB:
+ if Installing then
+ Value := compinst_addBCBSearchPaths(Version, PChar(SearchPaths), PChar(DebugPaths), PChar(BrowsePaths))
+ else
+ Value := compinst_removeBCBSearchPaths(Version, PChar(SearchPaths), PChar(DebugPaths), PChar(BrowsePaths));
+ end;
+end;
+
+procedure ChangeComponentRegistration(Installing: Boolean; Components: TStrings);
+var
+ IdeList, PackageList, ExpertList: TStrings;
+ IdeIndex, Index: Integer;
+ DesignPackageName, ExpertName, Name: string;
+ IdeKind: TIdeKind;
+ Version: Integer;
+ ComponentsFilename: string;
+begin
+ // Register Packages into the IDEs
+ IdeList := nil;
+ PackageList := nil;
+ ExpertList := nil;
+ try
+ IdeList := TStringList.Create;
+ PackageList := TStringList.Create;
+ ExpertList := TStringList.Create;
+
+ ComponentsFilename := ExpandConstant('{app}\unins00c.dat');
+
+ if Installing then
+ Components.CommaText := WizardSelectedComponents(False)
+ else
+ if FileExists(ComponentsFilename) then
+ Components.LoadFromFile(ComponentsFilename);
+
+ GetSelectedList(IdeList, 'IDE', Components);
+ GetSelectedList(PackageList, 'Packages', Components);
+ GetSelectedList(ExpertList, 'Experts', Components);
+
+ // install per IDE
+ for IdeIndex := 0 to IdeList.Count - 1 do
+ begin
+ ExtractIdeInfo(IdeList[IdeIndex], IdeKind, Version);
+ // install per Package
+ for Index := 0 to PackageList.Count - 1 do
+ begin
+ Name := ExtractFileName(PackageList[Index]);
+ if Trim(Name) <> '' then
+ begin
+ DesignPackageName := MapDesignPackage(IdeKind, Version, Name);
+ if Trim(DesignPackageName) <> '' then
+ begin
+ if Installing then
+ InstallDesignPackage(IdeKind, Version, DesignPackageName)
+ else
+ UninstallDesignPackage(IdeKind, Version, DesignPackageName);
+ end;
+ end;
+ end;
+
+ // install per Expert
+ for Index := 0 to ExpertList.Count - 1 do
+ begin
+ Name := ExtractFileName(ExpertList[Index]);
+ if Trim(Name) <> '' then
+ begin
+ ExpertName := MapExpert(IdeKind, Version, Name);
+ if Trim(ExpertName) <> '' then
+ begin
+ if Installing then
+ InstallExpert(IdeKind, Version, ExpertName, Name)
+ else
+ UninstallExpert(IdeKind, Version, ExpertName);
+ end;
+ end;
+ end;
+
+ ChangeIdeSearchPaths(IdeKind, Version, Installing);
+ end;
+ if Installing then
+ Components.SaveToFile(ComponentsFilename)
+ else
+ DeleteFile(ComponentsFilename);
+ finally
+ IdeList.Free;
+ PackageList.Free;
+ end;
+end;
+
+function InitComponentInstaller(): Boolean;
+var
+ Version: Integer;
+begin
+ compinst_init; // sets the "DELPHIx[|BPL|DCP|RegKey]" and "BCBx[|BPL|DCP|RegKey] environment variables
+
+ // Check if there is any Delphi IDE installed
+ Result := False;
+ for Version := 5 to 11 do
+ if IsDelphiInstalled(Version) then
+ Result := True;
+
+ if not Result then
+ MsgBox('No Delphi IDE is installed. Installation aborted.', mbError, MB_OK);
+end;
+
+function InitComponentUninstaller(): Boolean;
+begin
+ compinst_initUninstall; // sets the "DELPHIx[|BPL|DCP|RegKey]" and "BCBx[|BPL|DCP|RegKey] environment variables
+ Result := True;
+end;
+
+procedure RegisterComponents();
+var
+ Components: TStrings;
+begin
+ Components := TStringList.Create;
+ try
+ ChangeComponentRegistration(True, Components);
+ UserRegisterComponents(Components);
+ finally
+ Components.Free;
+ end;
+end;
+
+procedure UnregisterComponents();
+var
+ Components: TStrings;
+begin
+ Components := TStringList.Create;
+ try
+ ChangeComponentRegistration(False, Components);
+ UserUnregisterComponents(Components);
+ finally
+ Components.Free;
+ UnloadDLL(ExpandConstant('{app}\CompInstall.dll')); // make the file deletable
+ end;
+end;
+
Added: trunk/jcl/install/ISS/DownloadScript.iss
===================================================================
--- trunk/jcl/install/ISS/DownloadScript.iss (rev 0)
+++ trunk/jcl/install/ISS/DownloadScript.iss 2007-08-13 18:15:41 UTC (rev 2129)
@@ -0,0 +1,71 @@
+[Files]
+Source: {#DownloadDllDir}\isxdl.dll; DestDir: {tmp}; Flags: dontcopy
+
+[Code]
+procedure istool_AddFile(URL, Filename: PChar);
+ external 'isxdl_AddFile@files:isxdl.dll stdcall';
+function istool_DownloadFiles(hWnd: Integer): Integer;
+ external 'isxdl_DownloadFiles@files:isxdl.dll stdcall';
+procedure istool_ClearFiles;
+ external 'isxdl_ClearFiles@files:isxdl.dll stdcall';
+
+type
+ ISXDL = record
+ Source: string;
+ DestDir: string;
+ DestName: string;
+ Tasks: string;
+ Components: string;
+ Languages: string;
+ Flags: Cardinal;
+ end;
+
+var
+ istool_files: array of ISXDL;
+
+procedure istool_download_init();
+begin
+ SetArrayLength(istool_files, 1);
+ // Delphi 5
+ istool_files[0].Source := 'http://jvcl.sourceforge.net/daily/JVCL3-Latest.zip';
+ istool_files[0].DestDir := ExpandConstant('{tmp}');
+ istool_files[0].DestName := 'JVCL3-Latest.zip';
+ istool_files[0].Tasks := '';
+ istool_files[0].Components := 'IDE\Delphi5';
+ istool_files[0].Languages := '';
+ istool_files[0].Flags := 0;
+end;
+
+function istool_checklanguages(const Languages: String): Boolean;
+begin
+ Result := (Languages = '') or (Pos(ActiveLanguage, Languages) > 0);
+end;
+
+function istool_download(CurPage: Integer): boolean;
+var
+ i, NumFiles: Integer;
+ DestFile, DestDir: string;
+begin
+ Result := True;
+ if CurPage <> wpReady then
+ Exit;
+ istool_ClearFiles();
+ istool_download_init();
+ NumFiles := GetArrayLength(istool_files);
+ for i := 0 to NumFiles - 1 do
+ begin
+ if IsComponentSelected(istool_files[i].Components) and
+ IsTaskSelected(istool_files[i].Tasks) and
+ istool_checklanguages(istool_files[i].Languages) then
+ begin
+ DestDir := AddBackslash(istool_files[i].DestDir);
+ if istool_files[i].DestName = '' then
+ DestFile := DestDir + 'dlfile.' + IntToStr(i)
+ else
+ DestFile := DestDir + istool_files[i].DestName;
+ istool_AddFile(istool_files[i].Source, DestFile);
+ end;
+ end;
+ //Result := 0 <> istool_DownloadFiles(StrToInt(ExpandConstant('{wizardhwnd}')));
+ Result := 0 <> istool_DownloadFiles(0);
+end;
Added: trunk/jcl/install/ISS/IdeComponents.iss
===================================================================
--- trunk/jcl/install/ISS/IdeComponents.iss (rev 0)
+++ trunk/jcl/install/ISS/IdeComponents.iss 2007-08-13 18:15:41 UTC (rev 2129)
@@ -0,0 +1,28 @@
+[Components]
+; IDE selection
+Name: "IDE"; Description: "Install for IDE"
+#ifdef Include_Delphi5
+Name: "IDE\Delphi5"; Description: "Install for Delphi 5"; Types: full prefered; Check: IsDelphiInstalled(5)
+#endif
+#ifdef Include_BCB5
+Name: "IDE\BCB5"; Description: "Install for C++Builder 5"; Types: full prefered; Check: IsBCBInstalled(5)
+#endif
+#ifdef Include_Delphi6
+Name: "IDE\Delphi6"; Description: "Install for Delphi 6"; Types: full prefered; Check: IsDelphiInstalled(6)
+#endif
+#ifdef Include_BCB6
+Name: "IDE\BCB6"; Description: "Install for C++Builder 6"; Types: full prefered; Check: IsBCBInstalled(6)
+#endif
+#ifdef Include_Delphi7
+Name: "IDE\Delphi7"; Description: "Install for Delphi 7"; Types: full prefered; Check: IsDelphiInstalled(7)
+#endif
+#ifdef Include_Delphi9
+Name: "IDE\Delphi9"; Description: "Install for Delphi 2005"; Types: full prefered; Check: IsDelphiInstalled(9)
+#endif
+#ifdef Include_Delphi10
+Name: "IDE\Delphi10"; Description: "Install for Delphi/C++Builder 2006"; Types: full prefered; Check: IsDelphiInstalled(10)
+#endif
+#ifdef Include_Delphi11
+Name: "IDE\Delphi11"; Description: "Install for RAD Studio 2007"; Types: full prefered; Check: IsDelphiInstalled(11)
+#endif
+
Added: trunk/jcl/install/ISS/Install.iss
===================================================================
--- trunk/jcl/install/ISS/Install.iss (rev 0)
+++ trunk/jcl/install/ISS/Install.iss 2007-08-13 18:15:41 UTC (rev 2129)
@@ -0,0 +1,445 @@
+; Script created by Andreas Hausladen (And...@gm...) for the JCL
+;
+; CONDITIONAL COMPILATION
+; Include_Binaries Create an installer that can install a precompiled JCL
+; Include_Examples Add the Examples directory to the installer (user can then select the component)
+; DEBUGGING Development. Will only use Delphi 5 BPLs as files with a fast compression (script debugging)
+; Include_DelphiX Include the binaries for Delphi X (X in 5..11)
+; Include_BCBX Include the binaries for C++Builder X (X in 5..6)
+
+#define JclVersionStr "1.101.0.2647"
+#define MyAppName "Jedi Code Library"
+#define MyAppVerName "Jedi Code Library " + JclVersionStr
+#define MyAppPublisher "JCL Team"
+#define MyAppURL "http://jcl.sourceforge.net/"
+
+#define Include_Binaries
+#define Include_Examples
+;#define DEBUGGING
+
+#ifdef DEBUGGING
+ #define Include_SingleIDE
+ #define Include_Delphi5
+ #undef Include_Examples
+#endif
+
+
+#ifdef Include_Binaries
+ #ifndef Include_SingleIDE
+; #define Include_BCB5
+ #define Include_Delphi5
+; #define Include_BCB6
+ #define Include_Delphi6
+ #define Include_Delphi7
+ #define Include_Delphi9
+ #define Include_Delphi10
+ #define Include_Delphi11
+ #endif
+#endif
+
+
+;---------------------------------------------------
+
+; Hard coded directories
+#define JclRoot "Z:\JEDI\JCL"
+#define DownloadDllDir "C:\Programme\ISTool"
+#define BorlandRoot = "C:\Borland"
+#define CodeGearRoot = "C:\CodeGear"
+#define BorlandSudioProjects "C:\Dokumente und Einstellungen\Andreas\Eigene Dateien\Borland Studio-Projekte"
+#define CommonDocs "C:\Dokumente und Einstellungen\All Users\Dokumente"
+
+#define Delphi5Root BorlandRoot + "\Delphi5"
+#define Delphi5Bpl Delphi5Root + "\Projects\Bpl"
+#define Delphi5Dcp Delphi5Bpl
+#define BCB5Root BorlandRoot + "\CBuilder5"
+#define BCB5Bpl BCB5Root + "\Projects\Bpl"
+#define BCB5Dcp BCB5Bpl
+#define Delphi6Root BorlandRoot + "\Delphi6"
+#define Delphi6Bpl Delphi6Root + "\Projects\Bpl"
+#define Delphi6Dcp Delphi6Bpl
+#define BCB6Root BorlandRoot + "\CBuilder6"
+#define BCB6Bpl BCB6Root + "\Projects\Bpl"
+#define BCB6Dcp BCB6Bpl
+#define Delphi7Root BorlandRoot + "\Delphi7"
+#define Delphi7Bpl Delphi7Root + "\Projects\Bpl"
+#define Delphi7Dcp Delphi7Bpl
+#define Delphi9Root BorlandRoot + "\BDS\3.0"
+#define Delphi9Bpl BorlandSudioProjects + "\Bpl"
+#define Delphi10Root BorlandRoot + "\BDS\4.0"
+#define Delphi10Bpl BorlandSudioProjects + "\Bpl"
+#define Delphi11Root CodeGearRoot + "\RAD Studio\5.0"
+#define Delphi11Bpl CommonDocs + "\RAD Studio\5.0\Bpl"
+
+
+[Setup]
+AppName={#MyAppName}
+AppVerName={#MyAppVerName}
+AppVersion={#JclVersionStr}
+AppPublisher={#MyAppPublisher}
+AppPublisherURL={#MyAppURL}
+AppSupportURL={#MyAppURL}
+AppUpdatesURL={#MyAppURL}
+DefaultDirName=C:\DelphiComponents\JCL
+DefaultGroupName=DelphiComponents\JEDI Code Library
+DisableProgramGroupPage=no
+;LicenseFile={#JclRoot}\help\MPL-1.1.html
+OutputBaseFilename=setup
+#ifdef DEBUGGING
+Compression=zip/1
+#else
+Compression=lzma/ultra64
+#endif
+SolidCompression=yes
+ShowLanguageDialog=auto
+
+// for skin
+#define MyWizardBottomImageFile "Skin\images\wizardbottom.bmp"
+#define MyWizardButtonImageFile "Skin\images\button.bmp"
+#define MyWizardImageFile "wizard.bmp"
+#define MyWizardSmallImageFile "wizardsmall.bmp"
+WizardImageFile=Skin\images\{#MyWizardImageFile}
+WizardSmallImageFile=Skin\images\{#MyWizardSmallImageFile}
+#include "Skin\isxskin.iss"
+
+[Languages]
+Name: "english"; MessagesFile: "compiler:Default.isl"
+Name: "french"; MessagesFile: "compiler:Languages\French.isl"
+Name: "german"; MessagesFile: "compiler:Languages\German.isl"
+
+
+#ifdef Include_Binaries
+[Types]
+Name: "full"; Description: "Full installation"
+Name: "compact"; Description: "Source only installation"
+Name: "custom"; Description: "Custom installation"; Flags: iscustom
+Name: "prefered"; Description: "Prefered installation"
+#endif
+
+[Components]
+#ifdef Include_Examples
+Name: "Examples"; Description: "Example projects"; Types: full;
+#endif
+
+#ifdef Include_Binaries
+#include "IdeComponents.iss"
+
+[Components]
+; Package selection
+Name: "Experts"; Description: "Register IDE Experts"; Types: full prefered
+Name: "Experts\JclDebugExpert"; Description: "Debug Expert"; Types: full prefered
+Name: "Experts\JclFavoriteFoldersExpert"; Description: "Favorite Folder Expert"; Types: full prefered
+Name: "Experts\JclProjectAnalysisExpert"; Description: "Project Analysis Expert"; Types: full prefered
+Name: "Experts\JclRepositoryExpert"; Description: "Repository Expert"; Types: full prefered
+Name: "Experts\JclSIMDViewExpert"; Description: "SIMD-View Expert"; Types: full prefered
+Name: "Experts\JclThreadNameExpert"; Description: "Thread Name Expert"; Types: full prefered
+Name: "Experts\JclUsesExpert"; Description: "Uses Expert"; Types: full prefered
+Name: "Experts\JclVersionControlExpert"; Description: "Version Control Expert"; Types: full prefered
+#endif
+
+[Dirs]
+Name: "{app}\bin"
+
+[Files]
+Source: {#JclRoot}\*.bat; DestDir: "{app}"; Flags: ignoreversion
+Source: {#JclRoot}\*.sh; DestDir: "{app}"; Flags: ignoreversion
+Source: {#JclRoot}\*.txt; DestDir: "{app}"; Flags: ignoreversion
+Source: {#JclRoot}\source\*; DestDir: "{app}\source"; Excludes: ".svn,__history,*.~*,*.hpp,*.txt"; Flags: ignoreversion sortfilesbyextension recursesubdirs
+Source: {#JclRoot}\packages\*; DestDir: "{app}\packages"; Excludes: ".svn,__history,*.drc,*.txt"; Flags: ignoreversion sortfilesbyextension recursesubdirs
+Source: {#JclRoot}\install\*; DestDir: "{app}\install"; Excludes: ".svn,__history,*.~*,ISS"; Flags: ignoreversion recursesubdirs sortfilesbyextension
+Source: {#JclRoot}\devtools\*; DestDir: "{app}\devtools"; Excludes: ".svn,__history"; Flags: ignoreversion sortfilesbyextension recursesubdirs
+Source: {#JclRoot}\docs\*; DestDir: "{app}\docs"; Excludes: ".svn,__history"; Flags: ignoreversion sortfilesbyextension recursesubdirs
+Source: {#JclRoot}\experts\*; DestDir: "{app}\experts"; Excludes: ".svn,__history,*.~*,*.txt"; Flags: ignoreversion sortfilesbyextension recursesubdirs
+Source: {#JclRoot}\include\*; DestDir: "{app}\include"; Excludes: ".svn,__history"; Flags: ignoreversion recursesubdirs sortfilesbyextension
+Source: {#JclRoot}\lib\*; DestDir: "{app}\lib"; Excludes: ".svn,__history,*.dcu,*.obj,*.dcp,*.lib,*.bpi,*.dfm,*.res,*.txt"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+
+#ifdef Include_Examples
+; SolidBreak
+Source: {#JclRoot}\examples\*; DestDir: "{app}\examples"; Excludes: ".svn,__history,*.dcu,*.obj,*.exe,*.bpl,*.dcp,*.~*"; Components: "Examples"; Flags: ignoreversion recursesubdirs sortfilesbyextension solidbreak
+#endif
+
+#ifdef Include_Binaries
+#ifdef Include_Delphi5
+; SolidBreak;
+Source: {#JclRoot}\lib\d5\*; DestDir: "{app}\lib\d5"; Excludes: ".svn,__history,*.txt"; Components: "IDE\Delphi5"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#Delphi5Bpl}\Jcl*.*; DestDir: "{code:GetDelphiBplDir|5}"; Components: "IDE\Delphi5"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#ifdef Include_BCB5
+; SolidBreak;
+Source: {#JclRoot}\lib\c5\*; DestDir: "{app}\lib\c5"; Excludes: ".svn,__history,*.txt"; Components: "IDE\BCB5"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#BCB5Bpl}\Jcl*.*; DestDir: "{code:GetBCBBplDir|5}"; Components: "IDE\BCB5"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+Source: {#BCB5Root}\Include\Vcl\Jcl*.hpp; DestDir: "{code:GetBCBDir|5}\Include\Vcl"; Components: "IDE\BCB5"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#ifdef Include_Delphi6
+; SolidBreak;
+Source: {#JclRoot}\lib\d6\*; DestDir: "{app}\lib\d6"; Excludes: ".svn,__history,*.txt"; Components: "IDE\Delphi6"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#Delphi6Bpl}\Jcl*.*; DestDir: "{code:GetDelphiBplDir|6}"; Components: "IDE\Delphi6"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#ifdef Include_BCB6
+; SolidBreak;
+Source: {#JclRoot}\lib\c6\*; DestDir: "{app}\lib\c6"; Excludes: ".svn,__history,*.txt"; Components: "IDE\BCB6"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#BCB6Bpl}\Jcl*.*; DestDir: "{code:GetBCBBplDir|6}"; Components: "IDE\BCB6"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+Source: {#BCB6Root}\Include\Vcl\Jcl*.hpp; DestDir: "{code:GetBCBDir|6}\Include\Vcl"; Components: "IDE\BCB6"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#ifdef Include_Delphi7
+; SolidBreak;
+Source: {#JclRoot}\lib\d7\*; DestDir: "{app}\lib\d7"; Excludes: ".svn,__history,*.txt"; Components: "IDE\Delphi7"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#Delphi7Bpl}\Jcl*.*; DestDir: "{code:GetDelphiBplDir|7}"; Components: "IDE\Delphi7"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#ifdef Include_Delphi9
+; SolidBreak;
+Source: {#JclRoot}\lib\d9\*; DestDir: "{app}\lib\d9"; Excludes: ".svn,__history,*.txt"; Components: "IDE\Delphi9"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#Delphi9Bpl}\Jcl*9*.*; DestDir: "{code:GetDelphiBplDir|9}"; Components: "IDE\Delphi9"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#ifdef Include_Delphi10
+; SolidBreak;
+Source: {#JclRoot}\lib\d10\*; DestDir: "{app}\lib\d10"; Excludes: ".svn,__history,*.txt"; Components: "IDE\Delphi10"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#Delphi10Bpl}\Jcl*10*.*; DestDir: "{code:GetDelphiBplDir|10}"; Components: "IDE\Delphi10"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+Source: {#Delphi10Root}\Include\Vcl\Jcl*.hpp; DestDir: "{code:GetDelphiDir|10}\Include\Vcl"; Components: "IDE\Delphi10"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#ifdef Include_Delphi11
+; SolidBreak;
+Source: {#JclRoot}\lib\d11\*; DestDir: "{app}\lib\d11"; Excludes: ".svn,__history,*.txt"; Components: "IDE\Delphi11"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs solidbreak
+Source: {#Delphi11Bpl}\Jcl*.*; DestDir: "{code:GetDelphiBplDir|11}"; Components: "IDE\Delphi11"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+Source: {#Delphi11Root}\Include\Vcl\Jcl*.hpp; DestDir: "{code:GetDelphiDir|10}\Include\Vcl"; Components: "IDE\Delphi11"; Flags: ignoreversion recursesubdirs sortfilesbyextension createallsubdirs
+#endif
+#endif
+
+; only source code => execute Jedi Installer
+[Run]
+Filename: {app}\install.bat; Description: "Execute JEDI Installer"; Flags: postinstall shellexec; Check: IsSourceInstall;
+
+#ifdef Include_Binaries
+[Registry]
+#ifdef Include_Delphi5
+; Delphi 5
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|5}\Jedi\JCL"; ValueType: string; ValueName: "BplDir"; ValueData: {code:GetDelphiBplDir|5}; Components: "IDE\Delphi5"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|5}\Jedi\JCL"; ValueType: string; ValueName: "DcpDir"; ValueData: {app}\lib\d5; Components: "IDE\Delphi5"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|5}\Jedi\JCL"; ValueType: string; ValueName: "RootDir"; ValueData: {app}; Components: "IDE\Delphi5"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|5}\Jedi\JCL"; ValueType: string; ValueName: "Version"; ValueData: {#JclVersionStr}; Components: "IDE\Delphi5"; Flags: uninsdeletevalue
+#endif
+#ifdef Include_Delphi6
+; Delphi 6
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|6}\Jedi\JCL"; ValueType: string; ValueName: "BplDir"; ValueData: {code:GetDelphiBplDir|6}; Components: "IDE\Delphi6"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|6}\Jedi\JCL"; ValueType: string; ValueName: "DcpDir"; ValueData: {app}\lib\d6; Components: "IDE\Delphi6"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|6}\Jedi\JCL"; ValueType: string; ValueName: "RootDir"; ValueData: {app}; Components: "IDE\Delphi6"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|6}\Jedi\JCL"; ValueType: string; ValueName: "Version"; ValueData: {#JclVersionStr}; Components: "IDE\Delphi6"; Flags: uninsdeletevalue
+#endif
+#ifdef Include_Delphi7
+; Delphi 7
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|7}\Jedi\JCL"; ValueType: string; ValueName: "BplDir"; ValueData: {code:GetDelphiBplDir|7}; Components: "IDE\Delphi7"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|7}\Jedi\JCL"; ValueType: string; ValueName: "DcpDir"; ValueData: {app}\lib\d7; Components: "IDE\Delphi7"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|7}\Jedi\JCL"; ValueType: string; ValueName: "RootDir"; ValueData: {app}; Components: "IDE\Delphi7"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|7}\Jedi\JCL"; ValueType: string; ValueName: "Version"; ValueData: {#JclVersionStr}; Components: "IDE\Delphi7"; Flags: uninsdeletevalue
+#endif
+#ifdef Include_Delphi9
+; Delphi 2005
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|9}\Jedi\JCL"; ValueType: string; ValueName: "BplDir"; ValueData: {code:GetDelphiBplDir|9}; Components: "IDE\Delphi9"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|9}\Jedi\JCL"; ValueType: string; ValueName: "DcpDir"; ValueData: {app}\lib\d9; Components: "IDE\Delphi9"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|9}\Jedi\JCL"; ValueType: string; ValueName: "RootDir"; ValueData: {app}; Components: "IDE\Delphi9"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|9}\Jedi\JCL"; ValueType: string; ValueName: "Version"; ValueData: {#JclVersionStr}; Components: "IDE\Delphi9"; Flags: uninsdeletevalue
+#endif
+#ifdef Include_Delphi10
+; Delphi 2006
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|10}\Jedi\JCL"; ValueType: string; ValueName: "BplDir"; ValueData: {code:GetDelphiBplDir|10}; Components: "IDE\Delphi10"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|10}\Jedi\JCL"; ValueType: string; ValueName: "DcpDir"; ValueData: {app}\lib\d10; Components: "IDE\Delphi10"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|10}\Jedi\JCL"; ValueType: string; ValueName: "RootDir"; ValueData: {app}; Components: "IDE\Delphi10"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|10}\Jedi\JCL"; ValueType: string; ValueName: "Version"; ValueData: {#JclVersionStr}; Components: "IDE\Delphi10"; Flags: uninsdeletevalue
+#endif
+#ifdef Include_Delphi11
+; Delphi 2007
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|11}\Jedi\JCL"; ValueType: string; ValueName: "BplDir"; ValueData: {code:GetDelphiBplDir|11}; Components: "IDE\Delphi11"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|11}\Jedi\JCL"; ValueType: string; ValueName: "DcpDir"; ValueData: {app}\lib\d11; Components: "IDE\Delphi11"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|11}\Jedi\JCL"; ValueType: string; ValueName: "RootDir"; ValueData: {app}; Components: "IDE\Delphi11"; Flags: uninsdeletevalue
+Root: HKCU; Subkey: "{code:GetDelphiRegKey|11}\Jedi\JCL"; ValueType: string; ValueName: "Version"; ValueData: {#JclVersionStr}; Components: "IDE\Delphi11"; Flags: uninsdeletevalue
+#endif
+#endif
+
+
+
+[UninstallDelete]
+Type: files; Name: "{app}\bin\JediInstaller.exe"
+Type: files; Name: "{app}\bin\JCL-install.ini"
+Type: files; Name: "{app}\bin\*.log"
+Type: files; Name: "{app}\source\*.hpp"
+Type: files; Name: "{app}\source\common\*.hpp"
+Type: files; Name: "{app}\source\vcl\*.hpp"
+Type: files; Name: "{app}\source\windows\*.hpp"
+; lib\C++Builder 5
+Type: files; Name: "{app}\lib\c5\*"
+Type: files; Name: "{app}\lib\c5\debug\*"
+Type: files; Name: "{code:GetBCBBplDir|5}\Jcl*.*"
+Type: files; Name: "{code:GetBCBDir|5}\Include\Vcl\Jcl*.hpp"
+; lib\C++Builder 6
+Type: files; Name: "{app}\lib\c6\*"
+Type: files; Name: "{code:GetBCBBplDir|6}\Jcl*.*"
+Type: files; Name: "{code:GetBCBDir|6}\Include\Vcl\Jcl*.hpp"
+; lib\Delphi 5
+Type: files; Name: "{app}\lib\d5\*"
+Type: files; Name: "{app}\lib\d5\debug\*"
+Type: files; Name: "{code:GetDelphiBplDir|5}\Jcl*.*"
+; lib\Delphi 6
+Type: files; Name: "{app}\lib\d6\*"
+Type: files; Name: "{app}\lib\d6\debug\*"
+Type: files; Name: "{code:GetDelphiBplDir|6}\Jcl*.*"
+; lib\Delphi 7
+Type: files; Name: "{app}\lib\d7\*"
+Type: files; Name: "{app}\lib\d7\debug\*"
+Type: files; Name: "{code:GetDelphiBplDir|7}\Jcl*.*"
+; lib\Delphi 2005
+Type: files; Name: "{app}\lib\d9\*"
+Type: files; Name: "{app}\lib\d9\debug\*"
+Type: files; Name: "{code:GetDelphiBplDir|9}\Jcl*.*"
+; lib\Delphi/C++Builder 2006
+Type: files; Name: "{app}\lib\d10\*"
+Type: files; Name: "{app}\lib\d10\debug\*"
+Type: files; Name: "{code:GetDelphiBplDir|10}\Jcl*.*"
+Type: files; Name: "{code:GetDelphiDir|10}\Include\Vcl\Jcl*.hpp"
+; lib\Delphi/C++Builder 2007
+Type: files; Name: "{app}\lib\d11\*"
+Type: files; Name: "{app}\lib\d11\debug\*"
+Type: files; Name: "{code:GetDelphiBplDir|11}\Jcl*.*"
+Type: files; Name: "{code:GetDelphiDir|11}\Include\Vcl\Jcl*.hpp"
+
+
+[Icons]
+Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
+Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
+
+; Downloading script
+//#ifdef Include_Binaries
+//#include "DownloadScript.iss"
+//#endif
+
+#include "ComponentInstallerScript.iss"
+
+[Code]
+// callbacks for the ComponentInstaller
+
+procedure UserRegisterComponents(Components: TStrings);
+begin
+end;
+
+procedure UserUnregisterComponents(Components: TStrings);
+// uninstall all JCL experts, not only the one that the user had selected
+// during the installation. The user could have started the JediInstaller
+// or have added additional designtime packages by hand.
+var
+ {IdeList: TStrings;
+ IdeIndex: Integer;
+ IdeKind: TIdeKind;}
+ Version: Integer;
+begin
+ // Uninstall from all IDEs ?
+ for Version := 5 to 11 do
+ UninstallExpertsPrefixed(ikDelphi, Version, 'Jcl');
+ for Version := 5 to 6 do
+ UninstallExpertsPrefixed(ikBCB, Version, 'Jcl');
+
+{ IdeList := TStringList.Create;
+ try
+ GetSelectedList(IdeList, 'IDE', Components);
+ // unregister per IDE
+ for IdeIndex := 0 to IdeList.Count - 1 do
+ begin
+ ExtractIdeInfo(IdeList[IdeIndex], IdeKind, Version);
+ UninstallExpertsPrefixed(IdeKind, Version, 'Jv');
+ end;
+ finally
+ IdeList.Free;
+ end;}
+end;
+
+function MapExpert(IdeKind: TIdeKind; Version: Integer; const ExpertName: string): string;
+begin
+ if StartsText('Jcl', ExpertName) then
+ begin
+ if Version < 9 then
+ begin
+ case IdeKind of
+ ikDelphi:
+ Result := GetDelphiBplDir(IntToStr(Version)) + '\' + ExpertName + 'DLLd' + IntToStr(Version) + '0.dll';
+ ikBCB:
+ Result := GetBCBBplDir(IntToStr(Version)) + '\' + ExpertName + 'DLLc' + IntToStr(Version) + '0.dll';
+ end;
+ end
+ else
+ Result := GetDelphiBplDir(IntToStr(Version)) + '\' + ExpertName + IntToStr(Version) + '0.bpl';
+ end;
+end;
+
+function MapDesignPackage(IdeKind: TIdeKind; Version: Integer; const PackageName: string): string;
+begin
+ Result := '';
+end;
+
+procedure GetSearchPaths(IdeKind: TIdeKind; Version: Integer; var SearchPaths, DebugPaths, BrowsePaths: string);
+var
+ LibDir, AppDir: string;
+begin
+ AppDir := ExpandConstant('{app}');
+ SearchPaths := '';
+ DebugPaths := '';
+ BrowsePaths := '';
+ case IdeKind of
+ ikDelphi:
+ LibDir := AppDir + '\lib\d' + IntToStr(Version);
+ ikBCB:
+ LibDir := AppDir + '\lib\c' + IntToStr(Version);
+ else
+ Exit;
+ end;
+
+ SearchPaths := LibDir + ';' + AppDir + '\source';
+ DebugPaths := LibDir + '\debug';
+ BrowsePaths := AppDir + '\source;' + AppDir + '\source\common;' + AppDir + '\source\vcl;' + AppDir + '\source\windows;';
+end;
+
+// events
+
+function InitializeSetup(): Boolean;
+begin
+ Result := InitComponentInstaller;
+end;
+
+procedure CurStepChanged(CurStep: TSetupStep);
+begin
+ if CurStep = ssPostInstall then
+ RegisterComponents;
+end;
+
+function InitializeUninstall(): Boolean;
+begin
+ Result := InitComponentUninstaller;
+end;
+
+procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
+begin
+ if CurUninstallStep = usUninstall then
+ UnregisterComponents;
+end;
+
+#ifdef Include_Binaries
+// Function generated by ISTool.
+function NextButtonClick(CurPage: Integer): Boolean;
+begin
+ //Result := istool_download(CurPage);
+ Result := True;
+end;
+#endif
+
+// Skin
+
+procedure CurPageChanged(CurPageID: Integer);
+begin
+// update calls for skin
+ UpdateButton(WizardForm.BackButton, bidBack);
+ UpdateButton(WizardForm.NextButton, bidNext);
+ UpdateButton(WizardForm.CancelButton, bidCancel);
+end;
+
+procedure InitializeWizard();
+begin
+// initialize call for skin
+ InitializeSkin;
+end;
+
Added: trunk/jcl/install/ISS/Skin/images/button.bmp
===================================================================
(Binary files differ)
Property changes on: trunk/jcl/install/ISS/Skin/images/button.bmp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jcl/install/ISS/Skin/images/wizard.bmp
===================================================================
(Binary files differ)
Property changes on: trunk/jcl/install/ISS/Skin/images/wizard.bmp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jcl/install/ISS/Skin/images/wizardbottom.bmp
===================================================================
(Binary files differ)
Property changes on: trunk/jcl/install/ISS/Skin/images/wizardbottom.bmp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jcl/install/ISS/Skin/images/wizardsmall.bmp
===================================================================
(Binary files differ)
Property changes on: trunk/jcl/install/ISS/Skin/images/wizardsmall.bmp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jcl/install/ISS/Skin/isxskin.iss
===================================================================
--- trunk/jcl/install/ISS/Skin/isxskin.iss (rev 0)
+++ trunk/jcl/install/ISS/Skin/isxskin.iss 2007-08-13 18:15:41 UTC (rev 2129)
@@ -0,0 +1,621 @@
+[Files]
+Source: {#MyWizardButtonImageFile}; DestDir: {tmp}; Flags: dontcopy
+Source: {#MyWizardBottomImageFile}; DestDir: {tmp}; Flags: dontcopy
+
+[Code]
+const
+ MAINPANELCOLOR = $663300;
+ PAGECOLOR = $ab663d;
+ BUTTONPANELCOLOR = $603A2B;
+ BUTTONWIDTH = 100;
+ BUTTONHEIGHT = 27;
+
+ bidBack = 0;
+ bidNext = 1;
+ bidCancel = 2;
+ bidDirBrowse = 3;
+ bidGroupBrowse = 4;
+
+var
+ ButtonPanels: array [0..4] of TPanel;
+ ButtonImages: array [0..4] of TBitmapImage;
+ ButtonLabels: array [0..4] of TLabel;
+
+procedure UpdateButton(AButton: TButton;AButtonIndex: integer);
+begin
+ ButtonLabels[AButtonIndex].Caption:=AButton.Caption;
+ ButtonPanels[AButtonIndex].visible:=AButton.Visible;
+ ButtonLabels[AButtonIndex].Enabled:=Abutton.Enabled;
+end;
+
+procedure ButtonLabelClick(Sender: TObject);
+var
+ button: TButton;
+begin
+ ButtonImages[TLabel(Sender).Tag].Left:=0;
+ if not ButtonLabels[TLabel(Sender).Tag].Enabled then Exit;
+ case TLabel(Sender).Tag of
+ bidBack: button:=WizardForm.BackButton;
+ bidNext: button:=WizardForm.NextButton;
+ bidCancel: button:=WizardForm.CancelButton;
+ bidDirBrowse: button:=WizardForm.DirBrowseButton;
+ bidGroupBrowse: button:=WizardForm.GroupBrowseButton;
+ else
+ Exit;
+ end;
+ button.OnClick(button);
+end;
+
+procedure ButtonLabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
+begin
+ if (Button=mbLeft) and (ButtonLabels[TLabel(Sender).Tag].Enabled) then
+ ButtonImages[TLabel(Sender).Tag].Left:=-BUTTONWIDTH;
+end;
+
+procedure ButtonLabelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
+begin
+ ButtonImages[TLabel(Sender).Tag].Left:=0;
+end;
+
+procedure LoadButtonImage(AButton: TButton; AButtonIndex: integer);
+var
+ image: TBitmapImage;
+ panel: TPanel;
+ labl: TLabel;
+ FileName: String;
+
+begin
+ panel:=TPanel.Create(WizardForm);
+ with panel do begin
+ Parent:=AButton.Parent;
+ Color:=BUTTONPANELCOLOR;
+ Tag:=AButtonIndex;
+ Left:=AButton.Left;
+ Top:=AButton.Top;
+ Width:=AButton.Width;
+ Height:=AButton.Height;
+ end;
+ ButtonPanels[AButtonIndex]:=panel;
+
+ image:=TBitmapImage.Create(WizardForm);
+ FileName:=ExtractFileName('{#MyWizardButtonImageFile}');
+ with image do begin
+ Height:=BUTTONHEIGHT;
+ Width:=BUTTONWIDTH*2;
+ Bitmap.LoadFromFile(ExpandConstant('{tmp}\')+FileName);
+ Parent:=panel;
+ Enabled:=false;
+ end;
+ ButtonImages[AButtonIndex]:=image;
+
+ with TLabel.Create(WizardForm) do begin
+ Tag:=AButtonIndex;
+ Parent:=panel;
+ Width:=panel.Width;
+ Height:=panel.Height;
+ transparent:=true;
+ OnClick:=@ButtonLabelClick;
+ OnDblClick:=@ButtonLabelClick;
+ OnMouseDown:=@ButtonLabelMouseDown;
+ OnMouseUp:=@ButtonLabelMouseUp;
+ end;
+
+ labl:=TLabel.Create(WizardForm);
+ with labl do begin
+ Tag:=AButtonIndex;
+ Alignment:=taCenter;
+ Transparent:=true;
+ AutoSize:=false;
+ Top:=(BUTTONHEIGHT div 4);
+ Left:=0;
+ Width:=panel.ClientWidth;
+ Parent:=panel;
+ Font.Color:=clWhite;
+ Caption:=AButton.Caption;
+ OnClick:=@ButtonLabelClick;
+ OnDblClick:=@ButtonLabelClick;
+ OnMouseDown:=@ButtonLabelMouseDown;
+ OnMouseUp:=@ButtonLabelMouseUp;
+ end;
+ ButtonLabels[AButtonIndex]:=labl;
+end;
+
+procedure LicenceAcceptedRadioOnClick(Sender: TObject);
+begin
+ ButtonLabels[bidNext].Enabled:=true;
+end;
+
+procedure LicenceNotAcceptedRadioOnClick(Sender: TObject);
+begin
+ ButtonLabels[bidNext].Enabled:=false;
+end;
+
+
+procedure InitializeSkin;
+var
+ image : TBitmapImage;
+ TypesComboItemIndex: integer;
+ FileName: String;
+
+begin
+ with WizardForm do
+ with OuterNotebook do
+ with InnerPage do
+ with InnerNotebook do
+ with SelectComponentsPage do
+ TypesComboItemIndex:=TypesCombo.ItemIndex;
+
+
+ WizardForm.Bevel.Hide;
+ WizardForm.Bevel1.Hide;
+ WizardForm.SelectDirBitmapImage.Hide;
+ WizardForm.SelectGroupBitmapImage.Hide;
+
+ image:=TBitmapImage.Create(WizardForm);
+ image.Top:=451;
+ image.Width:=690;
+ image.Height:=45;
+
+ FileName:=ExtractFileName('{#MyWizardBottomImageFile}');
+ ExtractTemporaryFile(FileName);
+ image.Bitmap.LoadFromFile(ExpandConstant('{tmp}\')+FileName);
+ image.Parent:=WizardForm;
+ image.SendToBack;
+
+
+with WizardForm do begin
+ Position:=poScreenCenter;
+ ClientWidth:=690
+ ClientHeight:=496
+ Font.Color:=$ffffff
+ Font.Name:='MS Sans Serif'
+ Font.Style:=[]
+ with CancelButton do begin
+ Left:=555
+ Top:=460
+ Width:=BUTTONWIDTH;
+ Height:=BUTTONHEIGHT;
+ end
+ with NextButton do begin
+ Left:=371
+ Top:=460
+ Width:=BUTTONWIDTH;
+ Height:=BUTTONHEIGHT;
+ end
+ with BackButton do begin
+ Left:=266
+ Top:=460
+ Width:=BUTTONWIDTH;
+ Height:=BUTTONHEIGHT;
+ end
+
+ with OuterNotebook do begin
+ Left:=190
+ Top:=59
+ Width:=500
+ Height:=392
+ with WelcomePage do begin
+ Color:=PAGECOLOR;
+ with WizardBitmapImage do begin
+ Parent:=WizardForm
+ Left:=0
+ Top:=60
+ Width:=190
+ Height:=391
+ end
+ with WelcomeLabel2 do begin
+ Left:=35
+ Top:=171
+ Width:=465
+ Height:=200
+ end
+ with WelcomeLabel1 do begin
+ Left:=35
+ Top:=131
+ Width:=465
+ Height:=28
+ Font.Size:=8
+ Font.Color:=$ffffff
+ end
+ end
+ with InnerPage do begin
+ with InnerNotebook do begin
+ Left:=20
+ Top:=20
+ Width:=465
+ Height:=354
+ Color:=PAGECOLOR;
+ with LicensePage do begin
+ with LicenseNotAcceptedRadio do begin
+ Left:=0
+ Top:=338
+ Width:=17
+ Height:=17
+ OnClick:=@LicenceNotAcceptedRadioOnClick;
+ end
+ with LicenseAcceptedRadio do begin
+ Left:=0
+ Top:=318
+ Width:=17
+ Height:=17
+ OnClick:=@LicenceAcceptedRadioOnClick;
+ end
+ with LicenseMemo do begin
+ Left:=0
+ Top:=38
+ Width:=465
+ Height:=266
+ end
+ with LicenseLabel1 do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=28
+ end
+ end
+ with PasswordPage do begin
+ with PasswordEdit do begin
+ Left:=0
+ Top:=50
+ Width:=465
+ Height:=21
+ Color:=$ffffff
+ Font.Color:=$000000
+ end
+ with PasswordEditLabel do begin
+ Left:=0
+ Top:=34
+ Width:=465
+ Height:=14
+ end
+ with PasswordLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=28
+ end
+ end
+ with InfoBeforePage do begin
+ with InfoBeforeMemo do begin
+ Left:=0
+ Top:=24
+ Width:=465
+ Height:=327
+ end
+ with InfoBeforeClickLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=14
+ end
+ end
+ with UserInfoPage do begin
+ with UserInfoSerialEdit do begin
+ Left:=0
+ Top:=120
+ Width:=465
+ Height:=21
+ Color:=$ffffff
+ Font.Color:=$000000
+ end
+ with UserInfoSerialLabel do begin
+ Left:=0
+ Top:=104
+ Width:=465
+ Height:=14
+ end
+ with UserInfoOrgEdit do begin
+ Left:=0
+ Top:=68
+ Width:=465
+ Height:=21
+ Color:=$ffffff
+ Font.Color:=$000000
+ end
+ with UserInfoOrgLabel do begin
+ Left:=0
+ Top:=52
+ Width:=465
+ Height:=14
+ end
+ with UserInfoNameEdit do begin
+ Left:=0
+ Top:=16
+ Width:=465
+ Height:=21
+ Color:=$ffffff
+ Font.Color:=$000000
+ end
+ with UserInfoNameLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=14
+ end
+ end
+ with SelectDirPage do begin
+ with DiskSpaceLabel do begin
+ Left:=0
+ Top:=340
+ Width:=465
+ Height:=14
+ end
+ with DirBrowseButton do begin
+ Left:=368
+ Top:=288
+ Width:=BUTTONWIDTH;
+ Height:=BUTTONHEIGHT;
+ end
+ with DirEdit do begin
+ Left:=0
+ Top:=290
+ Width:=350
+ Height:=21
+ Color:=$ffffff
+ Font.Color:=$000000
+ end
+ with SelectDirBrowseLabel do begin
+ Left:=0
+ Top:=24
+ Width:=465
+ Height:=28
+ end
+ with SelectDirLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=14
+ end
+ end
+ with SelectComponentsPage do begin
+ with ComponentsDiskSpaceLabel do begin
+ Left:=0
+ Top:=340
+ Width:=417
+ Height:=14
+ end
+ with ComponentsList do begin
+ Left:=0
+ Top:=62
+ Width:=465
+ Height:=261
+ Color:=$ffffff
+ Font.Color:=$000000
+ end
+ with TypesCombo do begin
+ Left:=0
+ Top:=38
+ Width:=465
+ Height:=21
+ Color:=$ffffff
+ Font.Color:=$000000
+ ItemIndex:=TypesComboItemIndex;
+ end
+ with SelectComponentsLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=28
+ end
+ end
+ with SelectProgramGroupPage do begin
+ with NoIconsCheck do begin
+ Left:=0
+ Top:=337
+ Width:=17
+ Height:=17
+ Visible:=True
+ end
+ with GroupBrowseButton do begin
+ Left:=368
+ Top:=288
+ Width:=BUTTONWIDTH;
+ Height:=BUTTONHEIGHT;
+ end
+ with GroupEdit do begin
+ Left:=0
+ Top:=290
+ Width:=350
+ Height:=21
+ Color:=$ffffff
+ Font.Color:=$000000
+ end
+ with SelectStartMenuFolderBrowseLabel do begin
+ Left:=0
+ Top:=24
+ Width:=465
+ Height:=28
+ end
+ with SelectStartMenuFolderLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=14
+ end
+ end
+ with SelectTasksPage do begin
+ with TasksList do begin
+ Left:=0
+ Top:=34
+ Width:=465
+ Height:=317
+ Color:=PAGECOLOR;
+ end
+ with SelectTasksLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=28
+ end
+ end
+ with ReadyPage do begin
+ with ReadyMemo do begin
+ Left:=0
+ Top:=34
+ Width:=465
+ Height:=317
+ Color:=PAGECOLOR;
+ //Color:=$ffffff
+ //Font.Color:=$000000
+ end
+ with ReadyLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=28
+ end
+ end
+ with InstallingPage do begin
+ with FilenameLabel do begin
+ Left:=0+10
+ Top:=16+10
+ Width:=465
+ Height:=16
+ end
+ with StatusLabel do begin
+ Left:=0+10
+ Top:=0+10
+ Width:=465
+ Height:=16
+ end
+ with ProgressGauge do begin
+ Left:=0+10
+ Top:=42+10
+ Width:=465
+ Height:=21
+ end
+ end
+ with InfoAfterPage do begin
+ with InfoAfterMemo do begin
+ Left:=0
+ Top:=24
+ Width:=465
+ Height:=327
+ end
+ with InfoAfterClickLabel do begin
+ Left:=0
+ Top:=0
+ Width:=465
+ Height:=14
+ end
+ end
+ end
+ with MainPanel do begin
+ Parent:=WizardForm;
+ color:=MAINPANELCOLOR;
+ Left:=0
+ Top:=0
+ Width:=690
+ Height:=60
+ with WizardSmallBitmapImage do begin
+ Left:=0
+ Top:=58
+ Width:=690
+ Height:=2
+ end
+ with PageDescriptionLabel do begin
+ Left:=25
+ Top:=25
+ Width:=500
+ Height:=14
+ Color:=MAINPANELCOLOR;
+ Font.Color:=$ffffff
+ end
+ with PageNameLabel do begin
+ Left:=15
+ Top:=7
+ Width:=500
+ Height:=14
+ Color:=MAINPANELCOLOR;
+ Font.Color:=$ffffff
+ end
+ end
+ end;
+ with FinishedPage do begin
+ Color:=PAGECOLOR;
+ WizardBitmapImage2.hide;
+ with NoRadio do begin
+ Left:=35
+ Top:=168
+ Width:=465
+ Height:=17
+ end
+ with YesRadio do begin
+ Left:=35
+ Top:=140
+ Width:=465
+ Height:=17
+ end
+ with RunList do begin
+ Left:=35
+ Top:=140
+ Width:=465
+ Height:=149
+ end
+ with FinishedLabel do begin
+ Left:=35
+ Top:=60
+ Width:=465
+ Height:=53
+ end
+ with FinishedHeadingLabel do begin
+ Left:=35
+ Top:=20
+ Width:=465
+ Height:=24
+ Font.Size:=8
+ Font.Color:=$ffffff
+ end
+ end;
+ end;
+end;
+
+with TLabel.Create(WizardForm) do begin
+ Left:=17
+ Top:=320
+ Width:=445
+ Height:=17
+ Color:=clWhite;
+ Transparent:=true;
+ Caption:=WizardForm.LicenseAcceptedRadio.Caption
+ Parent:=WizardForm.LicensePage
+end;
+with TLabel.Create(WizardForm) do begin
+ Left:=17
+ Top:=320
+ Width:=445
+ Height:=17
+ Color:=clWhite;
+ Transparent:=true;
+ Caption:=WizardForm.LicenseAcceptedRadio.Caption
+ Parent:=WizardForm.LicensePage
+end;
+with TLabel.Create(WizardForm) do begin
+ Left:=17
+ Top:=340
+ Width:=445
+ Height:=17
+ Color:=clWhite;
+ Transparent:=true;
+ Caption:=WizardForm.LicenseNotAcceptedRadio.Caption
+ Parent:=WizardForm.LicensePage
+end
+with TLabel.Create(WizardForm) do begin
+ Left:=17
+ Top:=340
+ Width:=445
+ Height:=17
+ Color:=clWhite;
+ Transparent:=true;
+ Caption:=WizardForm.NoIconsCheck.Caption
+ Parent:=WizardForm.SelectProgramGroupPage
+end
+
+ ExtractTemporaryFile(ExtractFileName('{#MyWizardButtonImageFile}'));
+
+ LoadButtonImage(WizardForm.BackButton,bidBack);
+ LoadButtonImage(WizardForm.NextButton,bidNext);
+ LoadButtonImage(WizardForm.CancelButton,bidCancel);
+ LoadButtonImage(WizardForm.DirBrowseButton,bidDirBrowse);
+ LoadButtonImage(WizardForm.GroupBrowseButton,bidGroupBrowse);
+end;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2007-08-13 18:00:21
|
Revision: 2128
http://jcl.svn.sourceforge.net/jcl/?rev=2128&view=rev
Author: ahuser
Date: 2007-08-13 11:00:20 -0700 (Mon, 13 Aug 2007)
Log Message:
-----------
Added missing "pause" on failure
Modified Paths:
--------------
trunk/jcl/Install.bat
Modified: trunk/jcl/Install.bat
===================================================================
--- trunk/jcl/Install.bat 2007-08-13 16:41:52 UTC (rev 2127)
+++ trunk/jcl/Install.bat 2007-08-13 18:00:20 UTC (rev 2128)
@@ -35,6 +35,7 @@
echo.
echo An error occured while compiling the installer. Installation aborted.
echo.
+pause
:FINI
cd ..
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-08-13 16:41:54
|
Revision: 2127
http://jcl.svn.sourceforge.net/jcl/?rev=2127&view=rev
Author: outchy
Date: 2007-08-13 09:41:52 -0700 (Mon, 13 Aug 2007)
Log Message:
-----------
output a warning if "VCL package" node is not selected.
Modified Paths:
--------------
trunk/jcl/install/JclInstall.pas
Modified: trunk/jcl/install/JclInstall.pas
===================================================================
--- trunk/jcl/install/JclInstall.pas 2007-08-13 15:56:42 UTC (rev 2126)
+++ trunk/jcl/install/JclInstall.pas 2007-08-13 16:41:52 UTC (rev 2127)
@@ -532,7 +532,7 @@
RsHintMakeDemos = 'Make JCL demo applications';
// warning messages
- RsWarningPackageNodeNotSelected = 'The "Packages" node is not selected.' + sLineBreak +
+ RsWarningPackageNodeNotSelected = 'The "Packages" or "VCL package" nodes are not selected.' + sLineBreak +
'Various libraries (including the JVCL) require JCL packages to be compiled' + sLineBreak +
'Do you want to continue without compiling JCL packages?';
RsWarningCreatePath = 'The path where %s files will be created doesn''t exists.' + sLineBreak +
@@ -1278,8 +1278,15 @@
PathEnvVar: string;
{$ENDIF MSWINDOWS}
begin
- Result := not OptionChecked[joPackages];
- if not Result then
+ Result := True;
+
+ {$IFDEF MSWINDOWS}
+ if (not OptionChecked[joPackages] or (Target.SupportsVCL and not OptionChecked[joVCLPackage])) and
+ Assigned(GUI) and (CLRVersion = '') and not Target.IsTurboExplorer then
+ Result := GUI.Dialog(RsWarningPackageNodeNotSelected, dtConfirmation, [drYes, drNo]) = drYes;
+ {$ENDIF MSWINDOWS}
+
+ if Result and OptionChecked[joPackages] then
begin
Result := True;
if not DirectoryExists(GetBplPath) then
@@ -1321,9 +1328,7 @@
end;
end;
{$ENDIF MSWINDOWS}
- end
- else if Assigned(GUI) and (CLRVersion = '') and not Target.IsTurboExplorer then
- Result := GUI.Dialog(RsWarningPackageNodeNotSelected, dtConfirmation, [drYes, drNo]) = drYes;
+ end;
end;
function SetStaticOptions: Boolean;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-08-13 15:56:44
|
Revision: 2126
http://jcl.svn.sourceforge.net/jcl/?rev=2126&view=rev
Author: outchy
Date: 2007-08-13 08:56:42 -0700 (Mon, 13 Aug 2007)
Log Message:
-----------
kylix compatibility
Modified Paths:
--------------
trunk/jcl/install/JclInstall.pas
trunk/jcl/source/common/JclBorlandTools.pas
Modified: trunk/jcl/install/JclInstall.pas
===================================================================
--- trunk/jcl/install/JclInstall.pas 2007-08-13 10:15:23 UTC (rev 2125)
+++ trunk/jcl/install/JclInstall.pas 2007-08-13 15:56:42 UTC (rev 2126)
@@ -1540,7 +1540,7 @@
SaveDir, Options: string;
begin
SaveDir := GetCurrentDir;
- SetCurrentDir(Distribution.JclPath + 'install\HeaderTest');
+ SetCurrentDir(Format('%sinstall%sHeaderTest', [Distribution.JclPath, DirDelimiter]));
try
Target.BCC32.Options.Clear;
Target.BCC32.Options.Add('-c'); // compile only
@@ -1549,10 +1549,14 @@
Target.BCC32.Options.Add('-a8'); // data alignment
Target.BCC32.Options.Add('-b'); // enum to be at least 4 bytes
Target.BCC32.Options.Add('-k-'); // no standard stack frame
+ {$IFDEF MSWINDOWS}
Target.BCC32.Options.Add('-tWM'); // code format
+ {$ELSE ~ MSWINDOWS}
+ Target.BCC32.Options.Add('-tC'); // code format
+ {$ENDIF ~MSWINDOWS}
Target.BCC32.Options.Add('-w-par'); // warning
Target.BCC32.Options.Add('-w-aus'); // warning
- Target.BCC32.AddPathOption('I', Format('%sinclude;%s%sinclude;%s', [Distribution.JclPath, Target.RootDir, DirDelimiter, Target.VclIncludeDir]));
+ Target.BCC32.AddPathOption('I', Format('%sinclude%s%s%sinclude%s%s', [Distribution.JclPath, DirSeparator, Target.RootDir, DirDelimiter, DirSeparator, Target.VclIncludeDir]));
Target.BCC32.Options.Add('-DTEST_COMMON');
{$IFDEF MSWINDOWS}
Target.BCC32.Options.Add('-DTEST_WINDOWS');
@@ -2423,7 +2427,7 @@
if (bpBCBuilder32 in Target.Personalities) and (CLRVersion = '') then
begin
- Compiler.Options.Add('-D_RTLDLL;NO_STRICT;USEPACKAGES'); // $(SYSDEFINES)
+ Compiler.Options.Add('-D_RTLDLL' + DirSeparator + 'NO_STRICT' + DirSeparator + 'USEPACKAGES'); // $(SYSDEFINES)
if Debug then
UnitOutputDir := FLibDebugDir
else
@@ -2647,7 +2651,7 @@
Target.Bpr2Mak.Options.Add('-t' + ExtractRelativePath(PackageDirectory,Distribution.JclPath + Bcb2MakTemplate));
end;
{$IFDEF KYLIX}
- SetEnvironmentVar('OBJDIR', FLibObjDir);
+ SetEnvironmentVar('OBJDIR', FLibReleaseDir);
SetEnvironmentVar('BPILIBDIR', GetDcpPath);
SetEnvironmentVar('BPLDIR', GetBplPath);
{$ELSE ~KYLIX}
Modified: trunk/jcl/source/common/JclBorlandTools.pas
===================================================================
--- trunk/jcl/source/common/JclBorlandTools.pas 2007-08-13 10:15:23 UTC (rev 2125)
+++ trunk/jcl/source/common/JclBorlandTools.pas 2007-08-13 15:56:42 UTC (rev 2126)
@@ -1064,7 +1064,7 @@
IDs: array [TKylixVersion] of Integer = (60, 65, 69);
LibSuffixes: array [TKylixVersion] of string[3] = ('6.0', '6.5', '6.9');
- BCC32ExeName = 'bcc';
+ BCC32ExeName = 'bc++';
DCC32ExeName = 'dcc';
Bpr2MakExeName = 'bpr2mak';
MakeExeName = 'make';
@@ -2752,7 +2752,14 @@
StringsToStr(PathList, PathSep)]);
end
else
+ begin
+ {$IFDEF KYLIX}
+ // escaping $ chars
+ if (Length(Option) > 2) and (Option[1] = '-') and (Option[2] = '$') then
+ Option := '-\' + Copy(Option, 2, Length(Option) - 1);
+ {$ENDIF KYLIX}
Arguments := Format('%s %s', [Arguments, Option]);
+ end;
end;
finally
PathList.Free;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-08-13 10:15:25
|
Revision: 2125
http://jcl.svn.sourceforge.net/jcl/?rev=2125&view=rev
Author: outchy
Date: 2007-08-13 03:15:23 -0700 (Mon, 13 Aug 2007)
Log Message:
-----------
pgEdit.xml was used by deleted build.exe
Removed Paths:
-------------
trunk/jcl/install/build/pgEdit.xml
Deleted: trunk/jcl/install/build/pgEdit.xml
===================================================================
--- trunk/jcl/install/build/pgEdit.xml 2007-08-13 10:11:06 UTC (rev 2124)
+++ trunk/jcl/install/build/pgEdit.xml 2007-08-13 10:15:23 UTC (rev 2125)
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<Configuration>
- <!-- These are the values stored by jaxStore -->
- <pgEdit/>
- <!--
- The nodes below are read by the generation process.
- Packages are generated according to a model. The models are defined
- below and contain generic informations such as the prefix, the format,
- the location of packages and the location of the include file that
- contains conditional directives (only used for BCB)
- Then each model defines Targets and Aliases as described below:
-
- First, the targets:
-
- The format of each target node is:
- name dir pname pdir env ver defines
-
- name The name of the target, compulsory
- dir The directory where to generate the packages. Defaults to name
- pname The name of the associated Perso target. A perso target
- is the target that will be considered to allow the generation
- of a different package for a version of the target that do not
- support some features (Database generally). Leave empty if there
- are no reason to use this feature.
- pdir The directory for the associated perso target. Defaults to pname
- env A character to identify the development environment. Defaults to
- the first character of name
- ver A character to identify the version of the environment. Defaults
- to the second character of name
- defines A comma separated string to indicate which Conditional
- Compilation symbols are defined as the result of using this
- target so that your include file can enclose some $DEFINE in
- $IFDEF that relate to the compiler being used
- PathSep Indicates which character is to be used as a path separator for
- the target. If not specified, this value defaults to "\"
- IsClx If set to 1 (True), then the target is a CLX target
-
- Then aliases:
-
- The format for each alias node is:
- name value
-
- name the name of the alias
- value the comma separated list of targets this alias will expand to.
- No recursion is done. You don't have to specify the 'all' alias,
- it will be derived from the target list. If you defined some Perso
- target, do not forget to include them in the value for your alias
-
- Finally, CLX filename replacements (see accompanying doc for more details)
-
- The format for each filename node is:
- original replacement
-
- original the prefix to be replaced in file names
- replacement the value to use as a replacement
-
- Be careful, all properties of the model node must exist and the targets and
- aliases children must exist too. If there is no target specified, none will
- be available.
- -->
- <models>
- <model name="JVCL" prefix="Jv" format="%p%n%e%v%t" clxPrefix="JvQ" packages="..\..\packages" incfile="..\..\common\jvcl%t.inc" incdeffile="..\..\common\jvclbase.inc">
- <targets>
- <target name="c5" pname="c5s" pdir="c5std"/>
- <target name="c6" pname="c6p" pdir="c6per"/>
- <target name="d5" pname="d5s" pdir="d5std"/>
- <target name="d6" pname="d6p" pdir="d6per"/>
- <target name="d7" pname="d7p" pdir="d7per"/>
- <target name="d7clx" IsClx="1"/>
- <target name="k3" pname="k3p" pdir="k3per" pathsep="/" IsClx="1"/>
- <target name="d9" pname="d9p" pdir="d9per"/>
- <target name="d10" pname="d10p" pdir="d10per"/>
- <target name="d11"/>
- </targets>
- <aliases>
- <alias name="VCL" value="c5,c5s,d5,d5s,c6,c6p,d6,d6p,d7,d7p,d9,d9p,d10,d10p,d11"/>
- <alias name="VCLv5" value="c5,c5s,d5,d5s"/>
- <alias name="VCLv6up" value="c6,c6p,d6,d6p,d7,d7p,d9,d9p,d10,d10p,d11"/>
- <alias name="D" value="d5,d5s,d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p,d11"/>
- <alias name="Dv5" value="d5,d5s"/>
- <alias name="Dv6up" value="d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p,d11"/>
- <alias name="C" value="c5,c5s,c6,c6p,d10,d10p,d11"/>
- <alias name="Cv5" value="c5,c5s"/>
- <alias name="Cv6up" value="c6,c6p,d10,d10p,d11"/>
- <alias name="DB" value="c5,d5,c6,d6,d7,d9,d10,d11"/>
- <alias name="DBv5" value="c5,d5"/>
- <alias name="DBv6up" value="c6,d6,d7,d9,d10,d11"/>
- <alias name="DBVCL" value="c5,d5,c6,d6,d7,d9,d10,d11"/>
- <alias name="DBVCLv5" value="c5,d5"/>
- <alias name="DBVCLv6up" value="c6,d6,d7,d9,d10,d11"/>
- <alias name="CLX" value="d7clx,k3,k3p"/>
- <alias name="DBCLX" value="d7clx,k3"/>
- <alias name="allv5" value="c5,c5s,d5,d5s"/>
- <alias name="allv6up" value="c6,c6p,d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p,d11"/>
- <alias name="Windows" value="c5,c5s,c6,c6p,d5,d5s,d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p,d11"/>
- <alias name="Linux" value="k3,k3p"/>
- </aliases>
- <ClxReplacements>
- <replacement original="\run\Jv" replacement="\qrun\JvQ"/>
- <replacement original="\design\Jv" replacement="\qdesign\JvQ"/>
- <replacement original="\common\Jv" replacement="\qcommon\JvQ"/>
- </ClxReplacements>
- </model>
- <Model format="%p%n" name="JCL" prefix="Jcl" packages="..\packages" incfile="" nolibsuffixformat="%p%n%e%v0" dotnetprefix="Jedi.Jcl">
- <targets>
- <target name="c5"/>
- <target name="c6"/>
- <target name="d5"/>
- <target name="d6"/>
- <target name="d7"/>
- <target name="d8" IsBds="1"/>
- <target name="cs1" IsBds="1"/>
- <target name="d9" IsBds="1"/>
- <target name="d10" IsBds="1"/>
- <target name="k3" PathSep="/"/>
- <target name="d9.net" IsDotNet="1"/>
- <target name="d10.net" IsDotNet="1"/>
- <target name="d11" IsBds="1"/>
- </targets>
- <aliases>
- <alias name="Delphi" value="d5,d6,d7,d9,d10,d11"/>
- <alias name="Bcb" value="c5,c6,d10,d11"/>
- <alias name="Kylix" value="k3"/>
- <alias name="Windows" value="c5,c6,d5,d6,d7,d9,d10,d11"/>
- <alias name="Linux" value="k3"/>
- <alias name="WinDev" value="c5,c6,d5,d6,d7,d8,d9,d10,cs1,d11"/>
- <alias name="JclDev" value="c5,c6,d5,d6,d7,d8,d9,d10,k3,cs1,d11"/>
- <alias name="DelphiDev" value="d5,d6,d7,d8,d9,d10,d11"/>
- <alias name="WinLibSuffix" value="c6,d6,d7,d8,d9,d10,cs1,d11"/>
- <alias name="allLibSuffix" value="c6,d6,d7,d8,d9,d10,k3,cs1,d11"/>
- <alias name="Clx" value="c6,d6,d7,k3"/>
- <alias name="Vcl" value="c6,d6,d7,d9,d10,d11"/>
- <alias name="Bds" value="cs1,d8,d9,d10,d11"/>
- <alias name="JclDotNet" value="d9.net,d10.net"/>
- </aliases>
- </Model>
- </models>
-</Configuration>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-08-13 10:11:08
|
Revision: 2124
http://jcl.svn.sourceforge.net/jcl/?rev=2124&view=rev
Author: outchy
Date: 2007-08-13 03:11:06 -0700 (Mon, 13 Aug 2007)
Log Message:
-----------
Fix for caption of the "Dual package" option
Fixed typo in dual package option hint
Modified Paths:
--------------
trunk/jcl/install/JclInstall.pas
Modified: trunk/jcl/install/JclInstall.pas
===================================================================
--- trunk/jcl/install/JclInstall.pas 2007-08-12 20:51:37 UTC (rev 2123)
+++ trunk/jcl/install/JclInstall.pas 2007-08-13 10:11:06 UTC (rev 2124)
@@ -498,7 +498,7 @@
RsHintPackages = 'Build and eventually install JCL runtime packages and optional IDE experts.';
RsHintVclPackage = 'Build JCL runtime package containing VCL extensions';
RsHintClxPackage = 'Build JCL runtime package containing Visual CLX extensions';
- RsHintDualPackages = 'The same package introduce component for Delphi Win32 and C++Builder Win32';
+ RsHintDualPackages = 'The same package introduce code for Delphi Win32 and C++Builder Win32';
RsHintCopyPackagesHppFiles = 'Output .hpp files into C++Builder''s include path instead of ' +
'the source paths.';
@@ -1046,10 +1046,10 @@
begin
if (Target.RadToolKind = brBorlandDevStudio) and (Target.VersionNumber >= 4) then
begin
- AddOption(joDualPackages, [goStandAloneParent, goChecked], OptionData[Parent].Id,
+ AddOption(joDualPackages, [goStandAloneParent, goChecked], Parent);
+ AddOption(joCopyPackagesHppFiles, [goChecked], OptionData[joDualPackages].Id,
Format(OptionData[joCopyPackagesHppFiles].Caption, [Target.VclIncludeDir]),
OptionData[joCopyPackagesHppFiles].Hint);
- AddOption(joCopyPackagesHppFiles, [goChecked], joDualPackages);
end
else
AddOption(joCopyPackagesHppFiles, [goChecked], OptionData[Parent].Id,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2007-08-12 20:51:38
|
Revision: 2123
http://jcl.svn.sourceforge.net/jcl/?rev=2123&view=rev
Author: ahuser
Date: 2007-08-12 13:51:37 -0700 (Sun, 12 Aug 2007)
Log Message:
-----------
- Deleted old installer "makefiles"
- Update dcc32ex.exe
Modified Paths:
--------------
trunk/jcl/Install.bat
trunk/jcl/install/build/dcc32ex.dpr
trunk/jcl/install/build/dcc32ex.exe
trunk/jcl/source/common/JclBorlandTools.pas
Removed Paths:
-------------
trunk/jcl/InstallForDelphi.bat
trunk/jcl/QInstall.bat
trunk/jcl/install/build/build.bdsproj
trunk/jcl/install/build/build.dpr
trunk/jcl/install/build/build.exe
trunk/jcl/install/build/makefile.mak
trunk/jcl/install/build/pretest.bat
trunk/jcl/install/makefile.mak
trunk/jcl/install/prototypes.mak
Modified: trunk/jcl/Install.bat
===================================================================
--- trunk/jcl/Install.bat 2007-08-12 19:37:10 UTC (rev 2122)
+++ trunk/jcl/Install.bat 2007-08-12 20:51:37 UTC (rev 2123)
@@ -1,24 +1,41 @@
@echo off
-cd install\build
-call pretest.bat
-if ERRORLEVEL 1 GOTO FINI
-
SET DELPHIVERSION=%1
-if "%1" == "" SET DELPHIVERSION=newest
-build.exe %DELPHIVERSION% "--make=installer"
-if ERRORLEVEL 1 GOTO FINI
+cd install
-echo Launching JCL installer ...
+::jpp prototypes
-start ..\..\bin\JediInstaller.exe
+..\devtools\jpp.exe -c -dVCL -dMSWINDOWS -uVisualCLX -uUnix -uKYLIX -xVclGui\ prototypes\JediGUIMain.pas
+if ERRORLEVEL 1 goto FailedCompile
+..\devtools\jpp.exe -c -dVCL -dMSWINDOWS -uVisualCLX -uUnix -uKYLIX -xVclGui\ prototypes\JediGUIReadme.pas
+if ERRORLEVEL 1 goto FailedCompile
+..\devtools\jpp.exe -c -dVCL -dMSWINDOWS -uVisualCLX -uUnix -uKYLIX -xVclGui\ prototypes\JediGUIInstall.pas
+if ERRORLEVEL 1 goto FailedCompile
+
+
+:: compile installer
+
+build\dcc32ex.exe -q -w -dJCLINSTALL -E..\bin -I..\source -U..\source\common;..\source\windows JediInstaller.dpr
+if ERRORLEVEL 1 goto FailedCompile
+
+
+echo Launching JCL installer...
+
+start ..\bin\JediInstaller.exe %2 %3 %4 %5 %6 %7 %8 %9
if ERRORLEVEL 1 goto FailStart
goto FINI
:FailStart
-..\..\bin\JediInstaller.exe
+..\bin\JediInstaller.exe %2 %3 %4 %5 %6 %7 %8 %9
goto FINI
+:FailedCompile
+echo.
+echo.
+echo An error occured while compiling the installer. Installation aborted.
+echo.
+
:FINI
-cd ..\..
+cd ..
+SET DELPHIVERSION=
Deleted: trunk/jcl/InstallForDelphi.bat
===================================================================
--- trunk/jcl/InstallForDelphi.bat 2007-08-12 19:37:10 UTC (rev 2122)
+++ trunk/jcl/InstallForDelphi.bat 2007-08-12 20:51:37 UTC (rev 2123)
@@ -1,41 +0,0 @@
-@echo off
-
-SET DELPHIVERSION=%1
-
-cd install
-
-::jpp prototypes
-
-..\devtools\jpp.exe -c -dVCL -dMSWINDOWS -uVisualCLX -uUnix -uKYLIX -xVclGui\ prototypes\JediGUIMain.pas
-if ERRORLEVEL 1 goto FailedCompile
-..\devtools\jpp.exe -c -dVCL -dMSWINDOWS -uVisualCLX -uUnix -uKYLIX -xVclGui\ prototypes\JediGUIReadme.pas
-if ERRORLEVEL 1 goto FailedCompile
-..\devtools\jpp.exe -c -dVCL -dMSWINDOWS -uVisualCLX -uUnix -uKYLIX -xVclGui\ prototypes\JediGUIInstall.pas
-if ERRORLEVEL 1 goto FailedCompile
-
-
-:: compile installer
-
-build\dcc32ex.exe -q -w -dJCLINSTALL -E..\bin -I..\source -U..\source\common;..\source\windows JediInstaller.dpr
-if ERRORLEVEL 1 goto FailedCompile
-
-
-echo Launching JCL installer...
-
-start ..\bin\JediInstaller.exe %2 %3 %4 %5 %6 %7 %8 %9
-if ERRORLEVEL 1 goto FailStart
-goto FINI
-
-:FailStart
-..\bin\JediInstaller.exe %2 %3 %4 %5 %6 %7 %8 %9
-goto FINI
-
-:FailedCompile
-echo.
-echo.
-echo An error occured while compiling the installer. Installation aborted.
-echo.
-
-:FINI
-cd ..
-SET DELPHIVERSION=
Deleted: trunk/jcl/QInstall.bat
===================================================================
--- trunk/jcl/QInstall.bat 2007-08-12 19:37:10 UTC (rev 2122)
+++ trunk/jcl/QInstall.bat 2007-08-12 20:51:37 UTC (rev 2123)
@@ -1,13 +0,0 @@
-@echo off
-
-cd install\build
-call pretest.bat
-if ERRORLEVEL 1 GOTO FINI
-
-SET DELPHIVERSION=%1
-if "%1" == "" SET DELPHIVERSION=d7
-
-build.exe %DELPHIVERSION% "--make=qinstaller"
-
-:FINI
-cd ..\..
Deleted: trunk/jcl/install/build/build.bdsproj
===================================================================
--- trunk/jcl/install/build/build.bdsproj 2007-08-12 19:37:10 UTC (rev 2122)
+++ trunk/jcl/install/build/build.bdsproj 2007-08-12 20:51:37 UTC (rev 2123)
@@ -1,175 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<BorlandProject>
- <PersonalityInfo>
- <Option>
- <Option Name="Personality">Delphi.Personality</Option>
- <Option Name="ProjectType">VCLApplication</Option>
- <Option Name="Version">1.0</Option>
- <Option Name="GUID">{4A16833B-0483-4C72-975B-B85D1B94DC58}</Option>
- </Option>
- </PersonalityInfo>
- <Delphi.Personality>
- <Source>
- <Source Name="MainSource">build.dpr</Source>
- </Source>
- <FileVersion>
- <FileVersion Name="Version">7.0</FileVersion>
- </FileVersion>
- <Compiler>
- <Compiler Name="A">8</Compiler>
- <Compiler Name="B">0</Compiler>
- <Compiler Name="C">1</Compiler>
- <Compiler Name="D">1</Compiler>
- <Compiler Name="E">0</Compiler>
- <Compiler Name="F">0</Compiler>
- <Compiler Name="G">1</Compiler>
- <Compiler Name="H">1</Compiler>
- <Compiler Name="I">1</Compiler>
- <Compiler Name="J">0</Compiler>
- <Compiler Name="K">0</Compiler>
- <Compiler Name="L">1</Compiler>
- <Compiler Name="M">0</Compiler>
- <Compiler Name="N">1</Compiler>
- <Compiler Name="O">1</Compiler>
- <Compiler Name="P">1</Compiler>
- <Compiler Name="Q">0</Compiler>
- <Compiler Name="R">0</Compiler>
- <Compiler Name="S">0</Compiler>
- <Compiler Name="T">0</Compiler>
- <Compiler Name="U">0</Compiler>
- <Compiler Name="V">1</Compiler>
- <Compiler Name="W">0</Compiler>
- <Compiler Name="X">1</Compiler>
- <Compiler Name="Y">1</Compiler>
- <Compiler Name="Z">1</Compiler>
- <Compiler Name="ShowHints">True</Compiler>
- <Compiler Name="ShowWarnings">True</Compiler>
- <Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler>
- <Compiler Name="NamespacePrefix"></Compiler>
- <Compiler Name="GenerateDocumentation">False</Compiler>
- <Compiler Name="DefaultNamespace"></Compiler>
- <Compiler Name="SymbolDeprecated">True</Compiler>
- <Compiler Name="SymbolLibrary">True</Compiler>
- <Compiler Name="SymbolPlatform">True</Compiler>
- <Compiler Name="SymbolExperimental">True</Compiler>
- <Compiler Name="UnitLibrary">True</Compiler>
- <Compiler Name="UnitPlatform">True</Compiler>
- <Compiler Name="UnitDeprecated">True</Compiler>
- <Compiler Name="UnitExperimental">True</Compiler>
- <Compiler Name="HResultCompat">True</Compiler>
- <Compiler Name="HidingMember">True</Compiler>
- <Compiler Name="HiddenVirtual">True</Compiler>
- <Compiler Name="Garbage">True</Compiler>
- <Compiler Name="BoundsError">True</Compiler>
- <Compiler Name="ZeroNilCompat">True</Compiler>
- <Compiler Name="StringConstTruncated">True</Compiler>
- <Compiler Name="ForLoopVarVarPar">True</Compiler>
- <Compiler Name="TypedConstVarPar">True</Compiler>
- <Compiler Name="AsgToTypedConst">True</Compiler>
- <Compiler Name="CaseLabelRange">True</Compiler>
- <Compiler Name="ForVariable">True</Compiler>
- <Compiler Name="ConstructingAbstract">True</Compiler>
- <Compiler Name="ComparisonFalse">True</Compiler>
- <Compiler Name="ComparisonTrue">True</Compiler>
- <Compiler Name="ComparingSignedUnsigned">True</Compiler>
- <Compiler Name="CombiningSignedUnsigned">True</Compiler>
- <Compiler Name="UnsupportedConstruct">True</Compiler>
- <Compiler Name="FileOpen">True</Compiler>
- <Compiler Name="FileOpenUnitSrc">True</Compiler>
- <Compiler Name="BadGlobalSymbol">True</Compiler>
- <Compiler Name="DuplicateConstructorDestructor">True</Compiler>
- <Compiler Name="InvalidDirective">True</Compiler>
- <Compiler Name="PackageNoLink">True</Compiler>
- <Compiler Name="PackageThreadVar">True</Compiler>
- <Compiler Name="ImplicitImport">True</Compiler>
- <Compiler Name="HPPEMITIgnored">True</Compiler>
- <Compiler Name="NoRetVal">True</Compiler>
- <Compiler Name="UseBeforeDef">True</Compiler>
- <Compiler Name="ForLoopVarUndef">True</Compiler>
- <Compiler Name="UnitNameMismatch">True</Compiler>
- <Compiler Name="NoCFGFileFound">True</Compiler>
- <Compiler Name="ImplicitVariants">True</Compiler>
- <Compiler Name="UnicodeToLocale">True</Compiler>
- <Compiler Name="LocaleToUnicode">True</Compiler>
- <Compiler Name="ImagebaseMultiple">True</Compiler>
- <Compiler Name="SuspiciousTypecast">True</Compiler>
- <Compiler Name="PrivatePropAccessor">True</Compiler>
- <Compiler Name="UnsafeType">False</Compiler>
- <Compiler Name="UnsafeCode">False</Compiler>
- <Compiler Name="UnsafeCast">False</Compiler>
- <Compiler Name="OptionTruncated">True</Compiler>
- <Compiler Name="WideCharReduced">True</Compiler>
- <Compiler Name="DuplicatesIgnored">True</Compiler>
- <Compiler Name="UnitInitSeq">True</Compiler>
- <Compiler Name="LocalPInvoke">True</Compiler>
- <Compiler Name="MessageDirective">True</Compiler>
- <Compiler Name="CodePage"></Compiler>
- </Compiler>
- <Linker>
- <Linker Name="MapFile">0</Linker>
- <Linker Name="OutputObjs">0</Linker>
- <Linker Name="GenerateHpps">False</Linker>
- <Linker Name="ConsoleApp">1</Linker>
- <Linker Name="DebugInfo">False</Linker>
- <Linker Name="RemoteSymbols">False</Linker>
- <Linker Name="GenerateDRC">False</Linker>
- <Linker Name="MinStackSize">16384</Linker>
- <Linker Name="MaxStackSize">1048576</Linker>
- <Linker Name="ImageBase">4194304</Linker>
- <Linker Name="ExeDescription"></Linker>
- </Linker>
- <Directories>
- <Directories Name="OutputDir"></Directories>
- <Directories Name="UnitOutputDir"></Directories>
- <Directories Name="PackageDLLOutputDir"></Directories>
- <Directories Name="PackageDCPOutputDir"></Directories>
- <Directories Name="SearchPath"></Directories>
- <Directories Name="Packages"></Directories>
- <Directories Name="Conditionals">JCL</Directories>
- <Directories Name="DebugSourceDirs"></Directories>
- <Directories Name="UsePackages">False</Directories>
- </Directories>
- <Parameters>
- <Parameters Name="RunParams">newest "--make=installer"</Parameters>
- <Parameters Name="HostApplication"></Parameters>
- <Parameters Name="Launcher"></Parameters>
- <Parameters Name="UseLauncher">False</Parameters>
- <Parameters Name="DebugCWD"></Parameters>
- <Parameters Name="Debug Symbols Search Path"></Parameters>
- <Parameters Name="LoadAllSymbols">True</Parameters>
- <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
- </Parameters>
- <Language>
- <Language Name="ActiveLang"></Language>
- <Language Name="ProjectLang">$00000000</Language>
- <Language Name="RootDir"></Language>
- </Language>
- <VersionInfo>
- <VersionInfo Name="IncludeVerInfo">False</VersionInfo>
- <VersionInfo Name="AutoIncBuild">False</VersionInfo>
- <VersionInfo Name="MajorVer">1</VersionInfo>
- <VersionInfo Name="MinorVer">0</VersionInfo>
- <VersionInfo Name="Release">0</VersionInfo>
- <VersionInfo Name="Build">0</VersionInfo>
- <VersionInfo Name="Debug">False</VersionInfo>
- <VersionInfo Name="PreRelease">False</VersionInfo>
- <VersionInfo Name="Special">False</VersionInfo>
- <VersionInfo Name="Private">False</VersionInfo>
- <VersionInfo Name="DLL">False</VersionInfo>
- <VersionInfo Name="Locale">1031</VersionInfo>
- <VersionInfo Name="CodePage">1252</VersionInfo>
- </VersionInfo>
- <VersionInfoKeys>
- <VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
- <VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
- <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
- <VersionInfoKeys Name="InternalName"></VersionInfoKeys>
- <VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
- <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
- <VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
- <VersionInfoKeys Name="ProductName"></VersionInfoKeys>
- <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
- <VersionInfoKeys Name="Comments"></VersionInfoKeys>
- </VersionInfoKeys>
- </Delphi.Personality>
-</BorlandProject>
Deleted: trunk/jcl/install/build/build.dpr
===================================================================
--- trunk/jcl/install/build/build.dpr 2007-08-12 19:37:10 UTC (rev 2122)
+++ trunk/jcl/install/build/build.dpr 2007-08-12 20:51:37 UTC (rev 2123)
@@ -1,1261 +0,0 @@
-{-----------------------------------------------------------------------------
-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/MPL-1.1.html
-
-Software distributed under the License is distributed on an "AS IS" basis,
-WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for
-the specific language governing rights and limitations under the License.
-
-The Original Code is: BuildTarget.pas, released on 2004-03-25.
-
-The Initial Developer of the Original Code is Andreas Hausladen
-Portions created by Andreas Hausladen are Copyright (C) 2004 Andreas Hausladen
-All Rights Reserved.
-
-Contributor(s):
-
-You may retrieve the latest version of this file at the Project JEDI's JVCL home page,
-located at http://jvcl.sourceforge.net
-
-Known Issues:
------------------------------------------------------------------------------}
-// $Id$
-
-program build;
-
-{$APPTYPE CONSOLE}
-
-{ build.exe setups the environment for a Delphi compiler }
-
-uses
- Windows, ShlObj;
-
-type
- TOption = record
- Name: string;
- Env: string;
- Default: string;
- end;
-
-{$IFDEF JCL}
-const
- LibraryName = 'JCL';
- LibraryRootDirRelativeToBuild = 2; // means: '..\..'
- pgEditFile = 'install\build\pgEdit.xml'; // relative to the Library-Directory
- ExtraOptions: array[0..0] of TOption = (
- (Name: ''; Env: ''; Default: '')
- );
- PackageGroupName = 'JclPackages*0';
-{$ENDIF JCL}
-{$IFDEF JVCL}
-const
- LibraryName = 'JVCL';
- LibraryRootDirRelativeToBuild = 2; // means: '..\..'
- pgEditFile = 'devtools\bin\pgEdit.xml'; // relative to the Library-Directory
- ExtraOptions: array[0..0] of TOption = (
- (Name: 'jcl-path'; Env: 'JCLROOT'; Default: '..\..\..\jcl')
- );
- PackageGroupName = '* Packages';
-{$ENDIF JVCL}
-
-{$IFNDEF JCL}
- {$IFNDEF JVCL}
- {$IFDEF MSWINDOWS}
- {$Message Fatal 'Neither JCL nor JVCL is defined'}
- {$ENDIF MSWINDOWS}
- {$ENDIF ~JVCL}
-{$ENDIF ~JCL}
-
-type
- TTarget = record
- Name: string;
- PerName: string;
- PerDir: string;
- end;
-
-const // keep in sync with JVCL Installer's DelphiData.pas
- BDSVersions: array[1..5] of record
- Name: string;
- VersionStr: string;
- Version: Integer;
- CIV: string; // coreide version
- ProjectDirResId: Integer;
- Supported: Boolean;
- end = (
- (Name: 'C#Builder'; VersionStr: '1.0'; Version: 1; CIV: '71'; ProjectDirResId: 64507; Supported: False),
- (Name: 'Delphi'; VersionStr: '8'; Version: 8; CIV: '71'; ProjectDirResId: 64460; Supported: False),
- (Name: 'Delphi'; VersionStr: '2005'; Version: 9; CIV: '90'; ProjectDirResId: 64431; Supported: True),
- (Name: 'Borland Developer Studio'; VersionStr: '2006'; Version: 10; CIV: '100'; ProjectDirResId: 64719; Supported: True),
- (Name: 'CodeGear RAD Studio'; VersionStr: '2007'; Version: 11; CIV: '110'; ProjectDirResId: 64719; Supported: True)
- );
-
-type
- TEditionTyp = (Delphi, BCB, BDS);
-
- TEdition = class(TObject)
- private
- FMainName: string; // d7
- FName: string; // d7p ( with/-out personal "p" )
-
- FRootDir: string;
- FBplDir: string;
- FDcpDir: string;
- FLibDir: string;
- FIsPersonal: Boolean;
- FIsCLX: Boolean;
-
- function GetBDSProjectsDir: string;
- procedure ReadRegistryData;
- public
- Typ: TEditionTyp;
- VersionStr: string; // '9' for BDS 3.0
- Version: Integer; // 9 for BDS 3.0
- IDEVersionStr: string; // '3' for BDS 3.0
- IDEVersion: Integer; // 3 for BDS 3.0
- PkgDir: string; // d7 / d7per
- public
- constructor Create(const AEditionName, PerDirName: string);
-
- property RootDir: string read FRootDir;
- property BDSProjectsDir: string read GetBDSProjectsDir;
- property BplDir: string read FBplDir;
- property DcpDir: string read FDcpDir;
- property LibDir: string read FLibDir;
-
- property MainName: string read FMainName;
- property Name: string read FName;
- property IsPersonal: Boolean read FIsPersonal;
- property IsCLX: Boolean read FIsCLX;
- end;
-
-var
- LibraryRootDir: string;
- DxgettextDir: string = '';
- ExtraUnitDirs: string = '';
- MakeOptions: string = '';
- Verbose: Boolean = False;
- Force: Boolean = False; // force even if the target is not installed
- DccOpt: string = '-Q -M';
- UserLibDir, UserDcpDir, UserBplDir: string;
-
- Targets: array of TTarget = nil;
- Editions: array of TEdition = nil;
-
-{ Helper functions because no SysUtils unit is used. }
-{******************************************************************************}
-function ExtractFileDir(const S: string): string;
-var
- ps: Integer;
-begin
- ps := Length(S);
- while (ps > 1) and (S[ps] <> '\') do
- Dec(ps);
- Result := Copy(S, 1, ps - 1);
-end;
-{******************************************************************************}
-function ExcludeTrailingPathDelimiter(const S: string): string;
-begin
- if (S <> '') and (S[Length(S)] = '\') then
- Result := Copy(S, 1, Length(S) - 1)
- else
- Result := S;
-end;
-{******************************************************************************}
-function StrLen(P: PChar): Integer;
-begin
- Result := 0;
- while P[Result] <> #0 do
- Inc(Result);
-end;
-{******************************************************************************}
-function StrToInt(const S: string): Integer;
-var
- Error: Integer;
-begin
- Val(S, Result, Error);
-end;
-{******************************************************************************}
-function IntToStr(Value: Integer): string;
-begin
- Str(Value, Result);
-end;
-{******************************************************************************}
-function SameText(const S1, S2: string): Boolean;
-var
- i, len: Integer;
-begin
- Result := False;
- len := Length(S1);
- if len = Length(S2) then
- begin
- for i := 1 to len do
- if UpCase(S1[i]) <> UpCase(S2[i]) then
- Exit;
- Result := True;
- end;
-end;
-{******************************************************************************}
-function StartsText(const SubStr, S: string): Boolean;
-var
- i, len: Integer;
-begin
- Result := False;
- len := Length(SubStr);
- if len <= Length(S) then
- begin
- for i := 1 to len do
- if UpCase(SubStr[i]) <> UpCase(S[i]) then
- Exit;
- Result := True;
- end;
-end;
-{******************************************************************************}
-function GetEnvironmentVariable(const Name: string): string;
-begin
- SetLength(Result, 8 * 1024);
- SetLength(Result, Windows.GetEnvironmentVariable(PChar(Name), PChar(Result), Length(Result)));
-end;
-{******************************************************************************}
-function FileExists(const Filename: string): Boolean;
-var
- attr: Cardinal;
-begin
- attr := GetFileAttributes(PChar(Filename));
- Result := (attr <> $FFFFFFFF) and (attr and FILE_ATTRIBUTE_DIRECTORY = 0);
-end;
-{******************************************************************************}
-function DirectoryExists(const Filename: string): Boolean;
-var
- attr: Cardinal;
-begin
- attr := GetFileAttributes(PChar(Filename));
- Result := (attr <> $FFFFFFFF) and (attr and FILE_ATTRIBUTE_DIRECTORY <> 0);
-end;
-{******************************************************************************}
-function Execute(const Cmd: string): Integer;
-var
- ProcessInfo: TProcessInformation;
- StartupInfo: TStartupInfo;
-begin
- StartupInfo.cb := SizeOf(StartupInfo);
- GetStartupInfo(StartupInfo);
- if CreateProcess(nil, PChar(Cmd), nil, nil, True, 0, nil,
- PChar(ExtractFileDir(ParamStr(0))), StartupInfo, ProcessInfo) then
- begin
- CloseHandle(ProcessInfo.hThread);
- WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
- GetExitCodeProcess(ProcessInfo.hProcess, Cardinal(Result));
- CloseHandle(ProcessInfo.hProcess);
- end
- else
- Result := -1;
-end;
-{******************************************************************************}
-function GetWindowsDir: string;
-begin
- SetLength(Result, MAX_PATH);
- SetLength(Result, GetWindowsDirectory(PChar(Result), Length(Result)));
-end;
-{******************************************************************************}
-function GetSystemDir: string;
-begin
- SetLength(Result, MAX_PATH);
- SetLength(Result, GetSystemDirectory(PChar(Result), Length(Result)));
-end;
-{******************************************************************************}
-
-{ a very small XML parser }
-type
- IAttr = interface
- function Name: string;
- function Value: string;
- end;
-
- ITag = interface
- function Name: string;
- function Attrs(const Name: string): IAttr;
- end;
-
- TXmlFile = class(TObject)
- private
- FText: string;
- FPosition: Integer;
- public
- constructor Create(const Filename: string);
- function NextTag: ITag;
- end;
-
- TTag = class(TInterfacedObject, ITag)
- private
- FText: string;
- public
- constructor Create(const AText: string);
- function Name: string;
- function Attrs(const Name: string): IAttr;
- end;
-
- TAttr = class(TInterfacedObject, IAttr)
- private
- FText: string;
- public
- constructor Create(const AText: string);
- function Name: string;
- function Value: string;
- end;
-
-{******************************************************************************}
-{ TXmlFile }
-
-constructor TXmlFile.Create(const Filename: string);
-var
- f: file of Byte;
-begin
- inherited Create;
- FileMode := 0;
- AssignFile(f, Filename);
- Reset(f);
- SetLength(FText, FileSize(f));
- BlockRead(f, FText[1], FileSize(f));
- CloseFile(f);
- FPosition := 0;
-end;
-{******************************************************************************}
-function TXmlFile.NextTag: ITag;
-var
- F, P: PChar;
- InStr1, InStr2: Boolean;
- S: string;
-begin
- InStr1 := False;
- InStr2 := False;
- if FPosition >= Length(FText) then
- begin
- Result := nil;
- Exit;
- end;
-
- P := PChar(FText) + FPosition;
- while (P[0] <> #0) and (P[0] <> '<') do
- Inc(P);
- if P[0] <> #0 then
- begin
- if P[1] = '!' then // comment
- begin
- while (P[0] <> #0) do
- begin
- if (P[0] = '-') and (P[1] = '-') and (P[2] = '>') then
- Break;
- Inc(P);
- end;
- FPosition := P - PChar(FText);
- Result := NextTag;
- Exit;
- end;
- F := P;
- while True do
- begin
- case P[0] of
- #0:
- Break;
- '>':
- if not (InStr1 or InStr2) then
- begin
- SetString(S, F + 1, P - F - 1);
- Result := TTag.Create(S);
- Inc(P);
- Break;
- end;
- '''':
- InStr1 := not InStr1;
- '"':
- InStr2 := not InStr2;
- end;
- Inc(P);
- end;
- end;
- FPosition := P - PChar(FText);
-end;
-{******************************************************************************}
-{ TTag }
-
-constructor TTag.Create(const AText: string);
-begin
- inherited Create;
- FText := AText;
-end;
-{******************************************************************************}
-function TTag.Name: string;
-var
- ps: Integer;
-begin
- ps := Pos(' ', FText);
- if ps = 0 then
- Result := FText
- else
- Result := Copy(FText, 1, ps - 1);
-end;
-{******************************************************************************}
-function TTag.Attrs(const Name: string): IAttr;
-var
- ps: Integer;
- InStr1, InStr2: Boolean;
- F, P: PChar;
- S: string;
-begin
- Result := TAttr.Create('');
- ps := Pos(' ', FText);
- if ps = 0 then
- Exit;
- P := PChar(FText) + ps;
- while P[0] <> #0 do
- begin
- while P[0] in [#1..#32] do
- Inc(P);
- if P[0] = #0 then
- Break;
- F := P;
- InStr1 := False;
- InStr2 := False;
- while True do
- begin
- case P[0] of
- #0, #9, #32, '/':
- if not (InStr1 or InStr2) or (P[0] = #0) then
- begin
- SetString(S, F, P - F);
- Result := TAttr.Create(S);
- if SameText(Result.Name, Name) then
- Exit;
- Inc(P);
- Break;
- end;
- '''':
- InStr1 := not InStr1;
- '"':
- InStr2 := not InStr2;
- end;
- Inc(P);
- end;
- end;
- Result := TAttr.Create('');
-end;
-{******************************************************************************}
-{ TAttr }
-
-constructor TAttr.Create(const AText: string);
-begin
- inherited Create;
- FText := AText;
-end;
-{******************************************************************************}
-function TAttr.Name: string;
-var
- ps: Integer;
-begin
- ps := Pos('=', FText);
- if ps = 0 then
- Result := FText
- else
- Result := Copy(FText, 1, ps - 1);
-end;
-{******************************************************************************}
-function TAttr.Value: string;
-var
- ps: Integer;
-begin
- ps := Pos('=', FText);
- if ps = 0 then
- Result := ''
- else
- begin
- Result := Copy(FText, ps + 1, MaxInt);
- if (Result <> '') and (Result[1] in ['''', '"']) then
- begin
- Delete(Result, 1, 1);
- Delete(Result, Length(Result), 1);
- end;
- end;
-end;
-{******************************************************************************}
-function AsterixMacro(const S, AsterixRepl: string): string;
-var
- I: Integer;
-begin
- Result := S;
- I := Pos('*', Result);
- if I > 0 then
- begin
- Delete(Result, I, 1);
- Insert(AsterixRepl, Result, I);
- end;
-end;
-{******************************************************************************}
-procedure LoadTargetNames;
-var
- xml: TXmlFile;
- tg: ITag;
-begin
- xml := TXmlFile.Create(LibraryRootDir + '\' + pgEditFile);
- try
- tg := xml.NextTag;
- while tg <> nil do
- begin
- if SameText(tg.Name, 'model') and SameText(tg.Attrs('name').Value, LibraryName) then
- begin
- tg := xml.NextTag;
- while not SameText(tg.Name, 'targets') do
- tg := xml.NextTag;
- while not SameText(tg.Name, '/targets') do
- begin
- if SameText(tg.Name, 'target') then
- begin
- if DirectoryExists(LibraryRootDir + '\packages\' + tg.Attrs('name').Value) then
- begin
- SetLength(Targets, Length(Targets) + 1); // we do not have 10tnds iterations so this is acceptable
- with Targets[High(Targets)] do
- begin
- Name := tg.Attrs('name').Value;
- PerName := tg.Attrs('pname').Value;
- PerDir := tg.Attrs('pdir').Value;
- end;
- end;
- end;
- tg := xml.NextTag;
- end;
- Break; // we only want the "LibraryName" part
- end;
- tg := xml.NextTag;
- end;
- finally
- xml.Free;
- end;
-end;
-{******************************************************************************}
-{ TEdition }
-
-constructor TEdition.Create(const AEditionName, PerDirName: string);
-var
- Index: Integer;
-begin
- if UpCase(AEditionName[1]) = 'D' then
- Typ := Delphi
- else
- Typ := BCB;
-
- VersionStr := AEditionName[2];
- if (Length(AEditionName) > 2) and (AEditionName[3] in ['0'..'9']) then
- begin
- VersionStr := VersionStr + AEditionName[3];
- Index := 4;
- end
- else
- Index := 3;
-
- Version := StrToInt(VersionStr);
- IDEVersionStr := VersionStr;
- IDEVersion := Version;
-
- if Version > 7 then
- begin
- Typ := BDS;
- IDEVersion := Version - 6; // D 8 = BDS 2
- IDEVersionStr := IntToStr(IDEVersion);
- end;
-
- FMainName := Copy(AEditionName, 1, Index - 1);
- FName := AEditionName;
- PkgDir := AEditionName;
-
- FIsCLX := SameText('clx', Copy(AEditionName, Index, 3));
- FIsPersonal := False;
- if Length(AEditionName) > Index then
- begin
- if (UpCase(AEditionName[Index]) = 'P') or (UpCase(AEditionName[Index]) = 'S') then
- begin
- FIsPersonal := True;
- PkgDir := PerDirName
- end;
- end;
-
- ReadRegistryData;
-end;
-{******************************************************************************}
-procedure TEdition.ReadRegistryData;
-var
- KeyName: string;
- Reg: HKEY;
- RegTyp: LongWord;
- ProjectsDir: string;
-
- function ReadStr(const Name: string): string;
- var
- Len: Longint;
- begin
- Len := MAX_PATH;
- SetLength(Result, MAX_PATH);
- RegQueryValueEx(Reg, PChar(Name), nil, @RegTyp, PByte(Result), @Len);
- SetLength(Result, StrLen(PChar(Result)));
- end;
-
- function ResolveMacros(const Dir: string): string;
- var
- ps, psEnd: Integer;
- S: string;
- begin
- if StartsText('$(DELPHI)', Dir) then
- Result := FRootDir + Copy(Dir, 10, MaxInt)
- else if StartsText('$(BCB)', Dir) then
- Result := FRootDir + Copy(Dir, 7, MaxInt)
- else if StartsText('$(BDS)', Dir) then
- Result := FRootDir + Copy(Dir, 7, MaxInt)
- else if StartsText('$(BDSPROJECTSDIR)', Dir) then
- Result := GetBDSProjectsDir + Copy(Dir, 18, MaxInt)
- else
- begin
- Result := Dir;
- ps := Pos('$(', Result);
- if ps > 0 then
- begin
- psEnd := Pos(')', Result);
- if psEnd > 0 then
- begin
- S := Copy(Result, ps + 2, psEnd - ps - 2);
- if S <> '' then
- begin
- Delete(Result, ps, 2 + Length(S) + 1);
- Insert(GetEnvironmentVariable(S), Result, ps);
- end
- end;
- end;
- end
- end;
-
-begin
- case Typ of
- Delphi:
- KeyName := 'Software\Borland\Delphi\' + IDEVersionStr + '.0';
- BCB:
- KeyName := 'Software\Borland\C++Builder\' + IDEVersionStr + '.0';
- BDS:
- KeyName := 'Software\Borland\BDS\' + IDEVersionStr + '.0';
- end;
-
- if RegOpenKeyEx(HKEY_LOCAL_MACHINE, PChar(KeyName), 0, KEY_QUERY_VALUE or KEY_READ, Reg) = ERROR_SUCCESS then
- begin
- FRootDir := ExcludeTrailingPathDelimiter(ReadStr('RootDir'));
- RegCloseKey(Reg);
- end;
-
- if Typ = BDS then
- ProjectsDir := GetBDSProjectsDir
- else
- ProjectsDir := FRootDir + '\Projects';
-
- FDcpDir := ProjectsDir + '\Bpl';
- FBplDir := ProjectsDir + '\Bpl';
- if Typ = BCB then
- FLibDir := ProjectsDir + '\Lib'
- else
- FLibDir := ProjectsDir + '\Bpl';
-
- if RegOpenKeyEx(HKEY_CURRENT_USER, PChar(KeyName + '\Library'), 0, KEY_QUERY_VALUE or KEY_READ, Reg) = ERROR_SUCCESS then
- begin
- FDcpDir := ResolveMacros(ExcludeTrailingPathDelimiter(ReadStr('Package DCP Output')));
- FBplDir := ResolveMacros(ExcludeTrailingPathDelimiter(ReadStr('Package DPL Output')));
- RegCloseKey(Reg);
- end;
-end;
-{******************************************************************************}
-function TEdition.GetBDSProjectsDir: string;
-var
- h: HMODULE;
- LocaleName: array[0..4] of Char;
- Filename: string;
- PersDir: string;
-begin
- if (Typ = BDS) and (IDEVersion >= Low(BDSVersions)) and (IDEVersion <= High(BDSVersions)) then
- begin
- Result := 'Borland Studio Projects'; // do not localize
-
- FillChar(LocaleName, SizeOf(LocaleName[0]), 0);
- GetLocaleInfo(GetThreadLocale, LOCALE_SABBREVLANGNAME, LocaleName, SizeOf(LocaleName));
- if LocaleName[0] <> #0 then
- begin
- Filename := RootDir + '\Bin\coreide' + BDSVersions[IDEVersion].CIV + '.';
- if FileExists(Filename + LocaleName) then
- Filename := Filename + LocaleName
- else
- begin
- LocaleName[2] := #0;
- if FileExists(Filename + LocaleName) then
- Filename := Filename + LocaleName
- else
- Filename := '';
- end;
-
- if Filename <> '' then
- begin
- h := LoadLibraryEx(PChar(Filename), 0,
- LOAD_LIBRARY_AS_DATAFILE or DONT_RESOLVE_DLL_REFERENCES);
- if h <> 0 then
- begin
- SetLength(Result, 1024);
- SetLength(Result, LoadString(h, BDSVersions[IDEVersion].ProjectDirResId, PChar(Result), Length(Result) - 1));
- FreeLibrary(h);
- end;
- end;
- end;
-
- SetLength(PersDir, MAX_PATH);
- if SHGetSpecialFolderPath(0, PChar(PersDir), CSIDL_PERSONAL, False) then
- begin
- SetLength(PersDir, StrLen(PChar(PersDir)));
- Result := ExcludeTrailingPathDelimiter(PersDir) + '\' + Result;
- end
- else
- Result := '';
- end
- else
- Result := '';
-end;
-{******************************************************************************}
-procedure FindDxgettext(Version: Integer);
-var
- reg: HKEY;
- len: Longint;
- RegTyp: LongWord;
- i: Integer;
- S: string;
-begin
- // dxgettext detection
- if RegOpenKeyEx(HKEY_CLASSES_ROOT, 'bplfile\Shell\Extract strings\Command', 0, KEY_QUERY_VALUE or KEY_READ, reg) <> ERROR_SUCCESS then
- Exit;
- SetLength(S, MAX_PATH);
- len := MAX_PATH;
- RegQueryValueEx(reg, '', nil, @RegTyp, PByte(S), @len);
- SetLength(S, StrLen(PChar(S)));
- RegCloseKey(reg);
-
- if S <> '' then
- begin
- if S[1] = '"' then
- begin
- Delete(S, 1, 1);
- i := 1;
- while (i <= Length(S)) and (S[i] <> '"') do
- Inc(i);
- SetLength(S, i - 1);
- end;
- S := ExtractFileDir(S);
- DxgettextDir := S;
- if not FileExists(DxgettextDir + '\msgfmt.exe') then
- DxgettextDir := ''
- else
- begin
- if Version = 5 then
- S := S + '\delphi5';
- ExtraUnitDirs := ExtraUnitDirs + ';' + S;
- end;
- end;
-end;
-{******************************************************************************}
-function TargetIndexOfEdition(const ed: string): Integer;
-begin
- for Result := 0 to High(Targets) do
- if SameText(Targets[Result].Name, ed) or SameText(Targets[Result].PerName, ed) then
- Exit;
- Result := -1;
-end;
-{******************************************************************************}
-procedure AddEdition(const ed: string);
-var
- I: Integer;
-begin
- if ed = '' then
- Exit;
- if SameText(ed, 'k3') then // build.exe is for Windows only (maybe CrossKylix)
- Exit;
- for I := 0 to High(Editions) do
- if SameText(Editions[i].Name, ed) then
- Exit;
-
- I := TargetIndexOfEdition(ed);
- if I >= 0 then
- begin
- SetLength(Editions, Length(Editions) + 1);
- Editions[High(Editions)] := TEdition.Create(ed, Targets[I].PerDir);
- end;
-end;
-{******************************************************************************}
-procedure AddAllEditions(AddPersonal: Boolean);
-var
- i: Integer;
-begin
- Editions := nil;
- for i := 0 to High(Targets) do
- begin
- AddEdition(Targets[i].Name);
- if AddPersonal then
- AddEdition(Targets[i].PerName);
- end;
-end;
-{******************************************************************************}
-function GetNewestEdition: TEdition;
-var
- I: Integer;
- ed: TEdition;
-begin
- Result := TEdition.Create('d5', '');
- for I := High(Targets) downto 0 do
- begin
- ed := TEdition.Create(Targets[I].Name, Targets[I].PerDir);
- try
- if ed.Version >= Result.Version then
- begin
- if (Result.Version < ed.Version) or
- { prefer Delphi version instead of C++Builder version: }
- ((Result.Typ = BCB) and (ed.Typ <> BCB)) or
- { prefer the new version if the result is not valid (no root set) }
- (Result.RootDir = '') then
- begin
- if ed.IsCLX then
- Continue; // this is not a valid version
-
- if (ed.RootDir <> '') and FileExists(ed.RootDir + '\bin\dcc32.exe') then
- begin
- Result.Free;
- Result := ed;
- ed := nil;
- end
- end;
- end;
- finally
- ed.Free;
- end;
- end;
-end;
-{******************************************************************************}
-function GetNewestEditionName: string;
-var
- ed: TEdition;
-begin
- ed := GetNewestEdition;
- try
- if ed <> nil then
- Result := ed.Name
- else
- Result := '';
- finally
- ed.Free;
- end;
-end;
-{******************************************************************************}
-procedure AddNewestEdition;
-begin
- Editions := nil;
- AddEdition(GetNewestEditionName);
-end;
-{******************************************************************************}
-procedure Help;
-var
- I: Integer;
-begin
- AddAllEditions(True);
- WriteLn('build.exe setups the environment for the given targets and executes the');
- WriteLn('make file that does the required actions.');
- WriteLn;
- WriteLn('build.exe [TARGET] [OPTIONS]');
- WriteLn(' TARGETS:');
-
- Write(' ');
- for I := 0 to High(Editions) - 1 do
- Write(Editions[I].Name, ', ');
- if Length(Editions) > 0 then
- WriteLn(Editions[High(Editions)].Name);
- //WriteLn(' c5, c6, c6p, d5, d5s, d6, d6p, d7, d7p, d7clx, d9');
-
- WriteLn;
- WriteLn(' OPTIONS:');
- WriteLn(' --make=X X will be added to the make command line.');
- WriteLn(' --dcc-opt=X sets the DCCOPT environment variable to X.');
- WriteLn(' --bpl-path=X sets the BPLDIR and DCPDIR environment variable to X.');
- WriteLn(' --lib-path=X sets the LIBDIR environment variable to X (BCB only).');
- WriteLn(' --hpp-path=X sets the HPPDIR environment variable to X (BCB only).');
- WriteLn(' Defaults to $(ROOT)\Include\Vcl');
- WriteLn(' Set this to an empty string if you want the hpp files to');
- WriteLn(' be left in the same directory as their source pas file.');
-
- for I := 0 to High(ExtraOptions) do
- if ExtraOptions[I].Name <> '' then
- WriteLn(' --', ExtraOptions[I].Name, '=X sets the ', ExtraOptions[I].Env, ' environment variable to X.');
-
- WriteLn(' --targets=X sets the TARGETS environment variable to X. Only these .bpl');
- WriteLn(' files will be compiled.');
- WriteLn(' (Example:');
- WriteLn(' buildtarget "--targets=JvCoreD7R.bpl JvCoreD7R.bpl" )');
- WriteLn;
- WriteLn(' --build forces the Delphi compiler to build the targets.');
- WriteLn(' --force Compile/Generate even if the target is not installed.');
- WriteLn(' --verbose Show all commands that are executed.');
- WriteLn;
-end;
-{******************************************************************************}
-procedure ProcessArgs;
-var
- i, j, Count: Integer;
- S: string;
- HppPathSet: Boolean;
-begin
- i := 1;
- Count := ParamCount;
- HppPathSet := False;
- while i <= Count do
- begin
- S := ParamStr(i);
- if S[1] = '-' then
- begin
- if StartsText('--make=', S) then
- begin
- Delete(S, 1, 7);
- if S <> '' then
- if Pos(' ', S) > 0 then
- MakeOptions := MakeOptions + ' "' + S + '"'
- else
- MakeOptions := MakeOptions + ' ' + S;
- end
- else if StartsText('--dcc-opt=', S) then
- begin
- Delete(S, 1, 10);
- DccOpt := S;
- end
- else if StartsText('--bpl-path=', S) then
- begin
- Delete(S, 1, 11);
- UserBplDir := S;
- UserDcpDir := S;
- end
- else if StartsText('--lib-path=', S) then
- begin
- Delete(S, 1, 11);
- UserLibDir := S;
- end
- else if StartsText('--hpp-path=', S) then
- begin
- Delete(S, 1, 11);
- SetEnvironmentVariable('HPPDIR', Pointer(S));
- HppPathSet := True;
- end
- else if StartsText('--targets=', S) then
- begin
- Delete(S, 1, 10);
- SetEnvironmentVariable('TARGETS', Pointer(S));
- end
- else if SameText(S, '--build') then
- begin
- DccOpt := DccOpt + ' -B';
- end
- else if SameText('--force', S) then
- begin
- Force := True;
- end
- else if SameText('--verbose', S) then
- begin
- Verbose := True;
- end
- else
- begin
- for j := 0 to High(ExtraOptions) do
- begin
- if (ExtraOptions[I].Name <> '') and StartsText('--' + ExtraOptions[j].Name + '=', S) then
- begin
- Delete(S, 1, 2 + Length(ExtraOptions[j].Name) + 1);
- SetEnvironmentVariable(PChar(ExtraOptions[j].Env), Pointer(S));
- end;
- end
- end;
- end
- else
- begin
- if SameText(S, 'all') then
- begin
- AddAllEditions(False);
- end
- else if SameText(S, 'newest') then
- begin
- AddNewestEdition;
- WriteLn('Using ', GetNewestEditionName, ' for build process.');
- WriteLn;
- end
- else if TargetIndexOfEdition(S) = -1 then
- begin
- WriteLn('Unknown edition: ', S);
- Halt(1);
- end
- else
- AddEdition(S);
- end;
- Inc(i);
- end;
- if not HppPathSet then
- SetEnvironmentVariable('HPPDIR', '$(ROOT)\Include\Vcl');
-end;
-{******************************************************************************}
-function GetLibraryRootDir: string;
-var
- I: Integer;
-begin
- Result := ExtractFileDir(ParamStr(0));
- for I := 1 to LibraryRootDirRelativeToBuild do
- Result := ExtractFileDir(Result);
-end;
-{******************************************************************************}
-function ExtractShortPathName(const Path: string): string;
-begin
- SetLength(Result, MAX_PATH);
- SetLength(Result, GetShortPathName(PChar(Path), PChar(Result), Length(Result)));
-end;
-{******************************************************************************}
-procedure FixDcc32Cfg(Edition: TEdition);
-var
- f: TextFile;
- S: string;
- FoundU, FoundLU: Boolean;
-begin
- AssignFile(f, Edition.RootDir + '\bin\dcc32.cfg');
- if not FileExists(Edition.RootDir + '\bin\dcc32.cfg') then
- begin
- {$I-}
- Rewrite(f);
- {$I+}
- if IOResult = 0 then
- begin
- WriteLn(f, '-aWinTypes=Windows;WinProcs=Windows;DbiProcs=BDE;DbiTypes=BDE;DbiErrs=BDE');
- if Edition.Typ <> Delphi then
- WriteLn(f, '-u"', Edition.RootDir, '\lib";"', Edition.RootDir, '\lib\obj"')
- else
- WriteLn(f, '-u"', Edition.RootDir, '\lib"');
- if (Edition.Typ = BCB) and (Edition.Version = 5) then
- WriteLn(f, '-LUvcl50');
- CloseFile(f);
- end
- else
- begin
- WriteLn('Cannot create default ', Edition.RootDir, '\bin\dcc32.cfg');
- Halt(0);
- end;
- end
- else
- begin
- FoundU := False;
- FoundLU := (Edition.Typ <> BCB) or (Edition.Version <> 5);
- Reset(f);
- while not EOF(f) and not (FoundU and FoundLU) do
- begin
- ReadLn(f, S);
- if Edition.Typ = Delphi then
- FoundU := FoundU or SameText(S, '-u"' + Edition.RootDir + '\lib"') or
- SameText(S, '-u"' + ExtractShortPathName(Edition.RootDir) + '\lib"') or
- SameText(S, '-u' + ExtractShortPathName(Edition.RootDir) + '\lib')
- else
- FoundU := FoundU or SameText(S, '-u"' + Edition.RootDir + '\lib";"' + Edition.RootDir + '\lib\obj"') or
- SameText(S, '-u"' + ExtractShortPathName(Edition.RootDir) + '\lib";"' + ExtractShortPathName(Edition.RootDir) + '\lib\obj"') or
- SameText(S, '-u' + ExtractShortPathName(Edition.RootDir) + '\lib;' + ExtractShortPathName(Edition.RootDir) + '\lib\obj');
- if (Edition.Typ = BCB) and (Edition.Version = 5) then
- FoundLU := FoundLU or SameText(S, '-LUvcl50');
- end;
- CloseFile(f);
- if not FoundU or not FoundLU then
- begin
- {$I-}
- Append(f);
- {$I+}
- WriteLn(f);
- if IOResult = 0 then
- begin
- if not FoundU then
- begin
- if Edition.Typ <> Delphi then
- WriteLn(f, '-u"', Edition.RootDir, '\lib";"', Edition.RootDir, '\lib\obj"')
- else
- WriteLn(f, '-u"', Edition.RootDir, '\lib"');
- end;
- if not FoundLU and (Edition.Typ = BCB) and (Edition.Version = 5) then
- WriteLn(f, '-LUvcl50');
- CloseFile(f);
- end
- else
- begin
- WriteLn('You do not have the required permissions to alter the defect ', Edition.RootDir, '\bin\dcc32.cfg');
- Halt(0);
- end;
- end;
- end;
-end;
-
-
-var
- I: Integer;
- UnitOutDir, Path: string;
- Edition: TEdition;
-begin
- LibraryRootDir := GetLibraryRootDir;
- // ahuser (2005-01-22): make.exe fails if a path with spaces is in the PATH envvar
-
- // set ExtraOptions default values
- for I := 0 to High(ExtraOptions) do
- if ExtraOptions[I].Name <> '' then
- SetEnvironmentVariable(PChar(ExtraOptions[I].Env), Pointer(ExtraOptions[I].Default));
- SetEnvironmentVariable(PChar(LibraryName + 'ROOT'), PChar(LibraryRootDir));
-
- UserBplDir := '';
- UserDcpDir := '';
- UserLibDir := '';
-
- LoadTargetNames;
- ProcessArgs;
-
- if Length(Editions) = 0 then
- begin
- Help;
- Halt(1);
- end;
- if not Verbose then
- begin
- MakeOptions := ' -s' + MakeOptions;
- SetEnvironmentVariable('QUIET', '-s');
- end
- else
- SetEnvironmentVariable('QUIET', nil);
-
- for I := 0 to High(Editions) do
- begin
- ExtraUnitDirs := '';
-
- Edition := Editions[I];
- if Length(Editions) > 1 then
- WriteLn('################################ ' + Edition.Name + ' #########################################');
-
- // test for valid root directory/valid IDE installation
- if not Force then
- begin
- if Edition.RootDir = '' then
- begin
- WriteLn('Delphi/BCB version not installed.');
- Continue;
- end;
- end
- else
- begin
- if Edition.RootDir = '' then
- Edition := GetNewestEdition;
- if Edition.RootDir = '' then
- begin
- WriteLn('No Delphi/BCB version installed.');
- Continue;
- end;
- end;
-
- // correct dcc32.cfg file if necessary
- FixDcc32Cfg(Edition);
-
- UnitOutDir := LibraryRootDir + '\lib\' + Edition.MainName;
- if UserDcpDir = '' then
- UserDcpDir := Edition.DcpDir;
- if UserBplDir = '' then
- UserBplDir := Edition.BplDir;
- if UserLibDir = '' then
- UserLibDir := Edition.LibDir;
-
- FindDxgettext(Edition.Version);
-
- // setup environment and execute make.exe
- Path := GetWindowsDir + ';' + GetSystemDir + ';' + GetWindowsDir + '\Command';
- if UserLibDir <> UserBplDir then
- Path := ExtractShortPathName(Edition.RootDir) + '\bin;' + ExtractShortPathName(UserBplDir) + ';' + ExtractShortPathName(UserLibDir) + ';' + Path
- else
- Path := ExtractShortPathName(Edition.RootDir) + '\bin;' + ExtractShortPathName(UserBplDir) + ';' + Path;
- { Add original BPL directory for "common" BPLs, but add it as the very last
- path to prevent collisions between packages in TargetConfig.BplDir and
- Target.BplDir. }
- Path := Path + ';' + ExtractShortPathName(Edition.BplDir);
-
-(* dcc32cfg := CreateDcc32Cfg([
- '-Q',
- '-U"' + Edition.RootDir + '\Lib"',
- '-U"' + Edition.RootDir + '\Lib\Obj"',
- '-R"' + Edition.RootDir + '\Lib"',
- '-I"' + Edition.RootDir + '\Include"',
- '-I"' + Edition.RootDir + '\Include\Vcl"',
- '-U"' + UserDcpDir + '"',
- '-U"' + UserLibDir + '"'
- ]);
-
- '-I"$(JCLINCLUDEDIRS)">>"$(CFG)"
- @echo -U"$(JCLSOURCEDIRS1)">>"$(CFG)"
- @echo -U"$(JCLSOURCEDIRS2)">>"$(CFG)"
- #
- @echo -I"$(JVCLINCLUDEDIRS)">>"$(CFG)"
- @echo -U"$(UNITOUTDIR)">>"$(CFG)"
- @echo -U"$(LIBDIR)">>"$(CFG)"
- @echo -U"$(JVCLSOURCEDIRS1)">>"$(CFG)"
- @echo -U"$(JVCLSOURCEDIRS2)">>"$(CFG)"
- @echo -R"$(JVCLRESDIRS)">>"$(CFG)"
- #
- @echo -U"$(EXTRAUNITDIRS)">>"$(CFG)"
- @echo -I"$(EXTRAINCLUDEDIRS)">>"$(CFG)"
- @echo -R"$(EXTRARESDIRS)">>"$(CFG)"
- #
- @echo -U"$(UNITDIRS)">>"$(CFG)"
- @echo -R"$(UNITDIRS)">>"$(CFG)"
-*)
-
- //SetEnvironemntVariable('CFGFILE', PChar('..\$(PKGDIR)\dcc32.cfg');
-
- SetEnvironmentVariable('PATH', Pointer(Path));
-
- SetEnvironmentVariable('MAINBPLDIR', Pointer(Edition.BplDir));
- SetEnvironmentVariable('MAINDCPDIR', Pointer(Edition.DcpDir));
- SetEnvironmentVariable('BPLDIR', Pointer(UserBplDir));
- SetEnvironmentVariable('DCPDIR', Pointer(UserDcpDir));
- SetEnvironmentVariable('LIBDIR', Pointer(UserLibDir));
- SetEnvironmentVariable('BPILIBDIR', Pointer(UserLibDir));
- SetEnvironmentVariable('PERSONALEDITION_OPTION', nil);
- SetEnvironmentVariable('ROOT', PChar(Edition.RootDir));
- SetEnvironmentVariable('VERSION', PChar(Edition.VersionStr));
- SetEnvironmentVariable('UNITOUTDIR', PChar(UnitOutDir));
- SetEnvironmentVariable('DCCOPT', Pointer(DccOpt));
- SetEnvironmentVariable('DCC', PChar('"' + Edition.RootDir + '\bin\dcc32.exe" ' + DccOpt));
-
- if Edition.IsPersonal then
- begin
- SetEnvironmentVariable('PERSONALEDITION_OPTION', '-DDelphiPersonalEdition');
- SetEnvironmentVariable('PKGDIR', PChar(Edition.PkgDir));
- SetEnvironmentVariable('EDITION', PChar(Edition.MainName));
- if Verbose then
- Execute('"' + Edition.RootDir + '\bin\make.exe" -f makefile.mak pg.exe')
- else
- Execute('"' + Edition.RootDir + '\bin\make.exe" -s -f makefile.mak pg.exe');
- end;
-
- SetEnvironmentVariable('EDITION', PChar(Edition.Name));
- SetEnvironmentVariable('PKGDIR', PChar(Edition.PkgDir));
-
- if (ExtraUnitDirs <> '') and (ExtraUnitDirs[1] = ';') then
- Delete(ExtraUnitDirs, 1, 1);
- SetEnvironmentVariable('EXTRAUNITDIRS', Pointer(ExtraUnitDirs));
- SetEnvironmentVariable('DXGETTEXTDIR', Pointer(DxgettextDir));
-
-
- ExitCode := Execute('"' + Edition.RootDir + '\bin\make.exe" ' + MakeOptions);
- if ExitCode <> 0 then
- begin
- if ExitCode < 0 then
- WriteLn('Failed: ', '"' + Edition.RootDir + '\bin\make.exe" ' + MakeOptions);
- WriteLn('Press ENTER to continue');
- ReadLn;
- end;
- end;
-end.
-
Deleted: trunk/jcl/install/build/build.exe
===================================================================
(Binary files differ)
Modified: trunk/jcl/install/build/dcc32ex.dpr
===================================================================
--- trunk/jcl/install/build/dcc32ex.dpr 2007-08-12 19:37:10 UTC (rev 2122)
+++ trunk/jcl/install/build/dcc32ex.dpr 2007-08-12 20:51:37 UTC (rev 2123)
@@ -19,6 +19,8 @@
Verbose: Boolean;
RequireJcl: Boolean;
RequireJvcl: Boolean;
+ RequireJclVersion: string;
+ RequireJvclVersion: string;
{ Helper functions because no SysUtils unit is used. }
{******************************************************************************}
@@ -75,6 +77,8 @@
Error: Integer;
begin
Val(S, Result, Error);
+ if Error <> 0 then
+ Result := 0;
end;
{******************************************************************************}
function IntToStr(Value: Integer): string;
@@ -268,7 +272,9 @@
KeyName: string;
Id: string; // ["d"|"c"]<version>
InstalledJcl: Boolean;
+ JclVersion: string;
InstalledJvcl: Boolean;
+ JvclVersion: string;
end;
function RegReadStr(Reg: HKEY; const Name: string): string;
@@ -307,7 +313,9 @@
Result.Name := '';
Result.Id := '';
Result.InstalledJcl := False;
+ Result.JclVersion := '';
Result.InstalledJvcl := False;
+ Result.JvclVersion := '';
Result.SearchPaths := '';
Result.LibDirs := '';
@@ -395,6 +403,7 @@
begin
DcpDir := ExcludeTrailingPathDelimiter(ExpandDirMacros(ExcludeTrailingPathDelimiter(RegReadStr(Reg, 'DcpDir')), Result.RootDir));
RootDir := ExcludeTrailingPathDelimiter(ExpandDirMacros(ExcludeTrailingPathDelimiter(RegReadStr(Reg, 'RootDir')), Result.RootDir));
+ Result.JclVersion := RegReadStr(Reg, 'Version');
RegCloseKey(Reg);
Dir := RootDir + '\lib\' + Result.Id;
if FileExists(Dir + '\JclBase.dcu') then
@@ -421,6 +430,7 @@
begin
DcpDir := ExcludeTrailingPathDelimiter(ExpandDirMacros(ExcludeTrailingPathDelimiter(RegReadStr(Reg, 'DcpDir')), Result.RootDir));
RootDir := ExcludeTrailingPathDelimiter(ExpandDirMacros(ExcludeTrailingPathDelimiter(RegReadStr(Reg, 'RootDir')), Result.RootDir));
+ Result.JvclVersion := RegReadStr(Reg, 'Version');
RegCloseKey(Reg);
Dir := RootDir + '\lib\' + Result.Id;
if FileExists(Dir + '\JVCLVer.dcu') then
@@ -505,7 +515,51 @@
end;
end;
+function ParseVersionNumber(const VersionStr: string): Cardinal;
+const
+ Shifts: array[0..3] of Integer = (24, 16, 15, 0);
+var
+ S: string;
+ ps: Integer;
+ Count: Integer;
+begin
+ S := VersionStr;
+ Result := 0;
+ if S <> '' then
+ begin
+ Result := 0;
+ try
+ Count := 0;
+ ps := Pos('.', S);
+ while (ps > 0) and (Count < High(Shifts)) do
+ begin
+ Result := Result or (Cardinal(StrToInt(Copy(S, 1, ps - 1))) shl Shifts[Count]);
+ S := Copy(S, ps + 1, MaxInt);
+ ps := Pos('.', S);
+ Inc(Count);
+ end;
+ Result := Result or (Cardinal(StrToInt(Copy(S, 1, MaxInt))) shl Shifts[Count]);
+ except
+ Result := 0;
+ end;
+ end;
+end;
+function IsVersionCompatible(const RequiredVersion, Version: string): Boolean;
+var
+ ReqVer, Ver: Cardinal;
+begin
+ Result := False;
+ if RequiredVersion = '' then
+ Result := True
+ else
+ if Version <> '' then
+ begin
+ ReqVer := ParseVersionNumber(RequiredVersion);
+ Ver := ParseVersionNumber(Version);
+ Result := ReqVer < Ver;
+ end;
+end;
procedure CheckTargets(const PreferedTyp: TTargetType; const PreferedVersion: Integer; var NewestTarget: TTarget; ShowErrors: Boolean);
var
@@ -532,7 +586,8 @@
if FileExists(Target.RootDir + '\bin\dcc32.exe') and
(FileExists(Target.RootDir + '\lib\System.dcu') or FileExists(Target.RootDir + '\lib\obj\System.dcu')) then
begin
- if (not RequireJcl or Target.InstalledJcl) and (not RequireJvcl or Target.InstalledJvcl) then
+ if (not RequireJcl or (Target.InstalledJcl and IsVersionCompatible(RequireJclVersion, Target.JclVersion))) and
+ (not RequireJvcl or (Target.InstalledJvcl and IsVersionCompatible(RequireJvclVersion, Target.JvclVersion))) then
begin
if (NewestTarget.Typ = ttNone) or (NewestTarget.Version < Target.Version) then
NewestTarget := Target;
@@ -545,10 +600,18 @@
if ShowErrors then
begin
WriteLn('Missing dependencies for ', Target.Name);
+
if RequireJcl and not Target.InstalledJcl then
- WriteLn(' - JCL is required but not installed. (http://jcl.sourceforge.net)');
+ WriteLn(' - JCL is required but not installed. (http://jcl.sourceforge.net)')
+ else if RequireJcl and Target.InstalledJcl and
+ not IsVersionCompatible(RequireJclVersion, Target.JclVersion) then
+ WriteLn(' - JCL version ', Target.JclVersion, ' is too old. Version ', RequireJclVersion, ' is required.');
+
if RequireJvcl and not Target.InstalledJvcl then
- WriteLn(' - JVCL is required but not installed. (http://jvcl.sourceforge.net)');
+ WriteLn(' - JVCL is required but not installed. (http://jvcl.sourceforge.net)')
+ else if RequireJvcl and Target.InstalledJvcl and
+ not IsVersionCompatible(RequireJvclVersion, Target.JvclVersion) then
+ WriteLn(' - JVCL version ', Target.JvclVersion, ' is too old. Version ', RequireJvclVersion, ' is required.');
WriteLn;
end;
DependencyCheckFailed := True;
@@ -565,7 +628,7 @@
else
begin
if not FileExists(Target.RootDir + '\bin\dcc32.exe') then
- WriteLn(' - dcc32.exe missing');
+ WriteLn(' - dcc32.exe missing (Evaluation version and TurboExplorer are not supported) ');
if not (FileExists(Target.RootDir + '\lib\System.dcu') or FileExists(Target.RootDir + '\lib\obj\System.dcu')) then
WriteLn(' - System.dcu missing');
end;
@@ -585,12 +648,14 @@
if InvalidFound then
begin
if DependencyCheckFailed then
- ErrMsg := 'Dependencies are missing. Please install them first.'
+ ErrMsg := 'No Delphi/BCB/BDS/RAD-Studio versions was found that has the required' + sLineBreak +
+ 'dependencies installed. Please install the dependencies first.'
else
ErrMsg := 'No valid Delphi/BCB/BDS version found. Are your registry settings correct?';
end
else
ErrMsg := 'No Delphi/BCB/BDS version installed.';
+ WriteLn;
WriteLn(ErrOutput, ErrMsg);
MessageBox(0, PChar(ErrMsg), 'dcc32ex.exe', MB_ICONERROR or MB_OK);
end;
@@ -674,6 +739,18 @@
if SameText(S, '--requires-jvcl') then
RequireJvcl := True
else
+ if StartsText('--requires-jcl=', S) then
+ begin
+ RequireJcl := True;
+ RequireJclVersion := Copy(S, 16, MaxInt);
+ end
+ else
+ if SameText('--requires-jvcl=', S) then
+ begin
+ RequireJvcl := True;
+ RequireJvclVersion := Copy(S, 16, MaxInt);
+ end
+ else
Break;
Result := CmdLine;
end;
Modified: trunk/jcl/install/build/dcc32ex.exe
===================================================================
(Binary files differ)
Deleted: trunk/jcl/install/build/makefile.mak
===================================================================
--- trunk/jcl/install/build/makefile.mak 2007-08-12 19:37:10 UTC (rev 2122)
+++ trunk/jcl/install/build/makefile.mak 2007-08-12 20:51:37 UTC (rev 2123)
@@ -1,7 +0,0 @@
-installer:
- cd ..
- make -f makefile.mak
-
-qinstaller:
- cd ..
- make -f makefile.mak clean qinstall
Deleted: trunk/jcl/install/build/pretest.bat
===================================================================
--- trunk/jcl/install/build/pretest.bat 2007-08-12 19:37:10 UTC (rev 2122)
+++ trunk/jcl/install/build/pretest.bat 2007-08-12 20:51:37 UTC (rev 2123)
@@ -1,33 +0,0 @@
-@echo off
-
-if EXIST build.exe GOTO FOUND
-
-dcc32.exe -$D- -DJCL -Q build.dpr >NUL
-if ERRORLEVEL 1 GOTO FAILED
-
-rem ======= COMPILED =======
-echo build.exe compiled. Pretest: ok
-
-goto LEAVE
-
-:FAILED
-rem ======= FAILED =======
-echo.
-echo.
-echo Delphi Compiler for Win32 (dcc32.exe) was not found. Please add the
-echo Delphi\Bin directory to the PATH environment variable.
-echo.
-echo You can do this by executing
-echo 'SET PATH=C:\Program Files\Borland\Delphi7\Bin;%%PATH%%'
-echo.
-echo (Adjust the directories to your installation path)
-echo.
-
-
-goto LEAVE
-
-:FOUND
-rem ======= FOUND =======
-echo build.exe found. Pretest: ok
-
-:LEAVE
Deleted: trunk/jcl/install/makefile.mak
===================================================================
--- trunk/jcl/install/makefile.mak 2007-08-12 19:37:10 UTC (rev 2122)
+++ trunk/jcl/install/makefile.mak 2007-08-12 20:51:37 UTC (rev 2123)
@@ -1,62 +0,0 @@
-#--------------------------------------------------------------------------------------------------#
-# #
-# JCL Install Helper #
-# #
-#--------------------------------------------------------------------------------------------------#
-
-!ifndef ROOT
-ROOT = $(MAKEDIR)\..
-!endif
-#---------------------------------------------------------------------------------------------------
-VClxOptions = -c -dVisualCLX -dHAS_UNIT_TYPES -uDevelop -uVCL -x.\Q
-VclOptions = -c -dVCL -dVCL -dMSWINDOWS -uDevelop -uVisualCLX -uUnix -uKYLIX -x.\\
-#---------------------------------------------------------------------------------------------------
-SRC = ..\source
...
[truncated message content] |
|
From: <ah...@us...> - 2007-08-12 19:37:12
|
Revision: 2122
http://jcl.svn.sourceforge.net/jcl/?rev=2122&view=rev
Author: ahuser
Date: 2007-08-12 12:37:10 -0700 (Sun, 12 Aug 2007)
Log Message:
-----------
Fixed TitlePanel ParentBackrgound
Modified Paths:
--------------
trunk/jcl/install/prototypes/JediGUIMain.pas
Modified: trunk/jcl/install/prototypes/JediGUIMain.pas
===================================================================
--- trunk/jcl/install/prototypes/JediGUIMain.pas 2007-08-12 19:16:23 UTC (rev 2121)
+++ trunk/jcl/install/prototypes/JediGUIMain.pas 2007-08-12 19:37:10 UTC (rev 2122)
@@ -164,6 +164,9 @@
{$IFDEF VCL}
TitlePanel.DoubleBuffered := True;
+ {$IFDEF COMPILER7_UP}
+ TitlePanel.ParentBackground := False;
+ {$ENDIF}
{$ELSE}
//WindowState := wsMaximized; // wouldn't work in Form resource
{$ENDIF}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2007-08-12 19:16:25
|
Revision: 2121
http://jcl.svn.sourceforge.net/jcl/?rev=2121&view=rev
Author: ahuser
Date: 2007-08-12 12:16:23 -0700 (Sun, 12 Aug 2007)
Log Message:
-----------
Fixed backslash issue with Delphi 2006 and 2007.
Modified Paths:
--------------
trunk/jcl/source/common/JclBorlandTools.pas
Modified: trunk/jcl/source/common/JclBorlandTools.pas
===================================================================
--- trunk/jcl/source/common/JclBorlandTools.pas 2007-08-12 14:33:45 UTC (rev 2120)
+++ trunk/jcl/source/common/JclBorlandTools.pas 2007-08-12 19:16:23 UTC (rev 2121)
@@ -4850,7 +4850,9 @@
raise EJclBorRadException.CreateResFmt(@RsEDualPackageNotSupported, [Name]);
NewOptions := Format('%s -JL -NB"%s" -NO"%s" -N1"%s"',
- [ExtraOptions, DcpPath, DcpPath, VclIncludeDir]);
+ [ExtraOptions, ExcludeTrailingPathDelimiter(DcpPath),
+ ExcludeTrailingPathDelimiter(DcpPath),
+ ExcludeTrailingPathDelimiter(VclIncludeDir)]);
end
else
NewOptions := ExtraOptions;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mar...@us...> - 2007-08-12 14:33:50
|
Revision: 2120
http://jcl.svn.sourceforge.net/jcl/?rev=2120&view=rev
Author: marquardt
Date: 2007-08-12 07:33:45 -0700 (Sun, 12 Aug 2007)
Log Message:
-----------
style cleaning
Modified Paths:
--------------
trunk/jcl/source/common/JclAnsiStrings.pas
trunk/jcl/source/common/JclBorlandTools.pas
Modified: trunk/jcl/source/common/JclAnsiStrings.pas
===================================================================
--- trunk/jcl/source/common/JclAnsiStrings.pas 2007-08-12 08:49:57 UTC (rev 2119)
+++ trunk/jcl/source/common/JclAnsiStrings.pas 2007-08-12 14:33:45 UTC (rev 2120)
@@ -165,7 +165,7 @@
function StrSame(const S1, S2: AnsiString): Boolean;
// String Transformation Routines
-function StrCenter(const S: AnsiString; L: Integer; C: AnsiChar = ' '): AnsiString;
+function StrCenter(const S: AnsiString; L: Integer; C: AnsiChar = ' '): AnsiString;
function StrCharPosLower(const S: AnsiString; CharPos: Integer): AnsiString;
function StrCharPosUpper(const S: AnsiString; CharPos: Integer): AnsiString;
function StrDoubleQuote(const S: AnsiString): AnsiString;
@@ -517,10 +517,10 @@
if CharIsUpper(CurrChar) then
ReCaseChar := LoCaseChar
else
- if CharIsLower(CurrChar) then
- ReCaseChar := UpCaseChar
- else
- ReCaseChar := CurrChar;
+ if CharIsLower(CurrChar) then
+ ReCaseChar := UpCaseChar
+ else
+ ReCaseChar := CurrChar;
AnsiCaseMap[Ord(CurrChar) + AnsiLoOffset] := LoCaseChar;
AnsiCaseMap[Ord(CurrChar) + AnsiUpOffset] := UpCaseChar;
AnsiCaseMap[Ord(CurrChar) + AnsiReOffset] := ReCaseChar;
@@ -771,7 +771,7 @@
Result := False;
Exit;
end;
- end;
+ end;
end;
function StrContainsChars(const S: AnsiString; Chars: TSysCharSet; CheckAll: Boolean): Boolean;
@@ -865,7 +865,7 @@
//=== String Transformation Routines =========================================
-function StrCenter(const S: AnsiString; L: Integer; C: AnsiChar = ' '): AnsiString;
+function StrCenter(const S: AnsiString; L: Integer; C: AnsiChar = ' '): AnsiString;
begin
if Length(S) < L then
begin
@@ -1128,10 +1128,10 @@
// Check FromIndex
if (FromIndex <= 0) or (FromIndex > Length(Source)) or
- (ToIndex <= 0) or (ToIndex > Length(Dest)) or
- ((FromIndex + Count - 1) > Length(Source)) or ((ToIndex + Count - 1) > Length(Dest)) then
- { TODO : Is failure without notice the proper thing to do here? }
- Exit;
+ (ToIndex <= 0) or (ToIndex > Length(Dest)) or
+ ((FromIndex + Count - 1) > Length(Source)) or ((ToIndex + Count - 1) > Length(Dest)) then
+ { TODO : Is failure without notice the proper thing to do here? }
+ Exit;
// Move
{$IFDEF CLR}
@@ -1228,14 +1228,14 @@
UniqueString(Result);
Source := PAnsiChar(S);
Dest := PAnsiChar(Result);
- for Index := 0 to Len-1 do
+ for Index := 0 to Len - 1 do
begin
if not (Source^ in Chars) then
begin
Dest^ := Source^;
- Inc(Dest,SizeOf(AnsiChar));
+ Inc(Dest, SizeOf(AnsiChar));
end;
- Inc(Source,SizeOf(AnsiChar));
+ Inc(Source, SizeOf(AnsiChar));
end;
SetLength(Result, (Longint(Dest) - Longint(PAnsiChar(Result))) div SizeOf(AnsiChar));
end;
@@ -1266,14 +1266,14 @@
UniqueString(Result);
Source := PAnsiChar(S);
Dest := PAnsiChar(Result);
- for Index := 0 to Len-1 do
+ for Index := 0 to Len - 1 do
begin
if Source^ in Chars then
begin
Dest^ := Source^;
- Inc(Dest,SizeOf(AnsiChar));
+ Inc(Dest, SizeOf(AnsiChar));
end;
- Inc(Source,SizeOf(AnsiChar));
+ Inc(Source, SizeOf(AnsiChar));
end;
SetLength(Result, (Longint(Dest) - Longint(PAnsiChar(Result))) div SizeOf(AnsiChar));
end;
@@ -1983,13 +1983,12 @@
if I > 0 then
Inc(Result);
- while (I > 0) and (Length(S) > I+Length(SubS)) do
+ while (I > 0) and (Length(S) > I + Length(SubS)) do
begin
- I := StrSearch(SubS, S, I+1);
-
+ I := StrSearch(SubS, S, I + 1);
if I > 0 then
Inc(Result);
- end
+ end;
end;
{$IFDEF CLR}
@@ -3365,7 +3364,7 @@
UniqueString(S);
Len := Length(S);
P := PAnsiChar(S);
- for Index := 0 to Len-1 do
+ for Index := 0 to Len - 1 do
begin
if P^ = Search then
begin
@@ -3899,13 +3898,13 @@
if Temp[I] = '-' then
IsNegative := not IsNegative
else
- if not (Temp[I] in [' ', '(', '+']) then
- begin
- // if it appears prior to any digit, it has to be a decimal separator
- SwapSeparators := Temp[I] = ThouSep;
- J := I;
- Break;
- end;
+ if not (Temp[I] in [' ', '(', '+']) then
+ begin
+ // if it appears prior to any digit, it has to be a decimal separator
+ SwapSeparators := Temp[I] = ThouSep;
+ J := I;
+ Break;
+ end;
end;
if not SwapSeparators then
Modified: trunk/jcl/source/common/JclBorlandTools.pas
===================================================================
--- trunk/jcl/source/common/JclBorlandTools.pas 2007-08-12 08:49:57 UTC (rev 2119)
+++ trunk/jcl/source/common/JclBorlandTools.pas 2007-08-12 14:33:45 UTC (rev 2120)
@@ -567,7 +567,8 @@
// compilation functions
function CompileDelphiPackage(const PackageName, BPLPath, DCPPath: string): Boolean; overload; virtual;
- function CompileDelphiPackage(const PackageName, BPLPath, DCPPath, ExtraOptions: string): Boolean; overload; virtual;
+ function CompileDelphiPackage(const PackageName, BPLPath, DCPPath, ExtraOptions: string): Boolean;
+ overload; virtual;
function CompileDelphiProject(const ProjectName, OutputDir, DcpSearchPath: string): Boolean; virtual;
function CompileBCBPackage(const PackageName, BPLPath, DCPPath: string): Boolean; virtual;
function CompileBCBProject(const ProjectName, OutputDir, DcpSearchPath: string): Boolean; virtual;
@@ -654,7 +655,7 @@
function GetCommonProjectsDir: string; virtual;
function RemoveFromDebugDCUPath(const Path: string): Boolean;
function RemoveFromLibrarySearchPath(const Path: string): Boolean;
- function RemoveFromLibraryBrowsingPath(const Path: string): Boolean;
+ function RemoveFromLibraryBrowsingPath(const Path: string): Boolean;
function SubstitutePath(const Path: string): string;
{$IFDEF KEEP_DEPRECATED}
function SupportsBCB: Boolean;
@@ -827,7 +828,8 @@
property CppSearchPath: TJclBorRADToolPath read GetCppSearchPath write SetCppSearchPath;
property CppBrowsingPath: TJclBorRADToolPath read GetCppBrowsingPath write SetCppBrowsingPath;
- property CppLibraryPath: TJclBorRADToolPath read GetCppLibraryPath write SetCppLibraryPath; // Only exists in BDS 5 and upper
+ // Only exists in BDS 5 and upper
+ property CppLibraryPath: TJclBorRADToolPath read GetCppLibraryPath write SetCppLibraryPath;
function RegisterPackage(const BinaryFileName, Description: string): Boolean; override;
function UnregisterPackage(const BinaryFileName: string): Boolean; override;
@@ -845,7 +847,7 @@
end;
{$ENDIF MSWINDOWS}
- TTraverseMethod = function (Installation: TJclBorRADToolInstallation): Boolean of object;
+ TTraverseMethod = function(Installation: TJclBorRADToolInstallation): Boolean of object;
TJclBorRADToolInstallations = class(TObject)
private
@@ -869,9 +871,12 @@
function Iterate(TraverseMethod: TTraverseMethod): Boolean;
property Count: Integer read GetCount;
property Installations[Index: Integer]: TJclBorRADToolInstallation read GetInstallations; default;
- property BCBInstallationFromVersion[VersionNumber: Integer]: TJclBorRADToolInstallation read GetBCBInstallationFromVersion;
- property DelphiInstallationFromVersion[VersionNumber: Integer]: TJclBorRADToolInstallation read GetDelphiInstallationFromVersion;
- property BDSInstallationFromVersion[VersionNumber: Integer]: TJclBorRADToolInstallation read GetBDSInstallationFromVersion;
+ property BCBInstallationFromVersion[VersionNumber: Integer]: TJclBorRADToolInstallation
+ read GetBCBInstallationFromVersion;
+ property DelphiInstallationFromVersion[VersionNumber: Integer]: TJclBorRADToolInstallation
+ read GetDelphiInstallationFromVersion;
+ property BDSInstallationFromVersion[VersionNumber: Integer]: TJclBorRADToolInstallation
+ read GetBDSInstallationFromVersion;
property BCBVersionInstalled[VersionNumber: Integer]: Boolean read GetBCBVersionInstalled;
property DelphiVersionInstalled[VersionNumber: Integer]: Boolean read GetDelphiVersionInstalled;
property BDSVersionInstalled[VersionNumber: Integer]: Boolean read GetBDSVersionInstalled;
@@ -1152,10 +1157,11 @@
if AnsiStartsText(LibraryText, S) and (BinaryExtension = '') then
BinaryExtension := BinaryExtensionLibrary;
if AnsiStartsText(DelphiBinaryExtOption, S) then
- BinaryExtension := StrTrimQuotes(Copy(S, Length(DelphiBinaryExtOption), Length(S) - Length(DelphiBinaryExtOption)));
- if Assigned(LibSuffix) and
- AnsiStartsText(DelphiLibSuffixOption, S) then
- LibSuffix^ := StrTrimQuotes(Copy(S, Length(DelphiLibSuffixOption), Length(S) - Length(DelphiLibSuffixOption)));
+ BinaryExtension :=
+ StrTrimQuotes(Copy(S, Length(DelphiBinaryExtOption), Length(S) - Length(DelphiBinaryExtOption)));
+ if Assigned(LibSuffix) and AnsiStartsText(DelphiLibSuffixOption, S) then
+ LibSuffix^ :=
+ StrTrimQuotes(Copy(S, Length(DelphiLibSuffixOption), Length(S) - Length(DelphiLibSuffixOption)));
end;
finally
DPRFile.Free;
@@ -1220,7 +1226,7 @@
SemiColonPos := Pos(';', SubS2);
if SemiColonPos > 0 then
begin
- SubS3 := Copy(SubS2, SemiColonPos+1, Length(SubS2));
+ SubS3 := Copy(SubS2, SemiColonPos + 1, Length(SubS2));
AmpPos := Pos('&', SubS3);
if (Description <> nil) and (AmpPos > 0) then
Description^ := Copy(SubS3, 1, AmpPos - 1);
@@ -1289,7 +1295,7 @@
LProjectPos := Pos(BCBProjectOption, S);
if Assigned(BinaryFileName) and (LProjectPos > 0) then
begin
- SubS1 := Copy(S,LProjectPos, Length(S));
+ SubS1 := Copy(S, LProjectPos, Length(S));
J := 1;
while (Pos('>', SubS1) = 0) and ((I + J) < BPKFile.Count) do
begin
@@ -1464,7 +1470,8 @@
StrLength := ResData^;
Inc(ResData);
Inc(ResIndex);
- if (StrLength >= MatchLen) and (StrLICompW(PWideChar(lParam^.StartStr), PWideChar(ResData), MatchLen) = 0) then
+ if (StrLength >= MatchLen) and
+ (StrLICompW(PWideChar(lParam^.StartStr), PWideChar(ResData), MatchLen) = 0) then
begin
// we have a match
SetLength(lParam^.MatchStr, StrLength);
@@ -1481,8 +1488,7 @@
end;
// find in specified module "FileName" a resourcestring starting with StartStr
-function FindResStart(const FileName: string;
- const StartStr: WideString): WideString;
+function FindResStart(const FileName: string; const StartStr: WideString): WideString;
var
H: HMODULE;
FindResRec: TFindResStartRec;
@@ -1492,11 +1498,11 @@
H := LoadLibraryEx(PChar(FileName), 0, LOAD_LIBRARY_AS_DATAFILE or DONT_RESOLVE_DLL_REFERENCES);
if H <> 0 then
- try
- EnumResourceNames(H, RT_STRING, @FindResStartCallBack, Integer(@FindResRec));
- finally
- FreeLibrary(H);
- end;
+ try
+ EnumResourceNames(H, RT_STRING, @FindResStartCallBack, Integer(@FindResRec));
+ finally
+ FreeLibrary(H);
+ end;
Result := FindResRec.MatchStr;
end;
@@ -1581,13 +1587,14 @@
for Index := Low(ResEn) to High(ResEn) do
LoadResRec.EnglishStr[Index] := ResEn[Index];
- H := LoadLibraryEx(PChar(ChangeFileExt(BaseBinName, BinaryExtensionPackage)), 0, LOAD_LIBRARY_AS_DATAFILE or DONT_RESOLVE_DLL_REFERENCES);
+ H := LoadLibraryEx(PChar(ChangeFileExt(BaseBinName, BinaryExtensionPackage)), 0,
+ LOAD_LIBRARY_AS_DATAFILE or DONT_RESOLVE_DLL_REFERENCES);
if H <> 0 then
- try
- EnumResourceNames(H, RT_STRING, @LoadResCallBack, Integer(@LoadResRec));
- finally
- FreeLibrary(H);
- end;
+ try
+ EnumResourceNames(H, RT_STRING, @LoadResCallBack, Integer(@LoadResRec));
+ finally
+ FreeLibrary(H);
+ end;
FileName := '';
@@ -1612,15 +1619,16 @@
begin
H := LoadLibraryEx(PChar(FileName), 0, LOAD_LIBRARY_AS_DATAFILE or DONT_RESOLVE_DLL_REFERENCES);
if H <> 0 then
- try
- for Index := 0 to NbRes - 1 do
- begin
- SetLength(Result[Index], 1024);
- SetLength(Result[Index], LoadStringW(H, LoadResRec.ResId[Index], PWideChar(Result[Index]), Length(Result[Index]) - 1));
+ try
+ for Index := 0 to NbRes - 1 do
+ begin
+ SetLength(Result[Index], 1024);
+ SetLength(Result[Index],
+ LoadStringW(H, LoadResRec.ResId[Index], PWideChar(Result[Index]), Length(Result[Index]) - 1));
+ end;
+ finally
+ FreeLibrary(H);
end;
- finally
- FreeLibrary(H);
- end;
end
else
Result := LoadResRec.EnglishStr;
@@ -1814,8 +1822,8 @@
//== { TJclHelp2Manager } ====================================================
const
- Help2BorlandNameSpace = 'Borland.BDS%d';
- Help2DefaultKeyWord = '_DEFAULT';
+ Help2BorlandNameSpace = 'Borland.BDS%d';
+ Help2DefaultKeyWord = '_DEFAULT';
constructor TJclHelp2Manager.Create(AInstallation: TJclBorRADToolInstallation);
begin
@@ -2167,7 +2175,7 @@
FreeAndNil(FKnownPackages);
FreeAndNil(FKnownIDEPackages);
FreeAndNil(FExperts);
- inherited Destroy;
+ inherited Destroy;
end;
function TJclBorRADToolIdePackages.AddPackage(const FileName, Description: string): Boolean;
@@ -2211,7 +2219,7 @@
function TJclBorRADToolIdePackages.GetExpertFileNames(Index: Integer): string;
begin
- Result := PackageEntryToFileName(FExperts.Values[FExperts.Names[Index]]);
+ Result := PackageEntryToFileName(FExperts.Values[FExperts.Names[Index]]);
end;
function TJclBorRADToolIdePackages.GetIDECount: Integer;
@@ -2265,7 +2273,7 @@
end;
begin
- if (Installation.RadToolKind = brBorlandDevStudio) then
+ if Installation.RadToolKind = brBorlandDevStudio then
ReadPackageList(KnownIDEPackagesKeyName, FKnownIDEPackages);
ReadPackageList(KnownPackagesKeyName, FKnownPackages);
ReadPackageList(DisabledPackagesKeyName, FDisabledPackages);
@@ -2419,7 +2427,7 @@
if Assigned(FOutputCallback) then
begin
FOutputCallback(LaunchCommand);
- Result := JclSysUtils.Execute(LaunchCommand, FOutputCallback) = 0
+ Result := JclSysUtils.Execute(LaunchCommand, FOutputCallback) = 0;
end
else
Result := JclSysUtils.Execute(LaunchCommand, FOutput) = 0;
@@ -2509,7 +2517,8 @@
AdditionalOptions := '';
DProjFileName := ChangeFileExt(ProjectFileName, SourceExtensionDProject);
- if FileExists(DProjFileName) and (Installation.IDEVersionNumber >= 5) and (Installation.RadToolKind = brBorlandDevStudio) then
+ if FileExists(DProjFileName) and (Installation.IDEVersionNumber >= 5) and
+ (Installation.RadToolKind = brBorlandDevStudio) then
begin
OptionsXmlFile := TJclSimpleXML.Create;
try
@@ -2535,8 +2544,8 @@
ConditionProperty := PropertyGroupNode.Properties.ItemNamed[DProjConditionValueName];
if Assigned(ConditionProperty) then
begin
- if (ProjectConfiguration <> '') and (ProjectPlatform <> '')
- and (AnsiPos(Format('%s|%s', [ProjectConfiguration, ProjectPlatform]), ConditionProperty.Value) > 0) then
+ if (ProjectConfiguration <> '') and (ProjectPlatform <> '') and
+ (AnsiPos(Format('%s|%s', [ProjectConfiguration, ProjectPlatform]), ConditionProperty.Value) > 0) then
begin
// this is the active configuration, check for overrides
ChildNode := PropertyGroupNode.Items.ItemNamed[DProjUsePackageNodeName];
@@ -2587,18 +2596,18 @@
OptionNode := PersonalityInfoNode.Items.ItemNamed[BDSProjOptionNodeName];
if Assigned(OptionNode) then
for NodeIndex := 0 to OptionNode.Items.Count - 1 do
- begin
- ChildNode := OptionNode.Items.Item[NodeIndex];
- if SameText(ChildNode.Name, BDSProjOptionNodeName) then
begin
- NameProperty := ChildNode.Properties.ItemNamed[BDSProjNameProperty];
- if Assigned(NameProperty) and SameText(NameProperty.Value, BDSProjPersonalityValue) then
+ ChildNode := OptionNode.Items.Item[NodeIndex];
+ if SameText(ChildNode.Name, BDSProjOptionNodeName) then
begin
- PersonalityName := ChildNode.Value;
- Break;
+ NameProperty := ChildNode.Properties.ItemNamed[BDSProjNameProperty];
+ if Assigned(NameProperty) and SameText(NameProperty.Value, BDSProjPersonalityValue) then
+ begin
+ PersonalityName := ChildNode.Value;
+ Break;
+ end;
end;
end;
- end;
end;
if PersonalityName <> '' then
begin
@@ -2608,30 +2617,30 @@
DirectoriesNode := PersonalityNode.Items.ItemNamed[BDSProjDirectoriesNodeName];
if Assigned(DirectoriesNode) then
for NodeIndex := 0 to DirectoriesNode.Items.Count - 1 do
- begin
- ChildNode := DirectoriesNode.Items.Item[NodeIndex];
- if SameText(ChildNode.Name, BDSProjDirectoriesNodeName) then
begin
- NameProperty := ChildNode.Properties.ItemNamed[BDSProjNameProperty];
- if Assigned(NameProperty) then
+ ChildNode := DirectoriesNode.Items.Item[NodeIndex];
+ if SameText(ChildNode.Name, BDSProjDirectoriesNodeName) then
begin
- if SameText(NameProperty.Value, BDSProjUnitOutputDirValue) then
- UnitOutputDir := ChildNode.Value
- else
- if SameText(NameProperty.Value, BDSProjSearchPathValue) then
- SearchPath := ChildNode.Value
- else
- if SameText(NameProperty.Value, BDSProjPackagesValue) then
- DynamicPackages := ChildNode.Value
- else
- if SameText(NameProperty.Value, BDSProjConditionalsValue) then
- Conditionals := ChildNode.Value
- else
- if SameText(NameProperty.Value, BDSProjUsePackagesValue) then
- UsePackages := StrToBoolean(ChildNode.Value);
+ NameProperty := ChildNode.Properties.ItemNamed[BDSProjNameProperty];
+ if Assigned(NameProperty) then
+ begin
+ if SameText(NameProperty.Value, BDSProjUnitOutputDirValue) then
+ UnitOutputDir := ChildNode.Value
+ else
+ if SameText(NameProperty.Value, BDSProjSearchPathValue) then
+ SearchPath := ChildNode.Value
+ else
+ if SameText(NameProperty.Value, BDSProjPackagesValue) then
+ DynamicPackages := ChildNode.Value
+ else
+ if SameText(NameProperty.Value, BDSProjConditionalsValue) then
+ Conditionals := ChildNode.Value
+ else
+ if SameText(NameProperty.Value, BDSProjUsePackagesValue) then
+ UsePackages := StrToBoolean(ChildNode.Value);
+ end;
end;
end;
- end;
end;
end;
finally
@@ -2648,7 +2657,7 @@
SearchPath := OptionsFile.ReadString(DOFDirectoriesSection, DOFSearchPathName, '');
UnitOutputDir := OptionsFile.ReadString(DOFDirectoriesSection, DOFUnitOutputDirKey, '');
Conditionals := OptionsFile.ReadString(DOFDirectoriesSection, DOFConditionals, '');
- UsePackages := OptionsFile.ReadString(DOFCompilerSection,DOFPackageNoLinkKey,'') = '1';
+ UsePackages := OptionsFile.ReadString(DOFCompilerSection, DOFPackageNoLinkKey, '') = '1';
DynamicPackages := OptionsFile.ReadString(DOFLinkerSection, DOFPackagesKey, '');
AdditionalOptions := OptionsFile.ReadString(DOFAdditionalSection, DOFOptionsKey, '');
finally
@@ -2671,7 +2680,7 @@
SearchDcpPath := StrEnsureSuffix(PathSep, DCPPath) + Installation.DCPOutputPath;
AddPathOption('U', StrEnsureSuffix(PathSep, SearchDcpPath) + SearchPath);
if UsePackages and (DynamicPackages <> '') then
- Options.Add(Format('-LU"%s"',[DynamicPackages]));
+ Options.Add(Format('-LU"%s"', [DynamicPackages]));
if AdditionalOptions <> '' then
Options.Add(AdditionalOptions);
end;
@@ -2734,7 +2743,7 @@
if IsPathOption(Option, SwitchLen) then
begin
- StrToStrings(StrTrimQuotes(Copy(Option, SwitchLen+1, Length(Option) - SwitchLen)), PathSep, PathList);
+ StrToStrings(StrTrimQuotes(Copy(Option, SwitchLen + 1, Length(Option) - SwitchLen)), PathSep, PathList);
// change to relative paths to avoid DCC32 126 character path limit
for PathIndex := 0 to PathList.Count - 1 do
PathList.Strings[PathIndex] := PathGetRelativePath(CurrentFolder, ExpandFileName(PathList[PathIndex]));
@@ -2823,7 +2832,7 @@
{$IFDEF MSWINDOWS}
//=== { TJclDCCIL } ==========================================================
-
+
function TJclDCCIL.GetExeName: string;
begin
Result := DCCILExeName;
@@ -3270,10 +3279,8 @@
try
MakeFileName := StrTrimQuotes(ChangeFileExt(PackageName, '.mak'));
if clProj2Mak in CommandLineTools then // let bpr2mak generate make file from .bpk
- begin
// Kylix bpr2mak doesn't like full file names
Result := Bpr2Mak.Execute(StringsToStr(Bpr2Mak.Options, ' ') + ' ' + ExtractFileName(PackageName))
- end
else
// If make file exists (and doesn't need to be created by bpr2mak)
Result := FileExists(MakeFileName);
@@ -3282,7 +3289,7 @@
Make.Options.Add('-DMAPFLAGS=-s');
GetBPKFileInfo(PackageName, RunOnly, @BinaryFileName);
-
+
Result := Result and
Make.Execute(Format('%s -f%s', [StringsToStr(Make.Options, ' '), StrDoubleQuote(MakeFileName)])) and
ProcessMapFile(PathAddSeparator(BPLPath) + BinaryFileName);
@@ -3404,7 +3411,7 @@
PackageExtension: string;
begin
PackageExtension := ExtractFileExt(PackageName);
- if SameText(PackageExtension,SourceExtensionBCBPackage) then
+ if SameText(PackageExtension, SourceExtensionBCBPackage) then
Result := CompileBCBPackage(PackageName, BPLPath, DCPPath)
else
if SameText(PackageExtension, SourceExtensionDelphiPackage) then
@@ -3419,7 +3426,7 @@
ProjectExtension: string;
begin
ProjectExtension := ExtractFileExt(ProjectName);
- if SameText(ProjectExtension,SourceExtensionBCBProject) then
+ if SameText(ProjectExtension, SourceExtensionBCBProject) then
Result := CompileBCBProject(ProjectName, OutputDir, DcpSearchPath)
else
if SameText(ProjectExtension, SourceExtensionDelphiProject) then
@@ -3794,7 +3801,7 @@
raise EJclBorRadException.CreateResFmt(@RsECannotInstallRunOnly, [PackageName]);
BPLFileName := PathAddSeparator(BPLPath) + PathExtractFileNameNoExt(PackageName) +
LibSuffix + BinaryExtensionPackage;
-
+
Result := CompileDelphiPackage(PackageName, BPLPath, DCPPath) and
RegisterIdePackage(BPLFileName, Description);
@@ -3813,7 +3820,7 @@
raise EJclBorRadException.CreateResFmt(@RsECannotInstallRunOnly, [PackageName]);
BPLFileName := PathAddSeparator(BPLPath) + PathExtractFileNameNoExt(PackageName) +
LibSuffix + BinaryExtensionPackage;
-
+
Result := CompileDelphiPackage(PackageName, BPLPath, DCPPath) and
RegisterPackage(BPLFileName, Description);
@@ -3976,6 +3983,19 @@
end;
procedure TJclBorRADToolInstallation.ReadInformation;
+const
+ {$IFDEF KYLIX}
+ BinDir = 'bin/';
+ {$ELSE ~KYLIX}
+ BinDir = 'bin\';
+ {$ENDIF ~KYLIX}
+ UpdateKeyName = 'Update #';
+ BDSUpdateKeyName = 'UpdatePackInstalled';
+var
+ KeyLen, I: Integer;
+ Key: string;
+ Ed: TJclBorRADToolEdition;
+
function FormatVersionNumber(const Num: Integer): string;
begin
Result := '';
@@ -3993,25 +4013,14 @@
{$ENDIF ~KYLIX}
brBorlandDevStudio:
case Num of
- 1 :
+ 1:
Result := 'cs1';
else
Result := Format('d%d', [Num + 6]); // BDS 2 goes to D8
end;
end;
end;
-const
- {$IFDEF KYLIX}
- BinDir = 'bin/';
- {$ELSE ~KYLIX}
- BinDir = 'bin\';
- {$ENDIF ~KYLIX}
- UpdateKeyName = 'Update #';
- BDSUpdateKeyName = 'UpdatePackInstalled';
-var
- KeyLen, I: Integer;
- Key: string;
- Ed: TJclBorRADToolEdition;
+
begin
Key := ConfigData.FileName;
{$IFDEF KYLIX}
@@ -4072,13 +4081,13 @@
if RadToolKind = brBorlandDevStudio then
FInstalledUpdatePack := StrToIntDef(Globals.Values[BDSUpdateKeyName], 0)
else
- for I := 0 to Globals.Count - 1 do
- begin
- Key := Globals.Names[I];
- KeyLen := Length(UpdateKeyName);
- if (Pos(UpdateKeyName, Key) = 1) and (Length(Key) > KeyLen) and StrIsDigit(Key[KeyLen + 1]) then
- FInstalledUpdatePack := Max(FInstalledUpdatePack, Integer(Ord(Key[KeyLen + 1]) - 48));
- end;
+ for I := 0 to Globals.Count - 1 do
+ begin
+ Key := Globals.Names[I];
+ KeyLen := Length(UpdateKeyName);
+ if (Pos(UpdateKeyName, Key) = 1) and (Length(Key) > KeyLen) and StrIsDigit(Key[KeyLen + 1]) then
+ FInstalledUpdatePack := Max(FInstalledUpdatePack, Integer(Ord(Key[KeyLen + 1]) - 48));
+ end;
end;
function TJclBorRADToolInstallation.RegisterExpert(const BinaryFileName, Description: string): Boolean;
@@ -4256,8 +4265,8 @@
{$IFDEF KYLIX}
Result := False;
{$ELSE ~KYLIX}
- Result := (RadToolKind = brBorlandDevStudio) or (VersionNumber >= 6)
- and (FileExists(LibFolderName + VclDcp) or FileExists(ObjFolderName + VclDcp));
+ Result := (RadToolKind = brBorlandDevStudio) or (VersionNumber >= 6) and
+ (FileExists(LibFolderName + VclDcp) or FileExists(ObjFolderName + VclDcp));
{$ENDIF ~KYLIX}
end;
@@ -4268,8 +4277,8 @@
{$IFDEF KYLIX}
Result := True;
{$ELSE}
- Result := (Edition <> deSTD) and (VersionNumber in [6, 7]) and (RadToolKind <> brBorlandDevStudio)
- and (FileExists(LibFolderName + VisualClxDcp) or FileExists(ObjFolderName + VisualClxDcp));
+ Result := (Edition <> deSTD) and (VersionNumber in [6, 7]) and (RadToolKind <> brBorlandDevStudio) and
+ (FileExists(LibFolderName + VisualClxDcp) or FileExists(ObjFolderName + VisualClxDcp));
{$ENDIF KYLIX}
end;
@@ -4344,10 +4353,10 @@
RunOnly: Boolean;
begin
OutputString(Format(RsPackageUninstallationStarted, [PackageName]));
-
+
if not IsBCBPackage(PackageName) then
raise EJclBorRADException.CreateResFmt(@RsENotABCBPackage, [PackageName]);
-
+
GetBPKFileInfo(PackageName, RunOnly, @BinaryFileName);
BPLFileName := PathAddSeparator(BPLPath) + BinaryFileName;
@@ -4360,7 +4369,7 @@
if Result then
begin
OutputFileDelete(BPLFileName);
-
+
BPIFileName := PathAddSeparator(DCPPath) + PathExtractFileNameNoExt(PackageName) + CompilerExtensionBPI;
OutputFileDelete(BPIFileName);
@@ -4411,7 +4420,7 @@
RunOnly: Boolean;
begin
OutputString(Format(RsIdePackageUninstallationStarted, [PackageName]));
-
+
if not IsDelphiPackage(PackageName) then
raise EJclBorRADException.CreateResFmt(@RsENotADelphiPackage, [PackageName]);
@@ -4441,13 +4450,12 @@
function TJclBorRADToolInstallation.UninstallDelphiPackage(const PackageName, BPLPath, DCPPath: string): Boolean;
var
- MAPFileName,
- BPLFileName, DCPFileName: string;
+ MAPFileName, BPLFileName, DCPFileName: string;
BaseName, LibSuffix: string;
RunOnly: Boolean;
begin
OutputString(Format(RsPackageUninstallationStarted, [PackageName]));
-
+
if not IsDelphiPackage(PackageName) then
raise EJclBorRADException.CreateResFmt(@RsENotADelphiPackage, [PackageName]);
@@ -4480,7 +4488,7 @@
ProjectExtension: string;
begin
ProjectExtension := ExtractFileExt(ProjectName);
- if SameText(ProjectExtension,SourceExtensionBCBProject) then
+ if SameText(ProjectExtension, SourceExtensionBCBProject) then
Result := UninstallBCBExpert(ProjectName, OutputDir)
else
if SameText(ProjectExtension, SourceExtensionDelphiProject) then
@@ -4494,7 +4502,7 @@
PackageExtension: string;
begin
PackageExtension := ExtractFileExt(PackageName);
- if SameText(PackageExtension,SourceExtensionBCBPackage) then
+ if SameText(PackageExtension, SourceExtensionBCBPackage) then
Result := UninstallBCBIdePackage(PackageName, BPLPath, DCPPath)
else
if SameText(PackageExtension, SourceExtensionDelphiPackage) then
@@ -4508,7 +4516,7 @@
PackageExtension: string;
begin
PackageExtension := ExtractFileExt(PackageName);
- if SameText(PackageExtension,SourceExtensionBCBPackage) then
+ if SameText(PackageExtension, SourceExtensionBCBPackage) then
Result := UninstallBCBPackage(PackageName, BPLPath, DCPPath)
else
if SameText(PackageExtension, SourceExtensionDelphiPackage) then
@@ -4908,7 +4916,8 @@
Result := GetCommonProjectsDirectory(RootDir, IDEVersionNumber);
end;
-class function TJclBDSInstallation.GetCommonProjectsDirectory(const RootDir: string; IDEVersionNumber: Integer): string;
+class function TJclBDSInstallation.GetCommonProjectsDirectory(const RootDir: string;
+ IDEVersionNumber: Integer): string;
var
RsVarsOutput, ComSpec: string;
Lines: TStrings;
@@ -4933,7 +4942,8 @@
Result := LoadResStrings(RootDir + '\Bin\coreide' + BDSVersions[IDEVersionNumber].CoreIdeVersion + '.',
['RAD Studio'])[0];
- Result := Format('%s%s%d.0', [PathAddSeparator(GetCommonDocumentsFolder), PathAddSeparator(Result), IDEVersionNumber]);
+ Result := Format('%s%s%d.0',
+ [PathAddSeparator(GetCommonDocumentsFolder), PathAddSeparator(Result), IDEVersionNumber]);
end;
end
else
@@ -4994,7 +5004,8 @@
Result := GetDefaultProjectsDirectory(RootDir, IDEVersionNumber);
end;
-class function TJclBDSInstallation.GetDefaultProjectsDirectory(const RootDir: string; IDEVersionNumber: Integer): string;
+class function TJclBDSInstallation.GetDefaultProjectsDirectory(const RootDir: string;
+ IDEVersionNumber: Integer): string;
var
LocStr: WideStringArray;
begin
@@ -5094,7 +5105,6 @@
if Assigned(PropertyNode) then
Result := PropertyNode.Value;
end;
-
finally
EnvOptionsFile.Free;
end;
@@ -5144,7 +5154,7 @@
if (IDEVersionNumber = 5) and (Personalities = [bpDelphi32]) then
Result := RsDelphiName
else
- if (IDEVersionNumber = 5) and (Personalities = [bpBCBuilder32]) then
+ if (IDEVersionNumber = 5) and (Personalities = [bpBCBuilder32]) then
Result := RsBCBName;
end
else
@@ -5349,23 +5359,24 @@
begin
Result := nil;
for I := 0 to Count - 1 do
- case Installations[I].RadToolKind of
- brCppBuilder:
- if Installations[I].IDEVersionNumber = VersionNumber then
- begin
- Result := Installations[I];
- Break;
- end;
- brBorlandDevStudio:
- if (VersionNumber >= 10) and (Installations[I].IDEVersionNumber = (VersionNumber - 6)) then
- begin
- Result := Installations[I];
- Break;
- end;
- end;
+ case Installations[I].RadToolKind of
+ brCppBuilder:
+ if Installations[I].IDEVersionNumber = VersionNumber then
+ begin
+ Result := Installations[I];
+ Break;
+ end;
+ brBorlandDevStudio:
+ if (VersionNumber >= 10) and (Installations[I].IDEVersionNumber = (VersionNumber - 6)) then
+ begin
+ Result := Installations[I];
+ Break;
+ end;
+ end;
end;
-function TJclBorRADToolInstallations.GetDelphiInstallationFromVersion(VersionNumber: Integer): TJclBorRADToolInstallation;
+function TJclBorRADToolInstallations.GetDelphiInstallationFromVersion(
+ VersionNumber: Integer): TJclBorRADToolInstallation;
var
I: Integer;
begin
@@ -5478,48 +5489,48 @@
RegGetKeyNames(HKEY_LOCAL_MACHINE, KeyName, VersionNumbers) then
for I := 0 to VersionNumbers.Count - 1 do
if StrIsSubSet(VersionNumbers[I], ['.', '0'..'9']) then
- begin
- VersionKeyName := KeyName + DirDelimiter + VersionNumbers[I];
- if RegKeyExists(HKEY_LOCAL_MACHINE, VersionKeyName) then
begin
- if Length(Personalities) = 0 then
+ VersionKeyName := KeyName + DirDelimiter + VersionNumbers[I];
+ if RegKeyExists(HKEY_LOCAL_MACHINE, VersionKeyName) then
begin
- try
- Installation := CreateClass.Create(VersionKeyName);
- if Installation.Valid then
- FList.Add(Installation);
- finally
- Result := True;
- end;
- end
- else
- begin
- PersonalitiesList := TStringList.Create;
- try
- PersonalitiesKeyName := VersionKeyName + '\Personalities';
- if RegKeyExists(HKEY_LOCAL_MACHINE, PersonalitiesKeyName) then
- RegGetValueNames(HKEY_LOCAL_MACHINE, PersonalitiesKeyName, PersonalitiesList);
-
- for J := Low(Personalities) to High(Personalities) do
- if PersonalitiesList.IndexOf(Personalities[J]) >= 0 then
- begin
- try
- Installation := CreateClass.Create(VersionKeyName);
- if Installation.Valid then
- FList.Add(Installation)
- else
- Installation.Free;
- finally
- Result := True;
- end;
- Break;
+ if Length(Personalities) = 0 then
+ begin
+ try
+ Installation := CreateClass.Create(VersionKeyName);
+ if Installation.Valid then
+ FList.Add(Installation);
+ finally
+ Result := True;
end;
- finally
- PersonalitiesList.Free;
+ end
+ else
+ begin
+ PersonalitiesList := TStringList.Create;
+ try
+ PersonalitiesKeyName := VersionKeyName + '\Personalities';
+ if RegKeyExists(HKEY_LOCAL_MACHINE, PersonalitiesKeyName) then
+ RegGetValueNames(HKEY_LOCAL_MACHINE, PersonalitiesKeyName, PersonalitiesList);
+
+ for J := Low(Personalities) to High(Personalities) do
+ if PersonalitiesList.IndexOf(Personalities[J]) >= 0 then
+ begin
+ try
+ Installation := CreateClass.Create(VersionKeyName);
+ if Installation.Valid then
+ FList.Add(Installation)
+ else
+ Installation.Free;
+ finally
+ Result := True;
+ end;
+ Break;
+ end;
+ finally
+ PersonalitiesList.Free;
+ end;
end;
end;
end;
- end;
end;
begin
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-08-12 08:50:04
|
Revision: 2119
http://jcl.svn.sourceforge.net/jcl/?rev=2119&view=rev
Author: outchy
Date: 2007-08-12 01:49:57 -0700 (Sun, 12 Aug 2007)
Log Message:
-----------
New test with maximum line length set to 120.
Modified Paths:
--------------
branches/code_format/jcl/examples/common/containers/algorithms/AlgorithmsExampleMain.pas
branches/code_format/jcl/examples/common/containers/hashing/HashingExampleMain.pas
branches/code_format/jcl/examples/common/containers/lists/ListExampleMain.pas
branches/code_format/jcl/examples/common/containers/lists/MyObjectList.pas
branches/code_format/jcl/examples/common/containers/performance/ContainerPerformanceMain.pas
branches/code_format/jcl/examples/common/containers/trees/TreeExampleMain.pas
branches/code_format/jcl/examples/common/expreval/QExprEvalExampleMain.pas
branches/code_format/jcl/examples/common/filesearch/QFileSearchDemoMain.pas
branches/code_format/jcl/examples/common/graphics/QClipLineDemoMain.pas
branches/code_format/jcl/examples/common/graphics/StretchGraphicDemoMain.pas
branches/code_format/jcl/examples/common/multimedia/MidiOutExampleMain.pas
branches/code_format/jcl/examples/common/multimedia/MidiOutExampleTuningDlg.pas
branches/code_format/jcl/examples/common/numformat/QNumFormatExampleMain.pas
branches/code_format/jcl/examples/common/pcre/PCREDemoMain.pas
branches/code_format/jcl/examples/common/pcre/QPCREDemoMain.pas
branches/code_format/jcl/examples/common/rtti/QRTTIDemoMain.pas
branches/code_format/jcl/examples/common/rtti/RTTIDemoMain.pas
branches/code_format/jcl/examples/common/sysinfo/QEnvironmentExampleMain.pas
branches/code_format/jcl/examples/common/textreader/TextReaderDemoMain.pas
branches/code_format/jcl/examples/windows/appinst/AppInstDemoMain.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoAbstractFrame.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoBlobForm.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoCLRFrame.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoGuidForm.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoMain.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoMetaDataFrame.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoStringsForm.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoTableForm.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoUserStringsForm.pas
branches/code_format/jcl/examples/windows/debug/framestrack/FramesTrackDemoMain.pas
branches/code_format/jcl/examples/windows/debug/reportconverter/formConverter.pas
branches/code_format/jcl/examples/windows/debug/sourceloc/SourceLocDemoMain.pas
branches/code_format/jcl/examples/windows/debug/stacktrack/StackTrackDLLsComLibrary_TLB.pas
branches/code_format/jcl/examples/windows/debug/stacktrack/StackTrackDLLsDemoMain.pas
branches/code_format/jcl/examples/windows/delphitools/common/About.pas
branches/code_format/jcl/examples/windows/delphitools/common/D6MdiMsgFix.pas
branches/code_format/jcl/examples/windows/delphitools/common/FindDlg.pas
branches/code_format/jcl/examples/windows/delphitools/common/SHDocVw_TLB.pas
branches/code_format/jcl/examples/windows/delphitools/common/ToolsUtils.pas
branches/code_format/jcl/examples/windows/delphitools/dependencyviewer/DependViewMain.pas
branches/code_format/jcl/examples/windows/delphitools/dependencyviewer/FileViewer.pas
branches/code_format/jcl/examples/windows/delphitools/peviewer/PeDump.pas
branches/code_format/jcl/examples/windows/delphitools/peviewer/PeGenDef.pas
branches/code_format/jcl/examples/windows/delphitools/peviewer/PeResView.pas
branches/code_format/jcl/examples/windows/delphitools/peviewer/PeResource.pas
branches/code_format/jcl/examples/windows/delphitools/peviewer/PeSearch.pas
branches/code_format/jcl/examples/windows/delphitools/peviewer/PeViewerControl.pas
branches/code_format/jcl/examples/windows/delphitools/peviewer/PeViewerMain.pas
branches/code_format/jcl/examples/windows/delphitools/resfix/ResFixMain.pas
branches/code_format/jcl/examples/windows/delphitools/screenjpg/Main.pas
branches/code_format/jcl/examples/windows/delphitools/toolhelpview/ChangePriority.pas
branches/code_format/jcl/examples/windows/delphitools/toolhelpview/Global.pas
branches/code_format/jcl/examples/windows/delphitools/toolhelpview/HeapDump.pas
branches/code_format/jcl/examples/windows/delphitools/toolhelpview/Main.pas
branches/code_format/jcl/examples/windows/delphitools/toolhelpview/MemoryDump.pas
branches/code_format/jcl/examples/windows/delphitools/toolhelpview/ModulesDump.pas
branches/code_format/jcl/examples/windows/delphitools/toolhelpview/ViewTemplate.pas
branches/code_format/jcl/examples/windows/edisdk/EDICOMExampleMain.pas
branches/code_format/jcl/examples/windows/edisdk/EDISDK_TLB.pas
branches/code_format/jcl/examples/windows/edisdk/comserver/EDISDK_TLB.pas
branches/code_format/jcl/examples/windows/edisdk/comserver/JclEDICOM_ANSIX12.pas
branches/code_format/jcl/examples/windows/filesummary/FileSummaryDemoMain.pas
branches/code_format/jcl/examples/windows/fileversion/VerInfoDemoMain.pas
branches/code_format/jcl/examples/windows/lanman/LanManDemoMain.pas
branches/code_format/jcl/examples/windows/locales/LocalesDemoMain.pas
branches/code_format/jcl/examples/windows/mapi/MapiDemoMain.pas
branches/code_format/jcl/examples/windows/multimedia/MultimediaDemoMain.pas
branches/code_format/jcl/examples/windows/ntfs/SoftLinkDragDropHandler.pas
branches/code_format/jcl/examples/windows/ntservice/NtSvcDemoDependent.pas
branches/code_format/jcl/examples/windows/ntservice/NtSvcDemoGroups.pas
branches/code_format/jcl/examples/windows/ntservice/NtSvcDemoMain.pas
branches/code_format/jcl/examples/windows/peimage/ApiHookDemoMain.pas
branches/code_format/jcl/examples/windows/peimage/UnmangleNameDemoMain.pas
branches/code_format/jcl/examples/windows/registry/RegistryDemoMain.pas
branches/code_format/jcl/examples/windows/structstorage/HexDump.pas
branches/code_format/jcl/examples/windows/structstorage/PropsFrm.pas
branches/code_format/jcl/examples/windows/structstorage/StructStorageExampleMain.pas
branches/code_format/jcl/examples/windows/sysinfo/SysInfoDemoMain.pas
branches/code_format/jcl/examples/windows/tasks/TaskDemoDataModule.pas
branches/code_format/jcl/examples/windows/tasks/TaskDemoMain.pas
branches/code_format/jcl/examples/windows/widestring/WideStringDemoMain.pas
branches/code_format/jcl/experts/common/JclOtaConfigurationForm.pas
branches/code_format/jcl/experts/common/JclOtaConsts.pas
branches/code_format/jcl/experts/common/JclOtaExceptionForm.pas
branches/code_format/jcl/experts/common/JclOtaResources.pas
branches/code_format/jcl/experts/common/JclOtaUtils.pas
branches/code_format/jcl/experts/common/JclOtaWizardForm.pas
branches/code_format/jcl/experts/common/JclOtaWizardFrame.pas
branches/code_format/jcl/experts/debug/JclDebugThread.pas
branches/code_format/jcl/experts/debug/converter/JclDebugIdeImpl.pas
branches/code_format/jcl/experts/debug/converter/JclDebugIdeResult.pas
branches/code_format/jcl/experts/debug/dialog/ExceptDlg.pas
branches/code_format/jcl/experts/debug/dialog/ExceptDlgMail.pas
branches/code_format/jcl/experts/debug/dialog/JclOtaExcDlgFileFrame.pas
branches/code_format/jcl/experts/debug/dialog/JclOtaExcDlgRepository.pas
branches/code_format/jcl/experts/debug/dialog/JclOtaExcDlgTraceFrame.pas
branches/code_format/jcl/experts/debug/dialog/JclOtaExcDlgWizard.pas
branches/code_format/jcl/experts/debug/dialog/JclOtaRepositoryUtils.pas
branches/code_format/jcl/experts/debug/dialog/JclOtaTemplates.pas
branches/code_format/jcl/experts/debug/simdview/JclSIMDCpuInfo.pas
branches/code_format/jcl/experts/debug/simdview/JclSIMDModifyForm.pas
branches/code_format/jcl/experts/debug/simdview/JclSIMDUtils.pas
branches/code_format/jcl/experts/debug/simdview/JclSIMDView.pas
branches/code_format/jcl/experts/debug/simdview/JclSIMDViewForm.pas
branches/code_format/jcl/experts/debug/threadnames/JclIdeThreadStatus.pas
branches/code_format/jcl/experts/debug/threadnames/ThreadExpertSharedNames.pas
branches/code_format/jcl/experts/debug/threadnames/ThreadExpertUnit.pas
branches/code_format/jcl/experts/debug/tools/MapToJdbgMain.pas
branches/code_format/jcl/experts/debug/tools/TlbToMapMain.pas
branches/code_format/jcl/experts/favfolders/IdeOpenDlgFavoriteUnit.pas
branches/code_format/jcl/experts/favfolders/OpenDlgFavAdapter.pas
branches/code_format/jcl/experts/projectanalyzer/ProjAnalyzerFrm.pas
branches/code_format/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas
branches/code_format/jcl/experts/useswizard/JCLUsesWizard.pas
branches/code_format/jcl/experts/useswizard/JclParseUses.pas
branches/code_format/jcl/experts/useswizard/JclUsesDialog.pas
branches/code_format/jcl/experts/versioncontrol/JclVersionCtrlCVSImpl.pas
branches/code_format/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.pas
branches/code_format/jcl/experts/versioncontrol/JclVersionCtrlSVNImpl.pas
branches/code_format/jcl/experts/versioncontrol/VersionControlImpl.pas
branches/code_format/jcl/install/JclInstall.pas
branches/code_format/jcl/install/JediInstall.pas
branches/code_format/jcl/install/JediInstallConfigIni.pas
branches/code_format/jcl/install/VclGui/FrmCompile.pas
branches/code_format/jcl/install/prototypes/JediGUIInstall.pas
branches/code_format/jcl/install/prototypes/JediGUIMain.pas
branches/code_format/jcl/source/common/Jcl8087.pas
branches/code_format/jcl/source/common/JclAbstractContainers.pas
branches/code_format/jcl/source/common/JclAlgorithms.pas
branches/code_format/jcl/source/common/JclAnsiStrings.pas
branches/code_format/jcl/source/common/JclArrayLists.pas
branches/code_format/jcl/source/common/JclArraySets.pas
branches/code_format/jcl/source/common/JclBase.pas
branches/code_format/jcl/source/common/JclBinaryTrees.pas
branches/code_format/jcl/source/common/JclBorlandTools.pas
branches/code_format/jcl/source/common/JclComplex.pas
branches/code_format/jcl/source/common/JclCompression.pas
branches/code_format/jcl/source/common/JclContainerIntf.pas
branches/code_format/jcl/source/common/JclCounter.pas
branches/code_format/jcl/source/common/JclDateTime.pas
branches/code_format/jcl/source/common/JclEDI.pas
branches/code_format/jcl/source/common/JclEDISEF.pas
branches/code_format/jcl/source/common/JclEDITranslators.pas
branches/code_format/jcl/source/common/JclEDIXML.pas
branches/code_format/jcl/source/common/JclEDI_ANSIX12.pas
branches/code_format/jcl/source/common/JclEDI_ANSIX12_Ext.pas
branches/code_format/jcl/source/common/JclEDI_UNEDIFACT.pas
branches/code_format/jcl/source/common/JclEDI_UNEDIFACT_Ext.pas
branches/code_format/jcl/source/common/JclExprEval.pas
branches/code_format/jcl/source/common/JclFileUtils.pas
branches/code_format/jcl/source/common/JclHashMaps.pas
branches/code_format/jcl/source/common/JclHashSets.pas
branches/code_format/jcl/source/common/JclLinkedLists.pas
branches/code_format/jcl/source/common/JclLogic.pas
branches/code_format/jcl/source/common/JclMIDI.pas
branches/code_format/jcl/source/common/JclMath.pas
branches/code_format/jcl/source/common/JclMime.pas
branches/code_format/jcl/source/common/JclPCRE.pas
branches/code_format/jcl/source/common/JclRTTI.pas
branches/code_format/jcl/source/common/JclResources.pas
branches/code_format/jcl/source/common/JclSchedule.pas
branches/code_format/jcl/source/common/JclSimpleXml.pas
branches/code_format/jcl/source/common/JclStatistics.pas
branches/code_format/jcl/source/common/JclStrHashMap.pas
branches/code_format/jcl/source/common/JclStreams.pas
branches/code_format/jcl/source/common/JclStringLists.pas
branches/code_format/jcl/source/common/JclStrings.pas
branches/code_format/jcl/source/common/JclSysInfo.pas
branches/code_format/jcl/source/common/JclSysUtils.pas
branches/code_format/jcl/source/common/JclUnitConv.pas
branches/code_format/jcl/source/common/JclUnitVersioning.pas
branches/code_format/jcl/source/common/JclUnitVersioningProviders.pas
branches/code_format/jcl/source/common/JclValidation.pas
branches/code_format/jcl/source/common/JclVectors.pas
branches/code_format/jcl/source/common/JclWideStrings.pas
branches/code_format/jcl/source/common/bzip2.pas
branches/code_format/jcl/source/common/pcre.pas
branches/code_format/jcl/source/prototypes/Hardlinks.pas
branches/code_format/jcl/source/prototypes/JclWin32.pas
branches/code_format/jcl/source/prototypes/_GraphUtils.pas
branches/code_format/jcl/source/prototypes/_Graphics.pas
branches/code_format/jcl/source/prototypes/zlibh.pas
branches/code_format/jcl/source/unix/zlibh.pas
branches/code_format/jcl/source/vcl/JclFont.pas
branches/code_format/jcl/source/vcl/JclGraphUtils.pas
branches/code_format/jcl/source/vcl/JclGraphics.pas
branches/code_format/jcl/source/vcl/JclPrint.pas
branches/code_format/jcl/source/visclx/JclQGraphUtils.pas
branches/code_format/jcl/source/visclx/JclQGraphics.pas
branches/code_format/jcl/source/windows/Hardlinks.pas
branches/code_format/jcl/source/windows/JclAppInst.pas
branches/code_format/jcl/source/windows/JclCIL.pas
branches/code_format/jcl/source/windows/JclCLR.pas
branches/code_format/jcl/source/windows/JclCOM.pas
branches/code_format/jcl/source/windows/JclConsole.pas
branches/code_format/jcl/source/windows/JclDebug.pas
branches/code_format/jcl/source/windows/JclDotNet.pas
branches/code_format/jcl/source/windows/JclHookExcept.pas
branches/code_format/jcl/source/windows/JclLANMan.pas
branches/code_format/jcl/source/windows/JclLocales.pas
branches/code_format/jcl/source/windows/JclMapi.pas
branches/code_format/jcl/source/windows/JclMetadata.pas
branches/code_format/jcl/source/windows/JclMiscel.pas
branches/code_format/jcl/source/windows/JclMsdosSys.pas
branches/code_format/jcl/source/windows/JclMultimedia.pas
branches/code_format/jcl/source/windows/JclNTFS.pas
branches/code_format/jcl/source/windows/JclPeImage.pas
branches/code_format/jcl/source/windows/JclRegistry.pas
branches/code_format/jcl/source/windows/JclSecurity.pas
branches/code_format/jcl/source/windows/JclShell.pas
branches/code_format/jcl/source/windows/JclStructStorage.pas
branches/code_format/jcl/source/windows/JclSvcCtrl.pas
branches/code_format/jcl/source/windows/JclSynch.pas
branches/code_format/jcl/source/windows/JclTD32.pas
branches/code_format/jcl/source/windows/JclTask.pas
branches/code_format/jcl/source/windows/JclWideFormat.pas
branches/code_format/jcl/source/windows/JclWin32.pas
branches/code_format/jcl/source/windows/JclWin32Ex.pas
branches/code_format/jcl/source/windows/JclWinMIDI.pas
branches/code_format/jcl/source/windows/MSHelpServices_TLB.pas
branches/code_format/jcl/source/windows/MSTask.pas
branches/code_format/jcl/source/windows/Snmp.pas
branches/code_format/jcl/source/windows/mscoree_TLB.pas
branches/code_format/jcl/source/windows/mscorlib_TLB.pas
branches/code_format/jcl/source/windows/zlibh.pas
branches/code_format/thirdparty/jedi_code_format/JCFSettings.cfg
Modified: branches/code_format/jcl/examples/common/containers/algorithms/AlgorithmsExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/containers/algorithms/AlgorithmsExampleMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/containers/algorithms/AlgorithmsExampleMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -243,4 +243,3 @@
end;
end.
-
Modified: branches/code_format/jcl/examples/common/containers/hashing/HashingExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/containers/hashing/HashingExampleMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/containers/hashing/HashingExampleMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -332,4 +332,3 @@
end;
end.
-
Modified: branches/code_format/jcl/examples/common/containers/lists/ListExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/containers/lists/ListExampleMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/containers/lists/ListExampleMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -472,4 +472,3 @@
end;
end.
-
Modified: branches/code_format/jcl/examples/common/containers/lists/MyObjectList.pas
===================================================================
--- branches/code_format/jcl/examples/common/containers/lists/MyObjectList.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/containers/lists/MyObjectList.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -97,7 +97,7 @@
function TMyObjectList.Contains(AObject: TMyObject): Boolean;
begin
-Result := inherited Contains(AObject);
+ Result := inherited Contains(AObject);
end;
function TMyObjectList.GetObject(Index: Integer): TMyObject;
@@ -131,4 +131,3 @@
end;
end.
-
Modified: branches/code_format/jcl/examples/common/containers/performance/ContainerPerformanceMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/containers/performance/ContainerPerformanceMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/containers/performance/ContainerPerformanceMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -145,4 +145,3 @@
end;
end.
-
Modified: branches/code_format/jcl/examples/common/containers/trees/TreeExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/containers/trees/TreeExampleMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/containers/trees/TreeExampleMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -140,4 +140,3 @@
end;
end.
-
Modified: branches/code_format/jcl/examples/common/expreval/QExprEvalExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/expreval/QExprEvalExampleMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/expreval/QExprEvalExampleMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -3,7 +3,7 @@
interface
uses
- Types, SysUtils, Classes,
+ Types, SysUtils, Classes,
QGraphics, QControls, QForms, QStdCtrls,
JclExprEval;
Modified: branches/code_format/jcl/examples/common/filesearch/QFileSearchDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/filesearch/QFileSearchDemoMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/filesearch/QFileSearchDemoMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -124,7 +124,7 @@
with ListItem do
begin
Caption := Directory + FileInfo.Name;
- Str(GetSizeOfFile(FileInfo):13, S);
+ Str(GetSizeOfFile(FileInfo): 13, S);
SubItems.Add(S);
SubItems.Add(FormatDateTime(' yyyy-mm-dd hh:nn:ss ', FileDateToDateTime(FileInfo.Time)));
SubItems.Add(FileAttributesStr(FileInfo));
@@ -171,7 +171,7 @@
FFileEnumerator.FileSizeMax := StrToInt64(edFileSizeMax.Text);
FFileEnumerator.IncludeSubDirectories := IncludeSubDirectories.Checked;
FFileEnumerator.IncludeHiddenSubDirectories := IncludeHiddenSubDirs.Checked;
- FFileEnumerator.CaseSensitiveSearch := not cbCaseInsensitiveSearch.Checked;
+ FFileEnumerator.CaseSensitiveSearch := not cbCaseInsensitiveSearch.Checked;
FDirCount := 0;
StartBtn.Enabled := False;
@@ -250,7 +250,7 @@
begin
if not IncludeSubDirectories.Checked then
if IncludeHiddenSubDirs.State = cbChecked then
- IncludeHiddenSubDirs.State := cbUnchecked;
+ IncludeHiddenSubDirs.State := cbUnchecked;
end;
procedure TFileSearchForm.DetailsBtnClick(Sender: TObject);
@@ -267,14 +267,13 @@
begin
if SaveDialog.Execute then
with TStringList.Create do
- try
- for I := 0 to FileList.Items.Count - 1 do
- Add(FileList.Items[I].Caption);
- SaveToFile(SaveDialog.FileName);
- finally
- Free;
- end;
+ try
+ for I := 0 to FileList.Items.Count - 1 do
+ Add(FileList.Items[I].Caption);
+ SaveToFile(SaveDialog.FileName);
+ finally
+ Free;
+ end;
end;
end.
-
Modified: branches/code_format/jcl/examples/common/graphics/QClipLineDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/graphics/QClipLineDemoMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/graphics/QClipLineDemoMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -71,7 +71,7 @@
i: Integer;
H, S, L: Single;
begin
- for i := 0 to Length(P)-1 do
+ for i := 0 to Length(P) - 1 do
begin
P[i].X := Random(Width);
P[i].Y := Random(Height);
@@ -91,4 +91,3 @@
end;
end.
-
Modified: branches/code_format/jcl/examples/common/graphics/StretchGraphicDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/graphics/StretchGraphicDemoMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/graphics/StretchGraphicDemoMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -31,7 +31,7 @@
JclQGraphics,
{$ENDIF VisualCLX}
{$IFDEF HasShellCtrls}
- {$WARN UNIT_PLATFORM OFF}
+ {$WARN UNIT_PLATFORM OFF}
ShellCtrls,
{$ENDIF HasShellCtrls}
JclFileUtils;
@@ -139,7 +139,7 @@
{$IFDEF MSWINDOWS}
type
- TWMDropFilesCallback = procedure (const FileName: string) of object;
+ TWMDropFilesCallback = procedure(const FileName: string) of object;
procedure ProcessWMDropFiles(var Msg: TWMDropFiles; Callback: TWMDropFilesCallback; DropPoint: PPoint = nil); overload;
var
@@ -201,23 +201,23 @@
WatchSubTree := False;
OnChange := ShellChange;
NotifyFilters := [
- nfFileNameChange,
- nfDirNameChange,
+ nfFileNameChange,
+ nfDirNameChange,
//nfSizeChange,
- nfWriteChange,
- nfSecurityChange];
+ nfWriteChange,
+ nfSecurityChange];
end;
{$ENDIF HasShellCtrls}
{$IFDEF VCL}
DragAcceptFiles(Handle, True);
{$ENDIF VCL}
if ParamCount > 0 then
- with OpenDialog do
- begin
- FileName := ParamStr(1);
- InitialDir := ExtractFileDir(FileName);
- LoadFile(FileName);
- end;
+ with OpenDialog do
+ begin
+ FileName := ParamStr(1);
+ InitialDir := ExtractFileDir(FileName);
+ LoadFile(FileName);
+ end;
end;
{$IFDEF VCL}
@@ -302,7 +302,7 @@
PageControl.ActivePage := OriginalPage
else
{$ENDIF VCL}
- PageControl.ActivePage := FLastImagePage;
+ PageControl.ActivePage := FLastImagePage;
FocusControl(PageControl);
end;
end;
@@ -331,8 +331,8 @@
with OriginalImage.Picture do
if (Graphic = nil) {$IFDEF VCL} or (Graphic is TMetafile) {$ENDIF} then
Exit;
- W := StretchedPage.Width-2;
- H := StretchedPage.Height-2;
+ W := StretchedPage.Width - 2;
+ H := StretchedPage.Height - 2;
if FPreserveAspectRatio then
with OriginalImage.Picture.Graphic do
begin
@@ -379,14 +379,14 @@
procedure TStretchDemoForm.PrevFile(Sender: TObject);
begin
if FileListIndex > 0 then
- FileListIndex := FileListIndex - 1;
+ FileListIndex := FileListIndex - 1;
LoadSelected;
end;
procedure TStretchDemoForm.NextFile(Sender: TObject);
begin
if FileListIndex < FileListView.Items.Count - 1 then
- FileListIndex := FileListIndex + 1;
+ FileListIndex := FileListIndex + 1;
LoadSelected;
end;
@@ -419,15 +419,15 @@
begin
case Key of
Key_Prior:
- begin
- PrevFile(Self);
- Key := 0;
- end;
+ begin
+ PrevFile(Self);
+ Key := 0;
+ end;
Key_Next:
- begin
- NextFile(Self);
- Key := 0;
- end;
+ begin
+ NextFile(Self);
+ Key := 0;
+ end;
end;
end;
Modified: branches/code_format/jcl/examples/common/multimedia/MidiOutExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/multimedia/MidiOutExampleMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/multimedia/MidiOutExampleMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -191,4 +191,3 @@
end;
end.
-
Modified: branches/code_format/jcl/examples/common/multimedia/MidiOutExampleTuningDlg.pas
===================================================================
--- branches/code_format/jcl/examples/common/multimedia/MidiOutExampleTuningDlg.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/multimedia/MidiOutExampleTuningDlg.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -52,8 +52,8 @@
const
HalftonesPerOctave = 12;
- MiddleA = 440.0; // Hertz
- MidiMiddleA = 69; // A3 = 440 Hertz
+ MiddleA = 440.0; // Hertz
+ MidiMiddleA = 69; // A3 = 440 Hertz
Digits = 6;
MIDIFreqMax = 127.99993896;
FreqHertzMin = 8.17579892;
Modified: branches/code_format/jcl/examples/common/numformat/QNumFormatExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/numformat/QNumFormatExampleMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/numformat/QNumFormatExampleMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -116,7 +116,7 @@
procedure TMainForm.RandBtnClick(Sender: TObject);
begin
- ValueEdit.Text := FloatToStr(Power(Random * 4 -2, Random(400)));
+ ValueEdit.Text := FloatToStr(Power(Random * 4 - 2, Random(400)));
EvalBtn.Enabled := False;
Display;
end;
Modified: branches/code_format/jcl/examples/common/pcre/PCREDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/pcre/PCREDemoMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/pcre/PCREDemoMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -48,7 +48,7 @@
procedure Match;
function GetUIOptions: TJclAnsiRegExOptions;
procedure UpdateUIOptions;
- procedure LoadFromFile(const Filename:string);
+ procedure LoadFromFile(const Filename: string);
protected
procedure WMDropFiles(var Message: TWMDropFiles); message WM_DROPFILES;
public
@@ -143,7 +143,8 @@
var
Options: TJclAnsiRegExOptions;
begin
- if RE = nil then Exit;
+ if RE = nil then
+ Exit;
Options := RE.Options;
chkIgnoreCase.Checked := roIgnoreCase in Options;
chkMultiLine.Checked := roMultiLine in Options;
@@ -176,18 +177,18 @@
procedure TfrmMain.WMDropFiles(var Message: TWMDropFiles);
var
- i:integer;
- buf:array [0..MAX_PATH] of char;
+ i: integer;
+ buf: array [0..MAX_PATH] of char;
begin
i := DragQueryFile(Message.Drop, $FFFFFFFF, nil, 0);
if i > 0 then
- try
- DragQueryFile(Message.Drop, 0, buf, sizeof(buf));
- if FileExists(buf) then
- LoadFromFile(buf);
- finally
- DragFinish(Message.Drop);
- end;
+ try
+ DragQueryFile(Message.Drop, 0, buf, sizeof(buf));
+ if FileExists(buf) then
+ LoadFromFile(buf);
+ finally
+ DragFinish(Message.Drop);
+ end;
end;
procedure TfrmMain.LoadFromFile(const Filename: string);
@@ -197,4 +198,3 @@
end;
end.
-
Modified: branches/code_format/jcl/examples/common/pcre/QPCREDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/pcre/QPCREDemoMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/pcre/QPCREDemoMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -47,7 +47,7 @@
procedure Match;
function GetUIOptions: TJclAnsiRegExOptions;
procedure UpdateUIOptions;
- procedure LoadFromFile(const Filename:string);
+ procedure LoadFromFile(const Filename: string);
protected
//procedure WMDropFiles(var Message: TWMDropFiles); message WM_DROPFILES;
public
@@ -140,7 +140,8 @@
var
Options: TJclAnsiRegExOptions;
begin
- if RE = nil then Exit;
+ if RE = nil then
+ Exit;
Options := RE.Options;
chkIgnoreCase.Checked := roIgnoreCase in Options;
chkMultiLine.Checked := roMultiLine in Options;
@@ -173,4 +174,3 @@
end;
end.
-
Modified: branches/code_format/jcl/examples/common/rtti/QRTTIDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/rtti/QRTTIDemoMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/rtti/QRTTIDemoMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -56,7 +56,7 @@
le131, le132, le133, le134, le135, le136, le137, le138, le139, le140,
le141, le142, le143, le144, le145, le146, le147, le148, le149, le150,
le151, le152, le153, le154, le155, le156, le157, le158, le159, le160);
-
+
TLargeSet = set of TLargeEnum;
TLargeSubEnum = le019 .. le150;
TLargeSubSet = set of TLargeSubEnum;
@@ -169,18 +169,25 @@
try
Writer.Writeln('StrToSet with string=''[le019..le023, le033, le045..le049]''');
JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet, '[le019..le023, le033, le045..le049]');
- Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) + ''', with WantRanges=True');
- Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) + ''', with WantRanges=False');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) +
+ ''', with WantRanges=True');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) +
+ ''', with WantRanges=False');
Writer.Writeln('');
Writer.Writeln('StrToSet with string=''''');
JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet, '');
- Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) + ''', with WantRanges=True');
- Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) + ''', with WantRanges=False');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) +
+ ''', with WantRanges=True');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) +
+ ''', with WantRanges=False');
Writer.Writeln('');
Writer.Writeln('StrToSet with string=''le019 .. le023,le033 , le045 .. le049 ''');
- JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet, 'le019 .. le023,le033 , le045 .. le049 ');
- Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) + ''', with WantRanges=True');
- Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) + ''', with WantRanges=False');
+ JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet,
+ 'le019 .. le023,le033 , le045 .. le049 ');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) +
+ ''', with WantRanges=True');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) +
+ ''', with WantRanges=False');
Writer.Writeln('');
finally
Writer.Outdent;
Modified: branches/code_format/jcl/examples/common/rtti/RTTIDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/rtti/RTTIDemoMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/rtti/RTTIDemoMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -55,7 +55,7 @@
le131, le132, le133, le134, le135, le136, le137, le138, le139, le140,
le141, le142, le143, le144, le145, le146, le147, le148, le149, le150,
le151, le152, le153, le154, le155, le156, le157, le158, le159, le160);
-
+
TLargeSet = set of TLargeEnum;
TLargeSubEnum = le019 .. le150;
TLargeSubSet = set of TLargeSubEnum;
@@ -168,18 +168,25 @@
try
Writer.Writeln('StrToSet with string=''[le019..le023, le033, le045..le049]''');
JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet, '[le019..le023, le033, le045..le049]');
- Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) + ''', with WantRanges=True');
- Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) + ''', with WantRanges=False');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) +
+ ''', with WantRanges=True');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) +
+ ''', with WantRanges=False');
Writer.Writeln('');
Writer.Writeln('StrToSet with string=''''');
JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet, '');
- Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) + ''', with WantRanges=True');
- Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) + ''', with WantRanges=False');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) +
+ ''', with WantRanges=True');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) +
+ ''', with WantRanges=False');
Writer.Writeln('');
Writer.Writeln('StrToSet with string=''le019 .. le023,le033 , le045 .. le049 ''');
- JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet, 'le019 .. le023,le033 , le045 .. le049 ');
- Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) + ''', with WantRanges=True');
- Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) + ''', with WantRanges=False');
+ JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet,
+ 'le019 .. le023,le033 , le045 .. le049 ');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) +
+ ''', with WantRanges=True');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) +
+ ''', with WantRanges=False');
Writer.Writeln('');
finally
Writer.Outdent;
Modified: branches/code_format/jcl/examples/common/sysinfo/QEnvironmentExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/sysinfo/QEnvironmentExampleMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/sysinfo/QEnvironmentExampleMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -3,7 +3,7 @@
interface
uses
- SysUtils, Classes, QControls, QForms, QComCtrls,
+ SysUtils, Classes, QControls, QForms, QComCtrls,
JclSysInfo;
type
@@ -73,4 +73,3 @@
end;
end.
-
Modified: branches/code_format/jcl/examples/common/textreader/TextReaderDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/textreader/TextReaderDemoMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/common/textreader/TextReaderDemoMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -141,11 +141,12 @@
AssignFileTotalTime := StopCount(C);
CloseFile(T);
- ReadLnLabel.Caption := Format('Lines: %d, TJclMappedTextReader: %.2f ms, TStringList: %.2f ms, AssignFile: %.2f ms',
+ ReadLnLabel.Caption := Format(
+ 'Lines: %d, TJclMappedTextReader: %.2f ms, TStringList: %.2f ms, AssignFile: %.2f ms',
[LineCount, TotalTime * 1000, StringListTotalTime * 1000, AssignFileTotalTime * 1000]);
finally
Screen.Cursor := crDefault;
- end;
+ end;
end;
Modified: branches/code_format/jcl/examples/windows/appinst/AppInstDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/windows/appinst/AppInstDemoMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/windows/appinst/AppInstDemoMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -50,7 +50,7 @@
begin
Items.BeginUpdate;
Items.Clear;
- for I := 0 to InstanceCount -1 do
+ for I := 0 to InstanceCount - 1 do
with Items.Add do
begin
Caption := IntToStr(I + 1);
@@ -124,20 +124,20 @@
// message sent from window of this instance
case ReadMessageCheck(Message, Handle) of
MyDataKind: // It is our data
- begin
- MemoChanging := True; // prevent deadlock, TMemo.OnChange is also fired now
- Memo1.Lines.BeginUpdate;
- try
+ begin
+ MemoChanging := True; // prevent deadlock, TMemo.OnChange is also fired now
+ Memo1.Lines.BeginUpdate;
+ try
// Read TStrings from the message
- ReadMessageStrings(Message, Memo1.Lines)
- finally
- Memo1.Lines.EndUpdate;
- MemoChanging := False;
- end;
- end;
- else
- inherited;
- end;
+ ReadMessageStrings(Message, Memo1.Lines)
+ finally
+ Memo1.Lines.EndUpdate;
+ MemoChanging := False;
+ end;
+ end;
+ else
+ inherited;
+ end;
end
else
inherited;
Modified: branches/code_format/jcl/examples/windows/clr/ClrDemoAbstractFrame.pas
===================================================================
--- branches/code_format/jcl/examples/windows/clr/ClrDemoAbstractFrame.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/windows/clr/ClrDemoAbstractFrame.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -2,7 +2,7 @@
interface
-uses
+uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, JclCLR;
@@ -37,62 +37,64 @@
pch: PChar;
DumpStr: string;
begin
- if AutoClear then memDump.Clear;
+ if AutoClear then
+ memDump.Clear;
ByteCount := 0;
- pch := Ptr;
+ pch := Ptr;
with TCanvas.Create do
- try
- Handle := GetDC(memDump.Handle);
- Font.Name := 'Fixedsys';
- Font.Size := 12;
- if (TextWidth('?')*WIDE_LINE_WIDTH) < memDump.ClientWidth then
- LineWidth := 16
- else if (TextWidth('?')*THIN_LINE_WIDTH) < memDump.ClientWidth then
- LineWidth := 8
- else
- LineWidth := 4;
- finally
- Free;
- end;
+ try
+ Handle := GetDC(memDump.Handle);
+ Font.Name := 'Fixedsys';
+ Font.Size := 12;
+ if (TextWidth('?') * WIDE_LINE_WIDTH) < memDump.ClientWidth then
+ LineWidth := 16
+ else
+ if (TextWidth('?') * THIN_LINE_WIDTH) < memDump.ClientWidth then
+ LineWidth := 8
+ else
+ LineWidth := 4;
+ finally
+ Free;
+ end;
with memDump.Lines do
- try
- BeginUpdate;
+ try
+ BeginUpdate;
- while ByteCount < Size do
- begin
- DumpStr := IntToHex(Base + DWord(ByteCount), 8) + ': ';
- for I:=0 to LineWidth-1 do
+ while ByteCount < Size do
begin
- if ((Size - ByteCount) > LineWidth) or ((Size - ByteCount) > I) then
- DumpStr := DumpStr + IntToHex(Integer(pch[ByteCount+I]), 2) + ' '
- else
- DumpStr := DumpStr + ' ';
- end;
+ DumpStr := IntToHex(Base + DWord(ByteCount), 8) + ': ';
+ for I := 0 to LineWidth - 1 do
+ begin
+ if ((Size - ByteCount) > LineWidth) or ((Size - ByteCount) > I) then
+ DumpStr := DumpStr + IntToHex(Integer(pch[ByteCount + I]), 2) + ' '
+ else
+ DumpStr := DumpStr + ' ';
+ end;
- DumpStr := DumpStr + '; ';
+ DumpStr := DumpStr + '; ';
- for I:=0 to LineWidth-1 do
- begin
- if ((Size - ByteCount) > LineWidth) or ((Size - ByteCount) > I) then
+ for I := 0 to LineWidth - 1 do
begin
- if CharIsAlphaNum(Char(pch[ByteCount+I])) then
- DumpStr := DumpStr + pch[ByteCount+I]
+ if ((Size - ByteCount) > LineWidth) or ((Size - ByteCount) > I) then
+ begin
+ if CharIsAlphaNum(Char(pch[ByteCount + I])) then
+ DumpStr := DumpStr + pch[ByteCount + I]
+ else
+ DumpStr := DumpStr + '.';
+ end
else
- DumpStr := DumpStr + '.'
- end
- else
- DumpStr := DumpStr + ' ';
+ DumpStr := DumpStr + ' ';
+ end;
+
+ Add(DumpStr);
+ Inc(ByteCount, LineWidth);
end;
-
- Add(DumpStr);
- Inc(ByteCount, LineWidth);
+ finally
+ EndUpdate;
end;
- finally
- EndUpdate;
- end;
memDump.Perform(WM_VSCROLL, SB_TOP, 0);
end;
Modified: branches/code_format/jcl/examples/windows/clr/ClrDemoBlobForm.pas
===================================================================
--- branches/code_format/jcl/examples/windows/clr/ClrDemoBlobForm.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/windows/clr/ClrDemoBlobForm.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -35,12 +35,12 @@
class procedure TfrmBlobs.Execute(const AStream: TJclCLRBlobStream);
begin
with TfrmBlobs.Create(nil) do
- try
- ShowBlobs(AStream);
- ShowModal;
- finally
- Free;
- end;
+ try
+ ShowBlobs(AStream);
+ ShowModal;
+ finally
+ Free;
+ end;
end;
procedure TfrmBlobs.ShowBlobs(const AStream: TJclCLRBlobStream);
@@ -53,15 +53,15 @@
Selected: Boolean);
begin
if Selected then
- with TJclCLRBlobRecord(Item.Data) do
- TfrmAbstract.DumpBuf(Memory, Size, memDump,
- FStream.Offset + DWORD(Memory) - DWORD(FStream.Data));
+ with TJclCLRBlobRecord(Item.Data) do
+ TfrmAbstract.DumpBuf(Memory, Size, memDump,
+ FStream.Offset + DWORD(Memory) - DWORD(FStream.Data));
end;
procedure TfrmBlobs.lstBlobsData(Sender: TObject; Item: TListItem);
begin
Item.Caption := IntToStr(Item.Index);
- Item.Data := FStream.Blobs[Item.Index];
+ Item.Data := FStream.Blobs[Item.Index];
Item.SubItems.Add('$' +
IntToHex(FStream.Blobs[Item.Index].Offset, 8));
Modified: branches/code_format/jcl/examples/windows/clr/ClrDemoCLRFrame.pas
===================================================================
--- branches/code_format/jcl/examples/windows/clr/ClrDemoCLRFrame.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/windows/clr/ClrDemoCLRFrame.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -7,7 +7,7 @@
ClrDemoAbstractFrame, StdCtrls, JclCLR, CheckLst, ExtCtrls, ComCtrls;
type
- TfrmCLR = class (TfrmAbstract)
+ TfrmCLR = class(TfrmAbstract)
boxFlags: TGroupBox;
edtEntryPointToken: TEdit;
edtVer: TEdit;
@@ -29,7 +29,7 @@
public
procedure ShowInfo(const ACLR: TJclCLRHeaderEx); override;
end;
-
+
var
frmCLR: TfrmCLR;
@@ -45,27 +45,27 @@
{
*********************************** TfrmCLR ************************************
}
-procedure TfrmCLR.lstResourcesSelectItem(Sender: TObject; Item: TListItem;
- Selected: Boolean);
+procedure TfrmCLR.lstResourcesSelectItem(Sender: TObject; Item: TListItem;
+ Selected: Boolean);
begin
if Selected then
- with TJclCLRResourceRecord(Item.Data) do
- DumpBuf(Memory, Size, memResources, RVA);
+ with TJclCLRResourceRecord(Item.Data) do
+ DumpBuf(Memory, Size, memResources, RVA);
end;
procedure TfrmCLR.ShowInfo(const ACLR: TJclCLRHeaderEx);
-
+
procedure UpdateFlags;
var
AFlag: TJclClrImageFlag;
begin
- for AFlag:=Low(TJclClrImageFlag) to High(TJclClrImageFlag) do
+ for AFlag := Low(TJclClrImageFlag) to High(TJclClrImageFlag) do
begin
lstFlags.Checked[Integer(AFlag)] := AFlag in ACLR.Flags;
lstFlags.ItemEnabled[Integer(AFlag)] := False;
end;
end;
-
+
procedure UpdateEntryPointToken;
var
AMethod: TJclCLRTableMethodDefRow;
@@ -84,7 +84,8 @@
else
edtEntryPointToken.Text := AMethod.Name;
end
- else if ACLR.EntryPointToken is TJclCLRTableFileRow then
+ else
+ if ACLR.EntryPointToken is TJclCLRTableFileRow then
edtEntryPointToken.Text := 'External file'
else
edtEntryPointToken.Text := '$' + IntToHex(ACLR.Header.EntryPointToken, 8);
@@ -92,85 +93,85 @@
else
edtEntryPointToken.Text := '(none)';
end;
-
+
procedure UpdateStrongNameSign;
begin
if ACLR.HasStrongNameSignature then
with ACLR.StrongNameSignature, ACLR.Header.StrongNameSignature do
DumpBuf(Memory, Size, memStrongNameSign,
- VirtualAddress-ACLR.Image.RvaToSection(VirtualAddress).PointerToRawData)
+ VirtualAddress - ACLR.Image.RvaToSection(VirtualAddress).PointerToRawData)
else
memStrongNameSign.Clear;
end;
-
+
procedure UpdateResources;
var
I: Integer;
begin
with lstResources.Items do
- try
- BeginUpdate;
- Clear;
-
- if ACLR.HasResources then
- for I:=0 to ACLR.ResourceCount-1 do
- with Add do
- begin
- Caption := IntToStr(I);
- Data := ACLR.Resources[I];
- with ACLR.Resources[I] do
- begin
- SubItems.Add('$' + IntToHex(Offset, 8));
- SubItems.Add('$' + IntToHex(RVA, 8));
- SubItems.Add(IntToStr(Size));
- end;
- end
- else
- memResources.Clear;
- finally
- EndUpdate;
- end;
+ try
+ BeginUpdate;
+ Clear;
+
+ if ACLR.HasResources then
+ for I := 0 to ACLR.ResourceCount - 1 do
+ with Add do
+ begin
+ Caption := IntToStr(I);
+ Data := ACLR.Resources[I];
+ with ACLR.Resources[I] do
+ begin
+ SubItems.Add('$' + IntToHex(Offset, 8));
+ SubItems.Add('$' + IntToHex(RVA, 8));
+ SubItems.Add(IntToStr(Size));
+ end;
+ end
+ else
+ memResources.Clear;
+ finally
+ EndUpdate;
+ end;
end;
-
+
function FormatVTableKinds(const Kinds: TJclClrVTableKinds): string;
var
AKind: TJclClrVTableKind;
begin
Result := '';
- for AKind:=Low(TJclClrVTableKind) to High(TJclClrVTableKind) do
+ for AKind := Low(TJclClrVTableKind) to High(TJclClrVTableKind) do
if AKind in Kinds then
Result := Result + GetEnumName(TypeInfo(TJclClrVTableKind), Integer(AKind)) + ' ';
end;
-
+
procedure UpdateVTableFixups;
var
I: Integer;
begin
with lstVTableFixups.Items do
- try
- BeginUpdate;
- Clear;
- if ACLR.HasVTableFixup then
- for I:=0 to ACLR.VTableFixupCount-1 do
- with Add do
- begin
- Caption := IntToStr(I);
- Data := ACLR.VTableFixups[I];
- with ACLR.VTableFixups[I] do
- begin
- SubItems.Add('$' + IntToHex(RVA, 8));
- SubItems.Add(IntToStr(Count));
- SubItems.Add(FormatVTableKinds(Kinds));
- end;
+ try
+ BeginUpdate;
+ Clear;
+ if ACLR.HasVTableFixup then
+ for I := 0 to ACLR.VTableFixupCount - 1 do
+ with Add do
+ begin
+ Caption := IntToStr(I);
+ Data := ACLR.VTableFixups[I];
+ with ACLR.VTableFixups[I] do
+ begin
+ SubItems.Add('$' + IntToHex(RVA, 8));
+ SubItems.Add(IntToStr(Count));
+ SubItems.Add(FormatVTableKinds(Kinds));
+ end;
+ end;
+ finally
+ EndUpdate;
end;
- finally
- EndUpdate;
- end;
end;
-
+
begin
FCLR := ACLR;
-
+
edtVer.Text := ACLR.VersionString;
UpdateEntryPointToken;
UpdateFlags;
@@ -180,4 +181,3 @@
end;
end.
-
Modified: branches/code_format/jcl/examples/windows/clr/ClrDemoGuidForm.pas
===================================================================
--- branches/code_format/jcl/examples/windows/clr/ClrDemoGuidForm.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/windows/clr/ClrDemoGuidForm.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -30,12 +30,12 @@
class procedure TfrmGuid.Execute(const AStream: TJclCLRGuidStream);
begin
with TfrmGuid.Create(nil) do
- try
- ShowGuids(AStream);
- ShowModal;
- finally
- Free;
- end;
+ try
+ ShowGuids(AStream);
+ ShowModal;
+ finally
+ Free;
+ end;
end;
procedure TfrmGuid.ShowGuids(const AStream: TJclCLRGuidStream);
Modified: branches/code_format/jcl/examples/windows/clr/ClrDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/windows/clr/ClrDemoMain.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/windows/clr/ClrDemoMain.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -72,7 +72,7 @@
procedure TfrmMain.FormCreate(Sender: TObject);
begin
m_Image := nil;
- m_CLR := nil;
+ m_CLR := nil;
end;
procedure TfrmMain.FormDestroy(Sender: TObject);
@@ -86,13 +86,13 @@
I: Integer;
begin
if Assigned(PC.ActivePage) then
- with PC.ActivePage do
- for I:=0 to ControlCount-1 do
- if Controls[0].InheritsFrom(TfrmAbstract) then
- begin
- Result := TfrmAbstract(Controls[0]);
- Exit;
- end;
+ with PC.ActivePage do
+ for I := 0 to ControlCount - 1 do
+ if Controls[0].InheritsFrom(TfrmAbstract) then
+ begin
+ Result := TfrmAbstract(Controls[0]);
+ Exit;
+ end;
raise Exception.Create('No frame was active!');
end;
@@ -144,27 +144,31 @@
procedure TfrmMain.actViewStreamDataUpdate(Sender: TObject);
begin
with frmMetadata.lstStream do
- TAction(Sender).Enabled := Assigned(Selected) and
- ((TObject(Selected.Data).ClassType = TJclCLRStringsStream) or
- (TObject(Selected.Data).ClassType = TJclCLRGuidStream) or
- (TObject(Selected.Data).ClassType = TJclCLRUserStringStream) or
- (TObject(Selected.Data).ClassType = TJclCLRBlobStream) or
- (TObject(Selected.Data).ClassType = TJclCLRTableStream));
+ TAction(Sender).Enabled := Assigned(Selected) and
+ ((TObject(Selected.Data).ClassType = TJclCLRStringsStream) or
+ (TObject(Selected.Data).ClassType = TJclCLRGuidStream) or
+ (TObject(Selected.Data).ClassType = TJclCLRUserStringStream) or
+ (TObject(Selected.Data).ClassType = TJclCLRBlobStream) or
+ (TObject(Selected.Data).ClassType = TJclCLRTableStream));
end;
procedure TfrmMain.actViewStreamDataExecute(Sender: TObject);
begin
with frmMetadata.lstStream do
- if TObject(Selected.Data).ClassType = TJclCLRStringsStream then
- TfrmStrings.Execute(Selected.Data)
- else if TObject(Selected.Data).ClassType = TJclCLRGuidStream then
- TfrmGuid.Execute(Selected.Data)
- else if TObject(Selected.Data).ClassType = TJclCLRUserStringStream then
- TfrmUserStrings.Execute(Selected.Data)
- else if TObject(Selected.Data).ClassType = TJclCLRBlobStream then
- TfrmBlobs.Execute(Selected.Data)
- else if TObject(Selected.Data).ClassType = TJclCLRTableStream then
- TfrmTable.Execute(Selected.Data);
+ if TObject(Selected.Data).ClassType = TJclCLRStringsStream then
+ TfrmStrings.Execute(Selected.Data)
+ else
+ if TObject(Selected.Data).ClassType = TJclCLRGuidStream then
+ TfrmGuid.Execute(Selected.Data)
+ else
+ if TObject(Selected.Data).ClassType = TJclCLRUserStringStream then
+ TfrmUserStrings.Execute(Selected.Data)
+ else
+ if TObject(Selected.Data).ClassType = TJclCLRBlobStream then
+ TfrmBlobs.Execute(Selected.Data)
+ else
+ if TObject(Selected.Data).ClassType = TJclCLRTableStream then
+ TfrmTable.Execute(Selected.Data);
end;
procedure TfrmMain.frmMetadatalstStreamDblClick(Sender: TObject);
@@ -176,15 +180,15 @@
procedure TfrmMain.actFileDumpExecute(Sender: TObject);
begin
dlgSave.InitialDir := ExtractFilePath(m_Image.FileName);
- dlgSave.FileName := ExtractFileName(ChangeFileExt(m_Image.FileName, '.il'));
+ dlgSave.FileName := ExtractFileName(ChangeFileExt(m_Image.FileName, '.il'));
if dlgSave.Execute then
- with TStringList.Create do
- try
- Text := m_CLR.DumpIL;
- SaveToFile(dlgSave.FileName);
- finally
- Free;
- end;
+ with TStringList.Create do
+ try
+ Text := m_CLR.DumpIL;
+ SaveToFile(dlgSave.FileName);
+ finally
+ Free;
+ end;
end;
procedure TfrmMain.actFileDumpUpdate(Sender: TObject);
Modified: branches/code_format/jcl/examples/windows/clr/ClrDemoMetaDataFrame.pas
===================================================================
--- branches/code_format/jcl/examples/windows/clr/ClrDemoMetaDataFrame.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/windows/clr/ClrDemoMetaDataFrame.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -35,20 +35,20 @@
begin
with ACLR.Metadata do
begin
- edtVer.Text := Version;
+ edtVer.Text := Version;
edtVerStr.Text := VersionString;
with lstStream.Items do
begin
Clear;
- for I:=0 to StreamCount-1 do
- with Add do
- begin
- Caption := Streams[I].Name;
- Data := Streams[I];
- SubItems.Add('$' + IntToHex(Streams[I].Offset, 8));
- SubItems.Add(IntToStr(Streams[I].Size));
- end;
+ for I := 0 to StreamCount - 1 do
+ with Add do
+ begin
+ Caption := Streams[I].Name;
+ Data := Streams[I];
+ SubItems.Add('$' + IntToHex(Streams[I].Offset, 8));
+ SubItems.Add(IntToStr(Streams[I].Size));
+ end;
end;
end;
end;
Modified: branches/code_format/jcl/examples/windows/clr/ClrDemoStringsForm.pas
===================================================================
--- branches/code_format/jcl/examples/windows/clr/ClrDemoStringsForm.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/windows/clr/ClrDemoStringsForm.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -30,12 +30,12 @@
class procedure TfrmStrings.Execute(const AStream: TJclCLRStringsStream);
begin
with TfrmStrings.Create(nil) do
- try
- ShowStrings(AStream);
- ShowModal;
- finally
- Free;
- end;
+ try
+ ShowStrings(AStream);
+ ShowModal;
+ finally
+ Free;
+ end;
end;
procedure TfrmStrings.ShowStrings(const AStream: TJclCLRStringsStream);
Modified: branches/code_format/jcl/examples/windows/clr/ClrDemoTableForm.pas
===================================================================
--- branches/code_format/jcl/examples/windows/clr/ClrDemoTableForm.pas 2007-08-12 08:29:10 UTC (rev 2118)
+++ branches/code_format/jcl/examples/windows/clr/ClrDemoTableForm.pas 2007-08-12 08:49:57 UTC (rev 2119)
@@ -10,7 +10,7 @@
TDumpLineKind = (lkWide, lkThin, lkEmpty);
TfrmTable = class(TForm)
- lblVer: TLabel;
+ lblVer: TLabel;
edtVer: TEdit;
btnOK: TBitBtn;
lstTables: TListView;
@@ -66,12 +66,12 @@
class procedure TfrmTable.Execute(const AStream: TJclClrTableStream);
begin
with TfrmTable.Create(nil) do
- try
- ShowTables(AStream);
- ShowModal;
- finally
- Free;
- end;
+ try
+ ShowTables(AStream);
+ ShowModal;
+ finally
+ Free;
+ end;
end;
procedure TfrmTable.Dump(const Msg: string);
@@ -93,9 +93,12 @@
procedure TfrmTable.Dump(const LineKind: TDumpLineKind);
begin
case LineKind of
- lkWide: Dump('========================================');
- lkThin: Dump('----------------------------------------');
- lkEmpty: Dump('');
+ lkWide:
+ Dump('========================================');
+ lkThin:
+ Dump('----------------------------------------');
+ lkEmpty:
+ Dump('');
end;
end;
@@ -103,24 +106,24 @@
var
AKind: TJclClrTableKind;
begin
- FStream := AStream;
+ FStream := AStream;
edtVer.Text := AStream.VersionString;
with lstTables.Items do
begin
BeginUpdate;
try
Clear;
- for AKind:=Low(TJclClrTableKind) to High(TJclClrTableKind) do
- if Assigned(AStream.Tables[AKind]) then
- with AStream.Tables[AKind], Add do
- begin
- Caption := IntToStr(Count);
- Data := AStream.Tables[AKind];
- SubItems.Add(IntToStr(RowCount));
- SubItems.Add('$' + IntToHex(Offset, 8));
- SubItems.Add(IntToStr(Size));
- SubItems.Add(Copy(AStream.Tables[AKind].ClassName, StrLen('TJclClrTable')+1, MaxWord));
- end;
+ for AKind := Low(TJclClrTableKind) to High(TJclClrTableKind) do
+ if Assigned(AStream.Tables[AKind]) then
+ with AStream.Tables[AKind], Add do
+ begin
+ Caption := IntToStr(Count);
+ Data := AStream.Tables[AKind];
+ SubItems.Add(IntToStr(RowCount));
+ SubItems.Add('$' + IntToHex(Offset, 8));
+ SubItems.Add(IntToStr(Size));
+ SubItems.Add(Copy(AStream.Tables[AKind].ClassName, StrLen('TJclClrTable') + 1, MaxWord));
+ end;
finally
EndUpdate;
end;
@@ -138,37 +141,53 @@
if ATable.ClassType = TJclClrTableAssembly then
DumpTable(TJclClrTableAssembly(ATable))
- else if ATable.ClassType = TJclClrTableAssemblyRef then
+ else
+ if ATable.ClassType = TJclClrTableAssemblyRef then
DumpTable(TJclClrTableAssemblyRef(ATable))
- else if ATable.ClassType = TJclClrTableAssemblyOS then
+ else
+ if ATable.ClassType = TJclClrTableAssemblyOS then
DumpTable(TJclClrTableAssemblyOS(ATable))
- else if ATable.ClassType = TJclClrTableAssemblyProcessor then
+ else
+ if ATable.ClassType = TJclClrTableAssemblyProcessor then
DumpTable(TJclClrTableAssemblyProcessor(ATable))
- else if ATable.ClassType = TJclClrTableModule then
+ else
+ if ATable.ClassType = TJclClrTableModule then
DumpTable(TJclClrTableModule(ATable))
- else if ATable.ClassType = TJclClrTableModuleRef then
+ else
+ if ATable.ClassType = TJclClrTableModuleRef then
DumpTable(TJclClrTableModuleRef(ATable))
- else if ATable.ClassType = TJclClrTableTypeDef then
+ else
+ if ATable.ClassType = TJclClrTableTypeDef then
DumpTable(TJclClrTableTypeDef(ATable))
- else if ATable.ClassType = TJclClrTableTypeRef then
+ else
+ if ATable.ClassType = TJclClrTableTypeRef then
DumpTable(TJclClrTableTypeRef(ATable))
- else if ATable.ClassType = TJclClrTableMethodDef then
+ else
+ if ATable.ClassType = TJclClrTableMethodDef then
DumpTable(TJclClrTableMethodDef(ATable))
- else if ATable.ClassType = TJclClrTableFieldDef then
+ else
+ if ATable.ClassType = TJclClrTableFieldDef then
DumpTable(TJclClrTableFieldDef(ATable))
- else if ATable.ClassType = TJclClrTableMemberRef then
+ else
+ if ATable.ClassType = TJclClrTableMemberRef then
DumpTable(TJclClrTableMemberRef(ATable))
- else if ATable.ClassType = TJclClrTableCustomAttribute then
+ else
+ if ATable.ClassType = TJclClrTableCustomAttribute then
DumpTable(TJclClrTableCustomAttribute(ATable))
- else if ATable.ClassType = TJclClrTableParamDef then
+ else
+ if ATable.ClassType = TJclClrTableParamDef then
DumpTable(TJclClrTableParamDef(ATable))
- else if ATable.ClassType = TJclClrTablePropertyDef then
+ else
+ if ATable.ClassType = TJclClrTablePropertyDef th...
[truncated message content] |
|
From: <ou...@us...> - 2007-08-12 08:29:13
|
Revision: 2118
http://jcl.svn.sourceforge.net/jcl/?rev=2118&view=rev
Author: outchy
Date: 2007-08-12 01:29:10 -0700 (Sun, 12 Aug 2007)
Log Message:
-----------
Adding JCFGui.exe (Jedi Code Format executable)
Added Paths:
-----------
branches/code_format/thirdparty/jedi_code_format/JCFGui.exe
Added: branches/code_format/thirdparty/jedi_code_format/JCFGui.exe
===================================================================
(Binary files differ)
Property changes on: branches/code_format/thirdparty/jedi_code_format/JCFGui.exe
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-08-12 08:27:41
|
Revision: 2117
http://jcl.svn.sourceforge.net/jcl/?rev=2117&view=rev
Author: outchy
Date: 2007-08-12 01:27:32 -0700 (Sun, 12 Aug 2007)
Log Message:
-----------
code formatting reverted (reverting revision 2108).
Revision Links:
--------------
http://jcl.svn.sourceforge.net/jcl/?rev=2108&view=rev
Modified Paths:
--------------
branches/code_format/jcl/examples/common/containers/algorithms/AlgorithmsExampleMain.pas
branches/code_format/jcl/examples/common/containers/hashing/HashingExampleMain.pas
branches/code_format/jcl/examples/common/containers/lists/ListExampleMain.pas
branches/code_format/jcl/examples/common/containers/lists/MyObjectList.pas
branches/code_format/jcl/examples/common/containers/performance/ContainerPerformanceMain.pas
branches/code_format/jcl/examples/common/containers/trees/TreeExampleMain.pas
branches/code_format/jcl/examples/common/expreval/ExprEvalExampleMain.pas
branches/code_format/jcl/examples/common/expreval/QExprEvalExampleMain.pas
branches/code_format/jcl/examples/common/filesearch/QFileSearchDemoMain.pas
branches/code_format/jcl/examples/common/graphics/QClipLineDemoMain.pas
branches/code_format/jcl/examples/common/graphics/StretchGraphicDemoMain.pas
branches/code_format/jcl/examples/common/multimedia/MidiOutExampleMain.pas
branches/code_format/jcl/examples/common/multimedia/MidiOutExampleTuningDlg.pas
branches/code_format/jcl/examples/common/numformat/QNumFormatExampleMain.pas
branches/code_format/jcl/examples/common/pcre/PCREDemoMain.pas
branches/code_format/jcl/examples/common/pcre/QPCREDemoMain.pas
branches/code_format/jcl/examples/common/rtti/QRTTIDemoMain.pas
branches/code_format/jcl/examples/common/rtti/RTTIDemoMain.pas
branches/code_format/jcl/examples/common/sysinfo/QEnvironmentExampleMain.pas
branches/code_format/jcl/examples/common/textreader/TextReaderDemoMain.pas
branches/code_format/jcl/examples/common/unitversioning/UnitVersioningTestMain.pas
branches/code_format/jcl/examples/windows/appinst/AppInstDemoMain.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoAbstractFrame.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoBlobForm.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoCLRFrame.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoGuidForm.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoMain.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoMetaDataFrame.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoStringsForm.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoTableForm.pas
branches/code_format/jcl/examples/windows/clr/ClrDemoUserStringsForm.pas
branches/code_format/jcl/examples/windows/debug/framestrack/FramesTrackDemoMain.pas
branches/code_format/jcl/examples/windows/debug/reportconverter/formConverter.pas
branches/code_format/jcl/examples/windows/debug/sourceloc/SourceLocDemoMain.pas
branches/code_format/jcl/examples/windows/debug/stacktrack/StackTrackDLLsComLibrary_TLB.pas
branches/code_format/jcl/examples/windows/debug/stacktrack/StackTrackDLLsComUnit.pas
branches/code_format/jcl/examples/windows/debug/stacktrack/StackTrackDLLsDemoMain.pas
branches/code_format/jcl/examples/windows/debug/stacktrack/StackTrackDemoMain.pas
branches/code_format/jcl/examples/windows/debug/threadexcept/ThreadExceptDemoMain.pas
branches/code_format/jcl/examples/windows/delphitools/common/About.pas
branches/code_format/jcl/examples/windows/delphitools/common/D6MdiMsgFix.pas
branches/code_format/jcl/examples/windows/delphitools/common/FindDlg.pas
branches/code_format/jcl/examples/windows/delphitools/common/SHDocVw_TLB.pas
branches/code_format/jcl/examples/windows/delphitools/common/ToolsUtils.pas
branches/code_format/jcl/examples/windows/delphitools/dependencyviewer/DependViewMain.pas
branches/code_format/jcl/examples/windows/delphitools/dependencyviewer/FileViewer.pas
branches/code_format/jcl/examples/windows/delphitools/peviewer/PeDump.pas
branches/code_format/jcl/examples/windows/delphitools/peviewer/PeGenDef.pas
branches/code_format/jcl/examples/windows/delphitools/peviewer/PeResView.pas
branches/code_format/jcl/examples/windows/delphitools/peviewer/PeResource.pas
branches/code_format/jcl/examples/windows/delphitools/peviewer/PeSearch.pas
branches/code_format/jcl/examples/windows/delphitools/peviewer/PeViewerControl.pas
branches/code_format/jcl/examples/windows/delphitools/peviewer/PeViewerMain.pas
branches/code_format/jcl/examples/windows/delphitools/peviewer/PeViewer_TLB.pas
branches/code_format/jcl/examples/windows/delphitools/resfix/ResFixMain.pas
branches/code_format/jcl/examples/windows/delphitools/screenjpg/Main.pas
branches/code_format/jcl/examples/windows/delphitools/toolhelpview/ChangePriority.pas
branches/code_format/jcl/examples/windows/delphitools/toolhelpview/Global.pas
branches/code_format/jcl/examples/windows/delphitools/toolhelpview/HeapDump.pas
branches/code_format/jcl/examples/windows/delphitools/toolhelpview/Main.pas
branches/code_format/jcl/examples/windows/delphitools/toolhelpview/MemoryDump.pas
branches/code_format/jcl/examples/windows/delphitools/toolhelpview/ModulesDump.pas
branches/code_format/jcl/examples/windows/delphitools/toolhelpview/ViewTemplate.pas
branches/code_format/jcl/examples/windows/edisdk/EDICOMExampleMain.pas
branches/code_format/jcl/examples/windows/edisdk/EDISDK_TLB.pas
branches/code_format/jcl/examples/windows/edisdk/comserver/EDISDK_TLB.pas
branches/code_format/jcl/examples/windows/edisdk/comserver/JclEDICOM_ANSIX12.pas
branches/code_format/jcl/examples/windows/filesummary/FileSummaryDemoMain.pas
branches/code_format/jcl/examples/windows/fileversion/VerInfoDemoMain.pas
branches/code_format/jcl/examples/windows/lanman/LanManDemoMain.pas
branches/code_format/jcl/examples/windows/locales/LocalesDemoMain.pas
branches/code_format/jcl/examples/windows/mapi/MapiDemoMain.pas
branches/code_format/jcl/examples/windows/multimedia/MultimediaDemoMain.pas
branches/code_format/jcl/examples/windows/ntfs/SoftLinkDragDropHandler.pas
branches/code_format/jcl/examples/windows/ntservice/NtSvcDemoDependent.pas
branches/code_format/jcl/examples/windows/ntservice/NtSvcDemoGroups.pas
branches/code_format/jcl/examples/windows/ntservice/NtSvcDemoMain.pas
branches/code_format/jcl/examples/windows/peimage/ApiHookDemoMain.pas
branches/code_format/jcl/examples/windows/peimage/UnmangleNameDemoMain.pas
branches/code_format/jcl/examples/windows/registry/RegistryDemoMain.pas
branches/code_format/jcl/examples/windows/structstorage/HexDump.pas
branches/code_format/jcl/examples/windows/structstorage/PropsFrm.pas
branches/code_format/jcl/examples/windows/structstorage/StructStorageExampleMain.pas
branches/code_format/jcl/examples/windows/sysinfo/SysInfoDemoMain.pas
branches/code_format/jcl/examples/windows/tasks/TaskDemoDataModule.pas
branches/code_format/jcl/examples/windows/tasks/TaskDemoMain.pas
branches/code_format/jcl/examples/windows/widestring/WideStringDemoMain.pas
branches/code_format/jcl/experts/common/JclOtaActionConfigureSheet.pas
branches/code_format/jcl/experts/common/JclOtaConfigurationForm.pas
branches/code_format/jcl/experts/common/JclOtaConsts.pas
branches/code_format/jcl/experts/common/JclOtaExceptionForm.pas
branches/code_format/jcl/experts/common/JclOtaResources.pas
branches/code_format/jcl/experts/common/JclOtaUtils.pas
branches/code_format/jcl/experts/common/JclOtaWizardForm.pas
branches/code_format/jcl/experts/common/JclOtaWizardFrame.pas
branches/code_format/jcl/experts/debug/JclDebugThread.pas
branches/code_format/jcl/experts/debug/converter/JclDebugIdeConfigFrame.pas
branches/code_format/jcl/experts/debug/converter/JclDebugIdeImpl.pas
branches/code_format/jcl/experts/debug/converter/JclDebugIdeResult.pas
branches/code_format/jcl/experts/debug/dialog/ExceptDlg.pas
branches/code_format/jcl/experts/debug/dialog/ExceptDlgMail.pas
branches/code_format/jcl/experts/debug/dialog/JclOtaExcDlgFileFrame.pas
branches/code_format/jcl/experts/debug/dialog/JclOtaExcDlgFormFrame.pas
branches/code_format/jcl/experts/debug/dialog/JclOtaExcDlgIgnoreFrame.pas
branches/code_format/jcl/experts/debug/dialog/JclOtaExcDlgRepository.pas
branches/code_format/jcl/experts/debug/dialog/JclOtaExcDlgSystemFrame.pas
branches/code_format/jcl/experts/debug/dialog/JclOtaExcDlgTraceFrame.pas
branches/code_format/jcl/experts/debug/dialog/JclOtaExcDlgWizard.pas
branches/code_format/jcl/experts/debug/dialog/JclOtaRepositoryUtils.pas
branches/code_format/jcl/experts/debug/dialog/JclOtaTemplates.pas
branches/code_format/jcl/experts/debug/simdview/JclSIMDCpuInfo.pas
branches/code_format/jcl/experts/debug/simdview/JclSIMDModifyForm.pas
branches/code_format/jcl/experts/debug/simdview/JclSIMDUtils.pas
branches/code_format/jcl/experts/debug/simdview/JclSIMDView.pas
branches/code_format/jcl/experts/debug/simdview/JclSIMDViewForm.pas
branches/code_format/jcl/experts/debug/threadnames/JclIdeThreadStatus.pas
branches/code_format/jcl/experts/debug/threadnames/ThreadExpertSharedNames.pas
branches/code_format/jcl/experts/debug/threadnames/ThreadExpertUnit.pas
branches/code_format/jcl/experts/debug/tools/MapToJdbgMain.pas
branches/code_format/jcl/experts/debug/tools/TlbToMapMain.pas
branches/code_format/jcl/experts/favfolders/IdeOpenDlgFavoriteUnit.pas
branches/code_format/jcl/experts/favfolders/OpenDlgFavAdapter.pas
branches/code_format/jcl/experts/projectanalyzer/ProjAnalyzerFrm.pas
branches/code_format/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas
branches/code_format/jcl/experts/useswizard/JCLOptionsFrame.pas
branches/code_format/jcl/experts/useswizard/JCLUsesWizard.pas
branches/code_format/jcl/experts/useswizard/JclParseUses.pas
branches/code_format/jcl/experts/useswizard/JclUsesDialog.pas
branches/code_format/jcl/experts/versioncontrol/JclVersionCtrlCVSImpl.pas
branches/code_format/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.pas
branches/code_format/jcl/experts/versioncontrol/JclVersionCtrlSVNImpl.pas
branches/code_format/jcl/experts/versioncontrol/VersionControlImpl.pas
branches/code_format/jcl/install/JclInstall.pas
branches/code_format/jcl/install/JediInstall.pas
branches/code_format/jcl/install/JediInstallConfigIni.pas
branches/code_format/jcl/install/JediRegInfo.pas
branches/code_format/jcl/install/VclGui/FrmCompile.pas
branches/code_format/jcl/install/prototypes/JediGUIInstall.pas
branches/code_format/jcl/install/prototypes/JediGUIMain.pas
branches/code_format/jcl/install/prototypes/JediGUIReadme.pas
branches/code_format/jcl/source/common/Jcl8087.pas
branches/code_format/jcl/source/common/JclAbstractContainers.pas
branches/code_format/jcl/source/common/JclAlgorithms.pas
branches/code_format/jcl/source/common/JclAnsiStrings.pas
branches/code_format/jcl/source/common/JclArrayLists.pas
branches/code_format/jcl/source/common/JclArraySets.pas
branches/code_format/jcl/source/common/JclBase.pas
branches/code_format/jcl/source/common/JclBinaryTrees.pas
branches/code_format/jcl/source/common/JclBorlandTools.pas
branches/code_format/jcl/source/common/JclComplex.pas
branches/code_format/jcl/source/common/JclCompression.pas
branches/code_format/jcl/source/common/JclContainerIntf.pas
branches/code_format/jcl/source/common/JclCounter.pas
branches/code_format/jcl/source/common/JclDateTime.pas
branches/code_format/jcl/source/common/JclEDI.pas
branches/code_format/jcl/source/common/JclEDISEF.pas
branches/code_format/jcl/source/common/JclEDITranslators.pas
branches/code_format/jcl/source/common/JclEDIXML.pas
branches/code_format/jcl/source/common/JclEDI_ANSIX12.pas
branches/code_format/jcl/source/common/JclEDI_ANSIX12_Ext.pas
branches/code_format/jcl/source/common/JclEDI_UNEDIFACT.pas
branches/code_format/jcl/source/common/JclEDI_UNEDIFACT_Ext.pas
branches/code_format/jcl/source/common/JclExprEval.pas
branches/code_format/jcl/source/common/JclFileUtils.pas
branches/code_format/jcl/source/common/JclHashMaps.pas
branches/code_format/jcl/source/common/JclHashSets.pas
branches/code_format/jcl/source/common/JclIniFiles.pas
branches/code_format/jcl/source/common/JclLinkedLists.pas
branches/code_format/jcl/source/common/JclLogic.pas
branches/code_format/jcl/source/common/JclMIDI.pas
branches/code_format/jcl/source/common/JclMath.pas
branches/code_format/jcl/source/common/JclMime.pas
branches/code_format/jcl/source/common/JclPCRE.pas
branches/code_format/jcl/source/common/JclQueues.pas
branches/code_format/jcl/source/common/JclRTTI.pas
branches/code_format/jcl/source/common/JclResources.pas
branches/code_format/jcl/source/common/JclSchedule.pas
branches/code_format/jcl/source/common/JclSimpleXml.pas
branches/code_format/jcl/source/common/JclStacks.pas
branches/code_format/jcl/source/common/JclStatistics.pas
branches/code_format/jcl/source/common/JclStrHashMap.pas
branches/code_format/jcl/source/common/JclStreams.pas
branches/code_format/jcl/source/common/JclStringLists.pas
branches/code_format/jcl/source/common/JclStrings.pas
branches/code_format/jcl/source/common/JclSysInfo.pas
branches/code_format/jcl/source/common/JclSysUtils.pas
branches/code_format/jcl/source/common/JclUnitConv.pas
branches/code_format/jcl/source/common/JclUnitVersioning.pas
branches/code_format/jcl/source/common/JclUnitVersioningProviders.pas
branches/code_format/jcl/source/common/JclValidation.pas
branches/code_format/jcl/source/common/JclVectors.pas
branches/code_format/jcl/source/common/JclWideStrings.pas
branches/code_format/jcl/source/common/bzip2.pas
branches/code_format/jcl/source/common/pcre.pas
branches/code_format/jcl/source/prototypes/Hardlinks.pas
branches/code_format/jcl/source/prototypes/JclWin32.pas
branches/code_format/jcl/source/prototypes/_GraphUtils.pas
branches/code_format/jcl/source/prototypes/_Graphics.pas
branches/code_format/jcl/source/prototypes/zlibh.pas
branches/code_format/jcl/source/unix/zlibh.pas
branches/code_format/jcl/source/vcl/JclFont.pas
branches/code_format/jcl/source/vcl/JclGraphUtils.pas
branches/code_format/jcl/source/vcl/JclGraphics.pas
branches/code_format/jcl/source/vcl/JclPrint.pas
branches/code_format/jcl/source/visclx/JclQGraphUtils.pas
branches/code_format/jcl/source/visclx/JclQGraphics.pas
branches/code_format/jcl/source/windows/Hardlinks.pas
branches/code_format/jcl/source/windows/JclAppInst.pas
branches/code_format/jcl/source/windows/JclCIL.pas
branches/code_format/jcl/source/windows/JclCLR.pas
branches/code_format/jcl/source/windows/JclCOM.pas
branches/code_format/jcl/source/windows/JclConsole.pas
branches/code_format/jcl/source/windows/JclDebug.pas
branches/code_format/jcl/source/windows/JclDotNet.pas
branches/code_format/jcl/source/windows/JclHookExcept.pas
branches/code_format/jcl/source/windows/JclLANMan.pas
branches/code_format/jcl/source/windows/JclLocales.pas
branches/code_format/jcl/source/windows/JclMapi.pas
branches/code_format/jcl/source/windows/JclMetadata.pas
branches/code_format/jcl/source/windows/JclMiscel.pas
branches/code_format/jcl/source/windows/JclMsdosSys.pas
branches/code_format/jcl/source/windows/JclMultimedia.pas
branches/code_format/jcl/source/windows/JclNTFS.pas
branches/code_format/jcl/source/windows/JclPeImage.pas
branches/code_format/jcl/source/windows/JclRegistry.pas
branches/code_format/jcl/source/windows/JclSecurity.pas
branches/code_format/jcl/source/windows/JclShell.pas
branches/code_format/jcl/source/windows/JclStructStorage.pas
branches/code_format/jcl/source/windows/JclSvcCtrl.pas
branches/code_format/jcl/source/windows/JclSynch.pas
branches/code_format/jcl/source/windows/JclTD32.pas
branches/code_format/jcl/source/windows/JclTask.pas
branches/code_format/jcl/source/windows/JclUnicode.pas
branches/code_format/jcl/source/windows/JclWideFormat.pas
branches/code_format/jcl/source/windows/JclWin32Ex.pas
branches/code_format/jcl/source/windows/JclWinMIDI.pas
branches/code_format/jcl/source/windows/MSHelpServices_TLB.pas
branches/code_format/jcl/source/windows/MSTask.pas
branches/code_format/jcl/source/windows/Snmp.pas
branches/code_format/jcl/source/windows/mscoree_TLB.pas
branches/code_format/jcl/source/windows/mscorlib_TLB.pas
branches/code_format/jcl/source/windows/zlibh.pas
Modified: branches/code_format/jcl/examples/common/containers/algorithms/AlgorithmsExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/containers/algorithms/AlgorithmsExampleMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/containers/algorithms/AlgorithmsExampleMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -130,8 +130,7 @@
Value: Integer;
begin
Value := StrToIntDef(edtFind.Text, 0);
- It := JclAlgorithms.Find(List.First, List.Size, TObject(Value),
- SimpleCompare);
+ It := JclAlgorithms.Find(List.First, List.Size, TObject(Value), SimpleCompare);
if It = nil then
lblFound.Caption := 'Not found'
else
@@ -159,8 +158,7 @@
Value: Integer;
begin
Value := StrToIntDef(edtCount.Text, 0);
- Count := JclAlgorithms.CountObject(List.First, List.Size,
- TObject(Value), SimpleCompare);
+ Count := JclAlgorithms.CountObject(List.First, List.Size, TObject(Value), SimpleCompare);
lblCount.Caption := IntToStr(Count);
end;
@@ -245,3 +243,4 @@
end;
end.
+
Modified: branches/code_format/jcl/examples/common/containers/hashing/HashingExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/containers/hashing/HashingExampleMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/containers/hashing/HashingExampleMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -164,8 +164,7 @@
It := Map.Values.First;
while It.HasNext do
memResult.Items.Add(TMyObject(It.Next).Str);
- memResult.Items.Add(
- '--------------------------------------------------------');
+ memResult.Items.Add('--------------------------------------------------------');
finally
// MyObject.Free; // Free in the map (Default: OwnsObject = True)
// KeyObject.Free;
@@ -333,3 +332,4 @@
end;
end.
+
Modified: branches/code_format/jcl/examples/common/containers/lists/ListExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/containers/lists/ListExampleMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/containers/lists/ListExampleMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -472,3 +472,4 @@
end;
end.
+
Modified: branches/code_format/jcl/examples/common/containers/lists/MyObjectList.pas
===================================================================
--- branches/code_format/jcl/examples/common/containers/lists/MyObjectList.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/containers/lists/MyObjectList.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -33,8 +33,7 @@
function Size: Integer;
procedure Add(Index: Integer; AObject: TMyObject); overload;
- function AddAll(Index: Integer; ACollection: IJclCollection): Boolean;
- overload;
+ function AddAll(Index: Integer; ACollection: IJclCollection): Boolean; overload;
function GetObject(Index: Integer): TMyObject;
function IndexOf(AObject: TMyObject): Integer;
function LastIndexOf(AObject: TMyObject): Integer;
@@ -62,8 +61,7 @@
protected
{ IJclList }
procedure Add(Index: Integer; AObject: TMyObject); overload;
- function AddAll(Index: Integer; ACollection: IJclCollection): Boolean;
- overload;
+ function AddAll(Index: Integer; ACollection: IJclCollection): Boolean; overload;
function GetObject(Index: Integer): TMyObject;
function IndexOf(AObject: TMyObject): Integer;
function LastIndexOf(AObject: TMyObject): Integer;
@@ -99,7 +97,7 @@
function TMyObjectList.Contains(AObject: TMyObject): Boolean;
begin
- Result := inherited Contains(AObject);
+Result := inherited Contains(AObject);
end;
function TMyObjectList.GetObject(Index: Integer): TMyObject;
@@ -133,3 +131,4 @@
end;
end.
+
Modified: branches/code_format/jcl/examples/common/containers/performance/ContainerPerformanceMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/containers/performance/ContainerPerformanceMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/containers/performance/ContainerPerformanceMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -145,3 +145,4 @@
end;
end.
+
Modified: branches/code_format/jcl/examples/common/containers/trees/TreeExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/containers/trees/TreeExampleMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/containers/trees/TreeExampleMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -140,3 +140,4 @@
end;
end.
+
Modified: branches/code_format/jcl/examples/common/expreval/ExprEvalExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/expreval/ExprEvalExampleMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/expreval/ExprEvalExampleMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -54,8 +54,7 @@
procedure TForm1.EnterButtonClick(Sender: TObject);
begin
- Memo1.Lines.Add(ResultAsText(FEvaluator as TEvaluator,
- ExpressionInput.Text));
+ Memo1.Lines.Add(ResultAsText(FEvaluator as TEvaluator, ExpressionInput.Text));
end;
procedure TForm1.FuncListClick(Sender: TObject);
Modified: branches/code_format/jcl/examples/common/expreval/QExprEvalExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/expreval/QExprEvalExampleMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/expreval/QExprEvalExampleMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -3,7 +3,7 @@
interface
uses
- Types, SysUtils, Classes,
+ Types, SysUtils, Classes,
QGraphics, QControls, QForms, QStdCtrls,
JclExprEval;
Modified: branches/code_format/jcl/examples/common/filesearch/QFileSearchDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/filesearch/QFileSearchDemoMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/filesearch/QFileSearchDemoMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -9,8 +9,7 @@
uses
SysUtils, Classes,
- Types, Qt, QGraphics, QStdCtrls, QControls, QExtCtrls, QComCtrls,
- QForms, QMask,
+ Types, Qt, QGraphics, QStdCtrls, QControls, QExtCtrls, QComCtrls, QForms, QMask,
JclStrings, JclFileUtils, QDialogs;
type
@@ -116,8 +115,7 @@
StatusBar.Panels[2].Text := Format('Processing %s...', [Directory]);
end;
-procedure TFileSearchForm.AddFile(const Directory: string;
- const FileInfo: TSearchRec);
+procedure TFileSearchForm.AddFile(const Directory: string; const FileInfo: TSearchRec);
var
ListItem: TListItem;
S: string;
@@ -126,10 +124,9 @@
with ListItem do
begin
Caption := Directory + FileInfo.Name;
- Str(GetSizeOfFile(FileInfo): 13, S);
+ Str(GetSizeOfFile(FileInfo):13, S);
SubItems.Add(S);
- SubItems.Add(FormatDateTime(' yyyy-mm-dd hh:nn:ss ',
- FileDateToDateTime(FileInfo.Time)));
+ SubItems.Add(FormatDateTime(' yyyy-mm-dd hh:nn:ss ', FileDateToDateTime(FileInfo.Time)));
SubItems.Add(FileAttributesStr(FileInfo));
{$IFDEF UNIX}
if (FileInfo.Attr and faSymLink) <> 0 then
@@ -140,8 +137,7 @@
end;
end;
-procedure TFileSearchForm.TaskDone(const ID: TFileSearchTaskID;
- const Aborted: Boolean);
+procedure TFileSearchForm.TaskDone(const ID: TFileSearchTaskID; const Aborted: Boolean);
begin
if not FFileListLiveUpdate then
FileList.Items.EndUpdate;
@@ -149,8 +145,7 @@
if Aborted then
StatusBar.Panels[2].Text := 'Prematurely aborted.'
else
- StatusBar.Panels[2].Text :=
- Format('...finished (%f seconds).', [(Now - FT0) * SecsPerDay]);
+ StatusBar.Panels[2].Text := Format('...finished (%f seconds).', [(Now - FT0) * SecsPerDay]);
FileList.Sorted := True;
StartBtn.Enabled := True;
SaveBtn.Enabled := True;
@@ -163,8 +158,7 @@
RootDirInput.Text := PathCanonicalize(RootDirInput.Text);
FFileEnumerator.SearchOption[fsLastChangeAfter] := cbLastChangeAfter.Checked;
- FFileEnumerator.SearchOption[fsLastChangeBefore] :=
- cbLastChangeBefore.Checked;
+ FFileEnumerator.SearchOption[fsLastChangeBefore] := cbLastChangeBefore.Checked;
if FFileEnumerator.SearchOption[fsLastChangeAfter] then
FFileEnumerator.LastChangeAfterAsString := edLastChangeAfter.Text;
if FFileEnumerator.SearchOption[fsLastChangeBefore] then
@@ -177,7 +171,7 @@
FFileEnumerator.FileSizeMax := StrToInt64(edFileSizeMax.Text);
FFileEnumerator.IncludeSubDirectories := IncludeSubDirectories.Checked;
FFileEnumerator.IncludeHiddenSubDirectories := IncludeHiddenSubDirs.Checked;
- FFileEnumerator.CaseSensitiveSearch := not cbCaseInsensitiveSearch.Checked;
+ FFileEnumerator.CaseSensitiveSearch := not cbCaseInsensitiveSearch.Checked;
FDirCount := 0;
StartBtn.Enabled := False;
@@ -201,8 +195,7 @@
FFileEnumerator.StopTask(FTaskID);
end;
-procedure TFileSearchForm.FileListColumnClick(Sender: TObject;
- Column: TListColumn);
+procedure TFileSearchForm.FileListColumnClick(Sender: TObject; Column: TListColumn);
const
SD: array[TSortDirection] of TSortDirection = (sdDescending, sdAscending);
begin
@@ -217,10 +210,8 @@
procedure TFileSearchForm.cbFileAttributeClick(Sender: TObject);
const
- Interest: array[TCheckBoxState] of TAttributeInterest =
- (aiRejected, aiRequired, aiIgnored);
- CBState: array[TAttributeInterest] of TCheckBoxState =
- (cbGrayed, cbUnchecked, cbChecked);
+ Interest: array[TCheckBoxState] of TAttributeInterest = (aiRejected, aiRequired, aiIgnored);
+ CBState: array[TAttributeInterest] of TCheckBoxState = (cbGrayed, cbUnchecked, cbChecked);
begin
with FFileEnumerator.AttributeMask do
begin
@@ -259,7 +250,7 @@
begin
if not IncludeSubDirectories.Checked then
if IncludeHiddenSubDirs.State = cbChecked then
- IncludeHiddenSubDirs.State := cbUnchecked;
+ IncludeHiddenSubDirs.State := cbUnchecked;
end;
procedure TFileSearchForm.DetailsBtnClick(Sender: TObject);
@@ -276,13 +267,14 @@
begin
if SaveDialog.Execute then
with TStringList.Create do
- try
- for I := 0 to FileList.Items.Count - 1 do
- Add(FileList.Items[I].Caption);
- SaveToFile(SaveDialog.FileName);
- finally
- Free;
- end;
+ try
+ for I := 0 to FileList.Items.Count - 1 do
+ Add(FileList.Items[I].Caption);
+ SaveToFile(SaveDialog.FileName);
+ finally
+ Free;
+ end;
end;
end.
+
Modified: branches/code_format/jcl/examples/common/graphics/QClipLineDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/graphics/QClipLineDemoMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/graphics/QClipLineDemoMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -71,7 +71,7 @@
i: Integer;
H, S, L: Single;
begin
- for i := 0 to Length(P) - 1 do
+ for i := 0 to Length(P)-1 do
begin
P[i].X := Random(Width);
P[i].Y := Random(Height);
@@ -91,3 +91,4 @@
end;
end.
+
Modified: branches/code_format/jcl/examples/common/graphics/StretchGraphicDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/graphics/StretchGraphicDemoMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/graphics/StretchGraphicDemoMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -31,7 +31,7 @@
JclQGraphics,
{$ENDIF VisualCLX}
{$IFDEF HasShellCtrls}
- {$WARN UNIT_PLATFORM OFF}
+ {$WARN UNIT_PLATFORM OFF}
ShellCtrls,
{$ENDIF HasShellCtrls}
JclFileUtils;
@@ -101,10 +101,8 @@
FStretchTime: LongWord;
FPreserveAspectRatio: Boolean;
FResamplingFilter: TResamplingFilter;
- procedure AddToFileList(const Directory: string;
- const FileInfo: TSearchRec);
- procedure FileSearchTerminated(const ID: TFileSearchTaskID;
- const Aborted: Boolean);
+ procedure AddToFileList(const Directory: string; const FileInfo: TSearchRec);
+ procedure FileSearchTerminated(const ID: TFileSearchTaskID; const Aborted: Boolean);
function ChangeDirectory: Boolean;
procedure DoStretch;
procedure LoadFile(const AFileName: string);
@@ -120,8 +118,7 @@
procedure WMDropFiles(var Msg: TWMDropFiles); message WM_DropFiles;
{$ENDIF VCL}
protected
- property FileListIndex: Integer read GetFileListIndex
- write SetFileListIndex;
+ property FileListIndex: Integer read GetFileListIndex write SetFileListIndex;
property FileName: string read FFileName write SetFileName;
end;
@@ -142,10 +139,9 @@
{$IFDEF MSWINDOWS}
type
- TWMDropFilesCallback = procedure(const FileName: string) of object;
+ TWMDropFilesCallback = procedure (const FileName: string) of object;
-procedure ProcessWMDropFiles(var Msg: TWMDropFiles;
- Callback: TWMDropFilesCallback; DropPoint: PPoint = nil); overload;
+procedure ProcessWMDropFiles(var Msg: TWMDropFiles; Callback: TWMDropFilesCallback; DropPoint: PPoint = nil); overload;
var
i: Integer;
FileName: array[0..MAX_PATH] of Char;
@@ -166,8 +162,7 @@
end;
end;
-procedure ProcessWMDropFiles(var Msg: TWMDropFiles; FileNames: TStrings;
- DropPoint: PPoint = nil); overload;
+procedure ProcessWMDropFiles(var Msg: TWMDropFiles; FileNames: TStrings; DropPoint: PPoint = nil); overload;
begin
ProcessWMDropFiles(Msg, FileNames.Append, DropPoint);
end;
@@ -181,8 +176,7 @@
Result := (Pos(Ext, FileMask) > 0);
end;
-function IsGraphicFile(const Attr: Integer;
- const FileInfo: TSearchRec): Boolean; overload;
+function IsGraphicFile(const Attr: Integer; const FileInfo: TSearchRec): Boolean; overload;
begin
Result := IsGraphicFile(FileInfo.Name);
end;
@@ -207,23 +201,23 @@
WatchSubTree := False;
OnChange := ShellChange;
NotifyFilters := [
- nfFileNameChange,
- nfDirNameChange,
+ nfFileNameChange,
+ nfDirNameChange,
//nfSizeChange,
- nfWriteChange,
- nfSecurityChange];
+ nfWriteChange,
+ nfSecurityChange];
end;
{$ENDIF HasShellCtrls}
{$IFDEF VCL}
DragAcceptFiles(Handle, True);
{$ENDIF VCL}
if ParamCount > 0 then
- with OpenDialog do
- begin
- FileName := ParamStr(1);
- InitialDir := ExtractFileDir(FileName);
- LoadFile(FileName);
- end;
+ with OpenDialog do
+ begin
+ FileName := ParamStr(1);
+ InitialDir := ExtractFileDir(FileName);
+ LoadFile(FileName);
+ end;
end;
{$IFDEF VCL}
@@ -258,8 +252,7 @@
end;
end;
-procedure TStretchDemoForm.AddToFileList(const Directory: string;
- const FileInfo: TSearchRec);
+procedure TStretchDemoForm.AddToFileList(const Directory: string; const FileInfo: TSearchRec);
begin
with FileListView.Items.Add do
begin
@@ -267,8 +260,7 @@
end;
end;
-procedure TStretchDemoForm.FileSearchTerminated(const ID: TFileSearchTaskID;
- const Aborted: Boolean);
+procedure TStretchDemoForm.FileSearchTerminated(const ID: TFileSearchTaskID; const Aborted: Boolean);
begin
with FileListView do
Selected := FindCaption(0, FileName, False, True, False);
@@ -310,7 +302,7 @@
PageControl.ActivePage := OriginalPage
else
{$ENDIF VCL}
- PageControl.ActivePage := FLastImagePage;
+ PageControl.ActivePage := FLastImagePage;
FocusControl(PageControl);
end;
end;
@@ -339,8 +331,8 @@
with OriginalImage.Picture do
if (Graphic = nil) {$IFDEF VCL} or (Graphic is TMetafile) {$ENDIF} then
Exit;
- W := StretchedPage.Width - 2;
- H := StretchedPage.Height - 2;
+ W := StretchedPage.Width-2;
+ H := StretchedPage.Height-2;
if FPreserveAspectRatio then
with OriginalImage.Picture.Graphic do
begin
@@ -353,8 +345,7 @@
begin
T := GetTickCount;
StretchedImage.Picture.Graphic := nil;
- JclGraphics.Stretch(W, H, FResamplingFilter, 0,
- OriginalImage.Picture.Graphic,
+ JclGraphics.Stretch(W, H, FResamplingFilter, 0, OriginalImage.Picture.Graphic,
StretchedImage.Picture.Bitmap);
with OriginalImage.Picture do
StatusBar.Panels[0].Text := Format('Original: %d x %d', [Width, Height]);
@@ -364,8 +355,7 @@
FHeight := H;
FStretchTime := GetTickCount - T;
with StretchedImage.Picture do
- StatusBar.Panels[2].Text :=
- Format('Resize time: %d msec', [FStretchTime]);
+ StatusBar.Panels[2].Text := Format('Resize time: %d msec', [FStretchTime]);
end;
end;
@@ -389,14 +379,14 @@
procedure TStretchDemoForm.PrevFile(Sender: TObject);
begin
if FileListIndex > 0 then
- FileListIndex := FileListIndex - 1;
+ FileListIndex := FileListIndex - 1;
LoadSelected;
end;
procedure TStretchDemoForm.NextFile(Sender: TObject);
begin
if FileListIndex < FileListView.Items.Count - 1 then
- FileListIndex := FileListIndex + 1;
+ FileListIndex := FileListIndex + 1;
LoadSelected;
end;
@@ -429,15 +419,15 @@
begin
case Key of
Key_Prior:
- begin
- PrevFile(Self);
- Key := 0;
- end;
+ begin
+ PrevFile(Self);
+ Key := 0;
+ end;
Key_Next:
- begin
- NextFile(Self);
- Key := 0;
- end;
+ begin
+ NextFile(Self);
+ Key := 0;
+ end;
end;
end;
Modified: branches/code_format/jcl/examples/common/multimedia/MidiOutExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/multimedia/MidiOutExampleMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/multimedia/MidiOutExampleMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -153,15 +153,13 @@
begin
MIDIKey.Value := KeyMenu.PopupComponent.Tag;
if ShowModal = mrOK then
- FMidiOut.SendSingleNoteTuningChange(0, 0,
- [MidiSingleNoteTuningData(MIDIKey.Value, MIDIFrequency)]);
+ FMidiOut.SendSingleNoteTuningChange(0, 0, [MidiSingleNoteTuningData(MIDIKey.Value, MIDIFrequency)]);
end;
end;
procedure TKeyboard.PitchBenderChange(Sender: TObject);
begin
- FMidiOut.SendPitchWheelChange(FChannel, PitchBender.Position +
- MidiPitchWheelCenter);
+ FMidiOut.SendPitchWheelChange(FChannel, PitchBender.Position + MidiPitchWheelCenter);
end;
procedure TKeyboard.ModWheelChange(Sender: TObject);
@@ -193,3 +191,4 @@
end;
end.
+
Modified: branches/code_format/jcl/examples/common/multimedia/MidiOutExampleTuningDlg.pas
===================================================================
--- branches/code_format/jcl/examples/common/multimedia/MidiOutExampleTuningDlg.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/multimedia/MidiOutExampleTuningDlg.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -52,8 +52,8 @@
const
HalftonesPerOctave = 12;
- MiddleA = 440.0; // Hertz
- MidiMiddleA = 69; // A3 = 440 Hertz
+ MiddleA = 440.0; // Hertz
+ MidiMiddleA = 69; // A3 = 440 Hertz
Digits = 6;
MIDIFreqMax = 127.99993896;
FreqHertzMin = 8.17579892;
Modified: branches/code_format/jcl/examples/common/numformat/QNumFormatExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/numformat/QNumFormatExampleMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/numformat/QNumFormatExampleMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -98,8 +98,7 @@
if Exponent = 0 then
S := Mantissa
else
- S := Format('%s %s %d^%d', [Mantissa, FNumFormat.Multiplier,
- Base, Exponent]);
+ S := Format('%s %s %d^%d', [Mantissa, FNumFormat.Multiplier, Base, Exponent]);
Output.Lines.Add(Format('Base %2d: %s', [Base, S]));
end;
C.Line := 0;
@@ -117,7 +116,7 @@
procedure TMainForm.RandBtnClick(Sender: TObject);
begin
- ValueEdit.Text := FloatToStr(Power(Random * 4 - 2, Random(400)));
+ ValueEdit.Text := FloatToStr(Power(Random * 4 -2, Random(400)));
EvalBtn.Enabled := False;
Display;
end;
Modified: branches/code_format/jcl/examples/common/pcre/PCREDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/pcre/PCREDemoMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/pcre/PCREDemoMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -48,7 +48,7 @@
procedure Match;
function GetUIOptions: TJclAnsiRegExOptions;
procedure UpdateUIOptions;
- procedure LoadFromFile(const Filename: string);
+ procedure LoadFromFile(const Filename:string);
protected
procedure WMDropFiles(var Message: TWMDropFiles); message WM_DROPFILES;
public
@@ -143,8 +143,7 @@
var
Options: TJclAnsiRegExOptions;
begin
- if RE = nil then
- Exit;
+ if RE = nil then Exit;
Options := RE.Options;
chkIgnoreCase.Checked := roIgnoreCase in Options;
chkMultiLine.Checked := roMultiLine in Options;
@@ -177,18 +176,18 @@
procedure TfrmMain.WMDropFiles(var Message: TWMDropFiles);
var
- i: integer;
- buf: array [0..MAX_PATH] of char;
+ i:integer;
+ buf:array [0..MAX_PATH] of char;
begin
i := DragQueryFile(Message.Drop, $FFFFFFFF, nil, 0);
if i > 0 then
- try
- DragQueryFile(Message.Drop, 0, buf, sizeof(buf));
- if FileExists(buf) then
- LoadFromFile(buf);
- finally
- DragFinish(Message.Drop);
- end;
+ try
+ DragQueryFile(Message.Drop, 0, buf, sizeof(buf));
+ if FileExists(buf) then
+ LoadFromFile(buf);
+ finally
+ DragFinish(Message.Drop);
+ end;
end;
procedure TfrmMain.LoadFromFile(const Filename: string);
@@ -198,3 +197,4 @@
end;
end.
+
Modified: branches/code_format/jcl/examples/common/pcre/QPCREDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/pcre/QPCREDemoMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/pcre/QPCREDemoMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -47,7 +47,7 @@
procedure Match;
function GetUIOptions: TJclAnsiRegExOptions;
procedure UpdateUIOptions;
- procedure LoadFromFile(const Filename: string);
+ procedure LoadFromFile(const Filename:string);
protected
//procedure WMDropFiles(var Message: TWMDropFiles); message WM_DROPFILES;
public
@@ -140,8 +140,7 @@
var
Options: TJclAnsiRegExOptions;
begin
- if RE = nil then
- Exit;
+ if RE = nil then Exit;
Options := RE.Options;
chkIgnoreCase.Checked := roIgnoreCase in Options;
chkMultiLine.Checked := roMultiLine in Options;
@@ -174,3 +173,4 @@
end;
end.
+
Modified: branches/code_format/jcl/examples/common/rtti/QRTTIDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/rtti/QRTTIDemoMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/rtti/QRTTIDemoMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -56,7 +56,7 @@
le131, le132, le133, le134, le135, le136, le137, le138, le139, le140,
le141, le142, le143, le144, le145, le146, le147, le148, le149, le150,
le151, le152, le153, le154, le155, le156, le157, le158, le159, le160);
-
+
TLargeSet = set of TLargeEnum;
TLargeSubEnum = le019 .. le150;
TLargeSubSet = set of TLargeSubEnum;
@@ -168,33 +168,19 @@
Writer.Indent;
try
Writer.Writeln('StrToSet with string=''[le019..le023, le033, le045..le049]''');
- JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet,
- '[le019..le023, le033, le045..le049]');
- Writer.Writeln('SetToStr of StrToSet = ''' +
- JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) +
- ''', with WantRanges=True');
- Writer.Writeln('SetToStr of StrToSet = ''' +
- JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) +
- ''', with WantRanges=False');
+ JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet, '[le019..le023, le033, le045..le049]');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) + ''', with WantRanges=True');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) + ''', with WantRanges=False');
Writer.Writeln('');
Writer.Writeln('StrToSet with string=''''');
JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet, '');
- Writer.Writeln('SetToStr of StrToSet = ''' +
- JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) +
- ''', with WantRanges=True');
- Writer.Writeln('SetToStr of StrToSet = ''' +
- JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) +
- ''', with WantRanges=False');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) + ''', with WantRanges=True');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) + ''', with WantRanges=False');
Writer.Writeln('');
Writer.Writeln('StrToSet with string=''le019 .. le023,le033 , le045 .. le049 ''');
- JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet,
- 'le019 .. le023,le033 , le045 .. le049 ');
- Writer.Writeln('SetToStr of StrToSet = ''' +
- JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) +
- ''', with WantRanges=True');
- Writer.Writeln('SetToStr of StrToSet = ''' +
- JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) +
- ''', with WantRanges=False');
+ JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet, 'le019 .. le023,le033 , le045 .. le049 ');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) + ''', with WantRanges=True');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) + ''', with WantRanges=False');
Writer.Writeln('');
finally
Writer.Outdent;
@@ -340,8 +326,7 @@
'Third value', 'Fourth value', 'Fifth value']);
MySubRange := JclGenerateSubRange(MyEnum, 'MySubRange', 1, 3);
MySet := JclGenerateSetType(MyEnum, 'MySet');
- MyCutLowerEnum := JclGenerateEnumTypeBasedOn('MyCutLower',
- TypeInfo(TLargeEnum),
+ MyCutLowerEnum := JclGenerateEnumTypeBasedOn('MyCutLower', TypeInfo(TLargeEnum),
PREFIX_CUT_LOWERCASE);
end.
Modified: branches/code_format/jcl/examples/common/rtti/RTTIDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/rtti/RTTIDemoMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/rtti/RTTIDemoMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -55,7 +55,7 @@
le131, le132, le133, le134, le135, le136, le137, le138, le139, le140,
le141, le142, le143, le144, le145, le146, le147, le148, le149, le150,
le151, le152, le153, le154, le155, le156, le157, le158, le159, le160);
-
+
TLargeSet = set of TLargeEnum;
TLargeSubEnum = le019 .. le150;
TLargeSubSet = set of TLargeSubEnum;
@@ -167,33 +167,19 @@
Writer.Indent;
try
Writer.Writeln('StrToSet with string=''[le019..le023, le033, le045..le049]''');
- JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet,
- '[le019..le023, le033, le045..le049]');
- Writer.Writeln('SetToStr of StrToSet = ''' +
- JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) +
- ''', with WantRanges=True');
- Writer.Writeln('SetToStr of StrToSet = ''' +
- JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) +
- ''', with WantRanges=False');
+ JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet, '[le019..le023, le033, le045..le049]');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) + ''', with WantRanges=True');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) + ''', with WantRanges=False');
Writer.Writeln('');
Writer.Writeln('StrToSet with string=''''');
JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet, '');
- Writer.Writeln('SetToStr of StrToSet = ''' +
- JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) +
- ''', with WantRanges=True');
- Writer.Writeln('SetToStr of StrToSet = ''' +
- JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) +
- ''', with WantRanges=False');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) + ''', with WantRanges=True');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) + ''', with WantRanges=False');
Writer.Writeln('');
Writer.Writeln('StrToSet with string=''le019 .. le023,le033 , le045 .. le049 ''');
- JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet,
- 'le019 .. le023,le033 , le045 .. le049 ');
- Writer.Writeln('SetToStr of StrToSet = ''' +
- JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) +
- ''', with WantRanges=True');
- Writer.Writeln('SetToStr of StrToSet = ''' +
- JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) +
- ''', with WantRanges=False');
+ JclStrToSet(TypeInfo(TLargeSubSet), LargeSubSet, 'le019 .. le023,le033 , le045 .. le049 ');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, True) + ''', with WantRanges=True');
+ Writer.Writeln('SetToStr of StrToSet = ''' + JclSetToStr(TypeInfo(TLargeSubSet), LargeSubSet, True, False) + ''', with WantRanges=False');
Writer.Writeln('');
finally
Writer.Outdent;
@@ -339,8 +325,7 @@
'Third value', 'Fourth value', 'Fifth value']);
MySubRange := JclGenerateSubRange(MyEnum, 'MySubRange', 1, 3);
MySet := JclGenerateSetType(MyEnum, 'MySet');
- MyCutLowerEnum := JclGenerateEnumTypeBasedOn('MyCutLower',
- TypeInfo(TLargeEnum),
+ MyCutLowerEnum := JclGenerateEnumTypeBasedOn('MyCutLower', TypeInfo(TLargeEnum),
PREFIX_CUT_LOWERCASE);
end.
Modified: branches/code_format/jcl/examples/common/sysinfo/QEnvironmentExampleMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/sysinfo/QEnvironmentExampleMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/sysinfo/QEnvironmentExampleMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -3,7 +3,7 @@
interface
uses
- SysUtils, Classes, QControls, QForms, QComCtrls,
+ SysUtils, Classes, QControls, QForms, QComCtrls,
JclSysInfo;
type
@@ -73,3 +73,4 @@
end;
end.
+
Modified: branches/code_format/jcl/examples/common/textreader/TextReaderDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/textreader/TextReaderDemoMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/textreader/TextReaderDemoMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -72,9 +72,7 @@
TextListView.Items.Count := LineCount;
TextListView.Invalidate;
StatusBar.Panels[0].Text := ExtractFileName(FileName);
- StatusBar.Panels[1].Text :=
- Format('Lines: %d, Counting time: %.2f ms',
- [LineCount, LineCountTime * 1000]);
+ StatusBar.Panels[1].Text := Format('Lines: %d, Counting time: %.2f ms', [LineCount, LineCountTime * 1000]);
end;
procedure TMainForm.TextListViewData(Sender: TObject; Item: TListItem);
@@ -143,13 +141,11 @@
AssignFileTotalTime := StopCount(C);
CloseFile(T);
- ReadLnLabel.Caption :=
- Format('Lines: %d, TJclMappedTextReader: %.2f ms, TStringList: %.2f ms, AssignFile: %.2f ms',
- [LineCount, TotalTime * 1000, StringListTotalTime * 1000,
- AssignFileTotalTime * 1000]);
+ ReadLnLabel.Caption := Format('Lines: %d, TJclMappedTextReader: %.2f ms, TStringList: %.2f ms, AssignFile: %.2f ms',
+ [LineCount, TotalTime * 1000, StringListTotalTime * 1000, AssignFileTotalTime * 1000]);
finally
Screen.Cursor := crDefault;
- end;
+ end;
end;
Modified: branches/code_format/jcl/examples/common/unitversioning/UnitVersioningTestMain.pas
===================================================================
--- branches/code_format/jcl/examples/common/unitversioning/UnitVersioningTestMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/common/unitversioning/UnitVersioningTestMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -127,8 +127,7 @@
begin
Idx := UnitVersioning.IndexOf('unit500.pas');
if Idx <> -1 then
- ShowMessage(Format('IndexOf %s = %d',
- [UnitVersioning.Items[Idx].RCSfile, Idx]))
+ ShowMessage(Format('IndexOf %s = %d', [UnitVersioning.Items[Idx].RCSfile, Idx]))
else
ShowMessage('IndexOf failed');
end;
@@ -164,8 +163,7 @@
inherited Destroy;
end;
-procedure TDummyUnitVersioningProvider.LoadModuleUnitVersioningInfo(
- Instance: THandle);
+procedure TDummyUnitVersioningProvider.LoadModuleUnitVersioningInfo(Instance: THandle);
begin
if (Instance = HInstance) and not Assigned(FUV) then
begin
@@ -180,8 +178,7 @@
end;
end;
-procedure TfrmUnitVersioningTestMain.btnTestDummyProviderClick(
- Sender: TObject);
+procedure TfrmUnitVersioningTestMain.btnTestDummyProviderClick(Sender: TObject);
var
UnitVersioning: TUnitVersioning;
Idx: Integer;
@@ -191,15 +188,13 @@
UnitVersioning.LoadModuleUnitVersioningInfo(HInstance);
Idx := UnitVersioning.IndexOf('DummyUnit.pas');
if Idx <> -1 then
- ShowMessage(Format('IndexOf %s=%d Revision=%s',
- [UnitVersioning.Items[Idx].RCSfile,
+ ShowMessage(Format('IndexOf %s=%d Revision=%s', [UnitVersioning.Items[Idx].RCSfile,
Idx, UnitVersioning.Items[Idx].Revision]))
else
ShowMessage('DummyProvider Test failed');
end;
-procedure TfrmUnitVersioningTestMain.btnTestGetLocationInfoStrClick(
- Sender: TObject);
+procedure TfrmUnitVersioningTestMain.btnTestGetLocationInfoStrClick(Sender: TObject);
var
S: string;
begin
@@ -218,16 +213,14 @@
UnitVersioning := GetUnitVersioning;
UnitVersioning.RegisterProvider(TJclDefaultUnitVersioningProvider);
for I := 0 to Pred(UnitVersioning.ModuleCount) do
- UnitVersioning.LoadModuleUnitVersioningInfo(
- UnitVersioning.Modules[I].Instance);
+ UnitVersioning.LoadModuleUnitVersioningInfo(UnitVersioning.Modules[I].Instance);
tv.Items.BeginUpdate;
try
tv.Items.Clear;
for I := 0 to Pred(UnitVersioning.ModuleCount) do
begin
tnModule := tv.Items.Add(nil, Format('%s [%d units]',
- [GetModulePath(UnitVersioning.Modules[I].Instance),
- UnitVersioning.Modules[I].Count]));
+ [GetModulePath(UnitVersioning.Modules[I].Instance), UnitVersioning.Modules[I].Count]));
for J := 0 to Pred(UnitVersioning.Modules[I].Count) do
with UnitVersioning.Modules[I][J] do
begin
@@ -235,8 +228,7 @@
if LongFileName <> '' then
LongFileName := PathAddSeparator(LongFileName);
LongFileName := LongFileName + RCSfile;
- tv.Items.AddChild(tnModule, Format('%s %s %s',
- [LongFileName, Revision, Date]));
+ tv.Items.AddChild(tnModule, Format('%s %s %s', [LongFileName, Revision, Date]));
end;
end;
finally
@@ -282,8 +274,7 @@
UnitList.Add(UnitVersionInfo);
end;
if not InsertUnitVersioningSection(TestDLLFileName, UnitList) then
- ShowMessage(Format(
- 'Inserting UnitVersion information section into %s failed',
+ ShowMessage(Format('Inserting UnitVersion information section into %s failed',
[TestDLLFileName]));
finally
UnitList.Free;
Modified: branches/code_format/jcl/examples/windows/appinst/AppInstDemoMain.pas
===================================================================
--- branches/code_format/jcl/examples/windows/appinst/AppInstDemoMain.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/windows/appinst/AppInstDemoMain.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -50,7 +50,7 @@
begin
Items.BeginUpdate;
Items.Clear;
- for I := 0 to InstanceCount - 1 do
+ for I := 0 to InstanceCount -1 do
with Items.Add do
begin
Caption := IntToStr(I + 1);
@@ -70,8 +70,7 @@
BuildInstancesList;
end;
-procedure TForm1.ApplicationEvents1Message(var Msg: TMsg;
- var Handled: Boolean);
+procedure TForm1.ApplicationEvents1Message(var Msg: TMsg; var Handled: Boolean);
begin
// AI_* messages handler. These messages are automatically send to all instances
// of the application.
@@ -125,21 +124,20 @@
// message sent from window of this instance
case ReadMessageCheck(Message, Handle) of
MyDataKind: // It is our data
- begin
- MemoChanging := True;
- // prevent deadlock, TMemo.OnChange is also fired now
- Memo1.Lines.BeginUpdate;
- try
+ begin
+ MemoChanging := True; // prevent deadlock, TMemo.OnChange is also fired now
+ Memo1.Lines.BeginUpdate;
+ try
// Read TStrings from the message
- ReadMessageStrings(Message, Memo1.Lines)
- finally
- Memo1.Lines.EndUpdate;
- MemoChanging := False;
- end;
- end;
- else
- inherited;
- end;
+ ReadMessageStrings(Message, Memo1.Lines)
+ finally
+ Memo1.Lines.EndUpdate;
+ MemoChanging := False;
+ end;
+ end;
+ else
+ inherited;
+ end;
end
else
inherited;
Modified: branches/code_format/jcl/examples/windows/clr/ClrDemoAbstractFrame.pas
===================================================================
--- branches/code_format/jcl/examples/windows/clr/ClrDemoAbstractFrame.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/windows/clr/ClrDemoAbstractFrame.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -2,7 +2,7 @@
interface
-uses
+uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, JclCLR;
@@ -14,8 +14,7 @@
class procedure DumpBuf(const Ptr: Pointer; const Size: Integer;
const memDump: TMemo; const Base: DWORD = 0;
const AutoClear: Boolean = True); overload;
- class procedure DumpBuf(const Blob: TJclCLRBlobRecord;
- const memDump: TMemo;
+ class procedure DumpBuf(const Blob: TJclCLRBlobRecord; const memDump: TMemo;
const AutoClear: Boolean = False); overload;
end;
@@ -38,72 +37,69 @@
pch: PChar;
DumpStr: string;
begin
- if AutoClear then
- memDump.Clear;
+ if AutoClear then memDump.Clear;
ByteCount := 0;
- pch := Ptr;
+ pch := Ptr;
with TCanvas.Create do
- try
- Handle := GetDC(memDump.Handle);
- Font.Name := 'Fixedsys';
- Font.Size := 12;
- if (TextWidth('?') * WIDE_LINE_WIDTH) < memDump.ClientWidth then
- LineWidth := 16
- else
- if (TextWidth('?') * THIN_LINE_WIDTH) < memDump.ClientWidth then
- LineWidth := 8
- else
- LineWidth := 4;
- finally
- Free;
- end;
+ try
+ Handle := GetDC(memDump.Handle);
+ Font.Name := 'Fixedsys';
+ Font.Size := 12;
+ if (TextWidth('?')*WIDE_LINE_WIDTH) < memDump.ClientWidth then
+ LineWidth := 16
+ else if (TextWidth('?')*THIN_LINE_WIDTH) < memDump.ClientWidth then
+ LineWidth := 8
+ else
+ LineWidth := 4;
+ finally
+ Free;
+ end;
with memDump.Lines do
- try
- BeginUpdate;
+ try
+ BeginUpdate;
- while ByteCount < Size do
+ while ByteCount < Size do
+ begin
+ DumpStr := IntToHex(Base + DWord(ByteCount), 8) + ': ';
+ for I:=0 to LineWidth-1 do
begin
- DumpStr := IntToHex(Base + DWord(ByteCount), 8) + ': ';
- for I := 0 to LineWidth - 1 do
- begin
- if ((Size - ByteCount) > LineWidth) or ((Size - ByteCount) > I) then
- DumpStr := DumpStr + IntToHex(Integer(pch[ByteCount + I]), 2) + ' '
- else
- DumpStr := DumpStr + ' ';
- end;
+ if ((Size - ByteCount) > LineWidth) or ((Size - ByteCount) > I) then
+ DumpStr := DumpStr + IntToHex(Integer(pch[ByteCount+I]), 2) + ' '
+ else
+ DumpStr := DumpStr + ' ';
+ end;
- DumpStr := DumpStr + '; ';
+ DumpStr := DumpStr + '; ';
- for I := 0 to LineWidth - 1 do
+ for I:=0 to LineWidth-1 do
+ begin
+ if ((Size - ByteCount) > LineWidth) or ((Size - ByteCount) > I) then
begin
- if ((Size - ByteCount) > LineWidth) or ((Size - ByteCount) > I) then
- begin
- if CharIsAlphaNum(Char(pch[ByteCount + I])) then
- DumpStr := DumpStr + pch[ByteCount + I]
- else
- DumpStr := DumpStr + '.';
- end
+ if CharIsAlphaNum(Char(pch[ByteCount+I])) then
+ DumpStr := DumpStr + pch[ByteCount+I]
else
- DumpStr := DumpStr + ' ';
- end;
-
- Add(DumpStr);
- Inc(ByteCount, LineWidth);
+ DumpStr := DumpStr + '.'
+ end
+ else
+ DumpStr := DumpStr + ' ';
end;
- finally
- EndUpdate;
+
+ Add(DumpStr);
+ Inc(ByteCount, LineWidth);
end;
+ finally
+ EndUpdate;
+ end;
memDump.Perform(WM_VSCROLL, SB_TOP, 0);
end;
class procedure TfrmAbstract.DumpBuf(const Blob: TJclCLRBlobRecord;
const memDump: TMemo; const AutoClear: Boolean);
begin
- TfrmAbstract.DumpBuf(Blob.Memory, Blob.Size, memDump,
- Blob.Offset, AutoClear);
+ TfrmAbstract.DumpBuf(Blob.Memory, Blob.Size, memDump, Blob.Offset, AutoClear);
end;
end.
Modified: branches/code_format/jcl/examples/windows/clr/ClrDemoBlobForm.pas
===================================================================
--- branches/code_format/jcl/examples/windows/clr/ClrDemoBlobForm.pas 2007-08-11 22:07:28 UTC (rev 2116)
+++ branches/code_format/jcl/examples/windows/clr/ClrDemoBlobForm.pas 2007-08-12 08:27:32 UTC (rev 2117)
@@ -35,12 +35,12 @@
class procedure TfrmBlobs.Execute(const AStream: TJclCLRBlobStream);
begin
with TfrmBlobs.Create(nil) do
- try
- ShowBlobs(AStream);
- ShowModal;
- finally
- Free;
- end;
+ try
+ ShowBlobs(AStream);
+ ShowModal;
+ finally
+ Free;
+ end;
end;
procedure TfrmBlobs.ShowBlobs(const AStream: TJclCLRBlobStream);
@@ -53,15 +53,15 @@
Selected: Boolean);
begin
if Selected then
- with TJclCLRBlobRecord(Item.Data) do
- TfrmAbstract.DumpBuf(Memory, Size, memDump,
- FStream.Offset + DWORD(Memory) - DWORD(FStream.Data));
+ with TJclCLRBlobRecord(Item.Data) do
+ TfrmAbstract.DumpBuf(Memory, Size, memDump,
+ FStream.Offset + DWORD(Memory) - DWORD(FStream.Data));
end;
procedure TfrmBlobs.lstBlobsData(Sender: TObject; Item: TListItem);
begin
Item.Caption := IntToStr(Item.Index);
- Item.Data := FStream.Blobs[Item.In...
[truncated message content] |
|
From: <ou...@us...> - 2007-08-11 22:07:32
|
Revision: 2116
http://jcl.svn.sourceforge.net/jcl/?rev=2116&view=rev
Author: outchy
Date: 2007-08-11 15:07:28 -0700 (Sat, 11 Aug 2007)
Log Message:
-----------
Fix for integer overflow when WideCompose was called with sequence: $529F $80FD $72EC $4E00 $65E0 $4E8C (reported in newsgroups by Edwin/edbored on 07-27-2007
updated to Unicode 5.1.0
UDExtract now generates composition data (it was previously hard coded).
Modified Paths:
--------------
trunk/jcl/source/windows/JclUnicode.pas
trunk/jcl/source/windows/JclUnicode.rc
trunk/jcl/source/windows/JclUnicode.res
trunk/thirdparty/unicode_data_extractor/UDExtract.dpr
trunk/thirdparty/unicode_data_extractor/make_jclunicode.bat
Removed Paths:
-------------
trunk/thirdparty/unicode_data_extractor/Composition.rc
Modified: trunk/jcl/source/windows/JclUnicode.pas
===================================================================
--- trunk/jcl/source/windows/JclUnicode.pas 2007-08-11 15:03:38 UTC (rev 2115)
+++ trunk/jcl/source/windows/JclUnicode.pas 2007-08-11 22:07:28 UTC (rev 2116)
@@ -1020,7 +1020,7 @@
// Low level character routines
function UnicodeNumberLookup(Code: UCS4; var Number: TUcNumber): Boolean;
-function UnicodeComposePair(First, Second: UCS4; var Composite: UCS4): Boolean;
+function UnicodeCompose(const Codes: array of UCS4; var Composite: UCS4): Integer;
function UnicodeCaseFold(Code: UCS4): TUCS4Array;
function UnicodeToUpper(Code: UCS4): TUCS4Array;
function UnicodeToLower(Code: UCS4): TUCS4Array;
@@ -1438,7 +1438,7 @@
TDecompositionsArray = array [Byte] of TDecompositions;
var
- // list of decompositions, organized (again) as two stage matrix
+ // list of decompositions, organized (again) as three stage matrix
// Note: there are two tables, one for canonical decompositions and the other one
// for compatibility decompositions.
DecompositionsLoaded: Boolean;
@@ -1750,19 +1750,21 @@
type
// maps between a pair of code points to a composite code point
// Note: the source pair is packed into one 4 byte value to speed up search.
- TCompositionPair = record
+ TComposition = record
Code: Cardinal;
- Composition: UCS4;
+ First: Cardinal;
+ Next: array of Cardinal;
end;
var
// list of composition mappings
- Compositions: array of TCompositionPair;
+ Compositions: array of TComposition;
+ MaxCompositionSize: Integer;
procedure LoadCompositionData;
var
Stream: TResourceStream;
- Size: Cardinal;
+ I, Size: Integer;
begin
// make sure no other code is currently modifying the global data area
LoadInProgress.Enter;
@@ -1771,50 +1773,95 @@
if Compositions = nil then
begin
Stream := TResourceStream.Create(HInstance, 'COMPOSITION', 'UNICODEDATA');
- // a) determine size of compositions array
- Stream.ReadBuffer(Size, 4);
- SetLength(Compositions, Size);
- // b) read data
- Stream.ReadBuffer(Compositions[0], Size * SizeOf(TCompositionPair));
- Stream.Free;
+ try
+ // a) determine size of compositions array
+ Stream.ReadBuffer(Size, 4);
+ SetLength(Compositions, Size);
+ // b) read data
+ for I := 0 to Size - 1 do
+ begin
+ Stream.ReadBuffer(Compositions[I].Code, 4);
+ Stream.ReadBuffer(Size, 4);
+ if Size > MaxCompositionSize then
+ MaxCompositionSize := Size;
+ SetLength(Compositions[I].Next, Size - 1);
+ Stream.ReadBuffer(Compositions[I].First, 4);
+ Stream.ReadBuffer(Compositions[I].Next[0], 4 * (Size - 1));
+ end;
+ finally
+ Stream.Free;
+ end;
end;
finally
LoadInProgress.Leave;
end;
end;
-function UnicodeComposePair(First, Second: UCS4; var Composite: UCS4): Boolean;
-// Maps the sequence of First and Second to a composite.
-// Result is True if there was a mapping otherwise it is False.
+function UnicodeCompose(const Codes: array of UCS4; var Composite: UCS4): Integer;
+// Maps the sequence of Codes (up to MaxCompositionSize codes) to a composite
+// Result is the number of Codes that were composed (at least 1 if Codes is not empty)
var
- L, R, M, C: Integer;
- Pair: Integer;
+ L, R, M, I, HighCodes, HighNext: Integer;
begin
if Compositions = nil then
LoadCompositionData;
- Result := False;
+ Result := 0;
+ HighCodes := High(Codes);
+
+ if HighCodes = -1 then
+ Exit;
+
+ if HighCodes = 0 then
+ begin
+ Result := 1;
+ Composite := Codes[0];
+ Exit;
+ end;
+
L := 0;
R := High(Compositions);
- Pair := Integer((First shl 16) or Word(Second));
+
while L <= R do
begin
M := (L + R) shr 1;
- C := Integer(Compositions[M].Code) - Pair;
- if C < 0 then
+ if Compositions[M].First > Codes[0] then
+ R := M - 1
+ else
+ if Compositions[M].First < Codes[0] then
L := M + 1
else
begin
- R := M - 1;
- if C = 0 then
+ // back to the first element where Codes[0] = First
+ while (M > 0) and (Compositions[M-1].First = Codes[0]) do
+ Dec(M);
+
+ while (M <= High(Compositions)) and (Compositions[M].First = Codes[0]) do
begin
- Result := True;
- L := M;
+ HighNext := High(Compositions[M].Next);
+ Result := 0;
+
+ if HighNext < HighCodes then // enough characters in buffer to be tested
+ begin
+ for I := 0 to HighNext do
+ if Compositions[M].Next[I] = Codes[I + 1] then
+ Result := I + 2 { +1 for first, +1 because of 0-based array }
+ else
+ Break;
+
+ if Result = HighNext + 2 then // all codes matched
+ begin
+ Composite := Compositions[M].Code;
+ Exit;
+ end;
+ end;
+
+ Inc(M);
end;
end;
end;
- if Result then
- Composite := Compositions[L].Composition;
+ Result := 1;
+ Composite := Codes[0];
end;
//=== { TSearchEngine } ======================================================
@@ -6351,14 +6398,9 @@
function WideCompose(const S: WideString): WideString;
var
- StarterPos,
- CompPos,
- DecompPos: Integer;
+ Buffer: array of UCS4;
+ LastInPos, InPos, OutPos, BufferSize, NbProcessed: Integer;
Composite: UCS4;
- Ch,
- StarterChar: WideChar;
- LastClass,
- CurrentClass: Cardinal;
begin
// Set an arbitrary length for the result. This is automatically done when checking
// for hangul composition.
@@ -6367,39 +6409,50 @@
if Result = '' then
Exit;
- StarterPos := 1;
- CompPos := 2;
+ if Compositions = nil then
+ LoadCompositionData;
- StarterChar := Result[StarterPos];
- LastClass := CanonicalCombiningClass(UCS4(StarterChar));
- if LastClass <> 0 then
- LastClass := 256; // fix for irregular combining sequence
+ LastInPos := Length(Result);
+ if LastInPos > MaxCompositionSize then
+ SetLength(Buffer, MaxCompositionSize)
+ else
+ SetLength(Buffer, LastInPos);
- // Loop on the (decomposed) characters, combining where possible.
- for DecompPos := 2 to Length(Result) do
+ BufferSize := 0;
+ InPos := 0;
+ OutPos := 0;
+
+ while (InPos < LastInPos) or (BufferSize > 0) do
begin
- Ch := Result[DecompPos];
- CurrentClass := CanonicalCombiningClass(UCS4(Ch));
- if UnicodeComposePair(UCS4(StarterChar), UCS4(Ch), Composite) and
- ((LastClass < CurrentClass) or (LastClass = 0)) then
+ // fill buffer from input
+
+ while BufferSize < Length(Buffer) do
begin
- Result[StarterPos] := UCS2(Composite);
- StarterChar := UCS2(Composite);
- end
- else
- begin
- if CurrentClass = 0 then
+ if InPos < LastInPos then
begin
- StarterPos := CompPos;
- StarterChar := Ch;
- end;
- LastClass := CurrentClass;
- Result[CompPos] := Ch;
- Inc(CompPos);
+ Inc(InPos);
+ Buffer[BufferSize] := UCS4(Result[InPos]);
+ Inc(BufferSize);
+ end
+ else
+ SetLength(Buffer, BufferSize);
end;
+
+ if Length(Buffer) = 0 then
+ Break;
+
+ NbProcessed := UnicodeCompose(Buffer, Composite);
+ if NbProcessed = 0 then
+ Break;
+
+ Move(Buffer[NbProcessed], Buffer[0], (BufferSize - NbProcessed) * SizeOf(UCS4));
+ Dec(BufferSize, NbProcessed);
+
+ Inc(OutPos);
+ Result[OutPos] := UCS2(Composite);
end;
// since we have likely shortened the source string we have to set the correct length on exit
- SetLength(Result, CompPos - 1);
+ SetLength(Result, OutPos);
end;
procedure FixCanonical(var S: WideString);
Modified: trunk/jcl/source/windows/JclUnicode.rc
===================================================================
--- trunk/jcl/source/windows/JclUnicode.rc 2007-08-11 15:03:38 UTC (rev 2115)
+++ trunk/jcl/source/windows/JclUnicode.rc 2007-08-11 22:07:28 UTC (rev 2116)
@@ -1,7 +1,7 @@
/****************************************************************************************************
- JclUnicode.rc
+ ..\..\jcl\source\windows\JclUnicode.rc
Produced by UDExtract written by Dipl. Ing. Mike Lischke, pu...@li...
@@ -12,7 +12,7 @@
CATEGORIES UNICODEDATA LOADONCALL MOVEABLE DISCARDABLE
{
- '00 DC 01 00 00 41 00 00 00 5A 00 00 00 C0 00 00 00 D6 00 00 00 D8 00 00 00 DE 00 00 00 00 01 00'
+ '00 23 02 00 00 41 00 00 00 5A 00 00 00 C0 00 00 00 D6 00 00 00 D8 00 00 00 DE 00 00 00 00 01 00'
'00 00 01 00 00 02 01 00 00 02 01 00 00 04 01 00 00 04 01 00 00 06 01 00 00 06 01 00 00 08 01 00'
'00 08 01 00 00 0A 01 00 00 0A 01 00 00 0C 01 00 00 0C 01 00 00 0E 01 00 00 0E 01 00 00 10 01 00'
'00 10 01 00 00 12 01 00 00 12 01 00 00 14 01 00 00 14 01 00 00 16 01 00 00 16 01 00 00 18 01 00'
@@ -46,246 +46,288 @@
'00 1A 02 00 00 1C 02 00 00 1C 02 00 00 1E 02 00 00 1E 02 00 00 20 02 00 00 20 02 00 00 22 02 00'
'00 22 02 00 00 24 02 00 00 24 02 00 00 26 02 00 00 26 02 00 00 28 02 00 00 28 02 00 00 2A 02 00'
'00 2A 02 00 00 2C 02 00 00 2C 02 00 00 2E 02 00 00 2E 02 00 00 30 02 00 00 30 02 00 00 32 02 00'
- '00 32 02 00 00 3A 02 00 00 3B 02 00 00 3D 02 00 00 3E 02 00 00 41 02 00 00 41 02 00 00 86 03 00'
+ '00 32 02 00 00 3A 02 00 00 3B 02 00 00 3D 02 00 00 3E 02 00 00 41 02 00 00 41 02 00 00 43 02 00'
+ '00 46 02 00 00 48 02 00 00 48 02 00 00 4A 02 00 00 4A 02 00 00 4C 02 00 00 4C 02 00 00 4E 02 00'
+ '00 4E 02 00 00 70 03 00 00 70 03 00 00 72 03 00 00 72 03 00 00 76 03 00 00 76 03 00 00 86 03 00'
'00 86 03 00 00 88 03 00 00 8A 03 00 00 8C 03 00 00 8C 03 00 00 8E 03 00 00 8F 03 00 00 91 03 00'
- '00 A1 03 00 00 A3 03 00 00 AB 03 00 00 D2 03 00 00 D4 03 00 00 D8 03 00 00 D8 03 00 00 DA 03 00'
- '00 DA 03 00 00 DC 03 00 00 DC 03 00 00 DE 03 00 00 DE 03 00 00 E0 03 00 00 E0 03 00 00 E2 03 00'
- '00 E2 03 00 00 E4 03 00 00 E4 03 00 00 E6 03 00 00 E6 03 00 00 E8 03 00 00 E8 03 00 00 EA 03 00'
- '00 EA 03 00 00 EC 03 00 00 EC 03 00 00 EE 03 00 00 EE 03 00 00 F4 03 00 00 F4 03 00 00 F7 03 00'
- '00 F7 03 00 00 F9 03 00 00 FA 03 00 00 FD 03 00 00 2F 04 00 00 60 04 00 00 60 04 00 00 62 04 00'
- '00 62 04 00 00 64 04 00 00 64 04 00 00 66 04 00 00 66 04 00 00 68 04 00 00 68 04 00 00 6A 04 00'
- '00 6A 04 00 00 6C 04 00 00 6C 04 00 00 6E 04 00 00 6E 04 00 00 70 04 00 00 70 04 00 00 72 04 00'
- '00 72 04 00 00 74 04 00 00 74 04 00 00 76 04 00 00 76 04 00 00 78 04 00 00 78 04 00 00 7A 04 00'
- '00 7A 04 00 00 7C 04 00 00 7C 04 00 00 7E 04 00 00 7E 04 00 00 80 04 00 00 80 04 00 00 8A 04 00'
- '00 8A 04 00 00 8C 04 00 00 8C 04 00 00 8E 04 00 00 8E 04 00 00 90 04 00 00 90 04 00 00 92 04 00'
- '00 92 04 00 00 94 04 00 00 94 04 00 00 96 04 00 00 96 04 00 00 98 04 00 00 98 04 00 00 9A 04 00'
- '00 9A 04 00 00 9C 04 00 00 9C 04 00 00 9E 04 00 00 9E 04 00 00 A0 04 00 00 A0 04 00 00 A2 04 00'
- '00 A2 04 00 00 A4 04 00 00 A4 04 00 00 A6 04 00 00 A6 04 00 00 A8 04 00 00 A8 04 00 00 AA 04 00'
- '00 AA 04 00 00 AC 04 00 00 AC 04 00 00 AE 04 00 00 AE 04 00 00 B0 04 00 00 B0 04 00 00 B2 04 00'
- '00 B2 04 00 00 B4 04 00 00 B4 04 00 00 B6 04 00 00 B6 04 00 00 B8 04 00 00 B8 04 00 00 BA 04 00'
- '00 BA 04 00 00 BC 04 00 00 BC 04 00 00 BE 04 00 00 BE 04 00 00 C0 04 00 00 C1 04 00 00 C3 04 00'
- '00 C3 04 00 00 C5 04 00 00 C5 04 00 00 C7 04 00 00 C7 04 00 00 C9 04 00 00 C9 04 00 00 CB 04 00'
- '00 CB 04 00 00 CD 04 00 00 CD 04 00 00 D0 04 00 00 D0 04 00 00 D2 04 00 00 D2 04 00 00 D4 04 00'
- '00 D4 04 00 00 D6 04 00 00 D6 04 00 00 D8 04 00 00 D8 04 00 00 DA 04 00 00 DA 04 00 00 DC 04 00'
- '00 DC 04 00 00 DE 04 00 00 DE 04 00 00 E0 04 00 00 E0 04 00 00 E2 04 00 00 E2 04 00 00 E4 04 00'
- '00 E4 04 00 00 E6 04 00 00 E6 04 00 00 E8 04 00 00 E8 04 00 00 EA 04 00 00 EA 04 00 00 EC 04 00'
- '00 EC 04 00 00 EE 04 00 00 EE 04 00 00 F0 04 00 00 F0 04 00 00 F2 04 00 00 F2 04 00 00 F4 04 00'
- '00 F4 04 00 00 F6 04 00 00 F6 04 00 00 F8 04 00 00 F8 04 00 00 00 05 00 00 00 05 00 00 02 05 00'
+ '00 A1 03 00 00 A3 03 00 00 AB 03 00 00 CF 03 00 00 CF 03 00 00 D2 03 00 00 D4 03 00 00 D8 03 00'
+ '00 D8 03 00 00 DA 03 00 00 DA 03 00 00 DC 03 00 00 DC 03 00 00 DE 03 00 00 DE 03 00 00 E0 03 00'
+ '00 E0 03 00 00 E2 03 00 00 E2 03 00 00 E4 03 00 00 E4 03 00 00 E6 03 00 00 E6 03 00 00 E8 03 00'
+ '00 E8 03 00 00 EA 03 00 00 EA 03 00 00 EC 03 00 00 EC 03 00 00 EE 03 00 00 EE 03 00 00 F4 03 00'
+ '00 F4 03 00 00 F7 03 00 00 F7 03 00 00 F9 03 00 00 FA 03 00 00 FD 03 00 00 2F 04 00 00 60 04 00'
+ '00 60 04 00 00 62 04 00 00 62 04 00 00 64 04 00 00 64 04 00 00 66 04 00 00 66 04 00 00 68 04 00'
+ '00 68 04 00 00 6A 04 00 00 6A 04 00 00 6C 04 00 00 6C 04 00 00 6E 04 00 00 6E 04 00 00 70 04 00'
+ '00 70 04 00 00 72 04 00 00 72 04 00 00 74 04 00 00 74 04 00 00 76 04 00 00 76 04 00 00 78 04 00'
+ '00 78 04 00 00 7A 04 00 00 7A 04 00 00 7C 04 00 00 7C 04 00 00 7E 04 00 00 7E 04 00 00 80 04 00'
+ '00 80 04 00 00 8A 04 00 00 8A 04 00 00 8C 04 00 00 8C 04 00 00 8E 04 00 00 8E 04 00 00 90 04 00'
+ '00 90 04 00 00 92 04 00 00 92 04 00 00 94 04 00 00 94 04 00 00 96 04 00 00 96 04 00 00 98 04 00'
+ '00 98 04 00 00 9A 04 00 00 9A 04 00 00 9C 04 00 00 9C 04 00 00 9E 04 00 00 9E 04 00 00 A0 04 00'
+ '00 A0 04 00 00 A2 04 00 00 A2 04 00 00 A4 04 00 00 A4 04 00 00 A6 04 00 00 A6 04 00 00 A8 04 00'
+ '00 A8 04 00 00 AA 04 00 00 AA 04 00 00 AC 04 00 00 AC 04 00 00 AE 04 00 00 AE 04 00 00 B0 04 00'
+ '00 B0 04 00 00 B2 04 00 00 B2 04 00 00 B4 04 00 00 B4 04 00 00 B6 04 00 00 B6 04 00 00 B8 04 00'
+ '00 B8 04 00 00 BA 04 00 00 BA 04 00 00 BC 04 00 00 BC 04 00 00 BE 04 00 00 BE 04 00 00 C0 04 00'
+ '00 C1 04 00 00 C3 04 00 00 C3 04 00 00 C5 04 00 00 C5 04 00 00 C7 04 00 00 C7 04 00 00 C9 04 00'
+ '00 C9 04 00 00 CB 04 00 00 CB 04 00 00 CD 04 00 00 CD 04 00 00 D0 04 00 00 D0 04 00 00 D2 04 00'
+ '00 D2 04 00 00 D4 04 00 00 D4 04 00 00 D6 04 00 00 D6 04 00 00 D8 04 00 00 D8 04 00 00 DA 04 00'
+ '00 DA 04 00 00 DC 04 00 00 DC 04 00 00 DE 04 00 00 DE 04 00 00 E0 04 00 00 E0 04 00 00 E2 04 00'
+ '00 E2 04 00 00 E4 04 00 00 E4 04 00 00 E6 04 00 00 E6 04 00 00 E8 04 00 00 E8 04 00 00 EA 04 00'
+ '00 EA 04 00 00 EC 04 00 00 EC 04 00 00 EE 04 00 00 EE 04 00 00 F0 04 00 00 F0 04 00 00 F2 04 00'
+ '00 F2 04 00 00 F4 04 00 00 F4 04 00 00 F6 04 00 00 F6 04 00 00 F8 04 00 00 F8 04 00 00 FA 04 00'
+ '00 FA 04 00 00 FC 04 00 00 FC 04 00 00 FE 04 00 00 FE 04 00 00 00 05 00 00 00 05 00 00 02 05 00'
'00 02 05 00 00 04 05 00 00 04 05 00 00 06 05 00 00 06 05 00 00 08 05 00 00 08 05 00 00 0A 05 00'
- '00 0A 05 00 00 0C 05 00 00 0C 05 00 00 0E 05 00 00 0E 05 00 00 31 05 00 00 56 05 00 00 A0 10 00'
- '00 C5 10 00 00 00 1E 00 00 00 1E 00 00 02 1E 00 00 02 1E 00 00 04 1E 00 00 04 1E 00 00 06 1E 00'
- '00 06 1E 00 00 08 1E 00 00 08 1E 00 00 0A 1E 00 00 0A 1E 00 00 0C 1E 00 00 0C 1E 00 00 0E 1E 00'
- '00 0E 1E 00 00 10 1E 00 00 10 1E 00 00 12 1E 00 00 12 1E 00 00 14 1E 00 00 14 1E 00 00 16 1E 00'
- '00 16 1E 00 00 18 1E 00 00 18 1E 00 00 1A 1E 00 00 1A 1E 00 00 1C 1E 00 00 1C 1E 00 00 1E 1E 00'
- '00 1E 1E 00 00 20 1E 00 00 20 1E 00 00 22 1E 00 00 22 1E 00 00 24 1E 00 00 24 1E 00 00 26 1E 00'
- '00 26 1E 00 00 28 1E 00 00 28 1E 00 00 2A 1E 00 00 2A 1E 00 00 2C 1E 00 00 2C 1E 00 00 2E 1E 00'
- '00 2E 1E 00 00 30 1E 00 00 30 1E 00 00 32 1E 00 00 32 1E 00 00 34 1E 00 00 34 1E 00 00 36 1E 00'
- '00 36 1E 00 00 38 1E 00 00 38 1E 00 00 3A 1E 00 00 3A 1E 00 00 3C 1E 00 00 3C 1E 00 00 3E 1E 00'
- '00 3E 1E 00 00 40 1E 00 00 40 1E 00 00 42 1E 00 00 42 1E 00 00 44 1E 00 00 44 1E 00 00 46 1E 00'
- '00 46 1E 00 00 48 1E 00 00 48 1E 00 00 4A 1E 00 00 4A 1E 00 00 4C 1E 00 00 4C 1E 00 00 4E 1E 00'
- '00 4E 1E 00 00 50 1E 00 00 50 1E 00 00 52 1E 00 00 52 1E 00 00 54 1E 00 00 54 1E 00 00 56 1E 00'
- '00 56 1E 00 00 58 1E 00 00 58 1E 00 00 5A 1E 00 00 5A 1E 00 00 5C 1E 00 00 5C 1E 00 00 5E 1E 00'
- '00 5E 1E 00 00 60 1E 00 00 60 1E 00 00 62 1E 00 00 62 1E 00 00 64 1E 00 00 64 1E 00 00 66 1E 00'
- '00 66 1E 00 00 68 1E 00 00 68 1E 00 00 6A 1E 00 00 6A 1E 00 00 6C 1E 00 00 6C 1E 00 00 6E 1E 00'
- '00 6E 1E 00 00 70 1E 00 00 70 1E 00 00 72 1E 00 00 72 1E 00 00 74 1E 00 00 74 1E 00 00 76 1E 00'
- '00 76 1E 00 00 78 1E 00 00 78 1E 00 00 7A 1E 00 00 7A 1E 00 00 7C 1E 00 00 7C 1E 00 00 7E 1E 00'
- '00 7E 1E 00 00 80 1E 00 00 80 1E 00 00 82 1E 00 00 82 1E 00 00 84 1E 00 00 84 1E 00 00 86 1E 00'
- '00 86 1E 00 00 88 1E 00 00 88 1E 00 00 8A 1E 00 00 8A 1E 00 00 8C 1E 00 00 8C 1E 00 00 8E 1E 00'
- '00 8E 1E 00 00 90 1E 00 00 90 1E 00 00 92 1E 00 00 92 1E 00 00 94 1E 00 00 94 1E 00 00 A0 1E 00'
- '00 A0 1E 00 00 A2 1E 00 00 A2 1E 00 00 A4 1E 00 00 A4 1E 00 00 A6 1E 00 00 A6 1E 00 00 A8 1E 00'
- '00 A8 1E 00 00 AA 1E 00 00 AA 1E 00 00 AC 1E 00 00 AC 1E 00 00 AE 1E 00 00 AE 1E 00 00 B0 1E 00'
- '00 B0 1E 00 00 B2 1E 00 00 B2 1E 00 00 B4 1E 00 00 B4 1E 00 00 B6 1E 00 00 B6 1E 00 00 B8 1E 00'
- '00 B8 1E 00 00 BA 1E 00 00 BA 1E 00 00 BC 1E 00 00 BC 1E 00 00 BE 1E 00 00 BE 1E 00 00 C0 1E 00'
- '00 C0 1E 00 00 C2 1E 00 00 C2 1E 00 00 C4 1E 00 00 C4 1E 00 00 C6 1E 00 00 C6 1E 00 00 C8 1E 00'
- '00 C8 1E 00 00 CA 1E 00 00 CA 1E 00 00 CC 1E 00 00 CC 1E 00 00 CE 1E 00 00 CE 1E 00 00 D0 1E 00'
- '00 D0 1E 00 00 D2 1E 00 00 D2 1E 00 00 D4 1E 00 00 D4 1E 00 00 D6 1E 00 00 D6 1E 00 00 D8 1E 00'
- '00 D8 1E 00 00 DA 1E 00 00 DA 1E 00 00 DC 1E 00 00 DC 1E 00 00 DE 1E 00 00 DE 1E 00 00 E0 1E 00'
- '00 E0 1E 00 00 E2 1E 00 00 E2 1E 00 00 E4 1E 00 00 E4 1E 00 00 E6 1E 00 00 E6 1E 00 00 E8 1E 00'
- '00 E8 1E 00 00 EA 1E 00 00 EA 1E 00 00 EC 1E 00 00 EC 1E 00 00 EE 1E 00 00 EE 1E 00 00 F0 1E 00'
- '00 F0 1E 00 00 F2 1E 00 00 F2 1E 00 00 F4 1E 00 00 F4 1E 00 00 F6 1E 00 00 F6 1E 00 00 F8 1E 00'
- '00 F8 1E 00 00 08 1F 00 00 0F 1F 00 00 18 1F 00 00 1D 1F 00 00 28 1F 00 00 2F 1F 00 00 38 1F 00'
- '00 3F 1F 00 00 48 1F 00 00 4D 1F 00 00 59 1F 00 00 59 1F 00 00 5B 1F 00 00 5B 1F 00 00 5D 1F 00'
- '00 5D 1F 00 00 5F 1F 00 00 5F 1F 00 00 68 1F 00 00 6F 1F 00 00 B8 1F 00 00 BB 1F 00 00 C8 1F 00'
- '00 CB 1F 00 00 D8 1F 00 00 DB 1F 00 00 E8 1F 00 00 EC 1F 00 00 F8 1F 00 00 FB 1F 00 00 02 21 00'
- '00 02 21 00 00 07 21 00 00 07 21 00 00 0B 21 00 00 0D 21 00 00 10 21 00 00 12 21 00 00 15 21 00'
- '00 15 21 00 00 19 21 00 00 1D 21 00 00 24 21 00 00 24 21 00 00 26 21 00 00 26 21 00 00 28 21 00'
- '00 28 21 00 00 2A 21 00 00 2D 21 00 00 30 21 00 00 31 21 00 00 33 21 00 00 33 21 00 00 3E 21 00'
- '00 3F 21 00 00 45 21 00 00 45 21 00 00 00 2C 00 00 2E 2C 00 00 80 2C 00 00 80 2C 00 00 82 2C 00'
- '00 82 2C 00 00 84 2C 00 00 84 2C 00 00 86 2C 00 00 86 2C 00 00 88 2C 00 00 88 2C 00 00 8A 2C 00'
- '00 8A 2C 00 00 8C 2C 00 00 8C 2C 00 00 8E 2C 00 00 8E 2C 00 00 90 2C 00 00 90 2C 00 00 92 2C 00'
- '00 92 2C 00 00 94 2C 00 00 94 2C 00 00 96 2C 00 00 96 2C 00 00 98 2C 00 00 98 2C 00 00 9A 2C 00'
- '00 9A 2C 00 00 9C 2C 00 00 9C 2C 00 00 9E 2C 00 00 9E 2C 00 00 A0 2C 00 00 A0 2C 00 00 A2 2C 00'
- '00 A2 2C 00 00 A4 2C 00 00 A4 2C 00 00 A6 2C 00 00 A6 2C 00 00 A8 2C 00 00 A8 2C 00 00 AA 2C 00'
- '00 AA 2C 00 00 AC 2C 00 00 AC 2C 00 00 AE 2C 00 00 AE 2C 00 00 B0 2C 00 00 B0 2C 00 00 B2 2C 00'
- '00 B2 2C 00 00 B4 2C 00 00 B4 2C 00 00 B6 2C 00 00 B6 2C 00 00 B8 2C 00 00 B8 2C 00 00 BA 2C 00'
- '00 BA 2C 00 00 BC 2C 00 00 BC 2C 00 00 BE 2C 00 00 BE 2C 00 00 C0 2C 00 00 C0 2C 00 00 C2 2C 00'
- '00 C2 2C 00 00 C4 2C 00 00 C4 2C 00 00 C6 2C 00 00 C6 2C 00 00 C8 2C 00 00 C8 2C 00 00 CA 2C 00'
- '00 CA 2C 00 00 CC 2C 00 00 CC 2C 00 00 CE 2C 00 00 CE 2C 00 00 D0 2C 00 00 D0 2C 00 00 D2 2C 00'
- '00 D2 2C 00 00 D4 2C 00 00 D4 2C 00 00 D6 2C 00 00 D6 2C 00 00 D8 2C 00 00 D8 2C 00 00 DA 2C 00'
- '00 DA 2C 00 00 DC 2C 00 00 DC 2C 00 00 DE 2C 00 00 DE 2C 00 00 E0 2C 00 00 E0 2C 00 00 E2 2C 00'
- '00 E2 2C 00 00 21 FF 00 00 3A FF 00 00 00 04 01 00 27 04 01 00 00 D4 01 00 19 D4 01 00 34 D4 01'
- '00 4D D4 01 00 68 D4 01 00 81 D4 01 00 9C D4 01 00 9C D4 01 00 9E D4 01 00 9F D4 01 00 A2 D4 01'
- '00 A2 D4 01 00 A5 D4 01 00 A6 D4 01 00 A9 D4 01 00 AC D4 01 00 AE D4 01 00 B5 D4 01 00 D0 D4 01'
- '00 E9 D4 01 00 04 D5 01 00 05 D5 01 00 07 D5 01 00 0A D5 01 00 0D D5 01 00 14 D5 01 00 16 D5 01'
- '00 1C D5 01 00 38 D5 01 00 39 D5 01 00 3B D5 01 00 3E D5 01 00 40 D5 01 00 44 D5 01 00 46 D5 01'
- '00 46 D5 01 00 4A D5 01 00 50 D5 01 00 6C D5 01 00 85 D5 01 00 A0 D5 01 00 B9 D5 01 00 D4 D5 01'
- '00 ED D5 01 00 08 D6 01 00 21 D6 01 00 3C D6 01 00 55 D6 01 00 70 D6 01 00 89 D6 01 00 A8 D6 01'
- '00 C0 D6 01 00 E2 D6 01 00 FA D6 01 00 1C D7 01 00 34 D7 01 00 56 D7 01 00 6E D7 01 00 90 D7 01'
- '00 A8 D7 01 00 01 E0 01 00 00 61 00 00 00 7A 00 00 00 AA 00 00 00 AA 00 00 00 B5 00 00 00 B5 00'
- '00 00 BA 00 00 00 BA 00 00 00 DF 00 00 00 F6 00 00 00 F8 00 00 00 FF 00 00 00 01 01 00 00 01 01'
- '00 00 03 01 00 00 03 01 00 00 05 01 00 00 05 01 00 00 07 01 00 00 07 01 00 00 09 01 00 00 09 01'
- '00 00 0B 01 00 00 0B 01 00 00 0D 01 00 00 0D 01 00 00 0F 01 00 00 0F 01 00 00 11 01 00 00 11 01'
- '00 00 13 01 00 00 13 01 00 00 15 01 00 00 15 01 00 00 17 01 00 00 17 01 00 00 19 01 00 00 19 01'
- '00 00 1B 01 00 00 1B 01 00 00 1D 01 00 00 1D 01 00 00 1F 01 00 00 1F 01 00 00 21 01 00 00 21 01'
- '00 00 23 01 00 00 23 01 00 00 25 01 00 00 25 01 00 00 27 01 00 00 27 01 00 00 29 01 00 00 29 01'
- '00 00 2B 01 00 00 2B 01 00 00 2D 01 00 00 2D 01 00 00 2F 01 00 00 2F 01 00 00 31 01 00 00 31 01'
- '00 00 33 01 00 00 33 01 00 00 35 01 00 00 35 01 00 00 37 01 00 00 38 01 00 00 3A 01 00 00 3A 01'
- '00 00 3C 01 00 00 3C 01 00 00 3E 01 00 00 3E 01 00 00 40 01 00 00 40 01 00 00 42 01 00 00 42 01'
- '00 00 44 01 00 00 44 01 00 00 46 01 00 00 46 01 00 00 48 01 00 00 49 01 00 00 4B 01 00 00 4B 01'
- '00 00 4D 01 00 00 4D 01 00 00 4F 01 00 00 4F 01 00 00 51 01 00 00 51 01 00 00 53 01 00 00 53 01'
- '00 00 55 01 00 00 55 01 00 00 57 01 00 00 57 01 00 00 59 01 00 00 59 01 00 00 5B 01 00 00 5B 01'
- '00 00 5D 01 00 00 5D 01 00 00 5F 01 00 00 5F 01 00 00 61 01 00 00 61 01 00 00 63 01 00 00 63 01'
- '00 00 65 01 00 00 65 01 00 00 67 01 00 00 67 01 00 00 69 01 00 00 69 01 00 00 6B 01 00 00 6B 01'
- '00 00 6D 01 00 00 6D 01 00 00 6F 01 00 00 6F 01 00 00 71 01 00 00 71 01 00 00 73 01 00 00 73 01'
- '00 00 75 01 00 00 75 01 00 00 77 01 00 00 77 01 00 00 7A 01 00 00 7A 01 00 00 7C 01 00 00 7C 01'
- '00 00 7E 01 00 00 80 01 00 00 83 01 00 00 83 01 00 00 85 01 00 00 85 01 00 00 88 01 00 00 88 01'
- '00 00 8C 01 00 00 8D 01 00 00 92 01 00 00 92 01 00 00 95 01 00 00 95 01 00 00 99 01 00 00 9B 01'
- '00 00 9E 01 00 00 9E 01 00 00 A1 01 00 00 A1 01 00 00 A3 01 00 00 A3 01 00 00 A5 01 00 00 A5 01'
- '00 00 A8 01 00 00 A8 01 00 00 AA 01 00 00 AB 01 00 00 AD 01 00 00 AD 01 00 00 B0 01 00 00 B0 01'
- '00 00 B4 01 00 00 B4 01 00 00 B6 01 00 00 B6 01 00 00 B9 01 00 00 BA 01 00 00 BD 01 00 00 BF 01'
- '00 00 C6 01 00 00 C6 01 00 00 C9 01 00 00 C9 01 00 00 CC 01 00 00 CC 01 00 00 CE 01 00 00 CE 01'
- '00 00 D0 01 00 00 D0 01 00 00 D2 01 00 00 D2 01 00 00 D4 01 00 00 D4 01 00 00 D6 01 00 00 D6 01'
- '00 00 D8 01 00 00 D8 01 00 00 DA 01 00 00 DA 01 00 00 DC 01 00 00 DD 01 00 00 DF 01 00 00 DF 01'
- '00 00 E1 01 00 00 E1 01 00 00 E3 01 00 00 E3 01 00 00 E5 01 00 00 E5 01 00 00 E7 01 00 00 E7 01'
- '00 00 E9 01 00 00 E9 01 00 00 EB 01 00 00 EB 01 00 00 ED 01 00 00 ED 01 00 00 EF 01 00 00 F0 01'
- '00 00 F3 01 00 00 F3 01 00 00 F5 01 00 00 F5 01 00 00 F9 01 00 00 F9 01 00 00 FB 01 00 00 FB 01'
- '00 00 FD 01 00 00 FD 01 00 00 FF 01 00 00 FF 01 00 00 01 02 00 00 01 02 00 00 03 02 00 00 03 02'
- '00 00 05 02 00 00 05 02 00 00 07 02 00 00 07 02 00 00 09 02 00 00 09 02 00 00 0B 02 00 00 0B 02'
- '00 00 0D 02 00 00 0D 02 00 00 0F 02 00 00 0F 02 00 00 11 02 00 00 11 02 00 00 13 02 00 00 13 02'
- '00 00 15 02 00 00 15 02 00 00 17 02 00 00 17 02 00 00 19 02 00 00 19 02 00 00 1B 02 00 00 1B 02'
- '00 00 1D 02 00 00 1D 02 00 00 1F 02 00 00 1F 02 00 00 21 02 00 00 21 02 00 00 23 02 00 00 23 02'
- '00 00 25 02 00 00 25 02 00 00 27 02 00 00 27 02 00 00 29 02 00 00 29 02 00 00 2B 02 00 00 2B 02'
- '00 00 2D 02 00 00 2D 02 00 00 2F 02 00 00 2F 02 00 00 31 02 00 00 31 02 00 00 33 02 00 00 39 02'
- '00 00 3C 02 00 00 3C 02 00 00 3F 02 00 00 40 02 00 00 50 02 00 00 AF 02 00 00 90 03 00 00 90 03'
- '00 00 AC 03 00 00 CE 03 00 00 D0 03 00 00 D1 03 00 00 D5 03 00 00 D7 03 00 00 D9 03 00 00 D9 03'
- '00 00 DB 03 00 00 DB 03 00 00 DD 03 00 00 DD 03 00 00 DF 03 00 00 DF 03 00 00 E1 03 00 00 E1 03'
- '00 00 E3 03 00 00 E3 03 00 00 E5 03 00 00 E5 03 00 00 E7 03 00 00 E7 03 00 00 E9 03 00 00 E9 03'
- '00 00 EB 03 00 00 EB 03 00 00 ED 03 00 00 ED 03 00 00 EF 03 00 00 F3 03 00 00 F5 03 00 00 F5 03'
- '00 00 F8 03 00 00 F8 03 00 00 FB 03 00 00 FC 03 00 00 30 04 00 00 5F 04 00 00 61 04 00 00 61 04'
- '00 00 63 04 00 00 63 04 00 00 65 04 00 00 65 04 00 00 67 04 00 00 67 04 00 00 69 04 00 00 69 04'
- '00 00 6B 04 00 00 6B 04 00 00 6D 04 00 00 6D 04 00 00 6F 04 00 00 6F 04 00 00 71 04 00 00 71 04'
- '00 00 73 04 00 00 73 04 00 00 75 04 00 00 75 04 00 00 77 04 00 00 77 04 00 00 79 04 00 00 79 04'
- '00 00 7B 04 00 00 7B 04 00 00 7D 04 00 00 7D 04 00 00 7F 04 00 00 7F 04 00 00 81 04 00 00 81 04'
- '00 00 8B 04 00 00 8B 04 00 00 8D 04 00 00 8D 04 00 00 8F 04 00 00 8F 04 00 00 91 04 00 00 91 04'
- '00 00 93 04 00 00 93 04 00 00 95 04 00 00 95 04 00 00 97 04 00 00 97 04 00 00 99 04 00 00 99 04'
- '00 00 9B 04 00 00 9B 04 00 00 9D 04 00 00 9D 04 00 00 9F 04 00 00 9F 04 00 00 A1 04 00 00 A1 04'
- '00 00 A3 04 00 00 A3 04 00 00 A5 04 00 00 A5 04 00 00 A7 04 00 00 A7 04 00 00 A9 04 00 00 A9 04'
- '00 00 AB 04 00 00 AB 04 00 00 AD 04 00 00 AD 04 00 00 AF 04 00 00 AF 04 00 00 B1 04 00 00 B1 04'
- '00 00 B3 04 00 00 B3 04 00 00 B5 04 00 00 B5 04 00 00 B7 04 00 00 B7 04 00 00 B9 04 00 00 B9 04'
- '00 00 BB 04 00 00 BB 04 00 00 BD 04 00 00 BD 04 00 00 BF 04 00 00 BF 04 00 00 C2 04 00 00 C2 04'
- '00 00 C4 04 00 00 C4 04 00 00 C6 04 00 00 C6 04 00 00 C8 04 00 00 C8 04 00 00 CA 04 00 00 CA 04'
- '00 00 CC 04 00 00 CC 04 00 00 CE 04 00 00 CE 04 00 00 D1 04 00 00 D1 04 00 00 D3 04 00 00 D3 04'
- '00 00 D5 04 00 00 D5 04 00 00 D7 04 00 00 D7 04 00 00 D9 04 00 00 D9 04 00 00 DB 04 00 00 DB 04'
- '00 00 DD 04 00 00 DD 04 00 00 DF 04 00 00 DF 04 00 00 E1 04 00 00 E1 04 00 00 E3 04 00 00 E3 04'
- '00 00 E5 04 00 00 E5 04 00 00 E7 04 00 00 E7 04 00 00 E9 04 00 00 E9 04 00 00 EB 04 00 00 EB 04'
- '00 00 ED 04 00 00 ED 04 00 00 EF 04 00 00 EF 04 00 00 F1 04 00 00 F1 04 00 00 F3 04 00 00 F3 04'
- '00 00 F5 04 00 00 F5 04 00 00 F7 04 00 00 F7 04 00 00 F9 04 00 00 F9 04 00 00 01 05 00 00 01 05'
+ '00 0A 05 00 00 0C 05 00 00 0C 05 00 00 0E 05 00 00 0E 05 00 00 10 05 00 00 10 05 00 00 12 05 00'
+ '00 12 05 00 00 31 05 00 00 56 05 00 00 A0 10 00 00 C5 10 00 00 00 1E 00 00 00 1E 00 00 02 1E 00'
+ '00 02 1E 00 00 04 1E 00 00 04 1E 00 00 06 1E 00 00 06 1E 00 00 08 1E 00 00 08 1E 00 00 0A 1E 00'
+ '00 0A 1E 00 00 0C 1E 00 00 0C 1E 00 00 0E 1E 00 00 0E 1E 00 00 10 1E 00 00 10 1E 00 00 12 1E 00'
+ '00 12 1E 00 00 14 1E 00 00 14 1E 00 00 16 1E 00 00 16 1E 00 00 18 1E 00 00 18 1E 00 00 1A 1E 00'
+ '00 1A 1E 00 00 1C 1E 00 00 1C 1E 00 00 1E 1E 00 00 1E 1E 00 00 20 1E 00 00 20 1E 00 00 22 1E 00'
+ '00 22 1E 00 00 24 1E 00 00 24 1E 00 00 26 1E 00 00 26 1E 00 00 28 1E 00 00 28 1E 00 00 2A 1E 00'
+ '00 2A 1E 00 00 2C 1E 00 00 2C 1E 00 00 2E 1E 00 00 2E 1E 00 00 30 1E 00 00 30 1E 00 00 32 1E 00'
+ '00 32 1E 00 00 34 1E 00 00 34 1E 00 00 36 1E 00 00 36 1E 00 00 38 1E 00 00 38 1E 00 00 3A 1E 00'
+ '00 3A 1E 00 00 3C 1E 00 00 3C 1E 00 00 3E 1E 00 00 3E 1E 00 00 40 1E 00 00 40 1E 00 00 42 1E 00'
+ '00 42 1E 00 00 44 1E 00 00 44 1E 00 00 46 1E 00 00 46 1E 00 00 48 1E 00 00 48 1E 00 00 4A 1E 00'
+ '00 4A 1E 00 00 4C 1E 00 00 4C 1E 00 00 4E 1E 00 00 4E 1E 00 00 50 1E 00 00 50 1E 00 00 52 1E 00'
+ '00 52 1E 00 00 54 1E 00 00 54 1E 00 00 56 1E 00 00 56 1E 00 00 58 1E 00 00 58 1E 00 00 5A 1E 00'
+ '00 5A 1E 00 00 5C 1E 00 00 5C 1E 00 00 5E 1E 00 00 5E 1E 00 00 60 1E 00 00 60 1E 00 00 62 1E 00'
+ '00 62 1E 00 00 64 1E 00 00 64 1E 00 00 66 1E 00 00 66 1E 00 00 68 1E 00 00 68 1E 00 00 6A 1E 00'
+ '00 6A 1E 00 00 6C 1E 00 00 6C 1E 00 00 6E 1E 00 00 6E 1E 00 00 70 1E 00 00 70 1E 00 00 72 1E 00'
+ '00 72 1E 00 00 74 1E 00 00 74 1E 00 00 76 1E 00 00 76 1E 00 00 78 1E 00 00 78 1E 00 00 7A 1E 00'
+ '00 7A 1E 00 00 7C 1E 00 00 7C 1E 00 00 7E 1E 00 00 7E 1E 00 00 80 1E 00 00 80 1E 00 00 82 1E 00'
+ '00 82 1E 00 00 84 1E 00 00 84 1E 00 00 86 1E 00 00 86 1E 00 00 88 1E 00 00 88 1E 00 00 8A 1E 00'
+ '00 8A 1E 00 00 8C 1E 00 00 8C 1E 00 00 8E 1E 00 00 8E 1E 00 00 90 1E 00 00 90 1E 00 00 92 1E 00'
+ '00 92 1E 00 00 94 1E 00 00 94 1E 00 00 A0 1E 00 00 A0 1E 00 00 A2 1E 00 00 A2 1E 00 00 A4 1E 00'
+ '00 A4 1E 00 00 A6 1E 00 00 A6 1E 00 00 A8 1E 00 00 A8 1E 00 00 AA 1E 00 00 AA 1E 00 00 AC 1E 00'
+ '00 AC 1E 00 00 AE 1E 00 00 AE 1E 00 00 B0 1E 00 00 B0 1E 00 00 B2 1E 00 00 B2 1E 00 00 B4 1E 00'
+ '00 B4 1E 00 00 B6 1E 00 00 B6 1E 00 00 B8 1E 00 00 B8 1E 00 00 BA 1E 00 00 BA 1E 00 00 BC 1E 00'
+ '00 BC 1E 00 00 BE 1E 00 00 BE 1E 00 00 C0 1E 00 00 C0 1E 00 00 C2 1E 00 00 C2 1E 00 00 C4 1E 00'
+ '00 C4 1E 00 00 C6 1E 00 00 C6 1E 00 00 C8 1E 00 00 C8 1E 00 00 CA 1E 00 00 CA 1E 00 00 CC 1E 00'
+ '00 CC 1E 00 00 CE 1E 00 00 CE 1E 00 00 D0 1E 00 00 D0 1E 00 00 D2 1E 00 00 D2 1E 00 00 D4 1E 00'
+ '00 D4 1E 00 00 D6 1E 00 00 D6 1E 00 00 D8 1E 00 00 D8 1E 00 00 DA 1E 00 00 DA 1E 00 00 DC 1E 00'
+ '00 DC 1E 00 00 DE 1E 00 00 DE 1E 00 00 E0 1E 00 00 E0 1E 00 00 E2 1E 00 00 E2 1E 00 00 E4 1E 00'
+ '00 E4 1E 00 00 E6 1E 00 00 E6 1E 00 00 E8 1E 00 00 E8 1E 00 00 EA 1E 00 00 EA 1E 00 00 EC 1E 00'
+ '00 EC 1E 00 00 EE 1E 00 00 EE 1E 00 00 F0 1E 00 00 F0 1E 00 00 F2 1E 00 00 F2 1E 00 00 F4 1E 00'
+ '00 F4 1E 00 00 F6 1E 00 00 F6 1E 00 00 F8 1E 00 00 F8 1E 00 00 FA 1E 00 00 FA 1E 00 00 FC 1E 00'
+ '00 FC 1E 00 00 FE 1E 00 00 FE 1E 00 00 08 1F 00 00 0F 1F 00 00 18 1F 00 00 1D 1F 00 00 28 1F 00'
+ '00 2F 1F 00 00 38 1F 00 00 3F 1F 00 00 48 1F 00 00 4D 1F 00 00 59 1F 00 00 59 1F 00 00 5B 1F 00'
+ '00 5B 1F 00 00 5D 1F 00 00 5D 1F 00 00 5F 1F 00 00 5F 1F 00 00 68 1F 00 00 6F 1F 00 00 B8 1F 00'
+ '00 BB 1F 00 00 C8 1F 00 00 CB 1F 00 00 D8 1F 00 00 DB 1F 00 00 E8 1F 00 00 EC 1F 00 00 F8 1F 00'
+ '00 FB 1F 00 00 02 21 00 00 02 21 00 00 07 21 00 00 07 21 00 00 0B 21 00 00 0D 21 00 00 10 21 00'
+ '00 12 21 00 00 15 21 00 00 15 21 00 00 19 21 00 00 1D 21 00 00 24 21 00 00 24 21 00 00 26 21 00'
+ '00 26 21 00 00 28 21 00 00 28 21 00 00 2A 21 00 00 2D 21 00 00 30 21 00 00 33 21 00 00 3E 21 00'
+ '00 3F 21 00 00 45 21 00 00 45 21 00 00 83 21 00 00 83 21 00 00 00 2C 00 00 2E 2C 00 00 60 2C 00'
+ '00 60 2C 00 00 62 2C 00 00 64 2C 00 00 67 2C 00 00 67 2C 00 00 69 2C 00 00 69 2C 00 00 6B 2C 00'
+ '00 6B 2C 00 00 6D 2C 00 00 6F 2C 00 00 72 2C 00 00 72 2C 00 00 75 2C 00 00 75 2C 00 00 80 2C 00'
+ '00 80 2C 00 00 82 2C 00 00 82 2C 00 00 84 2C 00 00 84 2C 00 00 86 2C 00 00 86 2C 00 00 88 2C 00'
+ '00 88 2C 00 00 8A 2C 00 00 8A 2C 00 00 8C 2C 00 00 8C 2C 00 00 8E 2C 00 00 8E 2C 00 00 90 2C 00'
+ '00 90 2C 00 00 92 2C 00 00 92 2C 00 00 94 2C 00 00 94 2C 00 00 96 2C 00 00 96 2C 00 00 98 2C 00'
+ '00 98 2C 00 00 9A 2C 00 00 9A 2C 00 00 9C 2C 00 00 9C 2C 00 00 9E 2C 00 00 9E 2C 00 00 A0 2C 00'
+ '00 A0 2C 00 00 A2 2C 00 00 A2 2C 00 00 A4 2C 00 00 A4 2C 00 00 A6 2C 00 00 A6 2C 00 00 A8 2C 00'
+ '00 A8 2C 00 00 AA 2C 00 00 AA 2C 00 00 AC 2C 00 00 AC 2C 00 00 AE 2C 00 00 AE 2C 00 00 B0 2C 00'
+ '00 B0 2C 00 00 B2 2C 00 00 B2 2C 00 00 B4 2C 00 00 B4 2C 00 00 B6 2C 00 00 B6 2C 00 00 B8 2C 00'
+ '00 B8 2C 00 00 BA 2C 00 00 BA 2C 00 00 BC 2C 00 00 BC 2C 00 00 BE 2C 00 00 BE 2C 00 00 C0 2C 00'
+ '00 C0 2C 00 00 C2 2C 00 00 C2 2C 00 00 C4 2C 00 00 C4 2C 00 00 C6 2C 00 00 C6 2C 00 00 C8 2C 00'
+ '00 C8 2C 00 00 CA 2C 00 00 CA 2C 00 00 CC 2C 00 00 CC 2C 00 00 CE 2C 00 00 CE 2C 00 00 D0 2C 00'
+ '00 D0 2C 00 00 D2 2C 00 00 D2 2C 00 00 D4 2C 00 00 D4 2C 00 00 D6 2C 00 00 D6 2C 00 00 D8 2C 00'
+ '00 D8 2C 00 00 DA 2C 00 00 DA 2C 00 00 DC 2C 00 00 DC 2C 00 00 DE 2C 00 00 DE 2C 00 00 E0 2C 00'
+ '00 E0 2C 00 00 E2 2C 00 00 E2 2C 00 00 22 A7 00 00 22 A7 00 00 24 A7 00 00 24 A7 00 00 26 A7 00'
+ '00 26 A7 00 00 28 A7 00 00 28 A7 00 00 2A A7 00 00 2A A7 00 00 2C A7 00 00 2C A7 00 00 2E A7 00'
+ '00 2E A7 00 00 32 A7 00 00 32 A7 00 00 34 A7 00 00 34 A7 00 00 36 A7 00 00 36 A7 00 00 38 A7 00'
+ '00 38 A7 00 00 3A A7 00 00 3A A7 00 00 3C A7 00 00 3C A7 00 00 3E A7 00 00 3E A7 00 00 40 A7 00'
+ '00 40 A7 00 00 42 A7 00 00 42 A7 00 00 44 A7 00 00 44 A7 00 00 46 A7 00 00 46 A7 00 00 48 A7 00'
+ '00 48 A7 00 00 4A A7 00 00 4A A7 00 00 4C A7 00 00 4C A7 00 00 4E A7 00 00 4E A7 00 00 50 A7 00'
+ '00 50 A7 00 00 52 A7 00 00 52 A7 00 00 54 A7 00 00 54 A7 00 00 56 A7 00 00 56 A7 00 00 58 A7 00'
+ '00 58 A7 00 00 5A A7 00 00 5A A7 00 00 5C A7 00 00 5C A7 00 00 5E A7 00 00 5E A7 00 00 60 A7 00'
+ '00 60 A7 00 00 62 A7 00 00 62 A7 00 00 64 A7 00 00 64 A7 00 00 66 A7 00 00 66 A7 00 00 68 A7 00'
+ '00 68 A7 00 00 6A A7 00 00 6A A7 00 00 6C A7 00 00 6C A7 00 00 6E A7 00 00 6E A7 00 00 79 A7 00'
+ '00 79 A7 00 00 7B A7 00 00 7B A7 00 00 7D A7 00 00 7E A7 00 00 80 A7 00 00 80 A7 00 00 82 A7 00'
+ '00 82 A7 00 00 84 A7 00 00 84 A7 00 00 86 A7 00 00 86 A7 00 00 21 FF 00 00 3A FF 00 00 00 04 01'
+ '00 27 04 01 00 00 D4 01 00 19 D4 01 00 34 D4 01 00 4D D4 01 00 68 D4 01 00 81 D4 01 00 9C D4 01'
+ '00 9C D4 01 00 9E D4 01 00 9F D4 01 00 A2 D4 01 00 A2 D4 01 00 A5 D4 01 00 A6 D4 01 00 A9 D4 01'
+ '00 AC D4 01 00 AE D4 01 00 B5 D4 01 00 D0 D4 01 00 E9 D4 01 00 04 D5 01 00 05 D5 01 00 07 D5 01'
+ '00 0A D5 01 00 0D D5 01 00 14 D5 01 00 16 D5 01 00 1C D5 01 00 38 D5 01 00 39 D5 01 00 3B D5 01'
+ '00 3E D5 01 00 40 D5 01 00 44 D5 01 00 46 D5 01 00 46 D5 01 00 4A D5 01 00 50 D5 01 00 6C D5 01'
+ '00 85 D5 01 00 A0 D5 01 00 B9 D5 01 00 D4 D5 01 00 ED D5 01 00 08 D6 01 00 21 D6 01 00 3C D6 01'
+ '00 55 D6 01 00 70 D6 01 00 89 D6 01 00 A8 D6 01 00 C0 D6 01 00 E2 D6 01 00 FA D6 01 00 1C D7 01'
+ '00 34 D7 01 00 56 D7 01 00 6E D7 01 00 90 D7 01 00 A8 D7 01 00 CA D7 01 00 CA D7 01 00 01 2B 02'
+ '00 00 61 00 00 00 7A 00 00 00 AA 00 00 00 AA 00 00 00 B5 00 00 00 B5 00 00 00 BA 00 00 00 BA 00'
+ '00 00 DF 00 00 00 F6 00 00 00 F8 00 00 00 FF 00 00 00 01 01 00 00 01 01 00 00 03 01 00 00 03 01'
+ '00 00 05 01 00 00 05 01 00 00 07 01 00 00 07 01 00 00 09 01 00 00 09 01 00 00 0B 01 00 00 0B 01'
+ '00 00 0D 01 00 00 0D 01 00 00 0F 01 00 00 0F 01 00 00 11 01 00 00 11 01 00 00 13 01 00 00 13 01'
+ '00 00 15 01 00 00 15 01 00 00 17 01 00 00 17 01 00 00 19 01 00 00 19 01 00 00 1B 01 00 00 1B 01'
+ '00 00 1D 01 00 00 1D 01 00 00 1F 01 00 00 1F 01 00 00 21 01 00 00 21 01 00 00 23 01 00 00 23 01'
+ '00 00 25 01 00 00 25 01 00 00 27 01 00 00 27 01 00 00 29 01 00 00 29 01 00 00 2B 01 00 00 2B 01'
+ '00 00 2D 01 00 00 2D 01 00 00 2F 01 00 00 2F 01 00 00 31 01 00 00 31 01 00 00 33 01 00 00 33 01'
+ '00 00 35 01 00 00 35 01 00 00 37 01 00 00 38 01 00 00 3A 01 00 00 3A 01 00 00 3C 01 00 00 3C 01'
+ '00 00 3E 01 00 00 3E 01 00 00 40 01 00 00 40 01 00 00 42 01 00 00 42 01 00 00 44 01 00 00 44 01'
+ '00 00 46 01 00 00 46 01 00 00 48 01 00 00 49 01 00 00 4B 01 00 00 4B 01 00 00 4D 01 00 00 4D 01'
+ '00 00 4F 01 00 00 4F 01 00 00 51 01 00 00 51 01 00 00 53 01 00 00 53 01 00 00 55 01 00 00 55 01'
+ '00 00 57 01 00 00 57 01 00 00 59 01 00 00 59 01 00 00 5B 01 00 00 5B 01 00 00 5D 01 00 00 5D 01'
+ '00 00 5F 01 00 00 5F 01 00 00 61 01 00 00 61 01 00 00 63 01 00 00 63 01 00 00 65 01 00 00 65 01'
+ '00 00 67 01 00 00 67 01 00 00 69 01 00 00 69 01 00 00 6B 01 00 00 6B 01 00 00 6D 01 00 00 6D 01'
+ '00 00 6F 01 00 00 6F 01 00 00 71 01 00 00 71 01 00 00 73 01 00 00 73 01 00 00 75 01 00 00 75 01'
+ '00 00 77 01 00 00 77 01 00 00 7A 01 00 00 7A 01 00 00 7C 01 00 00 7C 01 00 00 7E 01 00 00 80 01'
+ '00 00 83 01 00 00 83 01 00 00 85 01 00 00 85 01 00 00 88 01 00 00 88 01 00 00 8C 01 00 00 8D 01'
+ '00 00 92 01 00 00 92 01 00 00 95 01 00 00 95 01 00 00 99 01 00 00 9B 01 00 00 9E 01 00 00 9E 01'
+ '00 00 A1 01 00 00 A1 01 00 00 A3 01 00 00 A3 01 00 00 A5 01 00 00 A5 01 00 00 A8 01 00 00 A8 01'
+ '00 00 AA 01 00 00 AB 01 00 00 AD 01 00 00 AD 01 00 00 B0 01 00 00 B0 01 00 00 B4 01 00 00 B4 01'
+ '00 00 B6 01 00 00 B6 01 00 00 B9 01 00 00 BA 01 00 00 BD 01 00 00 BF 01 00 00 C6 01 00 00 C6 01'
+ '00 00 C9 01 00 00 C9 01 00 00 CC 01 00 00 CC 01 00 00 CE 01 00 00 CE 01 00 00 D0 01 00 00 D0 01'
+ '00 00 D2 01 00 00 D2 01 00 00 D4 01 00 00 D4 01 00 00 D6 01 00 00 D6 01 00 00 D8 01 00 00 D8 01'
+ '00 00 DA 01 00 00 DA 01 00 00 DC 01 00 00 DD 01 00 00 DF 01 00 00 DF 01 00 00 E1 01 00 00 E1 01'
+ '00 00 E3 01 00 00 E3 01 00 00 E5 01 00 00 E5 01 00 00 E7 01 00 00 E7 01 00 00 E9 01 00 00 E9 01'
+ '00 00 EB 01 00 00 EB 01 00 00 ED 01 00 00 ED 01 00 00 EF 01 00 00 F0 01 00 00 F3 01 00 00 F3 01'
+ '00 00 F5 01 00 00 F5 01 00 00 F9 01 00 00 F9 01 00 00 FB 01 00 00 FB 01 00 00 FD 01 00 00 FD 01'
+ '00 00 FF 01 00 00 FF 01 00 00 01 02 00 00 01 02 00 00 03 02 00 00 03 02 00 00 05 02 00 00 05 02'
+ '00 00 07 02 00 00 07 02 00 00 09 02 00 00 09 02 00 00 0B 02 00 00 0B 02 00 00 0D 02 00 00 0D 02'
+ '00 00 0F 02 00 00 0F 02 00 00 11 02 00 00 11 02 00 00 13 02 00 00 13 02 00 00 15 02 00 00 15 02'
+ '00 00 17 02 00 00 17 02 00 00 19 02 00 00 19 02 00 00 1B 02 00 00 1B 02 00 00 1D 02 00 00 1D 02'
+ '00 00 1F 02 00 00 1F 02 00 00 21 02 00 00 21 02 00 00 23 02 00 00 23 02 00 00 25 02 00 00 25 02'
+ '00 00 27 02 00 00 27 02 00 00 29 02 00 00 29 02 00 00 2B 02 00 00 2B 02 00 00 2D 02 00 00 2D 02'
+ '00 00 2F 02 00 00 2F 02 00 00 31 02 00 00 31 02 00 00 33 02 00 00 39 02 00 00 3C 02 00 00 3C 02'
+ '00 00 3F 02 00 00 40 02 00 00 42 02 00 00 42 02 00 00 47 02 00 00 47 02 00 00 49 02 00 00 49 02'
+ '00 00 4B 02 00 00 4B 02 00 00 4D 02 00 00 4D 02 00 00 4F 02 00 00 93 02 00 00 95 02 00 00 AF 02'
+ '00 00 71 03 00 00 71 03 00 00 73 03 00 00 73 03 00 00 77 03 00 00 77 03 00 00 7B 03 00 00 7D 03'
+ '00 00 90 03 00 00 90 03 00 00 AC 03 00 00 CE 03 00 00 D0 03 00 00 D1 03 00 00 D5 03 00 00 D7 03'
+ '00 00 D9 03 00 00 D9 03 00 00 DB 03 00 00 DB 03 00 00 DD 03 00 00 DD 03 00 00 DF 03 00 00 DF 03'
+ '00 00 E1 03 00 00 E1 03 00 00 E3 03 00 00 E3 03 00 00 E5 03 00 00 E5 03 00 00 E7 03 00 00 E7 03'
+ '00 00 E9 03 00 00 E9 03 00 00 EB 03 00 00 EB 03 00 00 ED 03 00 00 ED 03 00 00 EF 03 00 00 F3 03'
+ '00 00 F5 03 00 00 F5 03 00 00 F8 03 00 00 F8 03 00 00 FB 03 00 00 FC 03 00 00 30 04 00 00 5F 04'
+ '00 00 61 04 00 00 61 04 00 00 63 04 00 00 63 04 00 00 65 04 00 00 65 04 00 00 67 04 00 00 67 04'
+ '00 00 69 04 00 00 69 04 00 00 6B 04 00 00 6B 04 00 00 6D 04 00 00 6D 04 00 00 6F 04 00 00 6F 04'
+ '00 00 71 04 00 00 71 04 00 00 73 04 00 00 73 04 00 00 75 04 00 00 75 04 00 00 77 04 00 00 77 04'
+ '00 00 79 04 00 00 79 04 00 00 7B 04 00 00 7B 04 00 00 7D 04 00 00 7D 04 00 00 7F 04 00 00 7F 04'
+ '00 00 81 04 00 00 81 04 00 00 8B 04 00 00 8B 04 00 00 8D 04 00 00 8D 04 00 00 8F 04 00 00 8F 04'
+ '00 00 91 04 00 00 91 04 00 00 93 04 00 00 93 04 00 00 95 04 00 00 95 04 00 00 97 04 00 00 97 04'
+ '00 00 99 04 00 00 99 04 00 00 9B 04 00 00 9B 04 00 00 9D 04 00 00 9D 04 00 00 9F 04 00 00 9F 04'
+ '00 00 A1 04 00 00 A1 04 00 00 A3 04 00 00 A3 04 00 00 A5 04 00 00 A5 04 00 00 A7 04 00 00 A7 04'
+ '00 00 A9 04 00 00 A9 04 00 00 AB 04 00 00 AB 04 00 00 AD 04 00 00 AD 04 00 00 AF 04 00 00 AF 04'
+ '00 00 B1 04 00 00 B1 04 00 00 B3 04 00 00 B3 04 00 00 B5 04 00 00 B5 04 00 00 B7 04 00 00 B7 04'
+ '00 00 B9 04 00 00 B9 04 00 00 BB 04 00 00 BB 04 00 00 BD 04 00 00 BD 04 00 00 BF 04 00 00 BF 04'
+ '00 00 C2 04 00 00 C2 04 00 00 C4 04 00 00 C4 04 00 00 C6 04 00 00 C6 04 00 00 C8 04 00 00 C8 04'
+ '00 00 CA 04 00 00 CA 04 00 00 CC 04 00 00 CC 04 00 00 CE 04 00 00 CF 04 00 00 D1 04 00 00 D1 04'
+ '00 00 D3 04 00 00 D3 04 00 00 D5 04 00 00 D5 04 00 00 D7 04 00 00 D7 04 00 00 D9 04 00 00 D9 04'
+ '00 00 DB 04 00 00 DB 04 00 00 DD 04 00 00 DD 04 00 00 DF 04 00 00 DF 04 00 00 E1 04 00 00 E1 04'
+ '00 00 E3 04 00 00 E3 04 00 00 E5 04 00 00 E5 04 00 00 E7 04 00 00 E7 04 00 00 E9 04 00 00 E9 04'
+ '00 00 EB 04 00 00 EB 04 00 00 ED 04 00 00 ED 04 00 00 EF 04 00 00 EF 04 00 00 F1 04 00 00 F1 04'
+ '00 00 F3 04 00 00 F3 04 00 00 F5 04 00 00 F5 04 00 00 F7 04 00 00 F7 04 00 00 F9 04 00 00 F9 04'
+ '00 00 FB 04 00 00 FB 04 00 00 FD 04 00 00 FD 04 00 00 FF 04 00 00 FF 04 00 00 01 05 00 00 01 05'
'00 00 03 05 00 00 03 05 00 00 05 05 00 00 05 05 00 00 07 05 00 00 07 05 00 00 09 05 00 00 09 05'
- '00 00 0B 05 00 00 0B 05 00 00 0D 05 00 00 0D 05 00 00 0F 05 00 00 0F 05 00 00 61 05 00 00 87 05'
- '00 00 00 1D 00 00 2B 1D 00 00 62 1D 00 00 77 1D 00 00 79 1D 00 00 9A 1D 00 00 01 1E 00 00 01 1E'
- '00 00 03 1E 00 00 03 1E 00 00 05 1E 00 00 05 1E 00 00 07 1E 00 00 07 1E 00 00 09 1E 00 00 09 1E'
- '00 00 0B 1E 00 00 0B 1E 00 00 0D 1E 00 00 0D 1E 00 00 0F 1E 00 00 0F 1E 00 00 11 1E 00 00 11 1E'
- '00 00 13 1E 00 00 13 1E 00 00 15 1E 00 00 15 1E 00 00 17 1E 00 00 17 1E 00 00 19 1E 00 00 19 1E'
- '00 00 1B 1E 00 00 1B 1E 00 00 1D 1E 00 00 1D 1E 00 00 1F 1E 00 00 1F 1E 00 00 21 1E 00 00 21 1E'
- '00 00 23 1E 00 00 23 1E 00 00 25 1E 00 00 25 1E 00 00 27 1E 00 00 27 1E 00 00 29 1E 00 00 29 1E'
- '00 00 2B 1E 00 00 2B 1E 00 00 2D 1E 00 00 2D 1E 00 00 2F 1E 00 00 2F 1E 00 00 31 1E 00 00 31 1E'
- '00 00 33 1E 00 00 33 1E 00 00 35 1E 00 00 35 1E 00 00 37 1E 00 00 37 1E 00 00 39 1E 00 00 39 1E'
- '00 00 3B 1E 00 00 3B 1E 00 00 3D 1E 00 00 3D 1E 00 00 3F 1E 00 00 3F 1E 00 00 41 1E 00 00 41 1E'
- '00 00 43 1E 00 00 43 1E 00 00 45 1E 00 00 45 1E 00 00 47 1E 00 00 47 1E 00 00 49 1E 00 00 49 1E'
- '00 00 4B 1E 00 00 4B 1E 00 00 4D 1E 00 00 4D 1E 00 00 4F 1E 00 00 4F 1E 00 00 51 1E 00 00 51 1E'
- '00 00 53 1E 00 00 53 1E 00 00 55 1E 00 00 55 1E 00 00 57 1E 00 00 57 1E 00 00 59 1E 00 00 59 1E'
- '00 00 5B 1E 00 00 5B 1E 00 00 5D 1E 00 00 5D 1E 00 00 5F 1E 00 00 5F 1E 00 00 61 1E 00 00 61 1E'
- '00 00 63 1E 00 00 63 1E 00 00 65 1E 00 00 65 1E 00 00 67 1E 00 00 67 1E 00 00 69 1E 00 00 69 1E'
- '00 00 6B 1E 00 00 6B 1E 00 00 6D 1E 00 00 6D 1E 00 00 6F 1E 00 00 6F 1E 00 00 71 1E 00 00 71 1E'
- '00 00 73 1E 00 00 73 1E 00 00 75 1E 00 00 75 1E 00 00 77 1E 00 00 77 1E 00 00 79 1E 00 00 79 1E'
- '00 00 7B 1E 00 00 7B 1E 00 00 7D 1E 00 00 7D 1E 00 00 7F 1E 00 00 7F 1E 00 00 81 1E 00 00 81 1E'
- '00 00 83 1E 00 00 83 1E 00 00 85 1E 00 00 85 1E 00 00 87 1E 00 00 87 1E 00 00 89 1E 00 00 89 1E'
- '00 00 8B 1E 00 00 8B 1E 00 00 8D 1E 00 00 8D 1E 00 00 8F 1E 00 00 8F 1E 00 00 91 1E 00 00 91 1E'
- '00 00 93 1E 00 00 93 1E 00 00 95 1E 00 00 9B 1E 00 00 A1 1E 00 00 A1 1E 00 00 A3 1E 00 00 A3 1E'
- '00 00 A5 1E 00 00 A5 1E 00 00 A7 1E 00 00 A7 1E 00 00 A9 1E 00 00 A9 1E 00 00 AB 1E 00 00 AB 1E'
- '00 00 AD 1E 00 00 AD 1E 00 00 AF 1E 00 00 AF 1E 00 00 B1 1E 00 00 B1 1E 00 00 B3 1E 00 00 B3 1E'
- '00 00 B5 1E 00 00 B5 1E 00 00 B7 1E 00 00 B7 1E 00 00 B9 1E 00 00 B9 1E 00 00 BB 1E 00 00 BB 1E'
- '00 00 BD 1E 00 00 BD 1E 00 00 BF 1E 00 00 BF 1E 00 00 C1 1E 00 00 C1 1E 00 00 C3 1E 00 00 C3 1E'
- '00 00 C5 1E 00 00 C5 1E 00 00 C7 1E 00 00 C7 1E 00 00 C9 1E 00 00 C9 1E 00 00 CB 1E 00 00 CB 1E'
- '00 00 CD 1E 00 00 CD 1E 00 00 CF 1E 00 00 CF 1E 00 00 D1 1E 00 00 D1 1E 00 00 D3 1E 00 00 D3 1E'
- '00 00 D5 1E 00 00 D5 1E 00 00 D7 1E 00 00 D7 1E 00 00 D9 1E 00 00 D9 1E 00 00 DB 1E 00 00 DB 1E'
- '00 00 DD 1E 00 00 DD 1E 00 00 DF 1E 00 00 DF 1E 00 00 E1 1E 00 00 E1 1E 00 00 E3 1E 00 00 E3 1E'
- '00 00 E5 1E 00 00 E5 1E 00 00 E7 1E 00 00 E7 1E 00 00 E9 1E 00 00 E9 1E 00 00 EB 1E 00 00 EB 1E'
- '00 00 ED 1E 00 00 ED 1E 00 00 EF 1E 00 00 EF 1E 00 00 F1 1E 00 00 F1 1E 00 00 F3 1E 00 00 F3 1E'
- '00 00 F5 1E 00 00 F5 1E 00 00 F7 1E 00 00 F7 1E 00 00 F9 1E 00 00 F9 1E 00 00 00 1F 00 00 07 1F'
- '00 00 10 1F 00 00 15 1F 00 00 20 1F 00 00 27 1F 00 00 30 1F 00 00 37 1F 00 00 40 1F 00 00 45 1F'
- '00 00 50 1F 00 00 57 1F 00 00 60 1F 00 00 67 1F 00 00 70 1F 00 00 7D 1F 00 00 80 1F 00 00 87 1F'
- '00 00 90 1F 00 00 97 1F 00 00 A0 1F 00 00 A7 1F 00 00 B0 1F 00 00 B4 1F 00 00 B6 1F 00 00 B7 1F'
- '00 00 BE 1F 00 00 BE 1F 00 00 C2 1F 00 00 C4 1F 00 00 C6 1F 00 00 C7 1F 00 00 D0 1F 00 00 D3 1F'
- '00 00 D6 1F 00 00 D7 1F 00 00 E0 1F 00 00 E7 1F 00 00 F2 1F 00 00 F4 1F 00 00 F6 1F 00 00 F7 1F'
- '00 00 71 20 00 00 71 20 00 00 7F 20 00 00 7F 20 00 00 0A 21 00 00 0A 21 00 00 0E 21 00 00 0F 21'
- '00 00 13 21 00 00 13 21 00 00 2F 21 00 00 2F 21 00 00 34 21 00 00 34 21 00 00 39 21 00 00 39 21'
- '00 00 3C 21 00 00 3D 21 00 00 46 21 00 00 49 21 00 00 30 2C 00 00 5E 2C 00 00 81 2C 00 00 81 2C'
- '00 00 83 2C 00 00 83 2C 00 00 85 2C 00 00 85 2C 00 00 87 2C 00 00 87 2C 00 00 89 2C 00 00 89 2C'
- '00 00 8B 2C 00 00 8B 2C 00 00 8D 2C 00 00 8D 2C 00 00 8F 2C 00 00 8F 2C 00 00 91 2C 00 00 91 2C'
- '00 00 93 2C 00 00 93 2C 00 00 95 2C 00 00 95 2C 00 00 97 2C 00 00 97 2C 00 00 99 2C 00 00 99 2C'
- '00 00 9B 2C 00 00 9B 2C 00 00 9D 2C 00 00 9D 2C 00 00 9F 2C 00 00 9F 2C 00 00 A1 2C 00 00 A1 2C'
- '00 00 A3 2C 00 00 A3 2C 00 00 A5 2C 00 00 A5 2C 00 00 A7 2C 00 00 A7 2C 00 00 A9 2C 00 00 A9 2C'
- '00 00 AB 2C 00 00 AB 2C 00 00 AD 2C 00 00 AD 2C 00 00 AF 2C 00 00 AF 2C 00 00 B1 2C 00 00 B1 2C'
- '00 00 B3 2C 00 00 B3 2C 00 00 B5 2C 00 00 B5 2C 00 00 B7 2C 00 00 B7 2C 00 00 B9 2C 00 00 B9 2C'
- '00 00 BB 2C 00 00 BB 2C 00 00 BD 2C 00 00 BD 2C 00 00 BF 2C 00 00 BF 2C 00 00 C1 2C 00 00 C1 2C'
- '00 00 C3 2C 00 00 C3 2C 00 00 C5 2C 00 00 C5 2C 00 00 C7 2C 00 00 C7 2C 00 00 C9 2C 00 00 C9 2C'
- '00 00 CB 2C 00 00 CB 2C 00 00 CD 2C 00 00 CD 2C 00 00 CF 2C 00 00 CF 2C 00 00 D1 2C 00 00 D1 2C'
- '00 00 D3 2C 00 00 D3 2C 00 00 D5 2C 00 00 D5 2C 00 00 D7 2C 00 00 D7 2C 00 00 D9 2C 00 00 D9 2C'
- '00 00 DB 2C 00 00 DB 2C 00 00 DD 2C 00 00 DD 2C 00 00 DF 2C 00 00 DF 2C 00 00 E1 2C 00 00 E1 2C'
- '00 00 E3 2C 00 00 E4 2C 00 00 00 2D 00 00 25 2D 00 00 00 FB 00 00 06 FB 00 00 13 FB 00 00 17 FB'
- '00 00 41 FF 00 00 5A FF 00 00 28 04 01 00 4F 04 01 00 1A D4 01 00 33 D4 01 00 4E D4 01 00 54 D4'
- '01 00 56 D4 01 00 67 D4 01 00 82 D4 01 00 9B D4 01 00 B6 D4 01 00 B9 D4 01 00 BB D4 01 00 BB D4'
- '01 00 BD D4 01 00 C3 D4 01 00 C5 D4 01 00 CF D4 01 00 EA D4 01 00 03 D5 01 00 1E D5 01 00 37 D5'
- '01 00 52 D5 01 00 6B D5 01 00 86 D5 01 00 9F D5 01 00 BA D5 01 00 D3 D5 01 00 EE D5 01 00 07 D6'
- '01 00 22 D6 01 00 3B D6 01 00 56 D6 01 00 6F D6 01 00 8A D6 01 00 A5 D6 01 00 C2 D6 01 00 DA D6'
- '01 00 DC D6 01 00 E1 D6 01 00 FC D6 01 00 14 D7 01 00 16 D7 01 00 1B D7 01 00 36 D7 01 00 4E D7'
- '01 00 50 D7 01 00 55 D7 01 00 70 D7 01 00 88 D7 01 00 8A D7 01 00 8F D7 01 00 AA D7 01 00 C2 D7'
- '01 00 C4 D7 01 00 C9 D7 01 00 02 0A 00 00 00 C5 01 00 00 C5 01 00 00 C8 01 00 00 C8 01 00 00 CB'
- '01 00 00 CB 01 00 00 F2 01 00 00 F2 01 00 00 88 1F 00 00 8F 1F 00 00 98 1F 00 00 9F 1F 00 00 A8'
- '1F 00 00 AF 1F 00 00 BC 1F 00 00 BC 1F 00 00 CC 1F 00 00 CC 1F 00 00 FC 1F 00 00 FC 1F 00 00 03'
- '7C 00 00 00 00 03 00 00 6F 03 00 00 83 04 00 00 86 04 00 00 91 05 00 00 B9 05 00 00 BB 05 00 00'
- 'BD 05 00 00 BF 05 00 00 BF 05 00 00 C1 05 00 00 C2 05 00 00 C4 05 00 00 C5 05 00 00 C7 05 00 00'
- 'C7 05 00 00 10 06 00 00 15 06 00 00 4B 06 00 00 5E 06 00 00 70 06 00 00 70 06 00 00 D6 06 00 00'
- 'DC 06 00 00 DF 06 00 00 E4 06 00 00 E7 06 00 00 E8 06 00 00 EA 06 00 00 ED 06 00 00 11 07 00 00'
- '11 07 00 00 30 07 00 00 4A 07 00 00 A6 07 00 00 B0 07 00 00 01 09 00 00 02 09 00 00 3C 09 00 00'
- '3C 09 00 00 41 09 00 00 48 09 00 00 4D 09 00 00 4D 09 00 00 51 09 00 00 54 09 00 00 62 09 00 00'
- '63 09 00 00 81 09 00 00 81 09 00 00 BC 09 00 00 BC 09 00 00 C1 09 00 00 C4 09 00 00 CD 09 00 00'
- 'CD 09 00 00 E2 09 00 00 E3 09 00 00 01 0A 00 00 02 0A 00 00 3C 0A 00 00 3C 0A 00 00 41 0A 00 00'
- '42 0A 00 00 47 0A 00 00 48 0A 00 00 4B 0A 00 00 4D 0A 00 00 70 0A 00 00 71 0A 00 00 81 0A 00 00'
+ '00 00 0B 05 00 00 0B 05 00 00 0D 05 00 00 0D 05 00 00 0F 05 00 00 0F 05 00 00 11 05 00 00 11 05'
+ '00 00 13 05 00 00 13 05 00 00 61 05 00 00 87 05 00 00 00 1D 00 00 2B 1D 00 00 62 1D 00 00 77 1D'
+ '00 00 79 1D 00 00 9A 1D 00 00 01 1E 00 00 01 1E 00 00 03 1E 00 00 03 1E 00 00 05 1E 00 00 05 1E'
+ '00 00 07 1E 00 00 07 1E 00 00 09 1E 00 00 09 1E 00 00 0B 1E 00 00 0B 1E 00 00 0D 1E 00 00 0D 1E'
+ '00 00 0F 1E 00 00 0F 1E 00 00 11 1E 00 00 11 1E 00 00 13 1E 00 00 13 1E 00 00 15 1E 00 00 15 1E'
+ '00 00 17 1E 00 00 17 1E 00 00 19 1E 00 00 19 1E 00 00 1B 1E 00 00 1B 1E 00 00 1D 1E 00 00 1D 1E'
+ '00 00 1F 1E 00 00 1F 1E 00 00 21 1E 00 00 21 1E 00 00 23 1E 00 00 23 1E 00 00 25 1E 00 00 25 1E'
+ '00 00 27 1E 00 00 27 1E 00 00 29 1E 00 00 29 1E 00 00 2B 1E 00 00 2B 1E 00 00 2D 1E 00 00 2D 1E'
+ '00 00 2F 1E 00 00 2F 1E 00 00 31 1E 00 00 31 1E 00 00 33 1E 00 00 33 1E 00 00 35 1E 00 00 35 1E'
+ '00 00 37 1E 00 00 37 1E 00 00 39 1E 00 00 39 1E 00 00 3B 1E 00 00 3B 1E 00 00 3D 1E 00 00 3D 1E'
+ '00 00 3F 1E 00 00 3F 1E 00 00 41 1E 00 00 41 1E 00 00 43 1E 00 00 43 1E 00 00 45 1E 00 00 45 1E'
+ '00 00 47 1E 00 00 47 1E 00 00 49 1E 00 00 49 1E 00 00 4B 1E 00 00 4B 1E 00 00 4D 1E 00 00 4D 1E'
+ '00 00 4F 1E 00 00 4F 1E 00 00 51 1E 00 00 51 1E 00 00 53 1E 00 00 53 1E 00 00 55 1E 00 00 55 1E'
+ '00 00 57 1E 00 00 57 1E 00 00 59 1E 00 00 59 1E 00 00 5B 1E 00 00 5B 1E 00 00 5D 1E 00 00 5D 1E'
+ '00 00 5F 1E 00 00 5F 1E 00 00 61 1E 00 00 61 1E 00 00 63 1E 00 00 63 1E 00 00 65 1E 00 00 65 1E'
+ '00 00 67 1E 00 00 67 1E 00 00 69 1E 00 00 69 1E 00 00 6B 1E 00 00 6B 1E 00 00 6D 1E 00 00 6D 1E'
+ '00 00 6F 1E 00 00 6F 1E 00 00 71 1E 00 00 71 1E 00 00 73 1E 00 00 73 1E 00 00 75 1E 00 00 75 1E'
+ '00 00 77 1E 00 00 77 1E 00 00 79 1E 00 00 79 1E 00 00 7B 1E 00 00 7B 1E 00 00 7D 1E 00 00 7D 1E'
+ '00 00 7F 1E 00 00 7F 1E 00 00 81 1E 00 00 81 1E 00 00 83 1E 00 00 83 1E 00 00 85 1E 00 00 85 1E'
+ '00 00 87 1E 00 00 87 1E 00 00 89 1E 00 00 89 1E 00 00 8B 1E 00 00 8B 1E 00 00 8D 1E 00 00 8D 1E'
+ '00 00 8F 1E 00 00 8F 1E 00 00 91 1E 00 00 91 1E 00 00 93 1E 00 00 93 1E 00 00 95 1E 00 00 9D 1E'
+ '00 00 9F 1E 00 00 9F 1E 00 00 A1 1E 00 00 A1 1E 00 00 A3 1E 00 00 A3 1E 00 00 A5 1E 00 00 A5 1E'
+ '00 00 A7 1E 00 00 A7 1E 00 00 A9 1E 00 00 A9 1E 00 00 AB 1E 00 00 AB 1E 00 00 AD 1E 00 00 AD 1E'
+ '00 00 AF 1E 00 00 AF 1E 00 00 B1 1E 00 00 B1 1E 00 00 B3 1E 00 00 B3 1E 00 00 B5 1E 00 00 B5 1E'
+ '00 00 B7 1E 00 00 B7 1E 00 00 B9 1E 00 00 B9 1E 00 00 BB 1E 00 00 BB 1E 00 00 BD 1E 00 00 BD 1E'
+ '00 00 BF 1E 00 00 BF 1E 00 00 C1 1E 00 00 C1 1E 00 00 C3 1E 00 00 C3 1E 00 00 C5 1E 00 00 C5 1E'
+ '00 00 C7 1E 00 00 C7 1E 00 00 C9 1E 00 00 C9 1E 00 00 CB 1E 00 00 CB 1E 00 00 CD 1E 00 00 CD 1E'
+ '00 00 CF 1E 00 00 CF 1E 00 00 D1 1E 00 00 D1 1E 00 00 D3 1E 00 00 D3 1E 00 00 D5 1E 00 00 D5 1E'
+ '00 00 D7 1E 00 00 D7 1E 00 00 D9 1E 00 00 D9 1E 00 00 DB 1E 00 00 DB 1E 00 00 DD 1E 00 00 DD 1E'
+ '00 00 DF 1E 00 00 DF 1E 00 00 E1 1E 00 00 E1 1E 00 00 E3 1E 00 00 E3 1E 00 00 E5 1E 00 00 E5 1E'
+ '00 00 E7 1E 00 00 E7 1E 00 00 E9 1E 00 00 E9 1E 00 00 EB 1E 00 00 EB 1E 00 00 ED 1E 00 00 ED 1E'
+ '00 00 EF 1E 00 00 EF 1E 00 00 F1 1E 00 00 F1 1E 00 00 F3 1E 00 00 F3 1E 00 00 F5 1E 00 00 F5 1E'
+ '00 00 F7 1E 00 00 F7 1E 00 00 F9 1E 00 00 F9 1E 00 00 FB 1E 00 00 FB 1E 00 00 FD 1E 00 00 FD 1E'
+ '00 00 FF 1E 00 00 07 1F 00 00 10 1F 00 00 15 1F 00 00 20 1F 00 00 27 1F 00 00 30 1F 00 00 37 1F'
+ '00 00 40 1F 00 00 45 1F 00 00 50 1F 00 00 57 1F 00 00 60 1F 00 00 67 1F 00 00 70 1F 00 00 7D 1F'
+ '00 00 80 1F 00 00 87 1F 00 00 90 1F 00 00 97 1F 00 00 A0 1F 00 00 A7 1F 00 00 B0 1F 00 00 B4 1F'
+ '00 00 B6 1F 00 00 B7 1F 00 00 BE 1F 00 00 BE 1F 00 00 C2 1F 00 00 C4 1F 00 00 C6 1F 00 00 C7 1F'
+ '00 00 D0 1F 00 00 D3 1F 00 00 D6 1F 00 00 D7 1F 00 00 E0 1F 00 00 E7 1F 00 00 F2 1F 00 00 F4 1F'
+ '00 00 F6 1F 00 00 F7 1F 00 00 71 20 00 00 71 20 00 00 7F 20 00 00 7F 20 00 00 0A 21 00 00 0A 21'
+ '00 00 0E 21 00 00 0F 21 00 00 13 21 00 00 13 21 00 00 2F 21 00 00 2F 21 00 00 34 21 00 00 34 21'
+ '00 00 39 21 00 00 39 21 00 00 3C 21 00 00 3D 21 00 00 46 21 00 00 49 21 00 00 4E 21 00 00 4E 21'
+ '00 00 84 21 00 00 84 21 00 00 30 2C 00 00 5E 2C 00 00 61 2C 00 00 61 2C 00 00 65 2C 00 00 66 2C'
+ '00 00 68 2C 00 00 68 2C 00 00 6A 2C 00 00 6A 2C 00 00 6C 2C 00 00 6C 2C 00 00 71 2C 00 00 71 2C'
+ '00 00 73 2C 00 00 74 2C 00 00 76 2C 00 00 7C 2C 00 00 81 2C 00 00 81 2C 00 00 83 2C 00 00 83 2C'
+ '00 00 85 2C 00 00 85 2C 00 00 87 2C 00 00 87 2C 00 00 89 2C 00 00 89 2C 00 00 8B 2C 00 00 8B 2C'
+ '00 00 8D 2C 00 00 8D 2C 00 00 8F 2C 00 00 8F 2C 00 00 91 2C 00 00 91 2C 00 00 93 2C 00 00 93 2C'
+ '00 00 95 2C 00 00 95 2C 00 00 97 2C 00 00 97 2C 00 00 99 2C 00 00 99 2C 00 00 9B 2C 00 00 9B 2C'
+ '00 00 9D 2C 00 00 9D 2C 00 00 9F 2C 00 00 9F 2C 00 00 A1 2C 00 00 A1 2C 00 00 A3 2C 00 00 A3 2C'
+ '00 00 A5 2C 00 00 A5 2C 00 00 A7 2C 00 00 A7 2C 00 00 A9 2C 00 00 A9 2C 00 00 AB 2C 00 00 AB 2C'
+ '00 00 AD 2C 00 00 AD 2C 00 00 AF 2C 00 00 AF 2C 00 00 B1 2C 00 00 B1 2C 00 00 B3 2C 00 00 B3 2C'
+ '00 00 B5 2C 00 00 B5 2C 00 00 B7 2C 00 00 B7 2C 00 00 B9 2C 00 00 B9 2C 00 00 BB 2C 00 00 BB 2C'
+ '00 00 BD 2C 00 00 BD 2C 00 00 BF 2C 00 00 BF 2C 00 00 C1 2C 00 00 C1 2C 00 00 C3 2C 00 00 C3 2C'
+ '00 00 C5 2C 00 00 C5 2C 00 00 C7 2C 00 00 C7 2C 00 00 C9 2C 00 00 C9 2C 00 00 CB 2C 00 00 CB 2C'
+ '00 00 CD 2C 00 00 CD 2C 00 00 CF 2C 00 00 CF 2C 00 00 D1 2C 00 00 D1 2C 00 00 D3 2C 00 00 D3 2C'
+ '00 00 D5 2C 00 00 D5 2C 00 00 D7 2C 00 00 D7 2C 00 00 D9 2C 00 00 D9 2C 00 00 DB 2C 00 00 DB 2C'
+ '00 00 DD 2C 00 00 DD 2C 00 00 DF 2C 00 00 DF 2C 00 00 E1 2C 00 00 E1 2C 00 00 E3 2C 00 00 E4 2C'
+ '00 00 00 2D 00 00 25 2D 00 00 23 A7 00 00 23 A7 00 00 25 A7 00 00 25 A7 00 00 27 A7 00 00 27 A7'
+ '00 00 29 A7 00 00 29 A7 00 00 2B A7 00 00 2B A7 00 00 2D A7 00 00 2D A7 00 00 2F A7 00 00 31 A7'
+ '00 00 33 A7 00 00 33 A7 00 00 35 A7 00 00 35 A7 00 00 37 A7 00 00 37 A7 00 00 39 A7 00 00 39 A7'
+ '00 00 3B A7 00 00 3B A7 00 00 3D A7 00 00 3D A7 00 00 3F A7 00 00 3F A7 00 00 41 A7 00 00 41 A7'
+ '00 00 43 A7 00 00 43 A7 00 00 45 A7 00 00 45 A7 00 00 47 A7 00 00 47 A7 00 00 49 A7 00 00 49 A7'
+ '00 00 4B A7 00 00 4B A7 00 00 4D A7 00 00 4D A7 00 00 4F A7 00 00 4F A7 00 00 51 A7 00 00 51 A7'
+ '00 00 53 A7 00 00 53 A7 00 00 55 A7 00 00 55 A7 00 00 57 A7 00 00 57 A7 00 00 59 A7 00 00 59 A7'
+ '00 00 5B A7 00 00 5B A7 00 00 5D A7 00 00 5D A7 00 00 5F A7 00 00 5F A7 00 00 61 A7 00 00 61 A7'
+ '00 00 63 A7 00 00 63 A7 00 00 65 A7 00 00 65 A7 00 00 67 A7 00 00 67 A7 00 00 69 A7 00 00 69 A7'
+ '00 00 6B A7 00 00 6B A7 00 00 6D A7 00 00 6D A7 00 00 6F A7 00 00 6F A7 00 00 71 A7 00 00 78 A7'
+ '00 00 7A A7 00 00 7A A7 00 00 7C A7 00 00 7C A7 00 00 7F A7 00 00 7F A7 00 00 81 A7 00 00 81 A7'
+ '00 00 83 A7 00 00 83 A7 00 00 85 A7 00 00 85 A7 00 00 87 A7 00 00 87 A7 00 00 00 FB 00 00 06 FB'
+ '00 00 13 FB 00 00 17 FB 00 00 41 FF 00 00 5A FF 00 00 28 04 01 00 4F 04 01 00 1A D4 01 00 33 D4'
+ '01 00 4E D4 01 00 54 D4 01 00 56 D4 01 00 67 D4 01 00 82 D4 01 00 9B D4 01 00 B6 D4 01 00 B9 D4'
+ '01 00 BB D4 01 00 BB D4 01 00 BD D4 01 00 C3 D4 01 00 C5 D4 01 00 CF D4 01 00 EA D4 01 00 03 D5'
+ '01 00 1E D5 01 00 37 D5 01 00 52 D5 01 00 6B D5 01 00 86 D5 01 00 9F D5 01 00 BA D5 01 00 D3 D5'
+ '01 00 EE D5 01 00 07 D6 01 00 22 D6 01 00 3B D6 01 00 56 D6 01 00 6F D6 01 00 8A D6 01 00 A5 D6'
+ '01 00 C2 D6 01 00 DA D6 01 00 DC D6 01 00 E1 D6 01 00 FC D6 01 00 14 D7 01 00 16 D7 01 00 1B D7'
+ '01 00 36 D7 01 00 4E D7 01 00 50 D7 01 00 55 D7 01 00 70 D7 01 00 88 D7 01 00 8A D7 01 00 8F D7'
+ '01 00 AA D7 01 00 C2 D7 01 00 C4 D7 01 00 C9 D7 01 00 CB D7 01 00 CB D7 01 00 02 0A 00 00 00 C5'
+ '01 00 00 C5 01 00 00 C8 01 00 00 C8 01 00 00 CB 01 00 00 CB 01 00 00 F2 01 00 00 F2 01 00 00 88'
+ '1F 00 00 8F 1F 00 00 98 1F 00 00 9F 1F 00 00 A8 1F 00 00 AF 1F 00 00 BC 1F 00 00 BC 1F 00 00 CC'
+ '1F 00 00 CC 1F 00 00 FC 1F 00 00 FC 1F 00 00 03 92 00 00 00 00 03 00 00 6F 03 00 00 83 04 00 00'
+ '86 04 00 00 91 05 00 00 BD 05 00 00 BF 05 00 00 BF 05 00 00 C1 05 00 00 C2 05 00 00 C4 05 00 00'
+ 'C5 05 00 00 C7 05 00 00 C7 05 00 00 10 06 00 00 15 06 00 00 4B 06 00 00 5E 06 00 00 70 06 00 00'
+ '70 06 00 00 D6 06 00 00 DC 06 00 00 DF 06 00 00 E4 06 00 00 E7 06 00 00 E8 06 00 00 EA 06 00 00'
+ 'ED 06 00 00 11 07 00 00 11 07 00 00 30 07 00 00 4A 07 00 00 A6 07 00 00 B0 07 00 00 EB 07 00 00'
+ 'F3 07 00 00 01 09 00 00 02 09 00 00 3C 09 00 00 3C 09 00 00 41 09 00 00 48 09 00 00 4D 09 00 00'
+ '4D 09 00 00 51 09 00 00 54 09 00 00 62 09 00 00 63 09 00 00 81 09 00 00 81 09 00 00 BC 09 00 00'
+ 'BC 09 00 00 C1 09 00 00 C4 09 00 00 CD 09 00 00 CD 09 00 00 E2 09 00 00 E3 09 00 00 01 0A 00 00'
+ '02 0A 00 00 3C 0A 00 00 3C 0A 00 00 41 0A 00 00 42 0A 00 00 47 0A 00 00 48 0A 00 00 4B 0A 00 00'
+ '4D 0A 00 00 51 0A 00 00 51 0A 00 00 70 0A 00 00 71 0A 00 00 75 0A 00 00 75 0A 00 00 81 0A 00 00'
'82 0A 00 00 BC 0A 00 00 BC 0A 00 00 C1 0A 00 00 C5 0A 00 00 C7 0A 00 00 C8 0A 00 00 CD 0A 00 00'
'CD 0A 00 00 E2 0A 00 00 E3 0A 00 00 01 0B 00 00 01 0B 00 00 3C 0B 00 00 3C 0B 00 00 3F 0B 00 00'
'3F 0B 00 00 41 0B 00 00 43 0B 00 00 4D 0B 00 00 4D 0B 00 00 56 0B 00 00 56 0B 00 00 82 0B 00 00'
'82 0B 00 00 C0 0B 00 00 C0 0B 00 00 CD 0B 00 00 CD 0B 00 00 3E 0C 00 00 40 0C 00 00 46 0C 00 00'
- '48 0C 00 00 4A 0C 00 00 4D 0C 00 00 55 0C 00 00 56 0C 00 00 BC 0C 00 00 BC 0C 00 00 BF 0C 00 00'
- 'BF 0C 00 00 C6 0C 00 00 C6 0C 00 00 CC 0C 00 00 CD 0C 00 00 41 0D 00 00 43 0D 00 00 4D 0D 00 00'
- '4D 0D 00 00 CA 0D 00 00 CA 0D 00 00 D2 0D 00 00 D4 0D 00 00 D6 0D 00 00 D6 0D 00 00 31 0E 00 00'
- '31 0E 00 00 34 0E 00 00 3A 0E 00 00 47 0E 00 00 4E 0E 00 00 B1 0E 00 00 B1 0E 00 00 B4 0E 00 00'
- 'B9 0E 00 00 BB 0E 00 00 BC 0E 00 00 C8 0E 00 00 CD 0E 00 00 18 0F 00 00 19 0F 00 00 35 0F 00 00'
- '35 0F 00 00 37 0F 00 00 37 0F 00 00 39 0F 00 00 39 0F 00 00 71 0F 00 00 7E 0F 00 00 80 0F 00 00'
- '84 0F 00 00 86 0F 00 00 87 0F 00 00 90 0F 00 00 97 0F 00 00 99 0F 00 00 BC 0F 00 00 C6 0F 00 00'
- 'C6 0F 00 00 2D 10 00 00 30 10 00 00 32 10 00 00 32 10 00 00 36 10 00 00 37 10 00 00 39 10 00 00'
- '39 10 00 00 58 10 00 00 59 10 00 00 5F 13 00 00 5F 13 00 00 12 17 00 00 14 17 00 00 32 17 00 00'
+ '48 0C 00 00 4A 0C 00 00 4D 0C 00 00 55 0C 00 00 56 0C 00 00 62 0C 00 00 63 0C 00 00 BC 0C 00 00'
+ 'BC 0C 00 00 BF 0C 00 00 BF 0C 00 00 C6 0C 00 00 C6 0C 00 00 CC 0C 00 00 CD 0C 00 00 E2 0C 00 00'
+ 'E3 0C 00 00 41 0D 00 00 43 0D 00 00 4D 0D 00 00 4D 0D 00 00 62 0D 00 00 62 0D 00 00 CA 0D 00 00'
+ 'CA 0D 00 00 D2 0D 00 00 D4 0D 00 00 D6 0D 00 00 D6 0D 00 00 31 0E 00 00 31 0E 00 00 34 0E 00 00'
+ '3A 0E 00 00 47 0E 00 00 4E 0E 00 00 B1 0E 00 00 B1 0E 00 00 B4 0E 00 00 B9 0E 00 00 BB 0E 00 00'
+ 'BC 0E 00 00 C8 0E 00 00 CD 0E 00 00 18 0F 00 00 19 0F 00 00 35 0F 00 00 35 0F 00 00 37 0F 00 00'
+ '37 0F 00 00 39 0F 00 00 39 0F 00 00 71 0F 00 00 7E 0F 00 00 80 0F 00 00 84 0F 00 00 86 0F 00 00'
+ '87 0F 00 00 90 0F 00 00 97 0F 00 00 99 0F 00 00 BC 0F 00 00 C6 0F 00 00 C6 0F 00 00 2D 10 00 00'
+ '30 10 00 00 32 10 00 00 37 10 00 00 39 10 00 00 3A 10 00 00 3D 10 00 00 3E 10 00 00 58 10 00 00'
+ '59 10 00 00 5E 10 00 00 60 10 00 00 5F 13 00 00 5F 13 00 00 12 17 00 00 14 17 00 00 32 17 00 00'
'34 17 00 00 52 17 00 00 53 17 00 00 72 17 00 00 73 17 00 00 B7 17 00 00 BD 17 00 00 C6 17 00 00'
'C6 17 00 00 C9 17 00 00 D3 17 00 00 DD 17 00 00 DD 17 00 00 0B 18 00 00 0D 18 00 00 A9 18 00 00'
'A9 18 00 00 20 19 00 00 22 19 00 00 27 19 00 00 28 19 00 00 32 19 00 00 32 19 00 00 39 19 00 00'
- '3B 19 00 00 17 1A 00 00 18 1A 00 00 C0 1D 00 00 C3 1D 00 00 D0 20 00 00 DC 20 00 00 E1 20 00 00'
- 'E1 20 00 00 E5 20 00 00 EB 20 00 00 2A 30 00 00 2F 30 00 00 99 30 00 00 9A 30 00 00 06 A8 00 00'
- '06 A8 00 00 0B A8 00 00 0B A8 00 00 25 A8 00 00 26 A8 00 00 1E FB 00 00 1E FB 00 00 00 FE 00 00'
- '0F FE 00 00 20 FE 00 00 23 FE 00 00 01 0A 01 00 03 0A 01 00 05 0A 01 00 06 0A 01 00 0C 0A 01 00'
+ '3B 19 00 00 17 1A 00 00 18 1A 00 00 00 1B 00 00 03 1B 00 00 34 1B 00 00 34 1B 00 00 36 1B 00 00'
+ '3A 1B 00 00 3C 1B 00 00 3C 1B 00 00 42 1B 00 00 42 1B 00 00 6B 1B 00 00 73 1B 00 00 80 1B 00 00'
+ '81 1B 00 00 A2 1B 00 00 A5 1B 00 00 A8 1B 00 00 A9 1B 00 00 2C 1C 00 00 33 1C 00 00 36 1C 00 00'
+ '37 1C 00 00 C0 1D 00 00 E6 1D 00 00 FE 1D 00 00 FF 1D 00 00 D0 2...
[truncated message content] |
|
From: <ou...@us...> - 2007-08-11 15:03:51
|
Revision: 2115
http://jcl.svn.sourceforge.net/jcl/?rev=2115&view=rev
Author: outchy
Date: 2007-08-11 08:03:38 -0700 (Sat, 11 Aug 2007)
Log Message:
-----------
--no-config is supported starting from BDS 4.0 (BDS 2006)
Modified Paths:
--------------
trunk/jcl/source/common/JclBorlandTools.pas
Modified: trunk/jcl/source/common/JclBorlandTools.pas
===================================================================
--- trunk/jcl/source/common/JclBorlandTools.pas 2007-08-09 22:06:19 UTC (rev 2114)
+++ trunk/jcl/source/common/JclBorlandTools.pas 2007-08-11 15:03:38 UTC (rev 2115)
@@ -2798,7 +2798,7 @@
procedure TJclDCC32.SetDefaultOptions;
begin
Options.Clear;
- if (Installation.RadToolKind = brBorlandDevStudio) and (Installation.VersionNumber >= 3) then
+ if (Installation.RadToolKind = brBorlandDevStudio) and (Installation.VersionNumber >= 4) then
Options.Add('--no-config');
AddPathOption('U', Installation.LibFolderName);
if Installation.RadToolKind = brCppBuilder then
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-08-09 22:07:07
|
Revision: 2114
http://jcl.svn.sourceforge.net/jcl/?rev=2114&view=rev
Author: outchy
Date: 2007-08-09 15:06:19 -0700 (Thu, 09 Aug 2007)
Log Message:
-----------
Fix for RegHelper compilation.
Modified Paths:
--------------
trunk/jcl/install/JclInstall.pas
Modified: trunk/jcl/install/JclInstall.pas
===================================================================
--- trunk/jcl/install/JclInstall.pas 2007-08-09 21:40:02 UTC (rev 2113)
+++ trunk/jcl/install/JclInstall.pas 2007-08-09 22:06:19 UTC (rev 2114)
@@ -2586,21 +2586,24 @@
function TJclInstallation.CompileApplication(FileName: string): Boolean;
var
- CfgFileName, Directory: string;
+ OldDirectory, NewDirectory: string;
begin
- Directory := ExtractFileDir(FileName);
+ NewDirectory := ExtractFileDir(FileName);
FileName := ExtractFileName(FileName);
WriteLog(Format(RsBuildingMessage, [FileName]));
- SetCurrentDir(Directory);
- CfgFileName := ChangeFileExt(FileName, '.cfg');
- StringToFile(CfgFileName, Format(
- '-e%s' + AnsiLineBreak + // Exe output dir
- '-n.' + AnsiLineBreak + // Unit output dir
- '-u%s;%s' + AnsiLineBreak + // Unit directories
- '-i%s', // Include path
- [Distribution.JclBinDir, FLibReleaseDir, Distribution.JclSourcePath, Distribution.JclSourceDir]));
- Result := Target.DCC32.Execute(FileName);
- FileDelete(CfgFileName);
+ OldDirectory := GetCurrentDir;
+ try
+ SetCurrentDir(NewDirectory);
+ Target.DCC32.Options.Clear;
+ Target.DCC32.SetDefaultOptions;
+ Target.DCC32.AddPathOption('E', Distribution.JclBinDir);
+ Target.DCC32.AddPathOption('N', '.');
+ Target.DCC32.AddPathOption('U', FLibReleaseDir + DirSeparator + Distribution.JclSourcePath);
+ Target.DCC32.AddPathOption('I', Distribution.JclSourceDir);
+ Result := Target.DCC32.Execute(FileName);
+ finally
+ SetCurrentDir(OldDirectory);
+ end;
end;
function TJclInstallation.UninstallPackage(const Name: string): Boolean;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-08-09 21:40:05
|
Revision: 2113
http://jcl.svn.sourceforge.net/jcl/?rev=2113&view=rev
Author: outchy
Date: 2007-08-09 14:40:02 -0700 (Thu, 09 Aug 2007)
Log Message:
-----------
load BDSCOMMONDIR value from $(BDS)\bin\rsvars.bat
Modified Paths:
--------------
trunk/jcl/source/common/JclBorlandTools.pas
Modified: trunk/jcl/source/common/JclBorlandTools.pas
===================================================================
--- trunk/jcl/source/common/JclBorlandTools.pas 2007-08-09 20:19:14 UTC (rev 2112)
+++ trunk/jcl/source/common/JclBorlandTools.pas 2007-08-09 21:40:02 UTC (rev 2113)
@@ -4909,13 +4909,32 @@
end;
class function TJclBDSInstallation.GetCommonProjectsDirectory(const RootDir: string; IDEVersionNumber: Integer): string;
+var
+ RsVarsOutput, ComSpec: string;
+ Lines: TStrings;
begin
if IDEVersionNumber >= 5 then
begin
- Result := LoadResStrings(RootDir + '\Bin\coreide' + BDSVersions[IDEVersionNumber].CoreIdeVersion + '.',
- ['RAD Studio'])[0];
+ Result := '';
+ if GetEnvironmentVar('COMSPEC', ComSpec) and (JclSysUtils.Execute(Format('%s /C "%s%sbin%srsvars.bat && set BDS"',
+ [ComSpec, ExtractShortPathName(RootDir), DirDelimiter, DirDelimiter]), RsVarsOutput) = 0) then
+ begin
+ Lines := TStringList.Create;
+ try
+ Lines.Text := RsVarsOutput;
+ Result := Lines.Values[EnvVariableBDSCOMDIRValueName];
+ finally
+ Lines.Free;
+ end;
+ end;
- Result := Format('%s%s%d.0', [PathAddSeparator(GetCommonDocumentsFolder), PathAddSeparator(Result), IDEVersionNumber]);
+ if Result = '' then
+ begin
+ Result := LoadResStrings(RootDir + '\Bin\coreide' + BDSVersions[IDEVersionNumber].CoreIdeVersion + '.',
+ ['RAD Studio'])[0];
+
+ Result := Format('%s%s%d.0', [PathAddSeparator(GetCommonDocumentsFolder), PathAddSeparator(Result), IDEVersionNumber]);
+ end;
end
else
Result := GetDefaultProjectsDirectory(RootDir, IDEVersionNumber);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|