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: <mar...@us...> - 2007-04-15 14:14:13
|
Revision: 1983
http://svn.sourceforge.net/jcl/?rev=1983&view=rev
Author: marquardt
Date: 2007-04-15 07:14:06 -0700 (Sun, 15 Apr 2007)
Log Message:
-----------
minor style cleaning
Modified Paths:
--------------
trunk/jcl/source/common/JclStrings.pas
Modified: trunk/jcl/source/common/JclStrings.pas
===================================================================
--- trunk/jcl/source/common/JclStrings.pas 2007-04-15 13:58:26 UTC (rev 1982)
+++ trunk/jcl/source/common/JclStrings.pas 2007-04-15 14:14:06 UTC (rev 1983)
@@ -4362,7 +4362,7 @@
{$ELSE}
const
- BoolToStr: array[Boolean] of string[5] = ('false', 'true');
+ BoolToStr: array [Boolean] of string[5] = ('false', 'true');
{$IFDEF COMPILER5}
MaxCurrency: Currency = 922337203685477.5807;
@@ -4619,7 +4619,7 @@
SetLength(Result, Len);
end;
-{ TStringBuilder }
+//=== { TStringBuilder } =====================================================
constructor TStringBuilder.Create(Capacity: Integer; MaxCapacity: Integer);
begin
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2007-04-15 13:58:28
|
Revision: 1982
http://svn.sourceforge.net/jcl/?rev=1982&view=rev
Author: ahuser
Date: 2007-04-15 06:58:26 -0700 (Sun, 15 Apr 2007)
Log Message:
-----------
Reworked Delphi 2007 support
Added Paths:
-----------
trunk/jcl/lib/d11/
trunk/jcl/lib/d11/debug/
trunk/jcl/lib/d11/debug/dirinfo.txt
trunk/jcl/lib/d11/dirinfo.txt
Added: trunk/jcl/lib/d11/debug/dirinfo.txt
===================================================================
--- trunk/jcl/lib/d11/debug/dirinfo.txt (rev 0)
+++ trunk/jcl/lib/d11/debug/dirinfo.txt 2007-04-15 13:58:26 UTC (rev 1982)
@@ -0,0 +1 @@
+This directory is intended as a common place for debug .dcu files of Delphi 11 packages.
Added: trunk/jcl/lib/d11/dirinfo.txt
===================================================================
--- trunk/jcl/lib/d11/dirinfo.txt (rev 0)
+++ trunk/jcl/lib/d11/dirinfo.txt 2007-04-15 13:58:26 UTC (rev 1982)
@@ -0,0 +1 @@
+This directory is intended as a common place for .dcu files of Delphi 11 packages.
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2007-04-15 13:58:14
|
Revision: 1981
http://svn.sourceforge.net/jcl/?rev=1981&view=rev
Author: ahuser
Date: 2007-04-15 06:58:12 -0700 (Sun, 15 Apr 2007)
Log Message:
-----------
Reworked Delphi 2007 support
Modified Paths:
--------------
trunk/jcl/devtools/pgEdit.xml
Modified: trunk/jcl/devtools/pgEdit.xml
===================================================================
--- trunk/jcl/devtools/pgEdit.xml 2007-04-15 13:57:56 UTC (rev 1980)
+++ trunk/jcl/devtools/pgEdit.xml 2007-04-15 13:58:12 UTC (rev 1981)
@@ -70,35 +70,29 @@
<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"/>
+ <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"/>
-
- <alias name="D" value="d5,d5s,d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p"/>
+ <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"/>
-
- <alias name="C" value="c5,c5s,c6,c6p,d10,d10p"/>
+ <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"/>
-
- <alias name="DB" value="c5,d5,c6,d6,d7,d9,d10"/>
+ <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"/>
-
- <alias name="DBVCL" value="c5,d5,c6,d6,d7,d9,d10"/>
+ <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"/>
-
+ <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"/>
-
- <alias name="Windows" value="c5,c5s,c6,c6p,d5,d5s,d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p"/>
+ <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>
@@ -121,21 +115,22 @@
<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"/>
- <alias name="Bcb" value="c5,c6,d10"/>
+ <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"/>
+ <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"/>
- <alias name="JclDev" value="c5,c6,d5,d6,d7,d8,d9,d10,k3,cs1"/>
- <alias name="DelphiDev" value="d5,d6,d7,d8,d9,d10"/>
- <alias name="WinLibSuffix" value="c6,d6,d7,d8,d9,d10,cs1"/>
- <alias name="allLibSuffix" value="c6,d6,d7,d8,d9,d10,k3,cs1"/>
+ <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"/>
- <alias name="Bds" value="cs1,d8,d9,d10"/>
+ <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>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2007-04-15 13:57:58
|
Revision: 1980
http://svn.sourceforge.net/jcl/?rev=1980&view=rev
Author: ahuser
Date: 2007-04-15 06:57:56 -0700 (Sun, 15 Apr 2007)
Log Message:
-----------
Reworked Delphi 2007 support
Added Paths:
-----------
trunk/jcl/packages/JclPackagesD110.bdsgroup
trunk/jcl/packages/JclPackagesD110.groupproj
trunk/jcl/packages/d11/
trunk/jcl/packages/d11/Jcl.dpk
trunk/jcl/packages/d11/Jcl.dproj
trunk/jcl/packages/d11/Jcl.rc
trunk/jcl/packages/d11/Jcl.res
trunk/jcl/packages/d11/JclBaseExpert.dpk
trunk/jcl/packages/d11/JclBaseExpert.dproj
trunk/jcl/packages/d11/JclBaseExpert.rc
trunk/jcl/packages/d11/JclBaseExpert.res
trunk/jcl/packages/d11/JclDebugExpert.dpk
trunk/jcl/packages/d11/JclDebugExpert.dproj
trunk/jcl/packages/d11/JclDebugExpert.rc
trunk/jcl/packages/d11/JclDebugExpert.res
trunk/jcl/packages/d11/JclDebugExpertDLL.dpr
trunk/jcl/packages/d11/JclDebugExpertDLL.dproj
trunk/jcl/packages/d11/JclDebugExpertDLL.rc
trunk/jcl/packages/d11/JclFavoriteFoldersExpert.dpk
trunk/jcl/packages/d11/JclFavoriteFoldersExpert.dproj
trunk/jcl/packages/d11/JclFavoriteFoldersExpert.rc
trunk/jcl/packages/d11/JclFavoriteFoldersExpert.res
trunk/jcl/packages/d11/JclFavoriteFoldersExpertDLL.dpr
trunk/jcl/packages/d11/JclFavoriteFoldersExpertDLL.dproj
trunk/jcl/packages/d11/JclFavoriteFoldersExpertDLL.rc
trunk/jcl/packages/d11/JclProjectAnalysisExpert.dpk
trunk/jcl/packages/d11/JclProjectAnalysisExpert.dproj
trunk/jcl/packages/d11/JclProjectAnalysisExpert.rc
trunk/jcl/packages/d11/JclProjectAnalysisExpert.res
trunk/jcl/packages/d11/JclProjectAnalysisExpertDLL.dpr
trunk/jcl/packages/d11/JclProjectAnalysisExpertDLL.dproj
trunk/jcl/packages/d11/JclProjectAnalysisExpertDLL.rc
trunk/jcl/packages/d11/JclRepositoryExpert.dpk
trunk/jcl/packages/d11/JclRepositoryExpert.dproj
trunk/jcl/packages/d11/JclRepositoryExpert.rc
trunk/jcl/packages/d11/JclRepositoryExpert.res
trunk/jcl/packages/d11/JclRepositoryExpertDLL.dpr
trunk/jcl/packages/d11/JclRepositoryExpertDLL.dproj
trunk/jcl/packages/d11/JclRepositoryExpertDLL.rc
trunk/jcl/packages/d11/JclSIMDViewExpert.dpk
trunk/jcl/packages/d11/JclSIMDViewExpert.dproj
trunk/jcl/packages/d11/JclSIMDViewExpert.rc
trunk/jcl/packages/d11/JclSIMDViewExpert.res
trunk/jcl/packages/d11/JclSIMDViewExpertDLL.dpr
trunk/jcl/packages/d11/JclSIMDViewExpertDLL.dproj
trunk/jcl/packages/d11/JclSIMDViewExpertDLL.rc
trunk/jcl/packages/d11/JclThreadNameExpert.dpk
trunk/jcl/packages/d11/JclThreadNameExpert.dproj
trunk/jcl/packages/d11/JclThreadNameExpert.rc
trunk/jcl/packages/d11/JclThreadNameExpert.res
trunk/jcl/packages/d11/JclThreadNameExpertDLL.dpr
trunk/jcl/packages/d11/JclThreadNameExpertDLL.dproj
trunk/jcl/packages/d11/JclThreadNameExpertDLL.rc
trunk/jcl/packages/d11/JclVcl.dpk
trunk/jcl/packages/d11/JclVcl.dproj
trunk/jcl/packages/d11/JclVcl.rc
trunk/jcl/packages/d11/JclVcl.res
trunk/jcl/packages/d11/JclVersionControlExpert.dpk
trunk/jcl/packages/d11/JclVersionControlExpert.dproj
trunk/jcl/packages/d11/JclVersionControlExpert.rc
trunk/jcl/packages/d11/JclVersionControlExpert.res
trunk/jcl/packages/d11/JclVersionControlExpertDLL.dpr
trunk/jcl/packages/d11/JclVersionControlExpertDLL.dproj
trunk/jcl/packages/d11/JclVersionControlExpertDLL.rc
trunk/jcl/packages/d11/template.dpk
trunk/jcl/packages/d11/template.dpr
trunk/jcl/packages/d11/template.dproj
trunk/jcl/packages/d11/template.rc
Added: trunk/jcl/packages/JclPackagesD110.bdsgroup
===================================================================
--- trunk/jcl/packages/JclPackagesD110.bdsgroup (rev 0)
+++ trunk/jcl/packages/JclPackagesD110.bdsgroup 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<BorlandProject>
+ <PersonalityInfo>
+ <Option>
+ <Option Name="Personality">Default.Personality</Option>
+ <Option Name="ProjectType"></Option>
+ <Option Name="Version">1.0</Option>
+ <Option Name="GUID">{E7B4DBC9-B036-40B2-88E6-984F5D7843B1}</Option>
+ </Option>
+ </PersonalityInfo>
+ <Default.Personality> <Projects>
+ <Projects Name="Jcl110.bpl">d11\Jcl.dproj</Projects>
+ <Projects Name="JclVcl110.bpl">d11\JclVcl.dproj</Projects>
+ <Projects Name="JclBaseExpert110.bpl">d11\JclBaseExpert.dproj</Projects>
+ <Projects Name="JclDebugExpert110.bpl">d11\JclDebugExpert.dproj</Projects>
+ <Projects Name="JclFavoriteFoldersExpert110.bpl">d11\JclFavoriteFoldersExpert.dproj</Projects>
+ <Projects Name="JclProjectAnalysisExpert110.bpl">d11\JclProjectAnalysisExpert.dproj</Projects>
+ <Projects Name="JclRepositoryExpert110.bpl">d11\JclRepositoryExpert.dproj</Projects>
+ <Projects Name="JclVersionControlExpert110.bpl">d11\JclVersionControlExpert.dproj</Projects>
+ <Projects Name="Targets">Jcl110.bpl JclVcl110.bpl JclBaseExpert110.bpl JclDebugExpert110.bpl JclFavoriteFoldersExpert110.bpl JclProjectAnalysisExpert110.bpl JclRepositoryExpert110.bpl JclVersionControlExpert110.bpl</Projects>
+ </Projects>
+ <Dependencies/>
+ </Default.Personality>
+</BorlandProject>
Added: trunk/jcl/packages/JclPackagesD110.groupproj
===================================================================
--- trunk/jcl/packages/JclPackagesD110.groupproj (rev 0)
+++ trunk/jcl/packages/JclPackagesD110.groupproj 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,94 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{d1a27daf-2d03-4297-b322-3fa95f07a7d2}</ProjectGuid>
+ </PropertyGroup>
+ <ItemGroup />
+ <ItemGroup />
+ <ProjectExtensions>
+ <Borland.Personality>Default.Personality</Borland.Personality>
+ <Borland.ProjectType />
+ <BorlandProject>
+ <BorlandProject xmlns=""> <Default.Personality> </Default.Personality> </BorlandProject></BorlandProject>
+ </ProjectExtensions>
+ <Target Name="Jcl">
+ <MSBuild Projects="d11\Jcl.dproj" Targets="" />
+ </Target>
+ <Target Name="Jcl:Clean">
+ <MSBuild Projects="d11\Jcl.dproj" Targets="Clean" />
+ </Target>
+ <Target Name="Jcl:Make">
+ <MSBuild Projects="d11\Jcl.dproj" Targets="Make" />
+ </Target>
+ <Target Name="JclVcl">
+ <MSBuild Projects="d11\JclVcl.dproj" Targets="" />
+ </Target>
+ <Target Name="JclVcl:Clean">
+ <MSBuild Projects="d11\JclVcl.dproj" Targets="Clean" />
+ </Target>
+ <Target Name="JclVcl:Make">
+ <MSBuild Projects="d11\JclVcl.dproj" Targets="Make" />
+ </Target>
+ <Target Name="JclBaseExpert">
+ <MSBuild Projects="d11\JclBaseExpert.dproj" Targets="" />
+ </Target>
+ <Target Name="JclBaseExpert:Clean">
+ <MSBuild Projects="d11\JclBaseExpert.dproj" Targets="Clean" />
+ </Target>
+ <Target Name="JclBaseExpert:Make">
+ <MSBuild Projects="d11\JclBaseExpert.dproj" Targets="Make" />
+ </Target>
+ <Target Name="JclDebugExpert">
+ <MSBuild Projects="d11\JclDebugExpert.dproj" Targets="" />
+ </Target>
+ <Target Name="JclDebugExpert:Clean">
+ <MSBuild Projects="d11\JclDebugExpert.dproj" Targets="Clean" />
+ </Target>
+ <Target Name="JclDebugExpert:Make">
+ <MSBuild Projects="d11\JclDebugExpert.dproj" Targets="Make" />
+ </Target>
+ <Target Name="JclFavoriteFoldersExpert">
+ <MSBuild Projects="d11\JclFavoriteFoldersExpert.dproj" Targets="" />
+ </Target>
+ <Target Name="JclFavoriteFoldersExpert:Clean">
+ <MSBuild Projects="d11\JclFavoriteFoldersExpert.dproj" Targets="Clean" />
+ </Target>
+ <Target Name="JclFavoriteFoldersExpert:Make">
+ <MSBuild Projects="d11\JclFavoriteFoldersExpert.dproj" Targets="Make" />
+ </Target>
+ <Target Name="JclProjectAnalysisExpert">
+ <MSBuild Projects="d11\JclProjectAnalysisExpert.dproj" Targets="" />
+ </Target>
+ <Target Name="JclProjectAnalysisExpert:Clean">
+ <MSBuild Projects="d11\JclProjectAnalysisExpert.dproj" Targets="Clean" />
+ </Target>
+ <Target Name="JclProjectAnalysisExpert:Make">
+ <MSBuild Projects="d11\JclProjectAnalysisExpert.dproj" Targets="Make" />
+ </Target>
+ <Target Name="JclRepositoryExpert">
+ <MSBuild Projects="d11\JclRepositoryExpert.dproj" Targets="" />
+ </Target>
+ <Target Name="JclRepositoryExpert:Clean">
+ <MSBuild Projects="d11\JclRepositoryExpert.dproj" Targets="Clean" />
+ </Target>
+ <Target Name="JclRepositoryExpert:Make">
+ <MSBuild Projects="d11\JclRepositoryExpert.dproj" Targets="Make" />
+ </Target>
+ <Target Name="JclVersionControlExpert">
+ <MSBuild Projects="d11\JclVersionControlExpert.dproj" Targets="" />
+ </Target>
+ <Target Name="JclVersionControlExpert:Clean">
+ <MSBuild Projects="d11\JclVersionControlExpert.dproj" Targets="Clean" />
+ </Target>
+ <Target Name="JclVersionControlExpert:Make">
+ <MSBuild Projects="d11\JclVersionControlExpert.dproj" Targets="Make" />
+ </Target>
+ <Target Name="Build">
+ <CallTarget Targets="Jcl;JclVcl;JclBaseExpert;JclDebugExpert;JclFavoriteFoldersExpert;JclProjectAnalysisExpert;JclRepositoryExpert;JclVersionControlExpert" />
+ </Target>
+ <Target Name="Clean">
+ <CallTarget Targets="Jcl:Clean;JclVcl:Clean;JclBaseExpert:Clean;JclDebugExpert:Clean;JclFavoriteFoldersExpert:Clean;JclProjectAnalysisExpert:Clean;JclRepositoryExpert:Clean;JclVersionControlExpert:Clean" />
+ </Target>
+ <Target Name="Make">
+ <CallTarget Targets="Jcl:Make;JclVcl:Make;JclBaseExpert:Make;JclDebugExpert:Make;JclFavoriteFoldersExpert:Make;JclProjectAnalysisExpert:Make;JclRepositoryExpert:Make;JclVersionControlExpert:Make" />
+ </Target>
+</Project>
\ No newline at end of file
Added: trunk/jcl/packages/d11/Jcl.dpk
===================================================================
--- trunk/jcl/packages/d11/Jcl.dpk (rev 0)
+++ trunk/jcl/packages/d11/Jcl.dpk 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,134 @@
+package Jcl;
+{
+-----------------------------------------------------------------------------
+ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
+ ALWAYS EDIT THE RELATED XML FILE (Jcl-R.xml)
+
+ Last generated: 15-04-2007 13:27:16 UTC
+-----------------------------------------------------------------------------
+}
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO OFF}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS OFF}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO OFF}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST ON}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $48000000}
+{$DESCRIPTION 'JEDI Code Library RTL package'}
+{$LIBSUFFIX '100'}
+{$RUNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ rtl
+ ;
+
+contains
+ Jcl8087 in '..\..\source\common\Jcl8087.pas' ,
+ JclAbstractContainers in '..\..\source\common\JclAbstractContainers.pas' ,
+ JclAlgorithms in '..\..\source\common\JclAlgorithms.pas' ,
+ JclAnsiStrings in '..\..\source\common\JclAnsiStrings.pas' ,
+ JclArrayLists in '..\..\source\common\JclArrayLists.pas' ,
+ JclArraySets in '..\..\source\common\JclArraySets.pas' ,
+ JclBase in '..\..\source\common\JclBase.pas' ,
+ JclBinaryTrees in '..\..\source\common\JclBinaryTrees.pas' ,
+ JclBorlandTools in '..\..\source\common\JclBorlandTools.pas' ,
+ JclComplex in '..\..\source\common\JclComplex.pas' ,
+ JclCompression in '..\..\source\common\JclCompression.pas' ,
+ JclContainerIntf in '..\..\source\common\JclContainerIntf.pas' ,
+ JclCounter in '..\..\source\common\JclCounter.pas' ,
+ JclDateTime in '..\..\source\common\JclDateTime.pas' ,
+ JclEDI in '..\..\source\common\JclEDI.pas' ,
+ JclEDISEF in '..\..\source\common\JclEDISEF.pas' ,
+ JclEDITranslators in '..\..\source\common\JclEDITranslators.pas' ,
+ JclEDIXML in '..\..\source\common\JclEDIXML.pas' ,
+ JclEDI_ANSIX12 in '..\..\source\common\JclEDI_ANSIX12.pas' ,
+ JclEDI_ANSIX12_Ext in '..\..\source\common\JclEDI_ANSIX12_Ext.pas' ,
+ JclEDI_UNEDIFACT in '..\..\source\common\JclEDI_UNEDIFACT.pas' ,
+ JclEDI_UNEDIFACT_Ext in '..\..\source\common\JclEDI_UNEDIFACT_Ext.pas' ,
+ JclExprEval in '..\..\source\common\JclExprEval.pas' ,
+ JclFileUtils in '..\..\source\common\JclFileUtils.pas' ,
+ JclHashMaps in '..\..\source\common\JclHashMaps.pas' ,
+ JclHashSets in '..\..\source\common\JclHashSets.pas' ,
+ JclIniFiles in '..\..\source\common\JclIniFiles.pas' ,
+ JclLinkedLists in '..\..\source\common\JclLinkedLists.pas' ,
+ JclLogic in '..\..\source\common\JclLogic.pas' ,
+ JclMath in '..\..\source\common\JclMath.pas' ,
+ JclMIDI in '..\..\source\common\JclMIDI.pas' ,
+ JclMime in '..\..\source\common\JclMime.pas' ,
+ JclPCRE in '..\..\source\common\JclPCRE.pas' ,
+ JclQueues in '..\..\source\common\JclQueues.pas' ,
+ JclResources in '..\..\source\common\JclResources.pas' ,
+ JclRTTI in '..\..\source\common\JclRTTI.pas' ,
+ JclSimpleXml in '..\..\source\common\JclSimpleXml.pas' ,
+ JclSchedule in '..\..\source\common\JclSchedule.pas' ,
+ JclStacks in '..\..\source\common\JclStacks.pas' ,
+ JclStatistics in '..\..\source\common\JclStatistics.pas' ,
+ JclStreams in '..\..\source\common\JclStreams.pas' ,
+ JclStrHashMap in '..\..\source\common\JclStrHashMap.pas' ,
+ JclStrings in '..\..\source\common\JclStrings.pas' ,
+ JclSysInfo in '..\..\source\common\JclSysInfo.pas' ,
+ JclSysUtils in '..\..\source\common\JclSysUtils.pas' ,
+ JclUnitConv in '..\..\source\common\JclUnitConv.pas' ,
+ JclUnitVersioning in '..\..\source\common\JclUnitVersioning.pas' ,
+ JclUnitVersioningProviders in '..\..\source\common\JclUnitVersioningProviders.pas' ,
+ JclValidation in '..\..\source\common\JclValidation.pas' ,
+ JclVectors in '..\..\source\common\JclVectors.pas' ,
+ JclWideStrings in '..\..\source\common\JclWideStrings.pas' ,
+ pcre in '..\..\source\common\pcre.pas' ,
+ Hardlinks in '..\..\source\windows\Hardlinks.pas' ,
+ JclAppInst in '..\..\source\windows\JclAppInst.pas' ,
+ JclCIL in '..\..\source\windows\JclCIL.pas' ,
+ JclCLR in '..\..\source\windows\JclCLR.pas' ,
+ JclCOM in '..\..\source\windows\JclCOM.pas' ,
+ JclConsole in '..\..\source\windows\JclConsole.pas' ,
+ JclDebug in '..\..\source\windows\JclDebug.pas' ,
+ JclDotNet in '..\..\source\windows\JclDotNet.pas' ,
+ JclHookExcept in '..\..\source\windows\JclHookExcept.pas' ,
+ JclLANMan in '..\..\source\windows\JclLANMan.pas' ,
+ JclLocales in '..\..\source\windows\JclLocales.pas' ,
+ JclMapi in '..\..\source\windows\JclMapi.pas' ,
+ JclMetadata in '..\..\source\windows\JclMetadata.pas' ,
+ JclMiscel in '..\..\source\windows\JclMiscel.pas' ,
+ JclMsdosSys in '..\..\source\windows\JclMsdosSys.pas' ,
+ JclMultimedia in '..\..\source\windows\JclMultimedia.pas' ,
+ JclNTFS in '..\..\source\windows\JclNTFS.pas' ,
+ JclPeImage in '..\..\source\windows\JclPeImage.pas' ,
+ JclRegistry in '..\..\source\windows\JclRegistry.pas' ,
+ JclSecurity in '..\..\source\windows\JclSecurity.pas' ,
+ JclShell in '..\..\source\windows\JclShell.pas' ,
+ JclStructStorage in '..\..\source\windows\JclStructStorage.pas' ,
+ JclSvcCtrl in '..\..\source\windows\JclSvcCtrl.pas' ,
+ JclSynch in '..\..\source\windows\JclSynch.pas' ,
+ JclTask in '..\..\source\windows\JclTask.pas' ,
+ JclTD32 in '..\..\source\windows\JclTD32.pas' ,
+ JclUnicode in '..\..\source\windows\JclUnicode.pas' ,
+ JclWideFormat in '..\..\source\windows\JclWideFormat.pas' ,
+ JclWin32 in '..\..\source\windows\JclWin32.pas' ,
+ JclWin32Ex in '..\..\source\windows\JclWin32Ex.pas' ,
+ JclWinMIDI in '..\..\source\windows\JclWinMIDI.pas' ,
+ mscoree_TLB in '..\..\source\windows\mscoree_TLB.pas' ,
+ mscorlib_TLB in '..\..\source\windows\mscorlib_TLB.pas' ,
+ MSHelpServices_TLB in '..\..\source\windows\MSHelpServices_TLB.pas' ,
+ MSTask in '..\..\source\windows\MSTask.pas' ,
+ Snmp in '..\..\source\windows\Snmp.pas' ,
+ zlibh in '..\..\source\windows\zlibh.pas'
+ ;
+
+end.
Added: trunk/jcl/packages/d11/Jcl.dproj
===================================================================
--- trunk/jcl/packages/d11/Jcl.dproj (rev 0)
+++ trunk/jcl/packages/d11/Jcl.dproj 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,150 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{cdf2b35b-4ac4-400f-ac4f-0b93e4f81095}</ProjectGuid>
+ <MainSource>Jcl.dpk</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>C:\Dokumente und Einstellungen\All Users\Dokumente\RAD Studio\5.0\Bpl\Jcl100.bpl</DCC_DependencyCheckOutputName>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE</DCC_Define>
+ <DCC_DcuOutput>..\..\lib\d11</DCC_DcuOutput>
+ <DCC_ObjOutput>..\..\lib\d11</DCC_ObjOutput>
+ <DCC_HppOutput>..\..\lib\d11</DCC_HppOutput>
+ <DCC_DcpOutput>..\..\lib\d11</DCC_DcpOutput>
+ <DCC_UnitSearchPath>..\..\lib\d11;..\..\source</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\lib\d11;..\..\source</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\lib\d11;..\..\source</DCC_ObjPath>
+ <DCC_IncludePath>..\..\lib\d11;..\..\source</DCC_IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_DcuOutput>..\..\lib\d11\debug</DCC_DcuOutput>
+ <DCC_ObjOutput>..\..\lib\d11\debug</DCC_ObjOutput>
+ <DCC_HppOutput>..\..\lib\d11\debug</DCC_HppOutput>
+ <DCC_DcpOutput>..\..\lib\d11\debug</DCC_DcpOutput>
+ <DCC_UnitSearchPath>..\..\lib\d11\debug;..\..\source</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\lib\d11\debug;..\..\source</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\lib\d11\debug;..\..\source</DCC_ObjPath>
+ <DCC_IncludePath>..\..\lib\d11\debug;..\..\source</DCC_IncludePath>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_WriteableConstants>True</DCC_WriteableConstants>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_ImageBase>48000000</DCC_ImageBase>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">2552</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">Project JEDI</VersionInfoKeys><VersionInfoKeys Name="FileDescription">JEDI Code Library RTL package</VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.0.0.2552</VersionInfoKeys><VersionInfoKeys Name="InternalName">Jcl</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2007 Project JEDI</VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename">Jcl110.bpl</VersionInfoKeys><VersionInfoKeys Name="ProductName">Jedi Code Library</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.0 Build 2552</VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">Jcl.dpk</Source></Source> <Package_Options>
+ <Package_Options Name="PackageDescription">JEDI Code Library RTL package</Package_Options>
+ <Package_Options Name="ImplicitBuild">False</Package_Options>
+ <Package_Options Name="DesigntimeOnly">False</Package_Options>
+ <Package_Options Name="RuntimeOnly">True</Package_Options>
+ <Package_Options Name="LibSuffix">100</Package_Options>
+ </Package_Options>
+ </Delphi.Personality></BorlandProject></BorlandProject>
+ </ProjectExtensions>
+ <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
+ <ItemGroup>
+ <DelphiCompile Include="Jcl.dpk">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="..\..\source\common\Jcl8087.pas" />
+ <DCCReference Include="..\..\source\common\JclAbstractContainers.pas" />
+ <DCCReference Include="..\..\source\common\JclAlgorithms.pas" />
+ <DCCReference Include="..\..\source\common\JclAnsiStrings.pas" />
+ <DCCReference Include="..\..\source\common\JclArrayLists.pas" />
+ <DCCReference Include="..\..\source\common\JclArraySets.pas" />
+ <DCCReference Include="..\..\source\common\JclBase.pas" />
+ <DCCReference Include="..\..\source\common\JclBinaryTrees.pas" />
+ <DCCReference Include="..\..\source\common\JclBorlandTools.pas" />
+ <DCCReference Include="..\..\source\common\JclComplex.pas" />
+ <DCCReference Include="..\..\source\common\JclCompression.pas" />
+ <DCCReference Include="..\..\source\common\JclContainerIntf.pas" />
+ <DCCReference Include="..\..\source\common\JclCounter.pas" />
+ <DCCReference Include="..\..\source\common\JclDateTime.pas" />
+ <DCCReference Include="..\..\source\common\JclEDI.pas" />
+ <DCCReference Include="..\..\source\common\JclEDISEF.pas" />
+ <DCCReference Include="..\..\source\common\JclEDITranslators.pas" />
+ <DCCReference Include="..\..\source\common\JclEDIXML.pas" />
+ <DCCReference Include="..\..\source\common\JclEDI_ANSIX12.pas" />
+ <DCCReference Include="..\..\source\common\JclEDI_ANSIX12_Ext.pas" />
+ <DCCReference Include="..\..\source\common\JclEDI_UNEDIFACT.pas" />
+ <DCCReference Include="..\..\source\common\JclEDI_UNEDIFACT_Ext.pas" />
+ <DCCReference Include="..\..\source\common\JclExprEval.pas" />
+ <DCCReference Include="..\..\source\common\JclFileUtils.pas" />
+ <DCCReference Include="..\..\source\common\JclHashMaps.pas" />
+ <DCCReference Include="..\..\source\common\JclHashSets.pas" />
+ <DCCReference Include="..\..\source\common\JclIniFiles.pas" />
+ <DCCReference Include="..\..\source\common\JclLinkedLists.pas" />
+ <DCCReference Include="..\..\source\common\JclLogic.pas" />
+ <DCCReference Include="..\..\source\common\JclMath.pas" />
+ <DCCReference Include="..\..\source\common\JclMIDI.pas" />
+ <DCCReference Include="..\..\source\common\JclMime.pas" />
+ <DCCReference Include="..\..\source\common\JclPCRE.pas" />
+ <DCCReference Include="..\..\source\common\JclQueues.pas" />
+ <DCCReference Include="..\..\source\common\JclResources.pas" />
+ <DCCReference Include="..\..\source\common\JclRTTI.pas" />
+ <DCCReference Include="..\..\source\common\JclSchedule.pas" />
+ <DCCReference Include="..\..\source\common\JclSimpleXml.pas" />
+ <DCCReference Include="..\..\source\common\JclStacks.pas" />
+ <DCCReference Include="..\..\source\common\JclStatistics.pas" />
+ <DCCReference Include="..\..\source\common\JclStreams.pas" />
+ <DCCReference Include="..\..\source\common\JclStrHashMap.pas" />
+ <DCCReference Include="..\..\source\common\JclStrings.pas" />
+ <DCCReference Include="..\..\source\common\JclSysInfo.pas" />
+ <DCCReference Include="..\..\source\common\JclSysUtils.pas" />
+ <DCCReference Include="..\..\source\common\JclUnitConv.pas" />
+ <DCCReference Include="..\..\source\common\JclUnitVersioning.pas" />
+ <DCCReference Include="..\..\source\common\JclUnitVersioningProviders.pas" />
+ <DCCReference Include="..\..\source\common\JclValidation.pas" />
+ <DCCReference Include="..\..\source\common\JclVectors.pas" />
+ <DCCReference Include="..\..\source\common\JclWideStrings.pas" />
+ <DCCReference Include="..\..\source\common\pcre.pas" />
+ <DCCReference Include="..\..\source\windows\Hardlinks.pas" />
+ <DCCReference Include="..\..\source\windows\JclAppInst.pas" />
+ <DCCReference Include="..\..\source\windows\JclCIL.pas" />
+ <DCCReference Include="..\..\source\windows\JclCLR.pas" />
+ <DCCReference Include="..\..\source\windows\JclCOM.pas" />
+ <DCCReference Include="..\..\source\windows\JclConsole.pas" />
+ <DCCReference Include="..\..\source\windows\JclDebug.pas" />
+ <DCCReference Include="..\..\source\windows\JclDotNet.pas" />
+ <DCCReference Include="..\..\source\windows\JclHookExcept.pas" />
+ <DCCReference Include="..\..\source\windows\JclLANMan.pas" />
+ <DCCReference Include="..\..\source\windows\JclLocales.pas" />
+ <DCCReference Include="..\..\source\windows\JclMapi.pas" />
+ <DCCReference Include="..\..\source\windows\JclMetadata.pas" />
+ <DCCReference Include="..\..\source\windows\JclMiscel.pas" />
+ <DCCReference Include="..\..\source\windows\JclMsdosSys.pas" />
+ <DCCReference Include="..\..\source\windows\JclMultimedia.pas" />
+ <DCCReference Include="..\..\source\windows\JclNTFS.pas" />
+ <DCCReference Include="..\..\source\windows\JclPeImage.pas" />
+ <DCCReference Include="..\..\source\windows\JclRegistry.pas" />
+ <DCCReference Include="..\..\source\windows\JclSecurity.pas" />
+ <DCCReference Include="..\..\source\windows\JclShell.pas" />
+ <DCCReference Include="..\..\source\windows\JclStructStorage.pas" />
+ <DCCReference Include="..\..\source\windows\JclSvcCtrl.pas" />
+ <DCCReference Include="..\..\source\windows\JclSynch.pas" />
+ <DCCReference Include="..\..\source\windows\JclTask.pas" />
+ <DCCReference Include="..\..\source\windows\JclTD32.pas" />
+ <DCCReference Include="..\..\source\windows\JclUnicode.pas" />
+ <DCCReference Include="..\..\source\windows\JclWideFormat.pas" />
+ <DCCReference Include="..\..\source\windows\JclWin32.pas" />
+ <DCCReference Include="..\..\source\windows\JclWin32Ex.pas" />
+ <DCCReference Include="..\..\source\windows\JclWinMIDI.pas" />
+ <DCCReference Include="..\..\source\windows\mscoree_TLB.pas" />
+ <DCCReference Include="..\..\source\windows\mscorlib_TLB.pas" />
+ <DCCReference Include="..\..\source\windows\MSHelpServices_TLB.pas" />
+ <DCCReference Include="..\..\source\windows\MSTask.pas" />
+ <DCCReference Include="..\..\source\windows\Snmp.pas" />
+ <DCCReference Include="..\..\source\windows\zlibh.pas" />
+ <DCCReference Include="C:\Dokumente und Einstellungen\Andreas\rtl.dcp" />
+ </ItemGroup>
+</Project>
\ No newline at end of file
Added: trunk/jcl/packages/d11/Jcl.rc
===================================================================
--- trunk/jcl/packages/d11/Jcl.rc (rev 0)
+++ trunk/jcl/packages/d11/Jcl.rc 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,32 @@
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 2,0,0,2552
+PRODUCTVERSION 2,0,0,2552
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_DEBUG
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS VOS__WINDOWS32
+ FILETYPE VFT_DLL
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Project JEDI\0"
+ VALUE "FileDescription", "JEDI Code Library RTL package\0"
+ VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "InternalName", "Jcl\0"
+ VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
+ VALUE "OriginalFilename", "Jcl100.bpl\0"
+ VALUE "ProductName", "Jedi Code Library\0"
+ VALUE "ProductVersion", "2.0 Build 2552\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0409, 1252
+ END
+END
Added: trunk/jcl/packages/d11/Jcl.res
===================================================================
(Binary files differ)
Property changes on: trunk/jcl/packages/d11/Jcl.res
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jcl/packages/d11/JclBaseExpert.dpk
===================================================================
--- trunk/jcl/packages/d11/JclBaseExpert.dpk (rev 0)
+++ trunk/jcl/packages/d11/JclBaseExpert.dpk 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,56 @@
+package JclBaseExpert;
+{
+-----------------------------------------------------------------------------
+ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
+ ALWAYS EDIT THE RELATED XML FILE (JclBaseExpert-D.xml)
+
+ Last generated: 15-04-2007 13:27:16 UTC
+-----------------------------------------------------------------------------
+}
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO OFF}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS OFF}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO OFF}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST ON}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $58000000}
+{$DESCRIPTION 'JCL Package containing common units for JCL Experts'}
+{$LIBSUFFIX '100'}
+{$DESIGNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ rtl,
+ vcl,
+ designide,
+ Jcl
+ ;
+
+contains
+ JclOtaUtils in '..\..\experts\common\JclOtaUtils.pas' ,
+ JclOtaResources in '..\..\experts\common\JclOtaResources.pas' ,
+ JclOtaConsts in '..\..\experts\common\JclOtaConsts.pas' ,
+ JclOtaExceptionForm in '..\..\experts\common\JclOtaExceptionForm.pas' {JclExpertExceptionForm},
+ JclOtaConfigurationForm in '..\..\experts\common\JclOtaConfigurationForm.pas' {JclOtaOptionsForm},
+ JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame: TFrame},
+ JclOtaWizardForm in '..\..\experts\common\JclOtaWizardForm.pas' {JclWizardForm},
+ JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame: TFrame}
+ ;
+
+end.
Added: trunk/jcl/packages/d11/JclBaseExpert.dproj
===================================================================
--- trunk/jcl/packages/d11/JclBaseExpert.dproj (rev 0)
+++ trunk/jcl/packages/d11/JclBaseExpert.dproj 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,82 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{646be861-be14-4dd2-af72-61fe4fffe434}</ProjectGuid>
+ <MainSource>JclBaseExpert.dpk</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>C:\Dokumente und Einstellungen\All Users\Dokumente\RAD Studio\5.0\Bpl\JclBaseExpert100.bpl</DCC_DependencyCheckOutputName>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE</DCC_Define>
+ <DCC_DcuOutput>..\..\lib\d11</DCC_DcuOutput>
+ <DCC_ObjOutput>..\..\lib\d11</DCC_ObjOutput>
+ <DCC_HppOutput>..\..\lib\d11</DCC_HppOutput>
+ <DCC_DcpOutput>..\..\lib\d11</DCC_DcpOutput>
+ <DCC_UnitSearchPath>..\..\lib\d11;..\..\source</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\lib\d11;..\..\source</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\lib\d11;..\..\source</DCC_ObjPath>
+ <DCC_IncludePath>..\..\lib\d11;..\..\source</DCC_IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_DcuOutput>..\..\lib\d11\debug</DCC_DcuOutput>
+ <DCC_ObjOutput>..\..\lib\d11\debug</DCC_ObjOutput>
+ <DCC_HppOutput>..\..\lib\d11\debug</DCC_HppOutput>
+ <DCC_DcpOutput>..\..\lib\d11\debug</DCC_DcpOutput>
+ <DCC_UnitSearchPath>..\..\lib\d11\debug;..\..\source</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\lib\d11\debug;..\..\source</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\lib\d11\debug;..\..\source</DCC_ObjPath>
+ <DCC_IncludePath>..\..\lib\d11\debug;..\..\source</DCC_IncludePath>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_WriteableConstants>True</DCC_WriteableConstants>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_ImageBase>58000000</DCC_ImageBase>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">2552</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">Project JEDI</VersionInfoKeys><VersionInfoKeys Name="FileDescription">JCL Package containing common units for JCL Experts</VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.0.0.2552</VersionInfoKeys><VersionInfoKeys Name="InternalName">JclBaseExpert</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2007 Project JEDI</VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename">JclBaseExpert110.bpl</VersionInfoKeys><VersionInfoKeys Name="ProductName">Jedi Code Library</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.0 Build 2552</VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">JclBaseExpert.dpk</Source></Source> <Package_Options>
+ <Package_Options Name="PackageDescription">JCL Package containing common units for JCL Experts</Package_Options>
+ <Package_Options Name="ImplicitBuild">False</Package_Options>
+ <Package_Options Name="DesigntimeOnly">True</Package_Options>
+ <Package_Options Name="RuntimeOnly">False</Package_Options>
+ <Package_Options Name="LibSuffix">100</Package_Options>
+ </Package_Options>
+ </Delphi.Personality></BorlandProject></BorlandProject>
+ </ProjectExtensions>
+ <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
+ <ItemGroup>
+ <DelphiCompile Include="JclBaseExpert.dpk">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="..\..\experts\common\JclOtaActionConfigureSheet.pas">
+ <Form>JclOtaActionConfigureFrame</Form>
+ </DCCReference>
+ <DCCReference Include="..\..\experts\common\JclOtaConfigurationForm.pas">
+ <Form>JclOtaOptionsForm</Form>
+ </DCCReference>
+ <DCCReference Include="..\..\experts\common\JclOtaConsts.pas" />
+ <DCCReference Include="..\..\experts\common\JclOtaExceptionForm.pas">
+ <Form>JclExpertExceptionForm</Form>
+ </DCCReference>
+ <DCCReference Include="..\..\experts\common\JclOtaResources.pas" />
+ <DCCReference Include="..\..\experts\common\JclOtaUtils.pas" />
+ <DCCReference Include="..\..\experts\common\JclOtaWizardForm.pas">
+ <Form>JclWizardForm</Form>
+ </DCCReference>
+ <DCCReference Include="..\..\experts\common\JclOtaWizardFrame.pas">
+ <Form>JclWizardFrame</Form>
+ </DCCReference>
+ <DCCReference Include="C:\Dokumente und Einstellungen\Andreas\designide.dcp" />
+ <DCCReference Include="C:\Dokumente und Einstellungen\Andreas\Jcl.dcp" />
+ <DCCReference Include="C:\Dokumente und Einstellungen\Andreas\rtl.dcp" />
+ <DCCReference Include="C:\Dokumente und Einstellungen\Andreas\vcl.dcp" />
+ </ItemGroup>
+</Project>
\ No newline at end of file
Added: trunk/jcl/packages/d11/JclBaseExpert.rc
===================================================================
--- trunk/jcl/packages/d11/JclBaseExpert.rc (rev 0)
+++ trunk/jcl/packages/d11/JclBaseExpert.rc 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,32 @@
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 2,0,0,2552
+PRODUCTVERSION 2,0,0,2552
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_DEBUG
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS VOS__WINDOWS32
+ FILETYPE VFT_DLL
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Project JEDI\0"
+ VALUE "FileDescription", "JCL Package containing common units for JCL Experts\0"
+ VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "InternalName", "JclBaseExpert\0"
+ VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
+ VALUE "OriginalFilename", "JclBaseExpert100.bpl\0"
+ VALUE "ProductName", "Jedi Code Library\0"
+ VALUE "ProductVersion", "2.0 Build 2552\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0409, 1252
+ END
+END
Added: trunk/jcl/packages/d11/JclBaseExpert.res
===================================================================
(Binary files differ)
Property changes on: trunk/jcl/packages/d11/JclBaseExpert.res
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jcl/packages/d11/JclDebugExpert.dpk
===================================================================
--- trunk/jcl/packages/d11/JclDebugExpert.dpk (rev 0)
+++ trunk/jcl/packages/d11/JclDebugExpert.dpk 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,52 @@
+package JclDebugExpert;
+{
+-----------------------------------------------------------------------------
+ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
+ ALWAYS EDIT THE RELATED XML FILE (JclDebugExpert-D.xml)
+
+ Last generated: 15-04-2007 13:27:16 UTC
+-----------------------------------------------------------------------------
+}
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO OFF}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS OFF}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO OFF}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST ON}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $58020000}
+{$DESCRIPTION 'JCL Debug IDE extension'}
+{$LIBSUFFIX '100'}
+{$DESIGNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ rtl,
+ vcl,
+ designide,
+ Jcl,
+ JclBaseExpert
+ ;
+
+contains
+ JclDebugIdeResult in '..\..\experts\debug\converter\JclDebugIdeResult.pas' {JclDebugResultForm},
+ JclDebugIdeImpl in '..\..\experts\debug\converter\JclDebugIdeImpl.pas' ,
+ JclDebugIdeConfigFrame in '..\..\experts\debug\converter\JclDebugIdeConfigFrame.pas' {JclDebugIdeConfigFrame: TFrame}
+ ;
+
+end.
Added: trunk/jcl/packages/d11/JclDebugExpert.dproj
===================================================================
--- trunk/jcl/packages/d11/JclDebugExpert.dproj (rev 0)
+++ trunk/jcl/packages/d11/JclDebugExpert.dproj 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,72 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{bd790fa8-122a-44d8-a27d-9962021ad816}</ProjectGuid>
+ <MainSource>JclDebugExpert.dpk</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>C:\Dokumente und Einstellungen\All Users\Dokumente\RAD Studio\5.0\Bpl\JclDebugExpert100.bpl</DCC_DependencyCheckOutputName>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE</DCC_Define>
+ <DCC_DcuOutput>..\..\lib\d11</DCC_DcuOutput>
+ <DCC_ObjOutput>..\..\lib\d11</DCC_ObjOutput>
+ <DCC_HppOutput>..\..\lib\d11</DCC_HppOutput>
+ <DCC_DcpOutput>..\..\lib\d11</DCC_DcpOutput>
+ <DCC_UnitSearchPath>..\..\lib\d11;..\..\source</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\lib\d11;..\..\source</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\lib\d11;..\..\source</DCC_ObjPath>
+ <DCC_IncludePath>..\..\lib\d11;..\..\source</DCC_IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_DcuOutput>..\..\lib\d11\debug</DCC_DcuOutput>
+ <DCC_ObjOutput>..\..\lib\d11\debug</DCC_ObjOutput>
+ <DCC_HppOutput>..\..\lib\d11\debug</DCC_HppOutput>
+ <DCC_DcpOutput>..\..\lib\d11\debug</DCC_DcpOutput>
+ <DCC_UnitSearchPath>..\..\lib\d11\debug;..\..\source</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\lib\d11\debug;..\..\source</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\lib\d11\debug;..\..\source</DCC_ObjPath>
+ <DCC_IncludePath>..\..\lib\d11\debug;..\..\source</DCC_IncludePath>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_WriteableConstants>True</DCC_WriteableConstants>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_ImageBase>58020000</DCC_ImageBase>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">2552</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">Project JEDI</VersionInfoKeys><VersionInfoKeys Name="FileDescription">JCL Debug IDE extension</VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.0.0.2552</VersionInfoKeys><VersionInfoKeys Name="InternalName">JclDebugExpert</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2007 Project JEDI</VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename">JclDebugExpert110.bpl</VersionInfoKeys><VersionInfoKeys Name="ProductName">Jedi Code Library</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.0 Build 2552</VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">JclDebugExpert.dpk</Source></Source> <Package_Options>
+ <Package_Options Name="PackageDescription">JCL Debug IDE extension</Package_Options>
+ <Package_Options Name="ImplicitBuild">False</Package_Options>
+ <Package_Options Name="DesigntimeOnly">True</Package_Options>
+ <Package_Options Name="RuntimeOnly">False</Package_Options>
+ <Package_Options Name="LibSuffix">100</Package_Options>
+ </Package_Options>
+ </Delphi.Personality></BorlandProject></BorlandProject>
+ </ProjectExtensions>
+ <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
+ <ItemGroup>
+ <DelphiCompile Include="JclDebugExpert.dpk">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="..\..\experts\debug\converter\JclDebugIdeConfigFrame.pas">
+ <Form>JclDebugIdeConfigFrame</Form>
+ </DCCReference>
+ <DCCReference Include="..\..\experts\debug\converter\JclDebugIdeImpl.pas" />
+ <DCCReference Include="..\..\experts\debug\converter\JclDebugIdeResult.pas">
+ <Form>JclDebugResultForm</Form>
+ </DCCReference>
+ <DCCReference Include="C:\Dokumente und Einstellungen\Andreas\designide.dcp" />
+ <DCCReference Include="C:\Dokumente und Einstellungen\Andreas\Jcl.dcp" />
+ <DCCReference Include="C:\Dokumente und Einstellungen\Andreas\JclBaseExpert.dcp" />
+ <DCCReference Include="C:\Dokumente und Einstellungen\Andreas\rtl.dcp" />
+ <DCCReference Include="C:\Dokumente und Einstellungen\Andreas\vcl.dcp" />
+ </ItemGroup>
+</Project>
\ No newline at end of file
Added: trunk/jcl/packages/d11/JclDebugExpert.rc
===================================================================
--- trunk/jcl/packages/d11/JclDebugExpert.rc (rev 0)
+++ trunk/jcl/packages/d11/JclDebugExpert.rc 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,32 @@
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 2,0,0,2552
+PRODUCTVERSION 2,0,0,2552
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_DEBUG
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS VOS__WINDOWS32
+ FILETYPE VFT_DLL
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Project JEDI\0"
+ VALUE "FileDescription", "JCL Debug IDE extension\0"
+ VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "InternalName", "JclDebugExpert\0"
+ VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
+ VALUE "OriginalFilename", "JclDebugExpert100.bpl\0"
+ VALUE "ProductName", "Jedi Code Library\0"
+ VALUE "ProductVersion", "2.0 Build 2552\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0409, 1252
+ END
+END
Added: trunk/jcl/packages/d11/JclDebugExpert.res
===================================================================
(Binary files differ)
Property changes on: trunk/jcl/packages/d11/JclDebugExpert.res
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jcl/packages/d11/JclDebugExpertDLL.dpr
===================================================================
--- trunk/jcl/packages/d11/JclDebugExpertDLL.dpr (rev 0)
+++ trunk/jcl/packages/d11/JclDebugExpertDLL.dpr 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,47 @@
+Library JclDebugExpertDLL;
+{
+-----------------------------------------------------------------------------
+ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
+ ALWAYS EDIT THE RELATED XML FILE (JclDebugExpertDLL-L.xml)
+
+ Last generated: 15-04-2007 13:27:16 UTC
+-----------------------------------------------------------------------------
+}
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO OFF}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS OFF}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO OFF}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST ON}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $58020000}
+{$DESCRIPTION 'JCL Debug IDE extension'}
+{$LIBSUFFIX '100'}
+{$IMPLICITBUILD OFF}
+
+uses
+ ToolsAPI,
+ JclDebugIdeResult in '..\..\experts\debug\converter\JclDebugIdeResult.pas' {JclDebugResultForm},
+ JclDebugIdeImpl in '..\..\experts\debug\converter\JclDebugIdeImpl.pas' ,
+ JclDebugIdeConfigFrame in '..\..\experts\debug\converter\JclDebugIdeConfigFrame.pas' {JclDebugIdeConfigFrame: TFrame}
+ ;
+
+exports
+ JCLWizardInit name WizardEntryPoint;
+
+end.
Added: trunk/jcl/packages/d11/JclDebugExpertDLL.dproj
===================================================================
--- trunk/jcl/packages/d11/JclDebugExpertDLL.dproj (rev 0)
+++ trunk/jcl/packages/d11/JclDebugExpertDLL.dproj 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,87 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid></ProjectGuid>
+ <MainSource>JclDebugExpertDLL.dpr</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE</DCC_Define>
+ <DCC_DcuOutput>..\..\lib\d11</DCC_DcuOutput>
+ <DCC_ObjOutput>..\..\lib\d11</DCC_ObjOutput>
+ <DCC_HppOutput>..\..\lib\d11</DCC_HppOutput>
+ <DCC_DcpOutput>..\..\lib\d11</DCC_DcpOutput>
+ <DCC_UnitSearchPath>..\..\lib\d11;..\..\source</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\lib\d11;..\..\source</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\lib\d11;..\..\source</DCC_ObjPath>
+ <DCC_IncludePath>..\..\lib\d11;..\..\source</DCC_IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_DcuOutput>..\..\lib\d11\debug</DCC_DcuOutput>
+ <DCC_ObjOutput>..\..\lib\d11\debug</DCC_ObjOutput>
+ <DCC_HppOutput>..\..\lib\d11\debug</DCC_HppOutput>
+ <DCC_DcpOutput>..\..\lib\d11\debug</DCC_DcpOutput>
+ <DCC_UnitSearchPath>..\..\lib\d11\debug;..\..\source</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\lib\d11\debug;..\..\source</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\lib\d11\debug;..\..\source</DCC_ObjPath>
+ <DCC_IncludePath>..\..\lib\d11\debug;..\..\source</DCC_IncludePath>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+ <BorlandProject xmlns="">
+ <Delphi.Personality>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">2</VersionInfo>
+ <VersionInfo Name="MinorVer">0</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">2552</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">Project JEDI</VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription">JCL Debug IDE extension</VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">2.0.0.2552</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName">JclDebugExpertDLL</VersionInfoKeys>
+ <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2007 Project JEDI</VersionInfoKeys>
+ <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
+ <VersionInfoKeys Name="OriginalFilename">JclDebugExpertDLL110.dll</VersionInfoKeys>
+ <VersionInfoKeys Name="ProductName">Jedi Code Library</VersionInfoKeys>
+ <VersionInfoKeys Name="ProductVersion">2.0 Build 2552</VersionInfoKeys>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">JclDebugExpertDLL.dpr</Source>
+ </Source>
+ </Delphi.Personality>
+ </BorlandProject>
+ </BorlandProject>
+ </ProjectExtensions>
+ <ItemGroup />
+ <ItemGroup>
+ <DelphiCompile Include="JclDebugExpertDLL.dpr">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="rtl.dcp" />
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
+</Project>
Added: trunk/jcl/packages/d11/JclDebugExpertDLL.rc
===================================================================
--- trunk/jcl/packages/d11/JclDebugExpertDLL.rc (rev 0)
+++ trunk/jcl/packages/d11/JclDebugExpertDLL.rc 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,32 @@
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 2,0,0,2552
+PRODUCTVERSION 2,0,0,2552
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_DEBUG
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS VOS__WINDOWS32
+ FILETYPE VFT_DLL
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Project JEDI\0"
+ VALUE "FileDescription", "JCL Debug IDE extension\0"
+ VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "InternalName", "JclDebugExpertDLL\0"
+ VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
+ VALUE "OriginalFilename", "JclDebugExpertDLL100.dll\0"
+ VALUE "ProductName", "Jedi Code Library\0"
+ VALUE "ProductVersion", "2.0 Build 2552\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0409, 1252
+ END
+END
Added: trunk/jcl/packages/d11/JclFavoriteFoldersExpert.dpk
===================================================================
--- trunk/jcl/packages/d11/JclFavoriteFoldersExpert.dpk (rev 0)
+++ trunk/jcl/packages/d11/JclFavoriteFoldersExpert.dpk 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,51 @@
+package JclFavoriteFoldersExpert;
+{
+-----------------------------------------------------------------------------
+ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
+ ALWAYS EDIT THE RELATED XML FILE (JclFavoriteFoldersExpert-D.xml)
+
+ Last generated: 15-04-2007 13:27:16 UTC
+-----------------------------------------------------------------------------
+}
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO OFF}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS OFF}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO OFF}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST ON}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $58040000}
+{$DESCRIPTION 'JCL Open and Save IDE dialogs with favorite folders'}
+{$LIBSUFFIX '100'}
+{$DESIGNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ rtl,
+ vcl,
+ designide,
+ Jcl,
+ JclBaseExpert
+ ;
+
+contains
+ IdeOpenDlgFavoriteUnit in '..\..\experts\favfolders\IdeOpenDlgFavoriteUnit.pas' ,
+ OpenDlgFavAdapter in '..\..\experts\favfolders\OpenDlgFavAdapter.pas'
+ ;
+
+end.
Added: trunk/jcl/packages/d11/JclFavoriteFoldersExpert.dproj
===================================================================
--- trunk/jcl/packages/d11/JclFavoriteFoldersExpert.dproj (rev 0)
+++ trunk/jcl/packages/d11/JclFavoriteFoldersExpert.dproj 2007-04-15 13:57:56 UTC (rev 1980)
@@ -0,0 +1,67 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{a386453b-7eca-4194-9fb0-ef11defa9aa0}</ProjectGuid>
+ <MainSource>JclFavoriteFoldersExpert.dpk</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>C:\Dokumente und Einstellungen\All Users\Dokumente\RAD Studio\5.0\Bpl\JclFavoriteFoldersExpert100.bpl</DCC_DependencyCheckOutputName>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE</DCC_Define>
+ <DCC_DcuOutput>..\..\lib\d11</DCC_DcuOutput>
+ <DCC_ObjOutput>..\..\lib\d11</DCC_ObjOutput>
+ <DCC_HppOutput>..\..\lib\d11</DCC_HppOutput>
+ <DCC_DcpOutput>..\..\lib\d11</DCC_DcpOutput>
+ <DCC_UnitSearchPath>..\..\lib\d11;..\..\source</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\lib\d11;..\..\source</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\lib\d11;..\..\source</DCC_ObjPath>
+ <DCC_IncludePath>..\..\lib\d11;..\..\source</DCC_IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_DcuOutput>..\..\lib\d11\debug</DCC_DcuOutput>
+ <DCC_ObjOutput>..\..\lib\d11\debug</DCC_ObjOutput>
+ <DCC_HppOutput>..\..\lib\d11\debug</DCC_HppOutput>
+ <DCC_DcpOutput>..\..\lib\d11\debug</DCC_DcpOutput>
+ <DCC_UnitSearchPath>..\..\lib\d11\debug;..\..\source</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\lib\d11\debug;..\..\source</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\lib\d11\debug;..\..\source</DCC_ObjPath>
+ <DCC_IncludePath>..\..\lib\d11\debug;..\..\source</DCC_IncludePath>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_WriteableConstants>True</DCC_WriteableConstants>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_ImageBase>58040000</DCC_ImageBase>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">2552</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">Proje...
[truncated message content] |
|
From: <ah...@us...> - 2007-04-15 13:32:07
|
Revision: 1979
http://svn.sourceforge.net/jcl/?rev=1979&view=rev
Author: ahuser
Date: 2007-04-15 06:32:02 -0700 (Sun, 15 Apr 2007)
Log Message:
-----------
Delphi 5 is not supported by JclStringLists.
Modified Paths:
--------------
trunk/jcl/source/common/JclBorlandTools.pas
trunk/jcl/source/common/JclStringLists.pas
Modified: trunk/jcl/source/common/JclBorlandTools.pas
===================================================================
--- trunk/jcl/source/common/JclBorlandTools.pas 2007-04-15 13:16:30 UTC (rev 1978)
+++ trunk/jcl/source/common/JclBorlandTools.pas 2007-04-15 13:32:02 UTC (rev 1979)
@@ -531,7 +531,7 @@
{$ENDIF MSWINDOWS}
FPalette: TJclBorRADToolPalette;
FRepository: TJclBorRADToolRepository;
- FVersionNumber: Integer; // Delphi 2005: 3 - Delphi 7: 7 - Delphi 2007: 10
+ FVersionNumber: Integer; // Delphi 2005: 3 - Delphi 7: 7 - Delphi 2007: 11
FVersionNumberStr: string;
FIDEVersionNumber: Integer; // Delphi 2005: 3 - Delphi 7: 7 - Delphi 2007: 11
FIDEVersionNumberStr: string;
@@ -3914,9 +3914,15 @@
// If this is Spacely, then consider the version is equal to 4 (BDS2006)
// as it is a non breaking version (dcu wise)
- if (FIDEVersionNumber = 5) and (RadToolKind = brBorlandDevStudio) then
+
+ { ahuser: Delphi 2007 is a non breaking version in the case that you can use
+ BDS 2006 compiled units in Delphi 2007. But it completely breaks the BDS 2006
+ installation because if BDS 2006 uses the Delphi 2007 compile DCUs the
+ resulting executable is broken and will do strange things. So treat Delphi 2007
+ as version 11 what it actually is. }
+ {if (FIDEVersionNumber = 5) and (RadToolKind = brBorlandDevStudio) then
FVersionNumber := 4
- else
+ else}
FVersionNumber := FIDEVersionNumber;
{$ENDIF ~KYLIX}
Modified: trunk/jcl/source/common/JclStringLists.pas
===================================================================
--- trunk/jcl/source/common/JclStringLists.pas 2007-04-15 13:16:30 UTC (rev 1978)
+++ trunk/jcl/source/common/JclStringLists.pas 2007-04-15 13:32:02 UTC (rev 1979)
@@ -29,6 +29,8 @@
interface
+{$IFNDEF COMPILER5} // Delphi 5 isn't supported
+
uses
{$IFDEF UNITVERSIONING}
JclUnitVersioning,
@@ -201,8 +203,12 @@
);
{$ENDIF UNITVERSIONING}
+{$ENDIF ~COMPILER5} // Delphi 5 isn't supported
+
implementation
+{$IFNDEF COMPILER5} // Delphi 5 isn't supported
+
uses
TypInfo,
JclPCRE, JclStrings;
@@ -1306,4 +1312,6 @@
UnregisterUnitVersion(HInstance);
{$ENDIF UNITVERSIONING}
+{$ENDIF ~COMPILER5} // Delphi 5 isn't supported
+
end.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2007-04-15 13:16:31
|
Revision: 1978
http://svn.sourceforge.net/jcl/?rev=1978&view=rev
Author: ahuser
Date: 2007-04-15 06:16:30 -0700 (Sun, 15 Apr 2007)
Log Message:
-----------
style clean
Modified Paths:
--------------
trunk/jcl/source/windows/JclRegistry.pas
Modified: trunk/jcl/source/windows/JclRegistry.pas
===================================================================
--- trunk/jcl/source/windows/JclRegistry.pas 2007-04-13 13:19:50 UTC (rev 1977)
+++ trunk/jcl/source/windows/JclRegistry.pas 2007-04-15 13:16:30 UTC (rev 1978)
@@ -642,9 +642,9 @@
RegCloseKey(RegKey);
if Result then
Result := Windows.RegDeleteKey(RootKey, RelativeKey(RootKey, PChar(Key))) = ERROR_SUCCESS;
- end
- else
- WriteError(RootKey, Key);
+ end
+ else
+ WriteError(RootKey, Key);
end;
function RegGetDataSize(const RootKey: DelphiHKEY; const Key, Name: string;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-04-13 13:19:52
|
Revision: 1977
http://svn.sourceforge.net/jcl/?rev=1977&view=rev
Author: outchy
Date: 2007-04-13 06:19:50 -0700 (Fri, 13 Apr 2007)
Log Message:
-----------
adding manifest for Vista
enabling themes for applications
Modified Paths:
--------------
trunk/jcl/examples/common/containers/algorithms/AlgorithmsExample.res
trunk/jcl/examples/common/containers/hashing/HashingExample.res
trunk/jcl/examples/common/containers/lists/ListExample.res
trunk/jcl/examples/common/containers/performance/ContainerPerformance.res
trunk/jcl/examples/common/containers/trees/TreeExample.res
trunk/jcl/examples/common/expreval/ExprEvalExample.res
trunk/jcl/examples/common/filesearch/QFileSearchDemo.res
trunk/jcl/examples/common/graphics/QClipLineDemo.res
trunk/jcl/examples/common/graphics/StretchGraphicExample.res
trunk/jcl/examples/common/multimedia/MidiOutExample.res
trunk/jcl/examples/common/numformat/QNumFormatExample.res
trunk/jcl/examples/common/pcre/PCREDemo.res
trunk/jcl/examples/common/pcre/QPCREDemo.res
trunk/jcl/examples/common/sysinfo/QEnvironmentExample.res
trunk/jcl/examples/common/textreader/TextReaderExample.res
trunk/jcl/examples/common/unitversioning/UnitVersioningTest.res
trunk/jcl/examples/windows/appinst/AppInstExample.res
trunk/jcl/examples/windows/asuser/CreateProcAsUserExample.res
trunk/jcl/examples/windows/debug/reportconverter/ExceptionReportConverter.res
trunk/jcl/examples/windows/debug/sourceloc/SourceLocExample.res
trunk/jcl/examples/windows/debug/stacktrack/StackTrackDLLsExample.res
trunk/jcl/examples/windows/debug/stacktrack/StackTrackExample.res
trunk/jcl/examples/windows/delphitools/peviewer/PeViewer.res
trunk/jcl/examples/windows/delphitools/resfix/ResFix.res
trunk/jcl/examples/windows/delphitools/screenjpg/ScreenJPG.res
trunk/jcl/examples/windows/delphitools/toolhelpview/ToolHelpViewer.res
trunk/jcl/examples/windows/edisdk/EDICOMExample.res
trunk/jcl/examples/windows/filesummary/FileSummaryExample.res
trunk/jcl/examples/windows/lanman/LanManExample.res
trunk/jcl/examples/windows/locales/LocalesExample.res
trunk/jcl/examples/windows/mapi/ReadMailExample.res
trunk/jcl/examples/windows/multimedia/MultiMediaExample.res
trunk/jcl/examples/windows/peimage/ApiHookExample.res
trunk/jcl/examples/windows/structstorage/StructStorageExample.res
trunk/jcl/examples/windows/tasks/TaskDemo.res
Modified: trunk/jcl/examples/common/containers/algorithms/AlgorithmsExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/common/containers/hashing/HashingExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/common/containers/lists/ListExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/common/containers/performance/ContainerPerformance.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/common/containers/trees/TreeExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/common/expreval/ExprEvalExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/common/filesearch/QFileSearchDemo.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/common/graphics/QClipLineDemo.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/common/graphics/StretchGraphicExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/common/multimedia/MidiOutExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/common/numformat/QNumFormatExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/common/pcre/PCREDemo.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/common/pcre/QPCREDemo.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/common/sysinfo/QEnvironmentExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/common/textreader/TextReaderExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/common/unitversioning/UnitVersioningTest.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/appinst/AppInstExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/asuser/CreateProcAsUserExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/debug/reportconverter/ExceptionReportConverter.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/debug/sourceloc/SourceLocExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/debug/stacktrack/StackTrackDLLsExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/debug/stacktrack/StackTrackExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/delphitools/peviewer/PeViewer.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/delphitools/resfix/ResFix.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/delphitools/screenjpg/ScreenJPG.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/delphitools/toolhelpview/ToolHelpViewer.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/edisdk/EDICOMExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/filesummary/FileSummaryExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/lanman/LanManExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/locales/LocalesExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/mapi/ReadMailExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/multimedia/MultiMediaExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/peimage/ApiHookExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/structstorage/StructStorageExample.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/examples/windows/tasks/TaskDemo.res
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-04-13 12:01:49
|
Revision: 1976
http://svn.sourceforge.net/jcl/?rev=1976&view=rev
Author: outchy
Date: 2007-04-13 05:01:46 -0700 (Fri, 13 Apr 2007)
Log Message:
-----------
added manifest for Vista
Modified Paths:
--------------
trunk/jcl/install/JediInstaller.res
Modified: trunk/jcl/install/JediInstaller.res
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <usc...@us...> - 2007-04-11 19:20:46
|
Revision: 1975
http://svn.sourceforge.net/jcl/?rev=1975&view=rev
Author: uschuster
Date: 2007-04-11 12:20:45 -0700 (Wed, 11 Apr 2007)
Log Message:
-----------
changed AddProductInfo/RemoveProductInfo to AddPluginInfo/RemovePluginInfo (*ProductInfo should used by personalities)
Modified Paths:
--------------
trunk/jcl/experts/common/JclOtaUtils.pas
Modified: trunk/jcl/experts/common/JclOtaUtils.pas
===================================================================
--- trunk/jcl/experts/common/JclOtaUtils.pas 2007-04-10 15:31:10 UTC (rev 1974)
+++ trunk/jcl/experts/common/JclOtaUtils.pas 2007-04-11 19:20:45 UTC (rev 1975)
@@ -21,7 +21,7 @@
{**************************************************************************************************}
{ }
{ Unit owner: Florent Ouchet }
-{ Last modified: $Date$ }
+{ Last modified: $Date$ }
{ }
{**************************************************************************************************}
@@ -35,9 +35,9 @@
uses
SysUtils, Classes, Windows,
Controls, ComCtrls, ActnList, Menus,
-{$IFDEF MSWINDOWS}
+ {$IFDEF MSWINDOWS}
JclDebug,
-{$ENDIF MSWINDOWS}
+ {$ENDIF MSWINDOWS}
JclBorlandTools,
ToolsAPI;
@@ -304,9 +304,9 @@
constructor EJclExpertException.CreateTrace(const Msg: string);
begin
inherited Create(Msg);
-{$IFDEF MSWINDOWS}
+ {$IFDEF MSWINDOWS}
FStackInfo := JclCreateStackList(False, 0, nil, False);
-{$ENDIF MSWINDOWS}
+ {$ENDIF MSWINDOWS}
end;
{$IFDEF MSWINDOWS}
@@ -1191,8 +1191,7 @@
ProductImage := LoadBitmap(FindResourceHInstance(HInstance), 'JCLSPLASH');
if ProductImage = 0 then
raise EJclExpertException.CreateTrace(RsENoBitmapResources);
- AboutBoxIndex := AboutBoxServices.AddProductInfo(RsAboutDialogTitle,
- RsAboutCopyright, RsAboutTitle, RsAboutDescription, 0,
+ AboutBoxIndex := AboutBoxServices.AddPluginInfo(RsAboutTitle, RsAboutDescription,
ProductImage, False, RsAboutLicenceStatus);
end;
end;
@@ -1201,7 +1200,7 @@
begin
if (AboutBoxIndex <> -1) and Assigned(AboutBoxServices) then
begin
- AboutBoxServices.RemoveProductInfo(AboutBoxIndex);
+ AboutBoxServices.RemovePluginInfo(AboutBoxIndex);
AboutBoxIndex := -1;
AboutBoxServices := nil;
end;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-04-10 15:31:17
|
Revision: 1974
http://svn.sourceforge.net/jcl/?rev=1974&view=rev
Author: outchy
Date: 2007-04-10 08:31:10 -0700 (Tue, 10 Apr 2007)
Log Message:
-----------
Cleaning unused files
Removed Paths:
-------------
trunk/jcl/dist-excludes
trunk/jcl/makedist.sh
trunk/jcl/want.exe
trunk/jcl/want.xml
Deleted: trunk/jcl/dist-excludes
===================================================================
--- trunk/jcl/dist-excludes 2007-04-10 14:40:14 UTC (rev 1973)
+++ trunk/jcl/dist-excludes 2007-04-10 15:31:10 UTC (rev 1974)
@@ -1,42 +0,0 @@
-.*
-*.~*
-*~
-*.bpi
-*.dcp
-*.dcu
-*.dpu
-*.ddp
-*.conf
-*.desk
-*.hpp
-template.*
-*.log
-CVS
-jcl/build.sh
-jcl/convert.sh
-jcl/listtxtfiles.sh
-jcl/makedist.sh
-jcl/want.exe
-jcl/want.xml
-jcl/bin/JCL-install.ini
-jcl/bin/QJediInstaller*
-jcl/devtools
-jcl/dist
-jcl/dist-excludes
-jcl/docs/Contributors.txt
-jcl/docs/*.info
-jcl/help
-jcl/install/Makefile
-jcl/install/prototypes.mak
-jcl/install/BCB5-dcc32.cfg.mak
-jcl/install/prototypes
-jcl/lib/*.o
-jcl/packages/*.dev
-jcl/packages/*.mak
-jcl/packages/k1
-jcl/packages/k2
-jcl/packages/JclDev*.bpg
-jcl/source/*.bat
-jcl/source/Makefile.fpc
-jcl/source/common/*.int
-jcl/source/prototypes
Deleted: trunk/jcl/makedist.sh
===================================================================
--- trunk/jcl/makedist.sh 2007-04-10 14:40:14 UTC (rev 1973)
+++ trunk/jcl/makedist.sh 2007-04-10 15:31:10 UTC (rev 1974)
@@ -1,5 +0,0 @@
-./clean.sh
-cd ..
-tar --create --exclude-from=jcl/dist-excludes --file=jcl/dist/JCL$1.tar.gz jcl --gzip
-tar --create --file=jcl/dist/JCLx$1-Help.tar.gz jcl/help --gzip
-cd jcl
\ No newline at end of file
Deleted: trunk/jcl/want.exe
===================================================================
(Binary files differ)
Deleted: trunk/jcl/want.xml
===================================================================
--- trunk/jcl/want.xml 2007-04-10 14:40:14 UTC (rev 1973)
+++ trunk/jcl/want.xml 2007-04-10 15:31:10 UTC (rev 1974)
@@ -1,244 +0,0 @@
-<?xml version="1.0"?>
-<!--
-{**************************************************************************************************}
-{ }
-{ Project JEDI Code Library (JCL) }
-{ }
-{ The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); }
-{ you may not use this file except in compliance with the License. You may obtain a copy of the }
-{ License at http://www.mozilla.org/MPL/ }
-{ }
-{ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF }
-{ ANY KIND, either express or implied. See the License for the specific language governing rights }
-{ and limitations under the License. }
-{ }
-{ The Original Code is want.xml. }
-{ }
-{ The Initial Developer of the Original Code is documented in the accompanying }
-{ help file JCL.chm. Portions created by these individuals are Copyright (C) of these individuals. }
-{ }
-{**************************************************************************************************}
-{ }
-{ This unit contains want script for build JCl. }
-{ }
-{ Unit owner: Flier Lu }
-{ }
-{**************************************************************************************************}
-
-$Id$
-
--->
-<project name="Project JEDI Code Library (JCL)" basedir="." default="help">
- <tstamp>
- <format property="when" pattern="yyyy,mm,dd,HH,nn,ss"/>
- <format property="date.tag" pattern="yyyy-mm-dd"/>
- </tstamp>
-
- <property name="app.fullname" value="Project JEDI Code Library"/>
- <property name="app.shortname" value="JCL"/>
-
- <property name="version.major" value="1"/>
- <property name="version.minor" value="96"/>
- <property name="version" value="${version.major}.${version.minor} ${date.tag}"/>
-
- <!-- why won't the following line work with subst=""? -->
- <regexp property="ver.dir" pattern="\.0" subst=" " text="d%{delphi.version}" />
- <property name="bin.dir" value="${basedir}/bin"/>
- <property name="lib.dir" value="${basedir}/lib"/>
- <property name="lib.ver.dir" value="${lib.dir}/${ver.dir}"/>
- <property name="dist.dir" value="${basedir}/dist"/>
- <property name="install.dir" value="${basedir}/install"/>
- <property name="samp.dir" value="${basedir}/examples"/>
- <property name="doc.dir" value="${basedir}/docs"/>
- <property name="help.dir" value="${basedir}/help"/>
- <property name="pack.dir" value="${basedir}/packages"/>
- <property name="pack.ver.dir" value="${pack.dir}/${ver.dir}"/>
- <property name="src.dir" value="${basedir}/source"/>
-
- <property name="zipname" value="JCL${version.major}.${version.minor}.zip" />
- <property name="zipfile" value="${dist.dir}/${zipname}" />
-
- <property name="helpzipname" value="JCL${version.major}.${version.minor}-Help.zip" />
- <property name="helpzipfile" value="${dist.dir}/${helpzipname}" />
-
- <property name="prepare.hint" value="prepare the directories" />
- <property name="clean.hint" value="remove map and editor backup files" />
- <property name="fresh.hint" value="remove compiled files" />
- <property name="versioninfo.hint" value="show the version of JCL" />
- <property name="compile.hint" value="compile library" />
- <property name="samples.hint" value="compile the sample files" />
- <property name="dist.hint" value="build JCL .zip file" />
- <property name="disthelp.hint" value="build JCL help .zip file" />
-
- <patternset id="src.dirs" >
- <include name="${src.dir}/**" />
- <exclude name="${src.dir}/prototypes" />
- </patternset>
-
- <patternset id="unit.dirs" >
- <include name="${lib.ver.dir}" />
- <patternset refid="src.dirs" />
- </patternset>
-
- <patternset id="samp.dirs" >
- <include name="${samp.dir}/**" />
- </patternset>
-
- <patternset id="samples" >
- <include name="$(samp.dirs)/*.dpr" />
- </patternset>
-
- <patternset id="source.dirs" >
- <patternset refid="src.dirs" />
- <patternset refid="samp.dirs" />
- </patternset>
-
- <target name="help" >
- <echo message="Usage:" />
- <echo message=" want [target]" />
- <echo message="" />
- <echo message="Target:" />
- <!-- echo message=" prepare - ${prepare.hint}" / -->
- <echo message=" clean - ${clean.hint}" />
- <echo message=" fresh - ${fresh.hint}" />
- <echo message=" versioninfo - ${versioninfo.hint}" />
- <!-- echo message=" compile - ${compile.hint}" -->
- <echo message=" dist - ${dist.hint}" />
- </target>
-
- <target name="prepare" description="${prepare.hint}" >
- </target>
-
- <target name="clean" description="${clean.hint}" >
- <delete file="**/*.~*" />
- <delete file="${bin.dir}/*.map" />
- </target>
-
- <target name="fresh" description="${fresh.hint}" depends="clean" >
- <!-- <delete dir="${dist.dir}" -->
- <delete file="**/*.dcp" />
- <delete file="**/*.dcu" />
- <delete file="**/*.dpu" />
- <delete file="${bin.dir}/*.exe" />
- <delete file="${bin.dir}/*.bpl" />
- <delete file="${bin.dir}/*.dll" />
- <!-- BCB generated files -->
- <delete file="${lib.dir}/**/*.obj" />
- <delete file="${lib.dir}/**/*.res" />
- <delete file="**/*.lib" />
- <delete file="**/*.bpi" />
- <!-- fpc generated files -->
- <delete file="**/*.a" />
- <delete file="**/*.o" />
- <delete file="**/*.ppu" />
- <delete file="**/*.rst" />
- </target>
-
- <target name="versioninfo" description="${versioninfo.hint}" >
- <echo message="${app.fullname} (${app.shortname}) ${version}" />
- </target>
-
- <target name="dist" description="${dist.hint}" >
- <mkdir dir="${dist.dir}" />
- <delete file="${zipfile}" />
- <zip zipfile="${zipfile}" >
- <fileset dir="${basedir}\.." >
- <exclude name="${basedir}/dist/**" />
- <exclude name="${basedir}/**/__history/**" />
- <exclude name="${basedir}/**/ModelSupport/**" />
- <exclude name="${basedir}/**/.svn/**" />
- <exclude name="${basedir}/docs/about jcl/**" />
- <exclude name="${basedir}/docs/contributors.txt" />
- <exclude name="${basedir}/devtools/**" />
- <exclude name="${doc.dir}/*.info" />
- <exclude name="${doc.dir}/internal/**" />
- <exclude name="${install.dir}/prototypes/**" />
- <exclude name="${install.dir}/prototypes.mak" />
- <exclude name="${install.dir}/BCB5-dcc32.cfg.mak" />
- <!-- exclude name="${help.dir}/**" / -->
- <exclude name="${lib.dir}/**/*.res" />
- <exclude name="${lib.dir}/d4/**" />
- <exclude name="${lib.dir}/k1/**" />
- <exclude name="${lib.dir}/k2/**" />
- <exclude name="${pack.dir}/*.dev/**" />
- <exclude name="${pack.dir}/JclDev*.*" />
- <exclude name="${pack.dir}/**/*.mak" />
- <exclude name="${pack.dir}/**/template.*" />
- <exclude name="${pack.dir}/d4/**" />
- <exclude name="${pack.dir}/k1/**" />
- <exclude name="${pack.dir}/k2/**" />
- <exclude name="${pack.dir}/JclPackagesDK1.bpg" />
- <exclude name="${pack.dir}/JclPackagesDK2.bpg" />
- <exclude name="${src.dir}/prototypes/**" />
- <exclude name="${src.dir}/common/JclD4Compatibility.pas" />
- <exclude name="${samp.dir}/makefile.mak" />
- <exclude name="${samp.dir}/vcl/installhelper/**" />
- <exclude name="${basedir}/want.*" />
-
- <include name="${basedir}/include/**" />
- <include name="${bin.dir}/JediInstaller.exe" />
- <include name="${basedir}/devtools/jpp*" />
- <include name="${basedir}/**/*.exc" />
- <include name="${install.dir}/**/*.cfg" />
- <include name="${install.dir}/**/*.conf" />
- <include name="${install.dir}/QJediInstaller.conf" />
- <include name="${install.dir}/build/**" />
- <include name="${doc.dir}/**" />
- <include name="${help.dir}/JclHelp.als" />
- <include name="${help.dir}/JclHelp.cnt" />
- <include name="${help.dir}/JclHelp.hlp" />
- <include name="${pack.dir}/**/*.cfg" />
- <include name="${pack.dir}/**/*.bmk" />
- <include name="${pack.dir}/**/*.gmk" />
- <include name="${src.dir}/**/*.obj" />
- <include name="${src.dir}/common/*.fpc" />
- <include name="${basedir}/**/*.pas" />
- <include name="${basedir}/**/*.dfm" />
- <include name="${basedir}/**/*.xfm" />
- <include name="${basedir}/**/*.dof" />
- <include name="${basedir}/**/*.kof" />
- <include name="${basedir}/**/*.inc" />
- <include name="${basedir}/**/*.cpp" />
-
- <include name="${basedir}/**/*.dpr" />
- <include name="${basedir}/**/*.dpk" />
- <include name="${basedir}/**/*.bpg" />
- <include name="${basedir}/**/*.bpf" />
- <include name="${basedir}/**/*.bpk" />
- <include name="${basedir}/**/*.mak" />
- <include name="${basedir}/**/*.dcr" />
-
- <include name="${basedir}/**/*.bdsgroup" />
- <include name="${basedir}/**/*.bdsproj" />
-
- <include name="${basedir}/**/*.rc" />
- <include name="${basedir}/**/*.res" />
- <include name="${basedir}/**/*.ico" />
- <include name="${basedir}/**/*.tlb" />
-
- <include name="${basedir}/**/*.txt" />
- <include name="${basedir}/**/*.htm" />
- <include name="${basedir}/**/*.html" />
- <include name="${basedir}/Install.bat" />
- <include name="${basedir}/QInstall.bat" />
- <include name="${basedir}/clean.bat" />
- <include name="${basedir}/clean.sh" />
- <include name="${basedir}/install.sh" />
- <include name="${samp.dir}/make.bat" />
- <include name="${samp.dir}/pushd.bat" />
- </fileset>
- </zip>
- </target>
-
- <target name="helpdist" description="${disthelp.hint}" >
- <mkdir dir="${dist.dir}" />
- <delete file="${helpzipfile}" />
- <zip zipfile="${helpzipfile}" >
- <fileset dir="${basedir}\.." >
- <include name="${help.dir}/JCLHelp.hlp" />
- <include name="${help.dir}/JCLHelp.cnt" />
- <include name="${help.dir}/JCLHelp.als" />
- </fileset>
- </zip>
- </target>
-</project>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-04-10 14:40:16
|
Revision: 1973
http://svn.sourceforge.net/jcl/?rev=1973&view=rev
Author: outchy
Date: 2007-04-10 07:40:14 -0700 (Tue, 10 Apr 2007)
Log Message:
-----------
Mantis 1073: Certain icons have black backgrounds after using bitmaptoicon
new function to add transparent bitmaps
Modified Paths:
--------------
trunk/jcl/source/prototypes/_Graphics.pas
trunk/jcl/source/vcl/JclGraphics.pas
trunk/jcl/source/visclx/JclQGraphics.pas
Modified: trunk/jcl/source/prototypes/_Graphics.pas
===================================================================
--- trunk/jcl/source/prototypes/_Graphics.pas 2007-04-10 08:05:28 UTC (rev 1972)
+++ trunk/jcl/source/prototypes/_Graphics.pas 2007-04-10 14:40:14 UTC (rev 1973)
@@ -483,7 +483,8 @@
procedure DrawBitmap(DC: HDC; Bitmap: HBITMAP; X, Y, Width, Height: Integer);
function ExtractIconCount(const FileName: string): Integer;
-function BitmapToIcon(Bitmap: HBITMAP; cx, cy: Integer): HICON;
+function BitmapToIcon(Bitmap: HBITMAP; cx, cy: Integer): HICON; overload;
+function BitmapToIcon(Bitmap, Mask: HBITMAP; cx, cy: Integer): HICON; overload;
function IconToBitmap(Icon: HICON): HBITMAP;
{$ENDIF MSWINDOWS}
@@ -1722,6 +1723,20 @@
end;
end;
+function BitmapToIcon(Bitmap, Mask: HBITMAP; cx, cy: Integer): HICON;
+var
+ ImgList: HIMAGELIST;
+ I: Integer;
+begin
+ ImgList := ImageList_Create(cx, cy, ILC_COLOR, 1, 1);
+ try
+ I := ImageList_Add(ImgList, Bitmap, Mask);
+ Result := ImageList_GetIcon(ImgList, I, ILD_TRANSPARENT);
+ finally
+ ImageList_Destroy(ImgList);
+ end;
+end;
+
function IconToBitmap(Icon: HICON): HBITMAP;
var
IconInfo: TIconInfo;
Modified: trunk/jcl/source/vcl/JclGraphics.pas
===================================================================
--- trunk/jcl/source/vcl/JclGraphics.pas 2007-04-10 08:05:28 UTC (rev 1972)
+++ trunk/jcl/source/vcl/JclGraphics.pas 2007-04-10 14:40:14 UTC (rev 1973)
@@ -464,7 +464,8 @@
procedure DrawBitmap(DC: HDC; Bitmap: HBITMAP; X, Y, Width, Height: Integer);
function ExtractIconCount(const FileName: string): Integer;
-function BitmapToIcon(Bitmap: HBITMAP; cx, cy: Integer): HICON;
+function BitmapToIcon(Bitmap: HBITMAP; cx, cy: Integer): HICON; overload;
+function BitmapToIcon(Bitmap, Mask: HBITMAP; cx, cy: Integer): HICON; overload;
function IconToBitmap(Icon: HICON): HBITMAP;
procedure BitmapToJPeg(const FileName: string);
@@ -1674,6 +1675,20 @@
end;
end;
+function BitmapToIcon(Bitmap, Mask: HBITMAP; cx, cy: Integer): HICON;
+var
+ ImgList: HIMAGELIST;
+ I: Integer;
+begin
+ ImgList := ImageList_Create(cx, cy, ILC_COLOR, 1, 1);
+ try
+ I := ImageList_Add(ImgList, Bitmap, Mask);
+ Result := ImageList_GetIcon(ImgList, I, ILD_TRANSPARENT);
+ finally
+ ImageList_Destroy(ImgList);
+ end;
+end;
+
function IconToBitmap(Icon: HICON): HBITMAP;
var
IconInfo: TIconInfo;
Modified: trunk/jcl/source/visclx/JclQGraphics.pas
===================================================================
--- trunk/jcl/source/visclx/JclQGraphics.pas 2007-04-10 08:05:28 UTC (rev 1972)
+++ trunk/jcl/source/visclx/JclQGraphics.pas 2007-04-10 14:40:14 UTC (rev 1973)
@@ -169,7 +169,8 @@
procedure DrawBitmap(DC: HDC; Bitmap: HBITMAP; X, Y, Width, Height: Integer);
function ExtractIconCount(const FileName: string): Integer;
-function BitmapToIcon(Bitmap: HBITMAP; cx, cy: Integer): HICON;
+function BitmapToIcon(Bitmap: HBITMAP; cx, cy: Integer): HICON; overload;
+function BitmapToIcon(Bitmap, Mask: HBITMAP; cx, cy: Integer): HICON; overload;
function IconToBitmap(Icon: HICON): HBITMAP;
{$ENDIF MSWINDOWS}
@@ -988,6 +989,20 @@
end;
end;
+function BitmapToIcon(Bitmap, Mask: HBITMAP; cx, cy: Integer): HICON;
+var
+ ImgList: HIMAGELIST;
+ I: Integer;
+begin
+ ImgList := ImageList_Create(cx, cy, ILC_COLOR, 1, 1);
+ try
+ I := ImageList_Add(ImgList, Bitmap, Mask);
+ Result := ImageList_GetIcon(ImgList, I, ILD_TRANSPARENT);
+ finally
+ ImageList_Destroy(ImgList);
+ end;
+end;
+
function IconToBitmap(Icon: HICON): HBITMAP;
var
IconInfo: TIconInfo;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mar...@us...> - 2007-04-10 08:05:30
|
Revision: 1972
http://svn.sourceforge.net/jcl/?rev=1972&view=rev
Author: marquardt
Date: 2007-04-10 01:05:28 -0700 (Tue, 10 Apr 2007)
Log Message:
-----------
ABlanks of ExtractWords renamed to ADelims, reference counting implementation simplified
Modified Paths:
--------------
trunk/jcl/source/common/JclStringLists.pas
Modified: trunk/jcl/source/common/JclStringLists.pas
===================================================================
--- trunk/jcl/source/common/JclStringLists.pas 2007-04-10 07:49:00 UTC (rev 1971)
+++ trunk/jcl/source/common/JclStringLists.pas 2007-04-10 08:05:28 UTC (rev 1972)
@@ -148,7 +148,7 @@
function Trim: IJclStringList;
function Join(const ASeparator: string = ''): string;
function Split(const AText, ASeparator: string; AClearBeforeAdd: Boolean = True): IJclStringList;
- function ExtractWords(const AText: string; const ABlanks: TSetOfChar = [#0..' ']; AClearBeforeAdd: Boolean = True): IJclStringList;
+ function ExtractWords(const AText: string; const ADelims: TSetOfChar = [#0..' ']; AClearBeforeAdd: Boolean = True): IJclStringList;
function Last: string;
function First: string;
function LastIndex: Integer;
@@ -205,12 +205,6 @@
uses
TypInfo,
- {$IFDEF HAS_UNIT_RTLCONSTS}
- RTLConsts,
- {$ENDIF HAS_UNIT_RTLCONSTS}
- {$IFDEF HAS_UNIT_STRUTILS}
- StrUtils,
- {$ENDIF HAS_UNIT_STRUTILS}
JclPCRE, JclStrings;
type
@@ -293,18 +287,11 @@
procedure EnsureObjectsMode(AMode: TJclStringListObjectsMode);
function GetObjectsMode: TJclStringListObjectsMode;
protected
- { Copied from TInterfacedObject }
FRefCount: Integer;
function QueryInterface(const IID: TGUID; out Obj): HRESULT; stdcall;
function _AddRef: Integer; stdcall;
function _Release: Integer; stdcall;
public
- { Copied from TInterfacedObject }
- procedure AfterConstruction; override;
- procedure BeforeDestruction; override;
- class function NewInstance: TObject; override;
- property RefCount: Integer read FRefCount;
- { New }
constructor Create;
destructor Destroy; override;
function LoadExeParams: IJclStringList;
@@ -324,7 +311,7 @@
function Delimit(const ADelimiter: string): IJclStringList;
function Join(const ASeparator: string = ''): string;
function Split(const AText, ASeparator: string; AClearBeforeAdd: Boolean = True): IJclStringList;
- function ExtractWords(const AText: string; const ABlanks: TSetOfChar = [#0..' '];
+ function ExtractWords(const AText: string; const ADelims: TSetOfChar = [#0..' '];
AClearBeforeAdd: Boolean = True): IJclStringList;
function Last: string;
function First: string;
@@ -479,7 +466,7 @@
Result := FSelfAsInterface;
end;
-function TJclStringListImpl.ExtractWords(const AText: string; const ABlanks: TSetOfChar;
+function TJclStringListImpl.ExtractWords(const AText: string; const ADelims: TSetOfChar;
AClearBeforeAdd: Boolean): IJclStringList;
var
L, I, X: Integer;
@@ -491,10 +478,10 @@
L := Length(AText);
while I <= L do
begin
- while (I <= L) and (AText[I] in ABlanks) do
+ while (I <= L) and (AText[I] in ADelims) do
Inc(I);
X := I;
- while (I <= L) and not (AText[I] in ABlanks) do
+ while (I <= L) and not (AText[I] in ADelims) do
Inc(I);
if X <> I then
Add(Copy(AText, X, I - X));
@@ -507,11 +494,6 @@
Result := Strings[0];
end;
-{
- Joins all the strings in the list.
- ~Param ASeparator The separator for concatenation.
- ~Result A string with all strings of the list.
-}
function TJclStringListImpl.Join(const ASeparator: string): string;
var
I: Integer;
@@ -580,30 +562,17 @@
begin
Result := InterlockedDecrement(FRefCount);
if Result = 1 then
- FSelfAsInterface := nil
+ begin
+ // When there is only one reference, it is the internal reference,
+ // so we release it. The compiler will call _Release again and
+ // the object will be destroyed.
+ FSelfAsInterface := nil;
+ end
else
if Result = 0 then
Destroy;
end;
-procedure TJclStringListImpl.AfterConstruction;
-begin
- // Release the constructor's implicit refcount
- InterlockedDecrement(FRefCount);
-end;
-
-procedure TJclStringListImpl.BeforeDestruction;
-begin
- if RefCount <> 0 then
- raise Exception.Create('A TNewStrinListImpl object would be improperly destroyed.');
-end;
-
-class function TJclStringListImpl.NewInstance: TObject;
-begin
- Result := inherited NewInstance;
- TJclStringListImpl(Result).FRefCount := 1;
-end;
-
function TJclStringListImpl.DeleteRegEx(const APattern: string): IJclStringList;
var
I: Integer;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-04-10 07:49:02
|
Revision: 1971
http://svn.sourceforge.net/jcl/?rev=1971&view=rev
Author: outchy
Date: 2007-04-10 00:49:00 -0700 (Tue, 10 Apr 2007)
Log Message:
-----------
Fixing documentation for IsWin* functions.
Modified Paths:
--------------
trunk/help/SysInfo.dtx
Modified: trunk/help/SysInfo.dtx
===================================================================
--- trunk/help/SysInfo.dtx 2007-04-08 06:07:06 UTC (rev 1970)
+++ trunk/help/SysInfo.dtx 2007-04-10 07:49:00 UTC (rev 1971)
@@ -1127,19 +1127,6 @@
Donator: Nick Hodges
--------------------------------------------------------------------------------
-@@IsWinXP
-<GROUP SystemInformationRoutines.VersionInformation>
-Summary:
- Returns whether the system is running Windows XP
-Description:
- IsWin95 returns whether or not the system is running Windows XP.
-Result:
- If the system is running Windows XP the result is True otherwise the result is False.
-See also:
- IsWin2K
- IsWin98
- IsWinNT4
---------------------------------------------------------------------------------
@@IsWin95
<GROUP SystemInformationRoutines.VersionInformation>
Summary:
@@ -1149,9 +1136,9 @@
Result:
If the system is running Windows 95 the result is True otherwise the result is False.
See also:
- IsWin2K
- IsWin98
- IsWinNT4
+<link IsWin95> <link IsWin95OSR2> <link IsWin98> <link IsWin98SE> <link IsWinME> <link IsWinNT>
+<link IsWinNT3> <link IsWinNT31> <link IsWinNT35> <link IsWinNT351> <link IsWinNT4>
+<link IsWin2K> <link IsWinXP> <link IsWin2003> <link IsWinVista> <link IsWinLonghorn>
Donator: Nick Hodges
--------------------------------------------------------------------------------
@@ -1164,9 +1151,9 @@
Result:
If the system is running Windows 95 OSR 2 the result is True otherwise the result is False.
See also:
- IsWin2K
- IsWin98
- IsWinNT4
+<link IsWin95> <link IsWin98> <link IsWin98SE> <link IsWinME> <link IsWinNT>
+<link IsWinNT3> <link IsWinNT31> <link IsWinNT35> <link IsWinNT351> <link IsWinNT4>
+<link IsWin2K> <link IsWinXP> <link IsWin2003> <link IsWinVista> <link IsWinLonghorn>
Donator: Nick Hodges
--------------------------------------------------------------------------------
@@ -1179,10 +1166,9 @@
Result:
If the system is running Windows 98 the result is True otherwise the result is False.
See also:
- IsWin2K
- IsWin95
- IsWinXP
- IsWinNT4
+<link IsWin95> <link IsWin95OSR2> <link IsWin98SE> <link IsWinME> <link IsWinNT>
+<link IsWinNT3> <link IsWinNT31> <link IsWinNT35> <link IsWinNT351> <link IsWinNT4>
+<link IsWin2K> <link IsWinXP> <link IsWin2003> <link IsWinVista> <link IsWinLonghorn>
Donator: Nick Hodges
--------------------------------------------------------------------------------
@@ -1195,10 +1181,9 @@
Result:
If the system is running Windows 98 SE the result is True otherwise the result is False.
See also:
- IsWin2K
- IsWin95
- IsWinXP
- IsWinNT4
+<link IsWin95> <link IsWin95OSR2> <link IsWin98> <link IsWinME> <link IsWinNT>
+<link IsWinNT3> <link IsWinNT31> <link IsWinNT35> <link IsWinNT351> <link IsWinNT4>
+<link IsWin2K> <link IsWinXP> <link IsWin2003> <link IsWinVista> <link IsWinLonghorn>
Donator: Nick Hodges
--------------------------------------------------------------------------------
@@ -1207,14 +1192,13 @@
Summary:
Returns whether the system is running Windows Millenium
Description:
- IsWin98SE returns whether or not the system is running Windows Millenium.
+ IsWinME returns whether or not the system is running Windows Millenium.
Result:
If the system is running Windows Millenium the result is True otherwise the result is False.
See also:
- IsWin2K
- IsWin95
- IsWinXP
- IsWinNT4
+<link IsWin95> <link IsWin95OSR2> <link IsWin98> <link IsWin98SE> <link IsWinNT>
+<link IsWinNT3> <link IsWinNT31> <link IsWinNT35> <link IsWinNT351> <link IsWinNT4>
+<link IsWin2K> <link IsWinXP> <link IsWin2003> <link IsWinVista> <link IsWinLonghorn>
Donator: Nick Hodges
--------------------------------------------------------------------------------
@@ -1226,16 +1210,13 @@
IsWinNT returns whether or not the system is running Windows NT.
Result:
If the system is running Windows NT the result is True otherwise the result is False.
- You can use the IsWinNT3, IsWinNT4 and IsWin2K
- to further distinguish between the different NT versions.
+ You can use the IsWinNT3, IsWinNT31, IsWinNT35, IsWinNT351, IsWinNT4, IsWin2K, IsWinXP,
+ IsWin2003, IsWinVista or IsWinLonghorn to further distinguish between the different NT
+ versions.
See also:
- IsWin2K
- IsWin95
- IsWin98
- NtProductType
- IsWinNT3
- IsWinNT4
- IsWinXP
+<link IsWin95> <link IsWin95OSR2> <link IsWin98> <link IsWin98SE> <link IsWinME>
+<link IsWinNT3> <link IsWinNT31> <link IsWinNT35> <link IsWinNT351> <link IsWinNT4>
+<link IsWin2K> <link IsWinXP> <link IsWin2003> <link IsWinVista> <link IsWinLonghorn>
Donator: Nick Hodges
--------------------------------------------------------------------------------
@@ -1248,12 +1229,10 @@
Result:
If the system is running Windows NT 3 the result is True otherwise the result is False.
See also:
- IsWin2K
- IsWin95
- IsWin98
- IsWinXP
- NtProductType
- IsWinNT4
+<link IsWin95> <link IsWin95OSR2> <link IsWin98> <link IsWin98SE> <link IsWinME> <link IsWinNT>
+<link IsWinNT31> <link IsWinNT35> <link IsWinNT351> <link IsWinNT4>
+<link IsWin2K> <link IsWinXP> <link IsWin2003> <link IsWinVista> <link IsWinLonghorn>
+<link NtProductType>
Donator: Nick Hodges
--------------------------------------------------------------------------------
@@ -1262,13 +1241,14 @@
Summary:
Returns whether the system is running Windows NT 3.1
Description:
- IsWinNT3 returns whether or not the system is running Windows NT 3.1.
+ IsWinNT31 returns whether or not the system is running Windows NT 3.1.
Result:
If the system is running Windows NT 3.1 the result is True otherwise the result is False.
See also:
- IsWin3
- IsWin35
- NtProductType
+<link IsWin95> <link IsWin95OSR2> <link IsWin98> <link IsWin98SE> <link IsWinME> <link IsWinNT>
+<link IsWinNT3> <link IsWinNT35> <link IsWinNT351> <link IsWinNT4>
+<link IsWin2K> <link IsWinXP> <link IsWin2003> <link IsWinVista> <link IsWinLonghorn>
+<link NtProductType>
Donator: Nick Hodges
--------------------------------------------------------------------------------
@@ -1277,13 +1257,14 @@
Summary:
Returns whether the system is running Windows NT 3.5
Description:
- IsWinNT3 returns whether or not the system is running Windows NT 3.5.
+ IsWinNT35 returns whether or not the system is running Windows NT 3.5.
Result:
If the system is running Windows NT 3.5 the result is True otherwise the result is False.
See also:
- IsWin3
- IsWin31
- NtProductType
+<link IsWin95> <link IsWin95OSR2> <link IsWin98> <link IsWin98SE> <link IsWinME> <link IsWinNT>
+<link IsWinNT3> <link IsWinNT31> <link IsWinNT351> <link IsWinNT4>
+<link IsWin2K> <link IsWinXP> <link IsWin2003> <link IsWinVista> <link IsWinLonghorn>
+<link NtProductType>
Donator: Nick Hodges
--------------------------------------------------------------------------------
@@ -1292,13 +1273,14 @@
Summary:
Returns whether the system is running Windows NT 3.5.1
Description:
- IsWinNT3 returns whether or not the system is running Windows NT 3.5.1.
+ IsWinNT351 returns whether or not the system is running Windows NT 3.5.1.
Result:
If the system is running Windows NT 3.5.1 the result is True otherwise the result is False.
See also:
- IsWin3
- IsWin35
- NtProductType
+<link IsWin95> <link IsWin95OSR2> <link IsWin98> <link IsWin98SE> <link IsWinME> <link IsWinNT>
+<link IsWinNT3> <link IsWinNT31> <link IsWinNT35> <link IsWinNT4>
+<link IsWin2K> <link IsWinXP> <link IsWin2003> <link IsWinVista> <link IsWinLonghorn>
+<link NtProductType>
Donator: Nick Hodges
--------------------------------------------------------------------------------
@@ -1311,12 +1293,10 @@
Result:
If the system is running Windows NT 4 the result is True otherwise the result is False.
See also:
- IsWin2K
- IsWin95
- IsWin98
- IsWinNT3
- IsWinXP
- NtProductType
+<link IsWin95> <link IsWin95OSR2> <link IsWin98> <link IsWin98SE> <link IsWinME> <link IsWinNT>
+<link IsWinNT3> <link IsWinNT31> <link IsWinNT35> <link IsWinNT351>
+<link IsWin2K> <link IsWinXP> <link IsWin2003> <link IsWinVista> <link IsWinLonghorn>
+<link NtProductType>
Donator: Nick Hodges
--------------------------------------------------------------------------------
@@ -1329,16 +1309,27 @@
Result:
If the system is running Windows 2000 the result is True otherwise the result is False.
See also:
- IsWinNT3
- IsWin95
- IsWin98
- NtProductType
- IsWinNT4
- IsWinXP
- IsWin2003
+<link IsWin95> <link IsWin95OSR2> <link IsWin98> <link IsWin98SE> <link IsWinME> <link IsWinNT>
+<link IsWinNT3> <link IsWinNT31> <link IsWinNT35> <link IsWinNT351> <link IsWinNT4>
+<link IsWinXP> <link IsWin2003> <link IsWinVista> <link IsWinLonghorn>
+<link NtProductType>
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
+@@IsWinXP
+<GROUP SystemInformationRoutines.VersionInformation>
+Summary:
+ Returns whether the system is running Windows XP
+Description:
+ IsWinXP returns whether or not the system is running Windows XP.
+Result:
+ If the system is running Windows XP (32 or 64 bit) the result is True otherwise the result is False.
+See Also:
+<link IsWin95> <link IsWin95OSR2> <link IsWin98> <link IsWin98SE> <link IsWinME> <link IsWinNT>
+<link IsWinNT3> <link IsWinNT31> <link IsWinNT35> <link IsWinNT351> <link IsWinNT4>
+<link IsWin2k> <link IsWin2003> <link IsWinVista> <link IsWinLonghorn>
+<link NtProductType>
+--------------------------------------------------------------------------------
@@IsWin2003
<GROUP SystemInformationRoutines.VersionInformation>
Summary:
@@ -1348,16 +1339,45 @@
Result:
If the system is running Windows Server 2003 the result is True otherwise the result is False.
See also:
- IsWinNT3
- IsWin95
- IsWin98
- IsWinNT4
- IsWin2K
- IsWinXP
- NtProductType
+<link IsWin95> <link IsWin95OSR2> <link IsWin98> <link IsWin98SE> <link IsWinME> <link IsWinNT>
+<link IsWinNT3> <link IsWinNT31> <link IsWinNT35> <link IsWinNT351> <link IsWinNT4>
+<link IsWin2k> <link IsWinXP> <link IsWinVista> <link IsWinLonghorn>
+<link NtProductType>
Donator: Petr Vones
--------------------------------------------------------------------------------
+@@IsWinVista
+<GROUP SystemInformationRoutines.VersionInformation>
+Summary:
+ Returns whether the system is running Windows Vista
+Description:
+ IsWinVista returns whether or not the system is running Windows Vista.
+Result:
+ If the system is running Windows Vista the result is True otherwise the result is False.
+See also:
+<link IsWin95> <link IsWin95OSR2> <link IsWin98> <link IsWin98SE> <link IsWinME> <link IsWinNT>
+<link IsWinNT3> <link IsWinNT31> <link IsWinNT35> <link IsWinNT351> <link IsWinNT4>
+<link IsWin2k> <link IsWinXP> <link IsWin2003> <link IsWinLonghorn>
+<link NtProductType>
+
+Donator: Florent Ouchet
+--------------------------------------------------------------------------------
+@@IsWinLonghorn
+<GROUP SystemInformationRoutines.VersionInformation>
+Summary:
+ Returns whether the system is running Windows Longhorn.
+Description:
+ IsWinLonghorn returns whether or not the system is running Windows Longhorn.
+Result:
+ If the system is running Windows Longhorn the result is True otherwise the result is False.
+See also:
+<link IsWin95> <link IsWin95OSR2> <link IsWin98> <link IsWin98SE> <link IsWinME> <link IsWinNT>
+<link IsWinNT3> <link IsWinNT31> <link IsWinNT35> <link IsWinNT351> <link IsWinNT4>
+<link IsWin2k> <link IsWinXP> <link IsWinVista> <link IsWinLonghorn>
+<link NtProductType>
+
+Donator: Florent Ouchet
+--------------------------------------------------------------------------------
@@NtProductType
<GROUP SystemInformationRoutines.VersionInformation>
Summary:
@@ -1380,8 +1400,9 @@
Notes:
On platforms other then Windows NT/2000 this function always returns ptUnknown.
See also:
- IsWinNT
- IsWin2K
+<link IsWinNT> <link IsWinNT3> <link IsWinNT31> <link IsWinNT35> <link IsWinNT351>
+<link IsWinNT4> <link IsWin2k> <link IsWinXP> <link IsWin2003> <link IsWinVista>
+<link IsWinLonghorn> <link NtProductType>
Donator: Marcel van Brakel
Contributors: Scott Price, Jean-Fabien Connault
@@ -2768,3 +2789,6 @@
Donator: Anonymous
+
+@@IsWindows64
+\ \
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mar...@us...> - 2007-04-08 06:07:11
|
Revision: 1970
http://svn.sourceforge.net/jcl/?rev=1970&view=rev
Author: marquardt
Date: 2007-04-07 23:07:06 -0700 (Sat, 07 Apr 2007)
Log Message:
-----------
initial donation
Added Paths:
-----------
trunk/jcl/source/common/JclStringLists.pas
Added: trunk/jcl/source/common/JclStringLists.pas
===================================================================
--- trunk/jcl/source/common/JclStringLists.pas (rev 0)
+++ trunk/jcl/source/common/JclStringLists.pas 2007-04-08 06:07:06 UTC (rev 1970)
@@ -0,0 +1,1340 @@
+{**************************************************************************************************}
+{ }
+{ Project JEDI Code Library (JCL) }
+{ }
+{ The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); }
+{ you may not use this file except in compliance with the License. You may obtain a copy of the }
+{ License at http://www.mozilla.org/MPL/ }
+{ }
+{ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF }
+{ ANY KIND, either express or implied. See the License for the specific language governing rights }
+{ and limitations under the License. }
+{ }
+{ The Original Code is NewStringListUnit.pas. }
+{ }
+{ The Initial Developer of the Original Code is Romullo Sousa. }
+{ Portions created by Romullo Sousa are Copyright (C) Romullo Sousa. All rights reserved. }
+{ }
+{ Contributor(s): }
+{ Romullo Sousa (romullobr) }
+{ Leo Simas (Leh_U) }
+{ }
+{**************************************************************************************************}
+
+// Last modified: $Date: 2006-12-30 10:04:59 +0100 (Sa, 30 Dez 2006) $
+
+unit JclStringLists;
+
+{$I jcl.inc}
+
+interface
+
+uses
+ {$IFDEF UNITVERSIONING}
+ JclUnitVersioning,
+ {$ENDIF UNITVERSIONING}
+ {$IFDEF MSWINDOWS}
+ Windows,
+ {$ENDIF MSWINDOWS}
+ {$IFDEF HAS_UNIT_VARIANTS}
+ Variants,
+ {$ENDIF HAS_UNIT_VARIANTS}
+ Classes, SysUtils,
+ JclBase;
+
+type
+ IJclStringList = interface;
+
+ TJclStringListObjectsMode = (omNone, omObjects, omVariants, omInterfaces);
+
+ TJclStringListSortCompare = function(List: IJclStringList; Index1, Index2: Integer): Integer;
+
+ IJclStringList = interface(IInterface)
+ ['{8DC5B71C-4756-404D-8636-7872CD299796}']
+ { From TStrings/TStringList }
+ function Add(const S: string): Integer; overload;
+ function AddObject(const S: string; AObject: TObject): Integer;
+ function Get(Index: Integer): string;
+ function GetCapacity: Integer;
+ function GetCount: Integer;
+ function GetObjects(Index: Integer): TObject;
+ function GetTextStr: string;
+ function GetValue(const Name: string): string;
+ function Find(const S: string; var Index: Integer): Boolean;
+ function IndexOf(const S: string): Integer;
+ function GetCaseSensitive: Boolean;
+ function GetDuplicates: TDuplicates;
+ function GetOnChange: TNotifyEvent;
+ function GetOnChanging: TNotifyEvent;
+ function GetSorted: Boolean;
+ function Equals(Strings: TStrings): Boolean;
+ function IndexOfName(const Name: string): Integer;
+ function IndexOfObject(AObject: TObject): Integer;
+ function LoadFromFile(const FileName: string): IJclStringList;
+ function LoadFromStream(Stream: TStream): IJclStringList;
+ function SaveToFile(const FileName: string): IJclStringList;
+ function SaveToStream(Stream: TStream): IJclStringList;
+ function GetCommaText: string;
+ function GetDelimitedText: string;
+ function GetDelimiter: Char;
+ function GetName(Index: Integer): string;
+ {$IFDEF COMPILER7_UP}
+ function GetNameValueSeparator: Char;
+ function GetValueFromIndex(Index: Integer): string;
+ {$ENDIF COMPILER7_UP}
+ function GetQuoteChar: Char;
+ procedure SetCommaText(const Value: string);
+ procedure SetDelimitedText(const Value: string);
+ procedure SetDelimiter(const Value: Char);
+ {$IFDEF COMPILER7_UP}
+ procedure SetNameValueSeparator(const Value: Char);
+ procedure SetValueFromIndex(Index: Integer; const Value: string);
+ {$ENDIF COMPILER7_UP}
+ procedure SetQuoteChar(const Value: Char);
+ procedure AddStrings(Strings: TStrings); overload;
+ procedure SetObjects(Index: Integer; const Value: TObject);
+ procedure Put(Index: Integer; const S: string);
+ procedure SetCapacity(NewCapacity: Integer);
+ procedure SetTextStr(const Value: string);
+ procedure SetValue(const Name, Value: string);
+ procedure SetCaseSensitive(const Value: Boolean);
+ procedure SetDuplicates(const Value: TDuplicates);
+ procedure SetOnChange(const Value: TNotifyEvent);
+ procedure SetOnChanging(const Value: TNotifyEvent);
+ procedure SetSorted(const Value: Boolean);
+ property Count: Integer read GetCount;
+ property Strings[Index: Integer]: string read Get write Put; default;
+ property Text: string read GetTextStr write SetTextStr;
+ property Objects[Index: Integer]: TObject read GetObjects write SetObjects;
+ property Capacity: Integer read GetCapacity write SetCapacity;
+ property Values[const Name: string]: string read GetValue write SetValue;
+ property Duplicates: TDuplicates read GetDuplicates write SetDuplicates;
+ property Sorted: Boolean read GetSorted write SetSorted;
+ property CaseSensitive: Boolean read GetCaseSensitive write SetCaseSensitive;
+ property OnChange: TNotifyEvent read GetOnChange write SetOnChange;
+ property OnChanging: TNotifyEvent read GetOnChanging write SetOnChanging;
+ property Delimiter: Char read GetDelimiter write SetDelimiter;
+ property DelimitedText: string read GetDelimitedText write SetDelimitedText;
+ property Names[Index: Integer]: string read GetName;
+ property QuoteChar: Char read GetQuoteChar write SetQuoteChar;
+ property CommaText: string read GetCommaText write SetCommaText;
+ {$IFDEF COMPILER7_UP}
+ property ValueFromIndex[Index: Integer]: string read GetValueFromIndex write SetValueFromIndex;
+ property NameValueSeparator: Char read GetNameValueSeparator write SetNameValueSeparator;
+ {$ENDIF COMPILER7_UP}
+ { New }
+ function Assign(Source: TPersistent): IJclStringList;
+ function LoadExeParams: IJclStringList;
+ function Exists(const S: string): Boolean;
+ function ExistsName(const S: string): Boolean;
+ function DeleteBlanks: IJclStringList;
+ function KeepIntegers: IJclStringList;
+ function DeleteIntegers: IJclStringList;
+ function ReleaseInterfaces: IJclStringList;
+ function FreeObjects(AFreeAndNil: Boolean = False): IJclStringList;
+ function Clone: IJclStringList;
+ function Insert(Index: Integer; const S: string): IJclStringList;
+ function InsertObject(Index: Integer; const S: string; AObject: TObject): IJclStringList;
+ function Sort(ACompareFunction: TJclStringListSortCompare = nil): IJclStringList;
+ function SortAsInteger: IJclStringList;
+ function SortByName: IJclStringList;
+ function Delete(AIndex: Integer): IJclStringList; overload;
+ function Delete(const AString: string): IJclStringList; overload;
+ function Exchange(Index1, Index2: Integer): IJclStringList;
+ function Add(const A: array of const): IJclStringList; overload;
+ function AddStrings(const A: array of string): IJclStringList; overload;
+ function BeginUpdate: IJclStringList;
+ function EndUpdate: IJclStringList;
+ function Trim: IJclStringList;
+ function Join(const ASeparator: string = ''): string;
+ function Split(const AText, ASeparator: string; AClearBeforeAdd: Boolean = True): IJclStringList;
+ function ExtractWords(const AText: string; const ABlanks: TSetOfChar = [#0..' ']; AClearBeforeAdd: Boolean = True): IJclStringList;
+ function Last: string;
+ function First: string;
+ function LastIndex: Integer;
+ function Clear: IJclStringList;
+ function DeleteRegEx(const APattern: string): IJclStringList;
+ function KeepRegEx(const APattern: string): IJclStringList;
+ function Files(const APattern: string = '*'; ARecursive: Boolean = False; const ARegExPattern: string = ''): IJclStringList;
+ function Directories(const APattern: string = '*'; ARecursive: Boolean = False; const ARegExPattern: string = ''): IJclStringList;
+ function GetStringsRef: TStrings;
+ function ConfigAsSet: IJclStringList;
+ function Delimit(const ADelimiter: string): IJclStringList;
+ function GetInterfaceByIndex(Index: Integer): IInterface;
+ function GetLists(Index: Integer): IJclStringList;
+ function GetVariants(AIndex: Integer): Variant;
+ function GetKeyInterface(const AKey: string): IInterface;
+ function GetKeyObject(const AKey: string): TObject;
+ function GetKeyVariant(const AKey: string): Variant;
+ function GetKeyList(const AKey: string): IJclStringList;
+ function GetObjectsMode: TJclStringListObjectsMode;
+ procedure SetInterfaceByIndex(Index: Integer; const Value: IInterface);
+ procedure SetLists(Index: Integer; const Value: IJclStringList);
+ procedure SetVariants(Index: Integer; const Value: Variant);
+ procedure SetKeyInterface(const AKey: string; const Value: IInterface);
+ procedure SetKeyObject(const AKey: string; const Value: TObject);
+ procedure SetKeyVariant(const AKey: string; const Value: Variant);
+ procedure SetKeyList(const AKey: string; const Value: IJclStringList);
+ property Interfaces[Index: Integer]: IInterface read GetInterfaceByIndex write SetInterfaceByIndex;
+ property Lists[Index: Integer]: IJclStringList read GetLists write SetLists;
+ property Variants[Index: Integer]: Variant read GetVariants write SetVariants;
+ property KeyList[const AKey: string]: IJclStringList read GetKeyList write SetKeyList;
+ property KeyObject[const AKey: string]: TObject read GetKeyObject write SetKeyObject;
+ property KeyInterface[const AKey: string]: IInterface read GetKeyInterface write SetKeyInterface;
+ property KeyVariant[const AKey: string]: Variant read GetKeyVariant write SetKeyVariant;
+ property ObjectsMode: TJclStringListObjectsMode read GetObjectsMode;
+ end;
+
+function JclStringList: IJclStringList; overload;
+function JclStringListStrings(AStrings: TStrings): IJclStringList; overload;
+function JclStringListStrings(const A: array of string): IJclStringList; overload;
+function JclStringList(const A: array of const): IJclStringList; overload;
+function JclStringList(const AText: string): IJclStringList; overload;
+
+{$IFDEF UNITVERSIONING}
+const
+ UnitVersioning: TUnitVersionInfo = (
+ RCSfile: '$URL: https://svn.sourceforge.net:443/svnroot/jcl/trunk/jcl/source/common/JclStringLists.pas $';
+ Revision: '$Revision: 1856 $';
+ Date: '$Date: 2006-12-30 10:04:59 +0100 (Sa, 30 Dez 2006) $';
+ LogPath: 'JCL\source\common'
+ );
+{$ENDIF UNITVERSIONING}
+
+implementation
+
+uses
+ TypInfo,
+ {$IFDEF HAS_UNIT_RTLCONSTS}
+ RTLConsts,
+ {$ENDIF HAS_UNIT_RTLCONSTS}
+ {$IFDEF HAS_UNIT_STRUTILS}
+ StrUtils,
+ {$ENDIF HAS_UNIT_STRUTILS}
+ JclPCRE, JclStrings;
+
+type
+ TUpdateControl = class(TObject, IInterface)
+ private
+ FStrings: TStrings;
+ protected
+ function QueryInterface(const IID: TGUID; out Obj): HRESULT; stdcall;
+ function _AddRef: Integer; stdcall;
+ function _Release: Integer; stdcall;
+ public
+ constructor Create(AStrings: TStrings);
+ end;
+
+ TVariantWrapper = class(TObject)
+ private
+ FValue: Variant;
+ end;
+
+ TInterfaceWrapper = class(TObject)
+ private
+ FValue: IInterface;
+ end;
+
+ TJclStringListImpl = class(TStringList, IJclStringList)
+ private
+ FObjectsMode: TJclStringListObjectsMode;
+ FSelfAsInterface: IJclStringList;
+ FLastRegExPattern: string;
+ FRegEx: TJclAnsiRegEx;
+ FUpdateControl: TUpdateControl;
+ function AutoUpdateControl: IInterface;
+ function CanFreeObjects: Boolean;
+ function MatchRegEx(const S, APattern: string): Boolean;
+ function GetLists(Index: Integer): IJclStringList;
+ function GetKeyInterface(const AKey: string): IInterface;
+ function GetKeyObject(const AKey: string): TObject;
+ function GetKeyVariant(const AKey: string): Variant;
+ function GetValue(const Name: string): string;
+ function GetVariants(AIndex: Integer): Variant;
+ function GetKeyList(const AKey: string): IJclStringList;
+ function GetCaseSensitive: Boolean;
+ function GetDuplicates: TDuplicates;
+ function GetOnChange: TNotifyEvent;
+ function GetOnChanging: TNotifyEvent;
+ function GetSorted: Boolean;
+ function GetCommaText: string;
+ function GetDelimitedText: string;
+ function GetDelimiter: Char;
+ function GetName(Index: Integer): string;
+ {$IFDEF COMPILER7_UP}
+ function GetNameValueSeparator: Char;
+ function GetValueFromIndex(Index: Integer): string;
+ {$ENDIF COMPILER7_UP}
+ function GetQuoteChar: Char;
+ function GetInterfaceByIndex(AIndex: Integer): IInterface;
+ function GetObjects(Index: Integer): TObject;
+ procedure SetValue(const Name, Value: string);
+ procedure SetKeyList(const AKey: string; const Value: IJclStringList);
+ procedure SetKeyInterface(const AKey: string; const Value: IInterface);
+ procedure SetKeyObject(const AKey: string; const Value: TObject);
+ procedure SetKeyVariant(const AKey: string; const Value: Variant);
+ procedure SetLists(Index: Integer; const Value: IJclStringList);
+ procedure SetVariants(Index: Integer; const Value: Variant);
+ procedure SetCaseSensitive(const Value: Boolean);
+ procedure SetDuplicates(const Value: TDuplicates);
+ procedure SetOnChange(const Value: TNotifyEvent);
+ procedure SetOnChanging(const Value: TNotifyEvent);
+ procedure SetSorted(const Value: Boolean);
+ procedure SetCommaText(const Value: string);
+ procedure SetDelimitedText(const Value: string);
+ procedure SetDelimiter(const Value: Char);
+ {$IFDEF COMPILER7_UP}
+ procedure SetNameValueSeparator(const Value: Char);
+ procedure SetValueFromIndex(Index: Integer; const Value: string);
+ {$ENDIF COMPILER7_UP}
+ procedure SetQuoteChar(const Value: Char);
+ procedure SetInterfaceByIndex(Index: Integer; const Value: IInterface);
+ procedure SetObjects(Index: Integer; const Value: TObject);
+ procedure EnsureObjectsMode(AMode: TJclStringListObjectsMode);
+ function GetObjectsMode: TJclStringListObjectsMode;
+ protected
+ { Copied from TInterfacedObject }
+ FRefCount: Integer;
+ function QueryInterface(const IID: TGUID; out Obj): HRESULT; stdcall;
+ function _AddRef: Integer; stdcall;
+ function _Release: Integer; stdcall;
+ public
+ { Copied from TInterfacedObject }
+ procedure AfterConstruction; override;
+ procedure BeforeDestruction; override;
+ class function NewInstance: TObject; override;
+ property RefCount: Integer read FRefCount;
+ { New }
+ constructor Create;
+ destructor Destroy; override;
+ function LoadExeParams: IJclStringList;
+ function Exists(const S: string): Boolean;
+ function ExistsName(const S: string): Boolean;
+ function DeleteBlanks: IJclStringList;
+ function KeepIntegers: IJclStringList;
+ function DeleteIntegers: IJclStringList;
+ function ReleaseInterfaces: IJclStringList;
+ function FreeObjects(AFreeAndNil: Boolean = False): IJclStringList;
+ function Clone: IJclStringList;
+ function Add(const A: array of const): IJclStringList; reintroduce; overload;
+ function AddStrings(const A: array of string): IJclStringList; reintroduce; overload;
+ function BeginUpdate: IJclStringList;
+ function EndUpdate: IJclStringList;
+ function Trim: IJclStringList;
+ function Delimit(const ADelimiter: string): IJclStringList;
+ function Join(const ASeparator: string = ''): string;
+ function Split(const AText, ASeparator: string; AClearBeforeAdd: Boolean = True): IJclStringList;
+ function ExtractWords(const AText: string; const ABlanks: TSetOfChar = [#0..' '];
+ AClearBeforeAdd: Boolean = True): IJclStringList;
+ function Last: string;
+ function First: string;
+ function LastIndex: Integer;
+ function Clear: IJclStringList; reintroduce;
+ function DeleteRegEx(const APattern: string): IJclStringList;
+ function KeepRegEx(const APattern: string): IJclStringList;
+ function Files(const APattern: string = '*'; ARecursive: Boolean = False;
+ const ARegExPattern: string = ''): IJclStringList;
+ function Directories(const APattern: string = '*'; ARecursive: Boolean = False;
+ const ARegExPattern: string = ''): IJclStringList;
+ function GetStringsRef: TStrings;
+ function ConfigAsSet: IJclStringList;
+ function Delete(AIndex: Integer): IJclStringList; reintroduce; overload;
+ function Delete(const AString: string): IJclStringList; reintroduce; overload;
+ function Exchange(Index1, Index2: Integer): IJclStringList; reintroduce;
+ function Sort(ACompareFunction: TJclStringListSortCompare = nil): IJclStringList; reintroduce;
+ function SortAsInteger: IJclStringList;
+ function SortByName: IJclStringList;
+ function Insert(Index: Integer; const S: string): IJclStringList; reintroduce;
+ function InsertObject(Index: Integer; const S: string; AObject: TObject): IJclStringList; reintroduce;
+ function LoadFromFile(const FileName: string): IJclStringList; reintroduce;
+ function LoadFromStream(Stream: TStream): IJclStringList; reintroduce;
+ function SaveToFile(const FileName: string): IJclStringList; reintroduce;
+ function SaveToStream(Stream: TStream): IJclStringList; reintroduce;
+ function Assign(Source: TPersistent): IJclStringList; reintroduce;
+ { From TStrings/TStringList }
+ property Values[const Name: string]: string read GetValue write SetValue;
+ property Delimiter: Char read GetDelimiter write SetDelimiter;
+ property DelimitedText: string read GetDelimitedText write SetDelimitedText;
+ property Names[Index: Integer]: string read GetName;
+ property QuoteChar: Char read GetQuoteChar write SetQuoteChar;
+ property CommaText: string read GetCommaText write SetCommaText;
+ {$IFDEF COMPILER7_UP}
+ property ValueFromIndex[Index: Integer]: string read GetValueFromIndex write SetValueFromIndex;
+ property NameValueSeparator: Char read GetNameValueSeparator write SetNameValueSeparator;
+ {$ENDIF COMPILER7_UP}
+ property Duplicates: TDuplicates read GetDuplicates write SetDuplicates;
+ property Sorted: Boolean read GetSorted write SetSorted;
+ property CaseSensitive: Boolean read GetCaseSensitive write SetCaseSensitive;
+ property OnChange: TNotifyEvent read GetOnChange write SetOnChange;
+ property OnChanging: TNotifyEvent read GetOnChanging write SetOnChanging;
+ { New }
+ property Objects[Index: Integer]: TObject read GetObjects write SetObjects;
+ property Interfaces[Index: Integer]: IInterface read GetInterfaceByIndex write SetInterfaceByIndex;
+ property Lists[Index: Integer]: IJclStringList read GetLists write SetLists;
+ property Variants[Index: Integer]: Variant read GetVariants write SetVariants;
+ property KeyList[const AKey: string]: IJclStringList read GetKeyList write SetKeyList;
+ property KeyObject[const AKey: string]: TObject read GetKeyObject write SetKeyObject;
+ property KeyInterface[const AKey: string]: IInterface read GetKeyInterface write SetKeyInterface;
+ property KeyVariant[const AKey: string]: Variant read GetKeyVariant write SetKeyVariant;
+ property ObjectsMode: TJclStringListObjectsMode read GetObjectsMode;
+ end;
+
+function JclStringList: IJclStringList;
+begin
+ Result := TJclStringListImpl.Create;
+end;
+
+function JclStringList(const AText: string): IJclStringList; overload;
+begin
+ Result := JclStringList;
+ Result.Text := AText;
+end;
+
+function JclStringListStrings(AStrings: TStrings): IJclStringList; overload;
+begin
+ Result := JclStringList;
+ Result.AddStrings(AStrings);
+end;
+
+function JclStringListStrings(const A: array of string): IJclStringList;
+begin
+ Result := JclStringList.AddStrings(A);
+end;
+
+function JclStringList(const A: array of const): IJclStringList;
+begin
+ Result := JclStringList.Add(A);
+end;
+
+//=== { TJclStringListImpl } =================================================
+
+function TJclStringListImpl.Add(const A: array of const): IJclStringList;
+var
+ I: Integer;
+begin
+ AutoUpdateControl;
+ for I := Low(A) to High(A) do
+ with A[I] do
+ case VType of
+ vtInteger:
+ Add(IntToStr(VInteger));
+ vtBoolean:
+ Add(BoolToStr(VBoolean));
+ vtChar:
+ Add(VChar);
+ vtExtended:
+ Add(FloatToStr(VExtended^));
+ vtString:
+ Add(VString^);
+ vtPChar:
+ Add(VPChar);
+ vtObject:
+ Add(VObject.ClassName);
+ vtClass:
+ Add(VClass.ClassName);
+ vtAnsiString:
+ Add(string(VAnsiString));
+ vtCurrency:
+ Add(CurrToStr(VCurrency^));
+ vtVariant:
+ Add(string(VVariant^));
+ vtInt64:
+ Add(IntToStr(VInt64^));
+ end;
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.AddStrings(const A: array of string): IJclStringList;
+var
+ I: Integer;
+begin
+ AutoUpdateControl;
+ for I := Low(A) to High(A) do
+ Add(A[I]);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.BeginUpdate: IJclStringList;
+begin
+ inherited BeginUpdate;
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.AutoUpdateControl: IInterface;
+begin
+ Result := FUpdateControl as IInterface;
+end;
+
+function TJclStringListImpl.Clear: IJclStringList;
+begin
+ if CanFreeObjects then
+ FreeObjects(False);
+ inherited Clear;
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.EndUpdate: IJclStringList;
+begin
+ inherited EndUpdate;
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.ExtractWords(const AText: string; const ABlanks: TSetOfChar;
+ AClearBeforeAdd: Boolean): IJclStringList;
+var
+ L, I, X: Integer;
+begin
+ AutoUpdateControl;
+ if AClearBeforeAdd then
+ Clear;
+ I := 1;
+ L := Length(AText);
+ while I <= L do
+ begin
+ while (I <= L) and (AText[I] in ABlanks) do
+ Inc(I);
+ X := I;
+ while (I <= L) and not (AText[I] in ABlanks) do
+ Inc(I);
+ if X <> I then
+ Add(Copy(AText, X, I - X));
+ end;
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.First: string;
+begin
+ Result := Strings[0];
+end;
+
+{
+ Joins all the strings in the list.
+ ~Param ASeparator The separator for concatenation.
+ ~Result A string with all strings of the list.
+}
+function TJclStringListImpl.Join(const ASeparator: string): string;
+var
+ I: Integer;
+begin
+ Result := '';
+ for I := 0 to LastIndex - 1 do
+ Result := Result + Strings[I] + ASeparator;
+ if Count > 0 then
+ Result := Result + Last;
+end;
+
+function TJclStringListImpl.Last: string;
+begin
+ Result := Strings[LastIndex];
+end;
+
+function TJclStringListImpl.QueryInterface(const IID: TGUID; out Obj): HRESULT;
+begin
+ if GetInterface(IID, Obj) then
+ Result := 0
+ else
+ Result := E_NOINTERFACE;
+end;
+
+function TJclStringListImpl.Split(const AText, ASeparator: string;
+ AClearBeforeAdd: Boolean = True): IJclStringList;
+var
+ LStartIndex, LEndIndex: Integer;
+ LLengthSeparator: Integer;
+begin
+ if AText <> '' then
+ begin
+ AutoUpdateControl;
+ if AClearBeforeAdd then
+ Clear;
+ LLengthSeparator := Length(ASeparator);
+ LStartIndex := 1;
+ LEndIndex := StrSearch(ASeparator, AText, LStartIndex);
+ while LEndIndex > 0 do
+ begin
+ Add(Copy(AText, LStartIndex, LEndIndex - LStartIndex));
+ LStartIndex := LEndIndex + LLengthSeparator;
+ LEndIndex := StrSearch(ASeparator, AText, LStartIndex);
+ end;
+ Add(Copy(AText, LStartIndex, MaxInt));
+ end;
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.Trim: IJclStringList;
+var
+ I: Integer;
+begin
+ AutoUpdateControl;
+ for I := 0 to LastIndex do
+ Strings[I] := SysUtils.Trim(Strings[I]);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl._AddRef: Integer;
+begin
+ Result := InterlockedIncrement(FRefCount);
+end;
+
+function TJclStringListImpl._Release: Integer;
+begin
+ Result := InterlockedDecrement(FRefCount);
+ if Result = 1 then
+ FSelfAsInterface := nil
+ else
+ if Result = 0 then
+ Destroy;
+end;
+
+procedure TJclStringListImpl.AfterConstruction;
+begin
+ // Release the constructor's implicit refcount
+ InterlockedDecrement(FRefCount);
+end;
+
+procedure TJclStringListImpl.BeforeDestruction;
+begin
+ if RefCount <> 0 then
+ raise Exception.Create('A TNewStrinListImpl object would be improperly destroyed.');
+end;
+
+class function TJclStringListImpl.NewInstance: TObject;
+begin
+ Result := inherited NewInstance;
+ TJclStringListImpl(Result).FRefCount := 1;
+end;
+
+function TJclStringListImpl.DeleteRegEx(const APattern: string): IJclStringList;
+var
+ I: Integer;
+begin
+ AutoUpdateControl;
+ for I := LastIndex downto 0 do
+ if MatchRegEx(Strings[I], APattern) then
+ Delete(I);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.KeepRegEx(const APattern: string): IJclStringList;
+var
+ I: Integer;
+begin
+ AutoUpdateControl;
+ for I := LastIndex downto 0 do
+ if not MatchRegEx(Strings[I], APattern) then
+ Delete(I);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.MatchRegEx(const S, APattern: string): Boolean;
+begin
+ if FRegEx = nil then
+ FRegEx := TJclAnsiRegEx.Create;
+ if FLastRegExPattern <> APattern then
+ begin
+ if CaseSensitive then
+ FRegEx.Options := FRegEx.Options - [roIgnoreCase]
+ else
+ FRegEx.Options := FRegEx.Options + [roIgnoreCase];
+ FRegEx.Compile(APattern, False, True);
+ FLastRegExPattern := APattern;
+ end;
+ Result := FRegEx.Match(S);
+end;
+
+destructor TJclStringListImpl.Destroy;
+begin
+ if CanFreeObjects then
+ FreeObjects(False);
+ FreeAndNil(FUpdateControl);
+ FreeAndNil(FRegEx);
+ inherited Destroy;
+end;
+
+function TJclStringListImpl.Directories(const APattern: string = '*';
+ ARecursive: Boolean = False; const ARegExPattern: string = ''): IJclStringList;
+
+ procedure DoDirectories(const APattern: string);
+ var
+ LSearchRec: TSearchRec;
+ LFullName: string;
+ LPath: string;
+ begin
+ LPath := ExtractFilePath(APattern);
+ if FindFirst(APattern, faAnyFile, LSearchRec) = 0 then
+ try
+ repeat
+ if (LSearchRec.Attr and faDirectory = 0) or
+ (LSearchRec.Name = '.') or (LSearchRec.Name = '..') then
+ Continue;
+ LFullName := LPath + LSearchRec.Name;
+ if (ARegExPattern = '') or MatchRegEx(LFullName, ARegExPattern) then
+ Add(LFullName);
+ if ARecursive then
+ DoDirectories(IncludeTrailingPathDelimiter(LFullName) + ExtractFileName(APattern));
+ until FindNext(LSearchRec) <> 0;
+ finally
+ FindClose(LSearchRec);
+ end;
+ end;
+
+begin
+ AutoUpdateControl;
+ if DirectoryExists(APattern) then
+ DoDirectories(IncludeTrailingPathDelimiter(APattern) + '*')
+ else
+ DoDirectories(APattern);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.Files(const APattern: string = '*';
+ ARecursive: Boolean = False; const ARegExPattern: string = ''): IJclStringList;
+
+ procedure DoFiles(const APattern: string);
+ var
+ LSearchRec: TSearchRec;
+ LFullName: string;
+ LDirectories: IJclStringList;
+ LPath: string;
+ I: Integer;
+ begin
+ LPath := ExtractFilePath(APattern);
+ if FindFirst(APattern, faAnyFile and not faDirectory, LSearchRec) = 0 then
+ begin
+ try
+ repeat
+ if (LSearchRec.Attr and faDirectory <> 0) or
+ (LSearchRec.Name = '.') or (LSearchRec.Name = '..') then
+ Continue;
+ LFullName := LPath + LSearchRec.Name;
+ if (ARegExPattern = '') or MatchRegEx(LFullName, ARegExPattern) then
+ Add(LFullName);
+ until FindNext(LSearchRec) <> 0;
+ finally
+ FindClose(LSearchRec);
+ end;
+ end;
+ if ARecursive then
+ begin
+ LDirectories := JclStringList.Directories(LPath + '*', False);
+ for I := 0 to LDirectories.LastIndex do
+ DoFiles(IncludeTrailingPathDelimiter(LDirectories[I]) + ExtractFileName(APattern));
+ end;
+ end;
+
+begin
+ AutoUpdateControl;
+ if DirectoryExists(APattern) then
+ DoFiles(IncludeTrailingPathDelimiter(APattern) + '*')
+ else
+ DoFiles(APattern);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.LastIndex: Integer;
+begin
+ { The code bellow is more optimized than "Result := Count - 1". }
+ Result := Count;
+ Dec(Result);
+end;
+
+constructor TJclStringListImpl.Create;
+begin
+ inherited Create;
+ FUpdateControl := TUpdateControl.Create(Self);
+ if QueryInterface(IJclStringList, FSelfAsInterface) <> 0 then
+ System.Error(reIntfCastError);
+end;
+
+function TJclStringListImpl.GetLists(Index: Integer): IJclStringList;
+begin
+ Result := Interfaces[Index] as IJclStringList;
+ if Result = nil then
+ begin
+ Result := JclStringList;
+ Interfaces[Index] := Result;
+ end;
+end;
+
+procedure TJclStringListImpl.SetLists(Index: Integer; const Value: IJclStringList);
+begin
+ Interfaces[Index] := Value;
+end;
+
+function TJclStringListImpl.GetStringsRef: TStrings;
+begin
+ Result := Self;
+end;
+
+function TJclStringListImpl.GetKeyInterface(const AKey: string): IInterface;
+var
+ I: Integer;
+begin
+ I := IndexOf(AKey);
+ if I >= 0 then
+ Result := Interfaces[I]
+ else
+ Result := nil;
+end;
+
+function TJclStringListImpl.GetKeyObject(const AKey: string): TObject;
+var
+ I: Integer;
+begin
+ I := IndexOf(AKey);
+ if I >= 0 then
+ Result := Objects[I]
+ else
+ Result := nil;
+end;
+
+procedure TJclStringListImpl.SetKeyInterface(const AKey: string; const Value: IInterface);
+var
+ I: Integer;
+begin
+ I := IndexOf(AKey);
+ if I < 0 then
+ I := Add(AKey);
+ Interfaces[I] := Value
+end;
+
+procedure TJclStringListImpl.SetKeyObject(const AKey: string; const Value: TObject);
+var
+ I: Integer;
+begin
+ I := IndexOf(AKey);
+ if I < 0 then
+ AddObject(AKey, Value)
+ else
+ Objects[I] := Value;
+end;
+
+function TJclStringListImpl.ConfigAsSet: IJclStringList;
+begin
+ Sorted := True;
+ Duplicates := dupIgnore;
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.GetKeyVariant(const AKey: string): Variant;
+var
+ I: Integer;
+begin
+ I := IndexOf(AKey);
+ if I >= 0 then
+ Result := Variants[I]
+ else
+ Result := Unassigned;
+end;
+
+procedure TJclStringListImpl.SetKeyVariant(const AKey: string; const Value: Variant);
+var
+ I: Integer;
+begin
+ I := IndexOf(AKey);
+ if I < 0 then
+ I := Add(AKey);
+ Variants[I] := Value
+end;
+
+function TJclStringListImpl.GetValue(const Name: string): string;
+begin
+ Result := inherited Values[Name];
+end;
+
+procedure TJclStringListImpl.SetValue(const Name, Value: string);
+begin
+ inherited Values[Name] := Value;
+end;
+
+function TJclStringListImpl.GetInterfaceByIndex(AIndex: Integer): IInterface;
+var
+ V: TInterfaceWrapper;
+begin
+ if FObjectsMode <> omInterfaces then
+ EnsureObjectsMode(omInterfaces);
+ V := TInterfaceWrapper(inherited Objects[AIndex]);
+ if V = nil then
+ Result := nil
+ else
+ Result := V.FValue;
+end;
+
+procedure TJclStringListImpl.SetInterfaceByIndex(Index: Integer; const Value: IInterface);
+var
+ V: TInterfaceWrapper;
+begin
+ if FObjectsMode <> omInterfaces then
+ EnsureObjectsMode(omInterfaces);
+ V := TInterfaceWrapper(inherited Objects[Index]);
+ if V = nil then
+ begin
+ V := TInterfaceWrapper.Create;
+ inherited Objects[Index] := V;
+ end;
+ V.FValue := Value;
+end;
+
+function TJclStringListImpl.GetObjects(Index: Integer): TObject;
+begin
+ if FObjectsMode <> omObjects then
+ EnsureObjectsMode(omObjects);
+ Result := inherited Objects[Index];
+end;
+
+procedure TJclStringListImpl.SetObjects(Index: Integer; const Value: TObject);
+begin
+ if FObjectsMode <> omObjects then
+ EnsureObjectsMode(omObjects);
+ inherited Objects[Index] := Value;
+end;
+
+function TJclStringListImpl.GetVariants(AIndex: Integer): Variant;
+var
+ V: TVariantWrapper;
+begin
+ if FObjectsMode <> omVariants then
+ EnsureObjectsMode(omVariants);
+ V := TVariantWrapper(inherited Objects[AIndex]);
+ if V = nil then
+ Result := Unassigned
+ else
+ Result := V.FValue;
+end;
+
+procedure TJclStringListImpl.SetVariants(Index: Integer; const Value: Variant);
+var
+ V: TVariantWrapper;
+begin
+ if FObjectsMode <> omVariants then
+ EnsureObjectsMode(omVariants);
+ V := TVariantWrapper(inherited Objects[Index]);
+ if V = nil then
+ begin
+ V := TVariantWrapper.Create;
+ inherited Objects[Index] := V;
+ end;
+ V.FValue := Value;
+end;
+
+procedure TJclStringListImpl.EnsureObjectsMode(AMode: TJclStringListObjectsMode);
+begin
+ if FObjectsMode <> AMode then
+ begin
+ if FObjectsMode <> omNone then
+ begin
+ raise Exception.CreateFmt('Objects cannot be used as "%s" because it has been used as "%s".',
+ [GetEnumName(TypeInfo(TJclStringListObjectsMode), Ord(AMode)),
+ GetEnumName(TypeInfo(TJclStringListObjectsMode), Ord(FObjectsMode))]);
+ end;
+ FObjectsMode := AMode;
+ end;
+end;
+
+function TJclStringListImpl.GetKeyList(const AKey: string): IJclStringList;
+begin
+ Result := KeyInterface[AKey] as IJclStringList;
+ if Result = nil then
+ begin
+ Result := JclStringList;
+ KeyInterface[AKey] := Result;
+ end;
+end;
+
+procedure TJclStringListImpl.SetKeyList(const AKey: string; const Value: IJclStringList);
+begin
+ KeyInterface[AKey] := Value;
+end;
+
+function TJclStringListImpl.Delete(AIndex: Integer): IJclStringList;
+begin
+ if CanFreeObjects then
+ inherited Objects[AIndex].Free;
+ inherited Delete(AIndex);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.Delete(const AString: string): IJclStringList;
+begin
+ Result := Delete(IndexOf(AString));
+end;
+
+function TJclStringListImpl.Exchange(Index1, Index2: Integer): IJclStringList;
+begin
+ inherited Exchange(Index1, Index2);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.Sort(ACompareFunction: TJclStringListSortCompare = nil): IJclStringList;
+
+ function LocalSort(List: TStringList; Index1, Index2: Integer): Integer;
+ begin
+ Result := ACompareFunction(FSelfAsInterface, Index1, Index2);
+ end;
+
+begin
+ if not Assigned(ACompareFunction) then
+ inherited Sort
+ else
+ inherited CustomSort(@LocalSort);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.SortAsInteger: IJclStringList;
+
+ function LocalSortAsInteger(List: TStringList; Index1, Index2: Integer): Integer;
+ begin
+ Result := StrToInt(List[Index1]) - StrToInt(List[Index2]);
+ end;
+
+begin
+ inherited CustomSort(@LocalSortAsInteger);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.SortByName: IJclStringList;
+
+ function LocalSortByName(List: TStringList; Index1, Index2: Integer): Integer;
+ begin
+ Result := TJclStringListImpl(List).CompareStrings(List.Names[Index1], List.Names[Index2]);
+ end;
+
+begin
+ inherited CustomSort(@LocalSortByName);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.Insert(Index: Integer; const S: string): IJclStringList;
+begin
+ inherited Insert(Index, S);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.InsertObject(Index: Integer; const S: string; AObject: TObject): IJclStringList;
+begin
+ inherited InsertObject(Index, S, AObject);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.GetCaseSensitive: Boolean;
+begin
+ Result := inherited CaseSensitive;
+end;
+
+function TJclStringListImpl.GetDuplicates: TDuplicates;
+begin
+ Result := inherited Duplicates;
+end;
+
+function TJclStringListImpl.GetOnChange: TNotifyEvent;
+begin
+ Result := inherited OnChange;
+end;
+
+function TJclStringListImpl.GetOnChanging: TNotifyEvent;
+begin
+ Result := inherited OnChanging;
+end;
+
+function TJclStringListImpl.GetSorted: Boolean;
+begin
+ Result := inherited Sorted;
+end;
+
+procedure TJclStringListImpl.SetCaseSensitive(const Value: Boolean);
+begin
+ inherited CaseSensitive := Value;
+end;
+
+procedure TJclStringListImpl.SetDuplicates(const Value: TDuplicates);
+begin
+ inherited Duplicates := Value;
+end;
+
+procedure TJclStringListImpl.SetOnChange(const Value: TNotifyEvent);
+begin
+ inherited OnChange := Value;
+end;
+
+procedure TJclStringListImpl.SetOnChanging(const Value: TNotifyEvent);
+begin
+ inherited OnChanging := Value;
+end;
+
+procedure TJclStringListImpl.SetSorted(const Value: Boolean);
+begin
+ inherited Sorted := Value;
+end;
+
+function TJclStringListImpl.LoadFromFile(const FileName: string): IJclStringList;
+begin
+ inherited LoadFromFile(FileName);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.LoadFromStream(Stream: TStream): IJclStringList;
+begin
+ inherited LoadFromStream(Stream);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.SaveToFile(const FileName: string): IJclStringList;
+begin
+ inherited SaveToFile(FileName);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.SaveToStream(Stream: TStream): IJclStringList;
+begin
+ inherited SaveToStream(Stream);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.GetCommaText: string;
+begin
+ Result := inherited CommaText;
+end;
+
+function TJclStringListImpl.GetDelimitedText: string;
+begin
+ Result := inherited DelimitedText;
+end;
+
+function TJclStringListImpl.GetDelimiter: Char;
+begin
+ Result := inherited Delimiter;
+end;
+
+function TJclStringListImpl.GetName(Index: Integer): string;
+begin
+ Result := inherited Names[Index];
+end;
+
+{$IFDEF COMPILER7_UP}
+
+function TJclStringListImpl.GetNameValueSeparator: Char;
+begin
+ Result := inherited NameValueSeparator;
+end;
+
+function TJclStringListImpl.GetValueFromIndex(Index: Integer): string;
+begin
+ Result := inherited ValueFromIndex[Index];
+end;
+
+{$ENDIF COMPILER7_UP}
+
+function TJclStringListImpl.GetQuoteChar: Char;
+begin
+ Result := inherited QuoteChar;
+end;
+
+procedure TJclStringListImpl.SetCommaText(const Value: string);
+begin
+ inherited CommaText := Value;
+end;
+
+procedure TJclStringListImpl.SetDelimitedText(const Value: string);
+begin
+ inherited DelimitedText := Value;
+end;
+
+procedure TJclStringListImpl.SetDelimiter(const Value: Char);
+begin
+ inherited Delimiter := Value;
+end;
+
+{$IFDEF COMPILER7_UP}
+
+procedure TJclStringListImpl.SetNameValueSeparator(const Value: Char);
+begin
+ inherited NameValueSeparator := Value;
+end;
+
+procedure TJclStringListImpl.SetValueFromIndex(Index: Integer; const Value: string);
+begin
+ inherited ValueFromIndex[Index] := Value;
+end;
+
+{$ENDIF COMPILER7_UP}
+
+procedure TJclStringListImpl.SetQuoteChar(const Value: Char);
+begin
+ inherited QuoteChar := Value;
+end;
+
+function TJclStringListImpl.Delimit(const ADelimiter: string): IJclStringList;
+var
+ I: Integer;
+begin
+ AutoUpdateControl;
+ for I := 0 to LastIndex do
+ Strings[I] := ADelimiter + Strings[I] + ADelimiter;
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.LoadExeParams: IJclStringList;
+var
+ I: Integer;
+ S: string;
+begin
+ AutoUpdateControl;
+ Clear;
+ for I := 1 to ParamCount do
+ begin
+ S := ParamStr(I);
+ if S[1] in ['-', '/'] then
+ System.Delete(S, 1, 1);
+ Add(S);
+ end;
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.Exists(const S: string): Boolean;
+begin
+ Result := IndexOf(S) >= 0;
+end;
+
+function TJclStringListImpl.ExistsName(const S: string): Boolean;
+begin
+ Result := IndexOfName(S) >= 0;
+end;
+
+function TJclStringListImpl.DeleteBlanks: IJclStringList;
+var
+ I: Integer;
+begin
+ AutoUpdateControl;
+ for I := LastIndex downto 0 do
+ if SysUtils.Trim(Strings[I]) = '' then
+ Delete(I);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.KeepIntegers: IJclStringList;
+var
+ I, X: Integer;
+begin
+ AutoUpdateControl;
+ for I := LastIndex downto 0 do
+ if not TryStrToInt(Strings[I], X) then
+ Delete(I);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.DeleteIntegers: IJclStringList;
+var
+ I, X: Integer;
+begin
+ AutoUpdateControl;
+ for I := LastIndex downto 0 do
+ if TryStrToInt(Strings[I], X) then
+ Delete(I);
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.FreeObjects(AFreeAndNil: Boolean = False): IJclStringList;
+var
+ I: Integer;
+begin
+ if AFreeAndNil then
+ AutoUpdateControl;
+ for I := 0 to LastIndex do
+ begin
+ inherited Objects[I].Free;
+ if AFreeAndNil then
+ inherited Objects[I] := nil;
+ end;
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.ReleaseInterfaces: IJclStringList;
+var
+ I: Integer;
+begin
+ AutoUpdateControl;
+ for I := 0 to LastIndex do
+ Interfaces[I] := nil;
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.Clone: IJclStringList;
+begin
+ Result := JclStringList.Assign(Self);
+end;
+
+function TJclStringListImpl.Assign(Source: TPersistent): IJclStringList;
+var
+ L: TJclStringListImpl;
+ I: Integer;
+begin
+ inherited Assign(Source);
+ if Source is TJclStringListImpl then
+ begin
+ L := TJclStringListImpl(Source);
+ FObjectsMode := L.FObjectsMode;
+ if not (FObjectsMode in [omNone, omObjects]) then
+ begin
+ AutoUpdateControl;
+ for I := 0 to LastIndex do
+ begin
+ inherited Objects[I] := nil;
+ case FObjectsMode of
+ omVariants:
+ Variants[I] := L.Variants[I];
+ omInterfaces:
+ Interfaces[I] := L.Interfaces[I];
+ end;
+ end;
+ end;
+ end;
+ Result := FSelfAsInterface;
+end;
+
+function TJclStringListImpl.CanFreeObjects: Boolean;
+begin
+ Result := not (FObjectsMode in [omNone, omObjects]);
+end;
+
+function TJclStringListImpl.GetObjectsMode: TJclStringListObjectsMode;
+begin
+ Result := FObjectsMode;
+end;
+
+//=== { TUpdateControl } =====================================================
+
+constructor TUpdateControl.Create(AStrings: TStrings);
+begin
+ inherited Create;
+ FStrings := AStrings;
+end;
+
+function TUpdateControl._AddRef: Integer;
+begin
+ FStrings.BeginUpdate;
+ Result := 0;
+end;
+
+function TUpdateControl._Release: Integer;
+begin
+ FStrings.EndUpdate;
+ Result := 0;
+end;
+
+function TUpdateControl.QueryInterface(const IID: TGUID; out Obj): HRESULT;
+begin
+ if GetInterface(IID, Obj) then
+ Result := S_OK
+ else
+ Result := E_NOINTERFACE;
+end;
+
+{$IFDEF UNITVERSIONING}
+initialization
+ RegisterUnitVersion(HInstance, UnitVersioning);
+
+finalization
+ UnregisterUnitVersion(HInstance);
+{$ENDIF UNITVERSIONING}
+
+end.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mar...@us...> - 2007-04-08 06:06:35
|
Revision: 1969
http://svn.sourceforge.net/jcl/?rev=1969&view=rev
Author: marquardt
Date: 2007-04-07 23:06:34 -0700 (Sat, 07 Apr 2007)
Log Message:
-----------
basic set types added
Modified Paths:
--------------
trunk/jcl/source/common/JclBase.pas
Modified: trunk/jcl/source/common/JclBase.pas
===================================================================
--- trunk/jcl/source/common/JclBase.pas 2007-04-07 21:17:42 UTC (rev 1968)
+++ trunk/jcl/source/common/JclBase.pas 2007-04-08 06:06:34 UTC (rev 1969)
@@ -228,6 +228,10 @@
AnsiHexPrefix = AnsiHexPrefixPascal;
{$ENDIF ~BCB}
+// basic set types
+type
+ TSetOfChar = set of Char;
+
{$IFNDEF XPLATFORM_RTL}
procedure RaiseLastOSError;
{$ENDIF ~XPLATFORM_RTL}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-04-07 21:17:43
|
Revision: 1968
http://svn.sourceforge.net/jcl/?rev=1968&view=rev
Author: outchy
Date: 2007-04-07 14:17:42 -0700 (Sat, 07 Apr 2007)
Log Message:
-----------
option to select PCRE options in the installer (dynamically binded, statically binded, statically linked)
fixing calling conventions for PCRE when statically linked (it defaults to fastcall.
added message about updating version of PCRE
Modified Paths:
--------------
trunk/jcl/install/JclInstall.pas
trunk/jcl/source/common/JclPCRE.pas
trunk/jcl/source/common/pcre.pas
trunk/jcl/source/jcl.inc
trunk/jcl/source/jcl.template.inc
trunk/jcl/source/windows/obj/pcre/makefile.mak
trunk/jcl/source/windows/obj/pcre/pcre_compile.obj
trunk/jcl/source/windows/obj/pcre/pcre_config.obj
trunk/jcl/source/windows/obj/pcre/pcre_default_tables.obj
trunk/jcl/source/windows/obj/pcre/pcre_dfa_exec.obj
trunk/jcl/source/windows/obj/pcre/pcre_exec.obj
trunk/jcl/source/windows/obj/pcre/pcre_fullinfo.obj
trunk/jcl/source/windows/obj/pcre/pcre_get.obj
trunk/jcl/source/windows/obj/pcre/pcre_globals.obj
trunk/jcl/source/windows/obj/pcre/pcre_info.obj
trunk/jcl/source/windows/obj/pcre/pcre_maketables.obj
trunk/jcl/source/windows/obj/pcre/pcre_newline.obj
trunk/jcl/source/windows/obj/pcre/pcre_ord2utf8.obj
trunk/jcl/source/windows/obj/pcre/pcre_refcount.obj
trunk/jcl/source/windows/obj/pcre/pcre_study.obj
trunk/jcl/source/windows/obj/pcre/pcre_tables.obj
trunk/jcl/source/windows/obj/pcre/pcre_try_flipped.obj
trunk/jcl/source/windows/obj/pcre/pcre_ucp_searchfuncs.obj
trunk/jcl/source/windows/obj/pcre/pcre_valid_utf8.obj
trunk/jcl/source/windows/obj/pcre/pcre_version.obj
trunk/jcl/source/windows/obj/pcre/pcre_xclass.obj
Added Paths:
-----------
trunk/thirdparty/pcre/how-to-update.txt
Modified: trunk/jcl/install/JclInstall.pas
===================================================================
--- trunk/jcl/install/JclInstall.pas 2007-04-07 06:36:05 UTC (rev 1967)
+++ trunk/jcl/install/JclInstall.pas 2007-04-07 21:17:42 UTC (rev 1968)
@@ -38,13 +38,17 @@
TJclOption = (
joLibrary,
joDef,
+ joDefMath,
+ joDefDebug,
+ joDefEDI,
+ joDefPCRE,
joDefThreadSafe,
joDefDropObsoleteCode,
+ joDefUnitVersioning,
joDefMathPrecSingle,
joDefMathPrecDouble,
joDefMathPrecExtended,
joDefMathExtremeValues,
- joDefUnitVersioning,
joDefHookDllExceptions,
joDefDebugNoBinary,
joDefDebugNoTD32,
@@ -52,6 +56,9 @@
joDefDebugNoExports,
joDefDebugNoSymbols,
joDefEDIWeakPackageUnits,
+ joDefPCREStaticLink,
+ joDefPCRELinkDLL,
+ joDefPCRELinkOnRequest,
joEnvironment,
joEnvLibPath,
joEnvBrowsingPath,
@@ -306,19 +313,30 @@
RsCaptionDef = 'Conditional defines';
RsCaptionDefThreadSafe = 'Enable thread safe code';
RsCaptionDefDropObsoleteCode = 'Drop obsolete code';
+ RsCaptionDefUnitVersioning = 'Include Unit Versioning';
+ // math options
+ RsCaptionDefMath = 'Math options';
RsCaptionDefMathPrecSingle = 'Single float precision';
RsCaptionDefMathPrecDouble = 'Double float precision';
RsCaptionDefMathPrecExtended = 'Extended float precision';
RsCaptionDefMathExtremeValues = 'Support for infinite and NaN';
- RsCaptionDefUnitVersioning = 'Include Unit Versioning';
+ // debug options
+ RsCaptionDefDebug = 'Debug and exception hooking options';
RsCaptionDefHookDllExceptions = 'Hook exceptions in DLL';
RsCaptionDefDebugNoBinary = 'No debug source from Jedi debug informations';
RsCaptionDefDebugNoTD32 = 'No debug source from TD32 debug symbols';
RsCaptionDefDebugNoMap = 'No debug source from Map files';
RsCaptionDefDebugNoExports = 'No debug source from function export table for libraries';
RsCaptionDefDebugNoSymbols = 'No debug source from Microsoft debug symbols';
+ // EDI options
+ RsCaptionDefEDI = 'EDI options';
RsCaptionDefEDIWeakPackageUnits = 'EDI weak package units';
-
+ // PCRE options
+ RsCaptionDefPCRE = 'PCRE options';
+ RsCaptionDefPCREStaticLink = 'Static link to PCRE code';
+ RsCaptionDefPCRELinkDLL = 'Static bind to pcre.dll';
+ RsCaptionDefPCRELinkOnRequest = 'Late bind to pcre.dll';
+
// post compilation
RsCaptionPdbCreate = 'Create PDB debug information';
RsCaptionMapCreate = 'Create MAP files';
@@ -382,18 +400,29 @@
RsHintDef = 'Enable or disable specific features to be compiled';
RsHintDefThreadSafe = 'Conditionally some pieces of code to be thread safe, the ThreadSafe.txt file contains more informations about this feature';
RsHintDefDropObsoleteCode = 'Do not compile deprecated code';
+ RsHintDefUnitVersioning = 'Includes JCL Unit Versioning informations into each JCL unit (see also JclUnitVersioning.pas)';
+ // math options
+ RsHintDefMath = 'Math specific options (JclMath.pas)';
RsHintDefMathPrecSingle = 'type Float = Single';
RsHintDefMathPrecDouble = 'type Float = Double';
RsHintDefMathPrecExtended = 'type Float = Extended';
RsHintDefMathExtremeValues = 'Exp en Power functions accept and return infinite and NaN';
- RsHintDefUnitVersioning = 'Includes JCL Unit Versioning informations into each JCL unit (see also JclUnitVersioning.pas)';
+ // Debug options
+ RsHintDefDebug = 'Debug and exception hooking specific options (JclDebug.pas and JclHookExcept.pas)';
RsHintDefHookDllExceptions = 'Hook exceptions raised in DLL compiled with the JCL';
RsHintDefDebugNoBinary = 'Disable support for JDBG files';
RsHintDefDebugNoMap = 'Disable support for MAP files';
RsHintDefDebugNoTD32 = 'Disable support for TD32 informations';
RsHintDefDebugNoExports = 'Disable support for export names of libraries';
RsHintDefDebugNoSymbols = 'Disable support for Microsoft debug symbols (PDB and DBG files)';
+ // EDI options
+ RsHintDefEDI = 'EDI specific options (JclEDI*.pas)';
RsHintDefEDIWeakPackageUnits = 'Mark EDI units as weak package units (check if you use the original EDI package)';
+ // PCRE options
+ RsHintDefPCRE = 'PCRE specific options (pcre.pas and JclPCRE.pas)';
+ RsHintDefPCREStaticLink = 'Code from PCRE is linked into JCL binaries';
+ RsHintDefPCRELinkDLL = 'JCL binaries require pcre.dll to be present';
+ RsHintDefPCRELinkOnRequest = 'JCL binaries require pcre.dll when calling PCRE functions';
// post compilation
RsHintPdbCreate = 'Create detailed debug information for libraries';
@@ -480,13 +509,17 @@
(
(Id: -1; Caption: RsCaptionLibrary; Hint: RsHintLibrary), // joLibrary
(Id: -1; Caption: RsCaptionDef; Hint: RsHintDef), // joDef
+ (Id: -1; Caption: RsCaptionDefMath; Hint: RsHintDefMath), // joDefMath
+ (Id: -1; Caption: RsCaptionDefDebug; Hint: RsHintDefDebug), // joDefDebug
+ (Id: -1; Caption: RsCaptionDefEDI; Hint: RsHintDefEDI), // joDefEDI
+ (Id: -1; Caption: RsCaptionDefPCRE; Hint: RsHintDefPCRE), // joDefPCRE
(Id: -1; Caption: RsCaptionDefThreadSafe; Hint: RsHintDefThreadSafe), // joDefThreadSafe
(Id: -1; Caption: RsCaptionDefDropObsoleteCode; Hint: RsHintDefDropObsoleteCode), // joDefDropObsoleteCode
+ (Id: -1; Caption: RsCaptionDefUnitVersioning; Hint: RsHintDefUnitVersioning), // joDefUnitVersioning
(Id: -1; Caption: RsCaptionDefMathPrecSingle; Hint: RsHintDefMathPrecSingle), // ioDefMathPrecSingle
(Id: -1; Caption: RsCaptionDefMathPrecDouble; Hint: RsHintDefMathPrecDouble), // joDefMathPrecDouble
(Id: -1; Caption: RsCaptionDefMathPrecExtended; Hint: RsHintDefMathPrecExtended), // joDefMathPrecExtended
(Id: -1; Caption: RsCaptionDefMathExtremeValues; Hint: RsHintDefMathExtremeValues), // joDefMathExtremeValues
- (Id: -1; Caption: RsCaptionDefUnitVersioning; Hint: RsHintDefUnitVersioning), // joDefUnitVersioning
(Id: -1; Caption: RsCaptionDefHookDllExceptions; Hint: RsHintDefHookDllExceptions), // joDefHookDllExceptions
(Id: -1; Caption: RsCaptionDefDebugNoBinary; Hint: RsHintDefDebugNoBinary), // joDefDebugNoBinary
(Id: -1; Caption: RsCaptionDefDebugNoTD32; Hint: RsHintDefDebugNoTD32), // joDefDebugNoTD32
@@ -494,6 +527,9 @@
(Id: -1; Caption: RsCaptionDefDebugNoExports; Hint: RsHintDefDebugNoExports), // joDefDebugNoExports
(Id: -1; Caption: RsCaptionDefDebugNoSymbols; Hint: RsHintDefDebugNoSymbols), // joDefDebugNoSymbols
(Id: -1; Caption: RsCaptionDefEDIWeakPackageUnits; Hint: RsHintDefEDIWeakPackageUnits), // joDefEDIWeakPackageUnits
+ (Id: -1; Caption: RsCaptionDefPCREStaticLink; Hint: RsHintDefPCREStaticLink), // joDefPCREStaticLink
+ (Id: -1; Caption: RsCaptionDefPCRELinkDLL; Hint: RsHintDefPCRELinkDLL), // joDefPCRELinkDLL
+ (Id: -1; Caption: RsCaptionDefPCRELinkOnRequest; Hint: RsHintDefPCRELinkOnRequest), // joDefPCRELinkOnRequest
(Id: -1; Caption: RsCaptionEnvironment; Hint: RsHintEnvironment), // joEnvironment
(Id: -1; Caption: RsCaptionEnvLibPath; Hint: RsHintEnvLibPath), // joEnvLibPath
(Id: -1; Caption: RsCaptionEnvBrowsingPath; Hint: RsHintEnvBrowsingPath), // joEnvBrowsingPath
@@ -818,22 +854,35 @@
begin
AddOption(joDefThreadSafe, [goChecked], Parent);
AddOption(joDefDropObsoleteCode, [goChecked], Parent);
- AddOption(joDefMathPrecSingle, [goRadioButton], Parent);
- AddOption(joDefMathPrecDouble, [goRadioButton], Parent);
- AddOption(joDefMathPrecExtended, [goRadioButton, goChecked], Parent);
- AddOption(joDefMathExtremeValues, [goChecked], Parent);
+ if CLRVersion = '' then
+ AddOption(joDefUnitVersioning, [goChecked], Parent);
+ AddOption(joDefMath, [goChecked], Parent);
+ AddOption(joDefMathPrecSingle, [goRadioButton], joDefMath);
+ AddOption(joDefMathPrecDouble, [goRadioButton], joDefMath);
+ AddOption(joDefMathPrecExtended, [goRadioButton, goChecked], joDefMath);
+ AddOption(joDefMathExtremeValues, [goChecked], joDefMath);
if CLRVersion = '' then // these units are not CLR compliant
begin
{$IFDEF MSWINDOWS}
- AddOption(joDefHookDllExceptions, [goNoAutoCheck], Parent);
- AddOption(joDefDebugNoBinary, [goNoAutoCheck], Parent);
- AddOption(joDefDebugNoTD32, [goNoAutoCheck], Parent);
- AddOption(joDefDebugNoMap, [goNoAutoCheck], Parent);
- AddOption(joDefDebugNoExports, [goNoAutoCheck], Parent);
- AddOption(joDefDebugNoSymbols, [goNoAutoCheck], Parent);
+ AddOption(joDefDebug, [goNoAutoCheck], Parent);
+ AddOption(joDefHookDllExceptions, [goNoAutoCheck], joDefDebug);
+ AddOption(joDefDebugNoBinary, [goNoAutoCheck], joDefDebug);
+ AddOption(joDefDebugNoTD32, [goNoAutoCheck], joDefDebug);
+ AddOption(joDefDebugNoMap, [goNoAutoCheck], joDefDebug);
+ AddOption(joDefDebugNoExports, [goNoAutoCheck], joDefDebug);
+ AddOption(joDefDebugNoSymbols, [goNoAutoCheck], joDefDebug);
{$ENDIF MSWINDOWS}
- AddOption(joDefEDIWeakPackageUnits, [goNoAutoCheck], Parent);
- AddOption(joDefUnitVersioning, [goChecked], Parent);
+ AddOption(joDefEDI, [goNoAutoCheck], Parent);
+ AddOption(joDefEDIWeakPackageUnits, [goNoAutoCheck], joDefEDI);
+ AddOption(joDefPCRE, [goChecked], Parent);
+ if Target.RadToolKind = brBorlandDevStudio then
+ begin
+ AddOption(joDefPCREStaticLink, [goRadioButton, goChecked], joDefPCRE);
+ AddOption(joDefPCRELinkOnRequest, [goRadioButton], joDefPCRE);
+ end
+ else
+ AddOption(joDefPCRELinkOnRequest, [goRadioButton, goChecked], joDefPCRE);
+ AddOption(joDefPCRELinkDLL, [goRadioButton], joDefPCRE);
end;
end;
@@ -1272,12 +1321,13 @@
end;
const
- DefineNames: array [joDefThreadSafe..joDefEDIWeakPackageUnits] of string =
- ( 'THREADSAFE', 'DROP_OBSOLETE_CODE', 'MATH_SINGLE_PRECISION',
- 'MATH_DOUBLE_PRECISION', 'MATH_EXTENDED_PRECISION',
- 'MATH_EXT_EXTREMEVALUES', 'UNITVERSIONING', 'HOOK_DLL_EXCEPTIONS',
+ DefineNames: array [joDefThreadSafe..joDefPCRELinkOnRequest] of string =
+ ( 'THREADSAFE', 'DROP_OBSOLETE_CODE', 'UNITVERSIONING',
+ 'MATH_SINGLE_PRECISION', 'MATH_DOUBLE_PRECISION', 'MATH_EXTENDED_PRECISION',
+ 'MATH_EXT_EXTREMEVALUES', 'HOOK_DLL_EXCEPTIONS',
'DEBUG_NO_BINARY', 'DEBUG_NO_TD32', 'DEBUG_NO_MAP', 'DEBUG_NO_EXPORTS',
- 'DEBUG_NO_SYMBOLS', 'EDI_WEAK_PACKAGE_UNITS');
+ 'DEBUG_NO_SYMBOLS', 'EDI_WEAK_PACKAGE_UNITS', 'PCRE_STATICLINK',
+ 'PCRE_LINKDLL', 'PCRE_LINKONREQUEST' );
var
Option: TJclOption;
Defines: TStrings;
Modified: trunk/jcl/source/common/JclPCRE.pas
===================================================================
--- trunk/jcl/source/common/JclPCRE.pas 2007-04-07 06:36:05 UTC (rev 1967)
+++ trunk/jcl/source/common/JclPCRE.pas 2007-04-07 21:17:42 UTC (rev 1968)
@@ -24,13 +24,15 @@
{ }
{ Class wrapper for PCRE (PERL Compatible Regular Expression) }
{ }
-{ Unit owner: Peter Th�nqvist }
+{ Unit owner: Peter Th?nqvist }
{ Last modified: $Date$ }
{ }
{**************************************************************************************************}
unit JclPCRE;
+{$I jcl.inc}
+
{$RANGECHECKS OFF}
interface
@@ -162,17 +164,17 @@
var
GTables: PChar;
-function JclPCREGetMem(Size: Integer): Pointer; cdecl;
+function JclPCREGetMem(Size: Integer): Pointer; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
begin
GetMem(Result, Size);
end;
-procedure JclPCREFreeMem(P: Pointer); cdecl;
+procedure JclPCREFreeMem(P: Pointer); {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
begin
FreeMem(P);
end;
-function JclPCRECallout(var callout_block: pcre_callout_block): Integer; cdecl;
+function JclPCRECallout(var callout_block: pcre_callout_block): Integer; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
begin
Result := TJclAnsiRegEx(callout_block.callout_data).CalloutHandler(callout_block);
end;
@@ -243,9 +245,9 @@
destructor TJclAnsiRegEx.Destroy;
begin
if Assigned(FCode) then
- pcre_free^(FCode);
+ CallPCREFree(FCode);
if Assigned(FExtra) then
- pcre_free^(FExtra);
+ CallPCREFree(FExtra);
if Assigned(FVector) then
FreeMem(FVector);
@@ -270,7 +272,7 @@
if FPattern = '' then
raise EPCREError.CreateRes(@RsErrNull, PCRE_ERROR_NULL);
- if Assigned(FCode) then pcre_free^(FCode);
+ if Assigned(FCode) then CallPCREFree(FCode);
FCode := pcre_compile2(PChar(FPattern), GetAPIOptions(False),
@FErrorCode, @ErrMsgPtr, @FErrorOffset, Tables);
Inc(FErrorOffset);
@@ -280,7 +282,7 @@
begin
if Study then
begin
- if Assigned(FExtra) then pcre_free^(FExtra);
+ if Assigned(FExtra) then CallPCREFree(FExtra);
FExtra := pcre_study(FCode, 0, @ErrMsgPtr);
Result := Assigned(FExtra) or (not Assigned(ErrMsgPtr));
if not Result then
@@ -483,7 +485,7 @@
begin
if Assigned(GTables) then
begin
- pcre_free^(GTables);
+ CallPCREFree(GTables);
GTables := nil;
end;
end;
@@ -496,18 +498,18 @@
inherited CreateRes(ResStringRec);
end;
-procedure LibNotLoadedHandler; cdecl;
+procedure LibNotLoadedHandler; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
begin
raise EPCREError.CreateRes(@RsErrLibNotLoaded, 0);
end;
initialization
pcre.LibNotLoadedHandler := LibNotLoadedHandler;
- LoadPCRE;
- if Assigned(pcre_malloc) then
+ if LoadPCRE then
+ begin
SetPCREMallocCallback(JclPCREGetMem);
- if Assigned(pcre_free) then
SetPCREFreeCallback(JclPCREFreeMem);
+ end;
{$IFDEF UNITVERSIONING}
RegisterUnitVersion(HInstance, UnitVersioning);
{$ENDIF UNITVERSIONING}
Modified: trunk/jcl/source/common/pcre.pas
===================================================================
--- trunk/jcl/source/common/pcre.pas 2007-04-07 06:36:05 UTC (rev 1967)
+++ trunk/jcl/source/common/pcre.pas 2007-04-07 21:17:42 UTC (rev 1968)
@@ -30,13 +30,13 @@
{ Header conversion of pcre.h }
{ }
{ Unit owner: Peter Thornqvist }
-{ Last modified: $Date$ }
+{ Last modified: $Date$ }
{ }
{**************************************************************************************************}
unit pcre;
-{$I jedi.inc}
+{$I jcl.inc}
interface
@@ -52,16 +52,6 @@
// NOTE: if you enable static linking of DLL, this means that the pcre.dll *must*
// be in the users path or an AV will occur at startup
-// IMPORTANT: The static link works only for Delphi 2005 and earlier
-// (an internal error is raised on other compilers)
-// The following combinations of defines are valid
-// static link: PCRE_STATICLINK
-// static import: (nothing)
-// dynamic import: PCRE_LINKONREQUEST
-
-//{$DEFINE PCRE_STATICLINK}
-{$DEFINE PCRE_LINKONREQUEST}
-
(*$HPPEMIT '#include "pcre.h"'*)
const
@@ -289,53 +279,68 @@
end;
{$EXTERNALSYM pcre_callout_block}
- pcre_malloc_callback = function(Size: Integer): Pointer; cdecl;
+ pcre_malloc_callback = function(Size: Integer): Pointer; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_malloc_callback}
- pcre_free_callback = procedure(P: Pointer); cdecl;
+ pcre_free_callback = procedure(P: Pointer); {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_free_callback}
- pcre_stack_malloc_callback = function(Size: Integer): Pointer; cdecl;
+ pcre_stack_malloc_callback = function(Size: Integer): Pointer; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_stack_malloc_callback}
- pcre_stack_free_callback = procedure(P: Pointer); cdecl;
+ pcre_stack_free_callback = procedure(P: Pointer); {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_stack_free_callback}
- pcre_callout_callback = function(var callout_block: pcre_callout_block): Integer; cdecl;
+ pcre_callout_callback = function(var callout_block: pcre_callout_block): Integer; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_callout_callback}
var
- // do not modify the following variables, use the setters/getters below
- pcre_malloc: ^pcre_malloc_callback = nil;
- {$EXTERNALSYM pcre_malloc}
- pcre_free: ^pcre_free_callback = nil;
- {$EXTERNALSYM pcre_free}
- pcre_stack_malloc: ^pcre_stack_malloc_callback = nil;
- {$EXTERNALSYM pcre_stack_malloc}
- pcre_stack_free: ^pcre_stack_free_callback = nil;
- {$EXTERNALSYM pcre_stack_free}
- pcre_callout: ^pcre_callout_callback = nil;
- {$EXTERNALSYM pcre_callout}
+ // renamed from "pcre_X" to "pcre_X_func" to allow functions with name "pcre_X" to be
+ // declared in implementation when static linked
+ pcre_malloc_func: ^pcre_malloc_callback = nil;
+ {$EXTERNALSYM pcre_malloc_func}
+ pcre_free_func: ^pcre_free_callback = nil;
+ {$EXTERNALSYM pcre_free_func}
+ pcre_stack_malloc_func: ^pcre_stack_malloc_callback = nil;
+ {$EXTERNALSYM pcre_stack_malloc_func}
+ pcre_stack_free_func: ^pcre_stack_free_callback = nil;
+ {$EXTERNALSYM pcre_stack_free_func}
+ pcre_callout_func: ^pcre_callout_callback = nil;
+ {$EXTERNALSYM pcre_callout_func}
-procedure SetPCREMallocCallback(const FuncCallback: pcre_malloc_callback);
+procedure SetPCREMallocCallback(const Value: pcre_malloc_callback);
{$EXTERNALSYM SetPCREMallocCallback}
function GetPCREMallocCallback: pcre_malloc_callback;
{$EXTERNALSYM GetPCREMallocCallback}
-procedure SetPCREFreeCallback(const FuncCallback: pcre_free_callback);
+function CallPCREMalloc(Size: Integer): Pointer;
+{$EXTERNALSYM CallPCREMalloc}
+
+procedure SetPCREFreeCallback(const Value: pcre_free_callback);
{$EXTERNALSYM SetPCREFreeCallback}
function GetPCREFreeCallback: pcre_free_callback;
{$EXTERNALSYM GetPCREFreeCallback}
-procedure SetPCREStackMallocCallback(const FuncCallback: pcre_stack_malloc_callback);
+procedure CallPCREFree(P: Pointer);
+{$EXTERNALSYM CallPCREFree}
+
+procedure SetPCREStackMallocCallback(const Value: pcre_stack_malloc_callback);
{$EXTERNALSYM SetPCREStackMallocCallback}
function GetPCREStackMallocCallback: pcre_stack_malloc_callback;
{$EXTERNALSYM GetPCREStackMallocCallback}
-procedure SetPCREStackFreeCallback(const FuncCallback: pcre_stack_free_callback);
+function CallPCREStackMalloc(Size: Integer): Pointer;
+{$EXTERNALSYM CallPCREStackMalloc}
+
+procedure SetPCREStackFreeCallback(const Value: pcre_stack_free_callback);
{$EXTERNALSYM SetPCREStackFreeCallback}
function GetPCREStackFreeCallback: pcre_stack_free_callback;
{$EXTERNALSYM GetPCREStackFreeCallback}
-procedure SetPCRECalloutCallback(const FuncCallback: pcre_callout_callback);
+procedure CallPCREStackFree(P: Pointer);
+{$EXTERNALSYM CallPCREStackFree}
+
+procedure SetPCRECalloutCallback(const Value: pcre_callout_callback);
{$EXTERNALSYM SetPCRECalloutCallback}
function GetPCRECalloutCallback: pcre_callout_callback;
{$EXTERNALSYM GetPCRECalloutCallback}
+function CallPCRECallout(var callout_block: pcre_callout_block): Integer;
+{$EXTERNALSYM CallPCRECallout}
type
- TPCRELibNotLoadedHandler = procedure; cdecl;
+ TPCRELibNotLoadedHandler = procedure; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
var
// Value to initialize function pointers below with, in case LoadPCRE fails
@@ -343,123 +348,157 @@
LibNotLoadedHandler: TPCRELibNotLoadedHandler = nil;
(* Functions *)
+
{$IFNDEF PCRE_LINKONREQUEST}
-
+// static link and static dll import
function pcre_compile(const pattern: PChar; options: Integer;
- const errptr: PPChar; erroffset: PInteger; const tableptr: PChar): PPCRE; cdecl;
+ const errptr: PPChar; erroffset: PInteger; const tableptr: PChar): PPCRE;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_compile}
function pcre_compile2(const pattern: PChar; options: Integer;
const errorcodeptr: PInteger; const errorptr: PPChar; erroroffset: PInteger;
- const tables: PChar): PPCRE; cdecl;
+ const tables: PChar): PPCRE;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_compile2}
-function pcre_config(what: Integer; where: Pointer): Integer; cdecl;
+function pcre_config(what: Integer; where: Pointer): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_config}
function pcre_copy_named_substring(const code: PPCRE; const subject: PChar;
ovector: PInteger; stringcount: Integer; const stringname: PChar;
- buffer: PChar; size: Integer): Integer; cdecl;
+ buffer: PChar; size: Integer): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_copy_named_substring}
-function pcre_copy_substring(const subject: PChar; ovector: PInteger; stringcount, stringnumber: Integer;
- buffer: PChar; buffersize: Integer): Integer; cdecl;
+function pcre_copy_substring(const subject: PChar; ovector: PInteger;
+ stringcount, stringnumber: Integer; buffer: PChar; buffersize: Integer): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_copy_substring}
function pcre_dfa_exec(const argument_re: PPCRE; const extra_data: PPCREExtra;
const subject: PChar; length: Integer; start_offset: Integer;
options: Integer; offsets: PInteger; offsetcount: Integer; workspace: PInteger;
- wscount: Integer): Integer; cdecl;
+ wscount: Integer): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_dfa_exec}
function pcre_exec(const code: PPCRE; const extra: PPCREExtra; const subject: PChar;
- length, startoffset, options: Integer; ovector: PInteger; ovecsize: Integer): Integer; cdecl;
+ length, startoffset, options: Integer; ovector: PInteger; ovecsize: Integer): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_exec}
-procedure pcre_free_substring(var stringptr: PChar); cdecl;
+procedure pcre_free_substring(var stringptr: PChar);
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_free_substring}
-procedure pcre_free_substring_list(var stringptr: PChar); cdecl;
+procedure pcre_free_substring_list(var stringptr: PChar);
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_free_substring_list}
function pcre_fullinfo(const code: PPCRE; const extra: PPCREExtra;
- what: Integer; where: Pointer): Integer; cdecl;
+ what: Integer; where: Pointer): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_fullinfo}
function pcre_get_named_substring(const code: PPCRE; const subject: PChar;
ovector: PInteger; stringcount: Integer; const stringname: PChar;
- const stringptr: PPChar): Integer; cdecl;
+ const stringptr: PPChar): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_get_named_substring}
-function pcre_get_stringnumber(const code: PPCRE; const stringname: PChar): Integer; cdecl;
+function pcre_get_stringnumber(const code: PPCRE; const stringname: PChar): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_get_stringnumber}
function pcre_get_stringtable_entries(const code: PPCRE; const stringname: PChar;
- firstptr: PPChar; lastptr: PPChar): Integer; cdecl;
+ firstptr: PPChar; lastptr: PPChar): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_get_stringtable_entries}
function pcre_get_substring(const subject: PChar; ovector: PInteger;
- stringcount, stringnumber: Integer; const stringptr: PPChar): Integer; cdecl;
+ stringcount, stringnumber: Integer; const stringptr: PPChar): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_get_substring}
function pcre_get_substring_list(const subject: PChar; ovector: PInteger;
- stringcount: Integer; listptr: PPPChar): Integer; cdecl;
+ stringcount: Integer; listptr: PPPChar): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_get_substring_list}
-function pcre_info(const code: PPCRE; optptr, firstcharptr: PInteger): Integer; cdecl;
+function pcre_info(const code: PPCRE; optptr, firstcharptr: PInteger): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_info}
-function pcre_maketables: PChar; cdecl;
+function pcre_maketables: PChar;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_maketables}
-function pcre_refcount(argument_re: PPCRE; adjust: Integer): Integer; cdecl;
+function pcre_refcount(argument_re: PPCRE; adjust: Integer): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_refcount}
-function pcre_study(const code: PPCRE; options: Integer; const errptr: PPChar): PPCREExtra; cdecl;
+function pcre_study(const code: PPCRE; options: Integer; const errptr: PPChar): PPCREExtra;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_study}
-function pcre_version: PChar; cdecl;
+function pcre_version: PChar; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_version}
{$ELSE}
- // dynamic linking
+// dynamic dll import
type
pcre_compile_func = function(const pattern: PChar; options: Integer;
- const errptr: PPChar; erroffset: PInteger; const tableptr: PChar): PPCRE; cdecl;
+ const errptr: PPChar; erroffset: PInteger; const tableptr: PChar): PPCRE;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_compile_func}
pcre_compile2_func = function(const pattern: PChar; options: Integer;
const errorcodeptr: PInteger; const errorptr: PPChar; erroroffset: PInteger;
- const tables: PChar): PPCRE; cdecl;
+ const tables: PChar): PPCRE; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_compile2_func}
- pcre_config_func = function(what: Integer; where: Pointer): Integer; cdecl;
+ pcre_config_func = function(what: Integer; where: Pointer): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_config_func}
pcre_copy_named_substring_func = function(const code: PPCRE; const subject: PChar;
ovector: PInteger; stringcount: Integer; const stringname: PChar;
- buffer: PChar; size: Integer): Integer; cdecl;
+ buffer: PChar; size: Integer): Integer; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_copy_named_substring_func}
- pcre_copy_substring_func = function(const subject: PChar; ovector: PInteger; stringcount, stringnumber: Integer;
- buffer: PChar; buffersize: Integer): Integer; cdecl;
+ pcre_copy_substring_func = function(const subject: PChar; ovector: PInteger;
+ stringcount, stringnumber: Integer; buffer: PChar; buffersize: Integer): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_copy_substring_func}
pcre_dfa_exec_func = function(const argument_re: PPCRE; const extra_data: PPCREExtra;
const subject: PChar; length: Integer; start_offset: Integer;
options: Integer; offsets: PInteger; offsetcount: Integer; workspace: PInteger;
- wscount: Integer): Integer; cdecl;
+ wscount: Integer): Integer; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_dfa_exec_func}
pcre_exec_func = function(const code: PPCRE; const extra: PPCREExtra; const subject: PChar;
- length, startoffset, options: Integer; ovector: PInteger; ovecsize: Integer): Integer; cdecl;
+ length, startoffset, options: Integer; ovector: PInteger; ovecsize: Integer): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_exec_func}
- pcre_free_substring_func = procedure(var stringptr: PChar); cdecl;
+ pcre_free_substring_func = procedure(var stringptr: PChar);
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_free_substring_func}
- pcre_free_substring_list_func = procedure(var stringptr: PChar); cdecl;
+ pcre_free_substring_list_func = procedure(var stringptr: PChar);
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_free_substring_list_func}
pcre_fullinfo_func = function(const code: PPCRE; const extra: PPCREExtra;
- what: Integer; where: Pointer): Integer; cdecl;
+ what: Integer; where: Pointer): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_fullinfo_func}
pcre_get_named_substring_func = function(const code: PPCRE; const subject: PChar;
ovector: PInteger; stringcount: Integer; const stringname: PChar;
- const stringptr: PPChar): Integer; cdecl;
+ const stringptr: PPChar): Integer; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_get_named_substring_func}
- pcre_get_stringnumber_func = function(const code: PPCRE; const stringname: PChar): Integer; cdecl;
+ pcre_get_stringnumber_func = function(const code: PPCRE;
+ const stringname: PChar): Integer; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_get_stringnumber_func}
pcre_get_stringtable_entries_func = function(const code: PPCRE; const stringname: PChar;
- firstptr: PPChar; lastptr: PPChar): Integer; cdecl;
+ firstptr: PPChar; lastptr: PPChar): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_get_stringtable_entries_func}
pcre_get_substring_func = function(const subject: PChar; ovector: PInteger;
- stringcount, stringnumber: Integer; const stringptr: PPChar): Integer; cdecl;
+ stringcount, stringnumber: Integer; const stringptr: PPChar): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_get_substring_func}
pcre_get_substring_list_func = function(const subject: PChar; ovector: PInteger;
- stringcount: Integer; listptr: PPPChar): Integer; cdecl;
+ stringcount: Integer; listptr: PPPChar): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_get_substring_list_func}
- pcre_info_func = function(const code: PPCRE; optptr, firstcharptr: PInteger): Integer; cdecl;
+ pcre_info_func = function(const code: PPCRE; optptr, firstcharptr: PInteger): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_info_func}
- pcre_maketables_func = function: PChar; cdecl;
+ pcre_maketables_func = function: PChar; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_maketables_func}
- pcre_refcount_func = function(argument_re: PPCRE; adjust: Integer): Integer; cdecl;
+ pcre_refcount_func = function(argument_re: PPCRE; adjust: Integer): Integer;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_refcount_func}
- pcre_study_func = function(const code: PPCRE; options: Integer; const errptr: PPChar): PPCREExtra; cdecl;
+ pcre_study_func = function(const code: PPCRE; options: Integer; const errptr: PPChar): PPCREExtra;
+ {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_study_func}
- pcre_version_func = function: PChar; cdecl;
+ pcre_version_func = function: PChar; {$IFDEF PCRE_EXPORT_CDECL} cdecl; {$ENDIF PCRE_EXPORT_CDECL}
{$EXTERNALSYM pcre_version_func}
var
@@ -549,9 +588,218 @@
{$LINK ..\windows\obj\pcre\pcre_version.obj}
{$LINK ..\windows\obj\pcre\pcre_xclass.obj}
{$LINK ..\windows\obj\pcre\pcre_default_tables.obj}
-{$ENDIF PCRE_STATICLINK}
+// user's defined callbacks
+var
+ pcre_malloc_user: pcre_malloc_callback;
+ pcre_free_user: pcre_free_callback;
+ pcre_stack_malloc_user: pcre_stack_malloc_callback;
+ pcre_stack_free_user: pcre_stack_free_callback;
+ pcre_callout_user: pcre_callout_callback;
+
+function pcre_compile; external;
+function pcre_compile2; external;
+function pcre_config; external;
+function pcre_copy_named_substring; external;
+function pcre_copy_substring; external;
+function pcre_dfa_exec; external;
+function pcre_exec; external;
+procedure pcre_free_substring; external;
+procedure pcre_free_substring_list; external;
+function pcre_fullinfo; external;
+function pcre_get_named_substring; external;
+function pcre_get_stringnumber; external;
+function pcre_get_stringtable_entries; external;
+function pcre_get_substring; external;
+function pcre_get_substring_list; external;
+function pcre_info; external;
+function pcre_maketables; external;
+function pcre_refcount; external;
+function pcre_study; external;
+function pcre_version; external;
+
type
+ size_t = Longint;
+
+const
+ szMSVCRT = 'MSVCRT.DLL';
+
+function memcpy(dest, src: Pointer; count: size_t): Pointer; cdecl; external szMSVCRT name 'memcpy';
+function _memcpy(dest, src: Pointer; count: size_t): Pointer;
+begin
+ Result := memcpy(dest, src, count);
+end;
+
+function memmove(dest, src: Pointer; count: size_t): Pointer; cdecl; external szMSVCRT name 'memmove';
+function _memmove(dest, src: Pointer; count: size_t): Pointer;
+begin
+ Result := memmove(dest, src, count);
+end;
+
+function memset(dest: Pointer; val: Integer; count: size_t): Pointer; cdecl; external szMSVCRT name 'memset';
+function _memset(dest: Pointer; val: Integer; count: size_t): Pointer;
+begin
+ Result := memset(dest, val, count);
+end;
+
+function malloc(size: size_t): Pointer; cdecl; external szMSVCRT name 'malloc';
+function _malloc(size: size_t): Pointer;
+begin
+ Result := malloc(size);
+end;
+
+procedure free(pBlock: Pointer); cdecl; external szMSVCRT name 'free';
+procedure _free(pBlock: Pointer);
+begin
+ free(pBlock);
+end;
+
+function strncmp(s1: PAnsiChar; s2: PAnsiChar; n: size_t): Integer; cdecl; external szMSVCRT name 'strncmp';
+function _strncmp(s1: PAnsiChar; s2: PAnsiChar; n: size_t): Integer;
+begin
+ Result := strncmp(s1, s2, n);
+end;
+
+function memcmp(s1: Pointer; s2: Pointer; n: size_t): Integer; cdecl; external szMSVCRT name 'memcmp';
+function _memcmp(s1: Pointer; s2: Pointer; n: size_t): Integer;
+begin
+ Result := memcmp(s1, s2, n);
+end;
+
+function strlen(s: PAnsiChar): size_t; cdecl; external szMSVCRT name 'strlen';
+function _strlen(s: PAnsiChar): size_t;
+begin
+ Result := strlen(s);
+end;
+
+function tolower(__ch: Integer): Integer; cdecl; external szMSVCRT name 'tolower';
+function __ltolower(__ch: Integer): Integer;
+begin
+ Result := tolower(__ch);
+end;
+
+function toupper(__ch: Integer): Integer; cdecl; external szMSVCRT name 'toupper';
+function __ltoupper(__ch: Integer): Integer;
+begin
+ Result := toupper(__ch);
+end;
+
+function isalnum(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isalnum';
+function _isalnum(__ch: Integer): Integer;
+begin
+ Result := isalnum(__ch);
+end;
+
+function isalpha(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isalpha';
+function _isalpha(__ch: Integer): Integer;
+begin
+ Result := isalpha(__ch);
+end;
+
+function iscntrl(__ch: Integer): Integer; cdecl; external szMSVCRT name 'iscntrl';
+function _iscntrl(__ch: Integer): Integer;
+begin
+ Result := iscntrl(__ch);
+end;
+
+function isdigit(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isdigit';
+function _isdigit(__ch: Integer): Integer;
+begin
+ Result := isdigit(__ch);
+end;
+
+function isgraph(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isgraph';
+function _isgraph(__ch: Integer): Integer;
+begin
+ Result := isgraph(__ch);
+end;
+
+function islower(__ch: Integer): Integer; cdecl; external szMSVCRT name 'islower';
+function _islower(__ch: Integer): Integer;
+begin
+ Result := islower(__ch);
+end;
+
+function isprint(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isprint';
+function _isprint(__ch: Integer): Integer;
+begin
+ Result := isprint(__ch);
+end;
+
+function ispunct(__ch: Integer): Integer; cdecl; external szMSVCRT name 'ispunct';
+function _ispunct(__ch: Integer): Integer;
+begin
+ Result := ispunct(__ch);
+end;
+
+function isspace(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isspace';
+function _isspace(__ch: Integer): Integer;
+begin
+ Result := isspace(__ch);
+end;
+
+function isupper(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isupper';
+function _isupper(__ch: Integer): Integer;
+begin
+ Result := isupper(__ch);
+end;
+
+function isxdigit(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isxdigit';
+function _isxdigit(__ch: Integer): Integer;
+begin
+ Result := isxdigit(__ch);
+end;
+
+//int _RTLENTRY _EXPFUNC isascii (int __c);
+function strchr(__s: PChar; __c: Integer): PAnsiChar; cdecl; external szMSVCRT name 'strchr';
+function _strchr(__s: PChar; __c: Integer): PAnsiChar;
+begin
+ Result := strchr(__s, __c);
+end;
+
+function pcre_malloc(Size: Integer): Pointer; cdecl;
+begin
+ if Assigned(pcre_malloc_user) then
+ Result := pcre_malloc_user(Size)
+ else
+ Result := _malloc(Size);
+end;
+
+procedure pcre_free(P: Pointer); cdecl;
+begin
+ if Assigned(pcre_free_user) then
+ pcre_free_user(P)
+ else
+ _free(P);
+end;
+
+function pcre_stack_malloc(Size: Integer): Pointer; cdecl;
+begin
+ if Assigned(pcre_stack_malloc_user) then
+ Result := pcre_stack_malloc_user(Size)
+ else
+ Result := _malloc(Size);
+end;
+
+procedure pcre_stack_free(P: Pointer); cdecl;
+begin
+ if Assigned(pcre_stack_free_user) then
+ pcre_stack_free_user(P)
+ else
+ _free(P);
+end;
+
+function pcre_callout(var callout_block: pcre_callout_block): Integer; cdecl;
+begin
+ if Assigned(pcre_callout_user) then
+ Result := pcre_callout_user(callout_block)
+ else
+ Result := 0;
+end;
+
+{$ELSE ~PCRE_STATICLINK}
+
+type
{$IFDEF MSWINDOWS}
TModuleHandle = HINST;
{$ENDIF MSWINDOWS}
@@ -595,137 +843,224 @@
var
PCRELib: TModuleHandle = INVALID_MODULEHANDLE_VALUE;
+{$ENDIF ~PCRE_STATICLINK}
-procedure SetPCREMallocCallback(const FuncCallback: pcre_malloc_callback);
+procedure SetPCREMallocCallback(const Value: pcre_malloc_callback);
begin
- if not Assigned(pcre_malloc) then
+ {$IFDEF PCRE_STATICLINK}
+ pcre_malloc_user := Value;
+ {$ELSE ~PCRE_STATICLINK}
+ if not Assigned(pcre_malloc_func) then
LoadPCRE;
- if Assigned(pcre_malloc) then
- pcre_malloc^ := FuncCallback
+ if Assigned(pcre_malloc_func) then
+ pcre_malloc_func^ := Value
else if Assigned(LibNotLoadedHandler) then
LibNotLoadedHandler;
+ {$ENDIF ~PCRE_STATICLINK}
end;
function GetPCREMallocCallback: pcre_malloc_callback;
begin
- if not Assigned(pcre_malloc) then
+ {$IFDEF PCRE_STATICLINK}
+ Result := pcre_malloc_user;
+ {$ELSE ~PCRE_STATICLINK}
+ if not Assigned(pcre_malloc_func) then
LoadPCRE;
- if not Assigned(pcre_malloc) then
+ if not Assigned(pcre_malloc_func) then
begin
Result := nil;
if Assigned(LibNotLoadedHandler) then
LibNotLoadedHandler;
end
else
- Result := pcre_malloc^;
+ Result := pcre_malloc_func^;
+ {$ENDIF ~PCRE_STATICLINK}
end;
-procedure SetPCREFreeCallback(const FuncCallback: pcre_free_callback);
+function CallPCREMalloc(Size: Integer): Pointer;
begin
- if not Assigned(pcre_free) then
+ {$IFDEF PCRE_STATICLINK}
+ Result := pcre_malloc(Size);
+ {$ELSE ~PCRE_STATICLINK}
+ Result := pcre_malloc_func^(Size);
+ {$ENDIF ~PCRE_STATICLINK}
+end;
+
+procedure SetPCREFreeCallback(const Value: pcre_free_callback);
+begin
+ {$IFDEF PCRE_STATICLINK}
+ pcre_free_user := Value;
+ {$ELSE ~PCRE_STATICLINK}
+ if not Assigned(pcre_free_func) then
LoadPCRE;
- if Assigned(pcre_free) then
- pcre_free^ := FuncCallback
+ if Assigned(pcre_free_func) then
+ pcre_free_func^ := Value
else if Assigned(LibNotLoadedHandler) then
LibNotLoadedHandler;
+ {$ENDIF ~PCRE_STATICLINK}
end;
function GetPCREFreeCallback: pcre_free_callback;
begin
- if not Assigned(pcre_free) then
+ {$IFDEF PCRE_STATICLINK}
+ Result := pcre_free_user;
+ {$ELSE ~PCRE_STATICLINK}
+ if not Assigned(pcre_free_func) then
LoadPCRE;
- if not Assigned(pcre_free) then
+ if not Assigned(pcre_free_func) then
begin
Result := nil;
if Assigned(LibNotLoadedHandler) then
LibNotLoadedHandler;
end
else
- Result := pcre_free^
+ Result := pcre_free_func^
+ {$ENDIF ~PCRE_STATICLINK}
end;
-procedure SetPCREStackMallocCallback(const FuncCallback: pcre_stack_malloc_callback);
+procedure CallPCREFree(P: Pointer);
begin
- if not Assigned(pcre_stack_malloc) then
+ {$IFDEF PCRE_STATICLINK}
+ pcre_free(P);
+ {$ELSE ~PCRE_STATICLINK}
+ pcre_free_func^(P);
+ {$ENDIF ~PCRE_STATICLINK}
+end;
+
+procedure SetPCREStackMallocCallback(const Value: pcre_stack_malloc_callback);
+begin
+ {$IFDEF PCRE_STATICLINK}
+ pcre_stack_malloc_user := Value;
+ {$ELSE ~PCRE_STATICLINK}
+ if not Assigned(pcre_stack_malloc_func) then
LoadPCRE;
- if Assigned(pcre_stack_malloc) then
- pcre_stack_malloc^ := FuncCallback
+ if Assigned(pcre_stack_malloc_func) then
+ pcre_stack_malloc_func^ := Value
else if Assigned(LibNotLoadedHandler) then
LibNotLoadedHandler;
+ {$ENDIF ~PCRE_STATICLINK}
end;
function GetPCREStackMallocCallback: pcre_stack_malloc_callback;
begin
- if not Assigned(pcre_stack_malloc) then
+ {$IFDEF PCRE_STATICLINK}
+ Result := pcre_stack_malloc_user;
+ {$ELSE ~PCRE_STATICLINK}
+ if not Assigned(pcre_stack_malloc_func) then
LoadPCRE;
- if not Assigned(pcre_stack_malloc) then
+ if not Assigned(pcre_stack_malloc_func) then
begin
Result := nil;
if Assigned(LibNotLoadedHandler) then
LibNotLoadedHandler;
end
else
- Result := pcre_stack_malloc^;
+ Result := pcre_stack_malloc_func^;
+ {$ENDIF ~PCRE_STATICLINK}
end;
-procedure SetPCREStackFreeCallback(const FuncCallback: pcre_stack_free_callback);
+function CallPCREStackMalloc(Size: Integer): Pointer;
begin
- if not Assigned(pcre_stack_free) then
+ {$IFDEF PCRE_STATICLINK}
+ Result := pcre_stack_malloc(Size);
+ {$ELSE ~PCRE_STATICLINK}
+ Result := pcre_stack_malloc_func^(Size);
+ {$ENDIF ~PCRE_STATICLINK}
+end;
+
+procedure SetPCREStackFreeCallback(const Value: pcre_stack_free_callback);
+begin
+ {$IFDEF PCRE_STATICLINK}
+ pcre_stack_free_user := Value;
+ {$ELSE ~PCRE_STATICLINK}
+ if not Assigned(pcre_stack_free_func) then
LoadPCRE;
- if Assigned(pcre_stack_free) then
- pcre_stack_free^ := FuncCallback
+ if Assigned(pcre_stack_free_func) then
+ pcre_stack_free_func^ := Value
else if Assigned(LibNotLoadedHandler) then
LibNotLoadedHandler;
+ {$ENDIF ~PCRE_STATICLINK}
end;
function GetPCREStackFreeCallback: pcre_stack_free_callback;
begin
- if not Assigned(pcre_stack_free) then
+ {$IFDEF PCRE_STATICLINK}
+ Result := pcre_stack_free_user;
+ {$ELSE ~PCRE_STATICLINK}
+ if not Assigned(pcre_stack_free_func) then
LoadPCRE;
- if not Assigned(pcre_stack_free) then
+ if not Assigned(pcre_stack_free_func) then
begin
Result := nil;
if Assigned(LibNotLoadedHandler) then
LibNotLoadedHandler;
end
else
- Result := pcre_stack_free^;
+ Result := pcre_stack_free_func^;
+ {$ENDIF ~PCRE_STATICLINK}
end;
-procedure SetPCRECalloutCallback(const FuncCallback: pcre_callout_callback);
+procedure CallPCREStackFree(P: Pointer);
begin
- if not Assigned(pcre_callout) then
+ {$IFDEF PCRE_STATICLINK}
+ pcre_stack_free(P);
+ {$ELSE ~PCRE_STATICLINK}
+ pcre_stack_free_func^(P);
+ {$ENDIF ~PCRE_STATICLINK}
+end;
+
+procedure SetPCRECalloutCallback(const Value: pcre_callout_callback);
+begin
+ {$IFDEF PCRE_STATICLINK}
+ pcre_callout_user := Value;
+ {$ELSE ~PCRE_STATICLINK}
+ if not Assigned(pcre_callout_func) then
LoadPCRE;
- if Assigned(pcre_callout) then
- pcre_callout^ := FuncCallback
+ if Assigned(pcre_callout_func) then
+ pcre_callout_func^ := Value
else if Assigned(LibNotLoadedHandler) then
LibNotLoadedHandler;
+ {$ENDIF ~PCRE_STATICLINK}
end;
function GetPCRECalloutCallback: pcre_callout_callback;
begin
- if not Assigned(pcre_callout) then
+ {$IFDEF PCRE_STATICLINK}
+ Result := pcre_callout_user;
+ {$ELSE ~PCRE_STATICLINK}
+ if not Assigned(pcre_callout_func) then
LoadPCRE;
- if not Assigned(pcre_callout) then
+ if not Assigned(pcre_callout_func) then
begin
Result := nil;
if Assigned(LibNotLoadedHandler) then
LibNotLoadedHandler;
end
else
- Result := pcre_callout^;
+ Result := pcre_callout_func^;
+ {$ENDIF ~PCRE_STATICLINK}
end;
+function CallPCRECallout(var callout_block: pcre_callout_block): Integer;
+begin
+ {$IFDEF PCRE_STATICLINK}
+ Result := pcre_callout(callout_block);
+ {$ELSE ~PCRE_STATICLINK}
+ Result := pcre_callout_func^(callout_block);
+ {$ENDIF ~PCRE_STATICLINK}
+end;
+
+{$IFNDEF PCRE_STATICLINK}
procedure InitPCREFuncPtrs(const Value: Pointer);
begin
{$IFDEF PCRE_LINKONREQUEST}
@@ -750,20 +1085,29 @@
@pcre_study := Value;
@pcre_version := Value;
{$ENDIF PCRE_LINKONREQUEST}
- pcre_malloc := nil;
- pcre_free := nil;
- pcre_stack_malloc := nil;
- pcre_stack_free := nil;
- pcre_callout := nil;
+ pcre_malloc_func := nil;
+ pcre_free_func := nil;
+ pcre_stack_malloc_func := nil;
+ pcre_stack_free_func := nil;
+ pcre_callout_func := nil;
end;
+{$ENDIF ~PCRE_STATICLINK}
function IsPCRELoaded: Boolean;
begin
+ {$IFDEF PCRE_STATICLINK}
+ Result := True;
+ {$ELSE ~PCRE_STATICLINK}
Result := PCRELib <> INVALID_MODULEHANDLE_VALUE;
+ {$ENDIF ~PCRE_STATICLINK}
end;
function LoadPCRE: Boolean;
-
+{$IFDEF PCRE_STATICLINK}
+begin
+ Result := True;
+end;
+{$ELSE ~PCRE_STATICLINK}
function GetSymbol(SymbolName: PChar): Pointer;
begin
{$IFDEF MSWINDOWS}
@@ -811,18 +1155,20 @@
@pcre_study := GetSymbol(PCREStudyExportName);
@pcre_version := GetSymbol(PCREVersionExportName);
{$ENDIF PCRE_LINKONREQUEST}
- pcre_malloc := GetSymbol(PCREMallocExportName);
- pcre_free := GetSymbol(PCREFreeExportName);
- pcre_stack_malloc := GetSymbol(PCREStackMallocExportName);
- pcre_stack_free := GetSymbol(PCREStackFreeExportName);
- pcre_callout := GetSymbol(PCRECalloutExportName);
+ pcre_malloc_func := GetSymbol(PCREMallocExportName);
+ pcre_free_func := GetSymbol(PCREFreeExportName);
+ pcre_stack_malloc_func := GetSymbol(PCREStackMallocExportName);
+ pcre_stack_free_func := GetSymbol(PCREStackFreeExportName);
+ pcre_callout_func := GetSymbol(PCRECalloutExportName);
end
else
InitPCREFuncPtrs(@LibNotLoadedHandler);
end;
+{$ENDIF ~PCRE_STATICLINK}
procedure UnloadPCRE;
begin
+ {$IFNDEF PCRE_STATICLINK}
if PCRELib <> INVALID_MODULEHANDLE_VALUE then
{$IFDEF MSWINDOWS}
FreeLibrary(PCRELib);
@@ -832,75 +1178,10 @@
{$ENDIF UNIX}
PCRELib := INVALID_MODULEHANDLE_VALUE;
InitPCREFuncPtrs(@LibNotLoadedHandler);
+ {$ENDIF ~PCRE_STATICLINK}
end;
-{$IFDEF PCRE_STATICLINK}
-function pcre_compile; external;
-function pcre_compile2; external;
-function pcre_config; external;
-function pcre_copy_named_substring; external;
-function pcre_copy_substring; external;
-function pcre_dfa_exec; external;
-function pcre_exec; external;
-procedure pcre_free_substring; external;
-procedure pcre_free_substring_list; external;
-function pcre_fullinfo; external;
-function pcre_get_named_substring; external;
-function pcre_get_stringnumber; external;
-function pcre_get_stringtable_entries; external;
-function pcre_get_substring; external;
-function pcre_get_substring_list; external;
-function pcre_info; external;
-function pcre_maketables; external;
-function pcre_refcount; external;
-function pcre_study; external;
-function pcre_version; external;
-
-type
- size_t = Longint;
-
-const
- szMSVCRT = 'MSVCRT.DLL';
-
-function _memcpy(dest, src: Pointer; count: size_t): Pointer; cdecl; external szMSVCRT name 'memcpy';
-{begin
- Move(src^, dest^, count);
- Result := dest;
-end;}
-function _memset(dest: Pointer; val: Integer; count: size_t): Pointer; cdecl; external szMSVCRT name 'memset';
-{begin
- FillChar(dest^, count, val);
- Result := dest;
-end;}
-function _malloc(size: size_t): Pointer; cdecl; external szMSVCRT name 'malloc';
-{begin
- GetMem(Result, size);
-end;}
-procedure _free(pBlock: Pointer); cdecl; external szMSVCRT name 'free';
-{begin
- FreeMem(pBlock);
-end;}
-function _strncmp(s1: PAnsiChar; s2: PAnsiChar; n: size_t): Integer; cdecl; external szMSVCRT name 'strncmp';
-function _memcmp(s1: Pointer; s2: Pointer; n: size_t): Integer; cdecl; external szMSVCRT name 'memcmp';
-function _strlen(s: PAnsiChar): size_t; cdecl; external szMSVCRT name 'strlen';
-function __ltolower(__ch: Integer): Integer; cdecl; external szMSVCRT name '_tolower';
-function __ltoupper(__ch: Integer): Integer; cdecl; external szMSVCRT name 'toupper';
-function _isalnum(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isalnum';
-function _isalpha(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isalpha';
-function _iscntrl(__ch: Integer): Integer; cdecl; external szMSVCRT name 'iscntrl';
-function _isdigit(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isdigit';
-function _isgraph(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isgraph';
-function _islower(__ch: Integer): Integer; cdecl; external szMSVCRT name 'islower';
-function _isprint(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isprint';
-function _ispunct(__ch: Integer): Integer; cdecl; external szMSVCRT name 'ispunct';
-function _isspace(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isspace';
-function _isupper(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isupper';
-function _isxdigit(__ch: Integer): Integer; cdecl; external szMSVCRT name 'isxdigit';
-//int _RTLENTRY _EXPFUNC isascii (int __c);
-function _strchr(__s: PChar; __c: Integer): PAnsiChar; cdecl; external szMSVCRT name 'strchr';
-
-{$ELSE ~PCRE_STATICLINK}
-{$IFNDEF PCRE_LINKONREQUEST}
+{$IFDEF PCRE_LINKDLL}
function pcre_compile; external libpcremodulename name PCRECompileExportName;
function pcre_compile2; external libpcremodulename name PCRECompile2ExportName;
function pcre_config; external libpcremodulename name PCREConfigExportName;
@@ -921,8 +1202,7 @@
function pcre_refcount; external libpcremodulename name PCRERefCountExportName;
function pcre_study; external libpcremodulename name PCREStudyExportName;
function pcre_version; external libpcremodulename name PCREVersionExportName;
-{$ENDIF ~PCRE_LINKONREQUEST}
-{$ENDIF ~PCRE_STATICLINK}
+{$ENDIF PCRE_LINKDLL}
end.
Modified: trunk/jcl/source/jcl.inc
===================================================================
--- trunk/jcl/source/jcl.inc 2007-04-07 06:36:05 UTC (rev 1967)
+++ trunk/jcl/source/jcl.inc 2007-04-07 21:17:42 UTC (rev 1968)
@@ -167,6 +167,32 @@
{$ENDIF}
{$ENDIF}
+// PCRE options, mutually exclusive
+{$IFDEF PCRE_STATICLINK}
+ {$UNDEF PCRE_LINKDLL}
+ {$UNDEF PCRE_LINKONREQUEST}
+{$ENDIF PCRE_STATICLINK}
+{$IFDEF PCRE_LINKDLL}
+ {$UNDEF PCRE_STATICLINK}
+ {$UNDEF PCRE_LINKONREQUEST}
+{$ENDIF PCRE_LINKDLL}
+{$IFDEF PCRE_LINKONREQUEST}
+ {$UNDEF PCRE_STATICLINK}
+ {$UNDEF PCRE_LINKDLL}
+{$ENDIF PCRE_LINKONREQUEST}
+
+{$IFNDEF PCRE_STATICLINK}
+ {$IFNDEF PCRE_LINKDLL}
+ {$IFNDEF PCRE_LINKONREQUEST}
+ {$DEFINE PCRE_LINKONREQUEST}
+ {$ENDIF ~PCRE_LINKONREQUEST}
+ {$ENDIF ~PCRE_LINKDLL}
+{$ENDIF ~PCRE_STATICLINK}
+
+{$IFNDEF PCRE_STATICLINK}
+ {$DEFINE PCRE_EXPORT_CDECL}
+{$ENDIF ~PCRE_STATICLINK}
+
{$IFDEF SUPPORTS_UNSAFE_WARNINGS}
{$WARN UNSAFE_TYPE OFF}
{$WARN UNSAFE_CODE OFF}
@@ -174,7 +200,9 @@
{$ENDIF}
{$IFNDEF DROP_OBSOLETE_CODE}
- {$DEFINE KEEP_DEPRECATED}
+ {$IFNDEF JCLINSTALL}
+ {$DEFINE KEEP_DEPRECATED}
+ {$ENDIF}
{$ENDIF}
{$IFDEF CLR}
@@ -187,4 +215,3 @@
{$DEFINE PIC}
{$DEFINE PUREPASCAL}
{$ENDIF CLR}
-
Modified: trunk/jcl/source/jcl.template.inc
===================================================================
--- trunk/jcl/source/jcl.template.inc 2007-04-07 06:36:05 UTC (rev 1967)
+++ trunk/jcl/source/jcl.template.inc 2007-04-07 21:17:42 UTC (rev 1968)
@@ -73,3 +73,16 @@
// mark EDI units as weak package units (to avoid conflicts with the EDI package)
{.$DEFINE EDI_WEAK_PACKAGE_UNITS}
+
+// PCRE options, mutually exclusive
+
+// IMPORTANT: The static link works only for Delphi 2005 and newer
+// (an internal error is raised on other compilers)
+// Only one of the following defines can be defined at a time
+// static link: PCRE_STATICLINK
+// static dll import: PCRE_LINKDLL
+// dynamic dll import: PCRE_LINKONREQUEST
+
+{.$DEFINE PCRE_STATICLINK}
+{.$DEFINE PCRE_LINKDLL}
+{.$DEFINE PCRE_LINKONREQUEST}
Modified: trunk/jcl/source/windows/obj/pcre/makefile.mak
===================================================================
--- trunk/jcl/source/windows/obj/pcre/makefile.mak 2007-04-07 06:36:05 UTC (rev 1967)
+++ trunk/jcl/source/windows/obj/pcre/makefile.mak 2007-04-07 21:17:42 UTC (rev 1968)
@@ -30,12 +30,10 @@
# 5 Pentium (default)
# 6 Pentium Pro
#
-# Note: This assumes -DZEXPORT=__fastcall -DZEXPORTVA=__cdecl
-#
# Robert Rossmair, 2004-10-16
#
-CallingConvention = -pr -DZEXPORT=__fastcall -DZEXPORTVA=__cdecl
+CallingConvention = -pr -DVPCOMPAT
!if !$d(BCB)
BCB = $(MAKEDIR)\..
@@ -76,12 +74,12 @@
INCLUDEPATH = $(pcresrc);$(BCC)\include;$(BCB)\include\vcl
LIBPATH = $(BCB)\lib\obj;$(BCB)\lib
# LIBPATH = $(pcresrc)
-WARNINGS= -w-par -w-aus
+WARNINGS= -wpar -w-aus
PATHC = .;$(pcresrc)
# PATHOBJ = .;$(LIBPATH)
ALLLIB = import32.lib cw32i.lib
# ---------------------------------------------------------------------------
-CFLAG1 = -O2 -Ve -X- -a8 -$(CPU) -b -d -k- -vi -tWM- $(CallingConvention)
+CFLAG1 = -O2 -Ve -X- -a8 -$(CPU) -b -d -k- -vi -tWM-
LFLAGS = -D"" -ap -Tpe -x -Gn
# ---------------------------------------------------------------------------
@@ -112,7 +110,7 @@
# ---------------------------------------------------------------------------
.c.obj:
- $(BCC)\BIN\$(BCC32) -c $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n$(@D) {$< }
+ $(BCC)\BIN\$(BCC32) -c $(CFLAG1) $(CallingConvention) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n$(@D) {$< }
includes:
@copy /Y $(pcresrc)\config.h.in $(pcresrc)\config.h
tables:
Modified: trunk/jcl/source/windows/obj/pcre/pcre_compile.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_config.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_default_tables.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_dfa_exec.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_exec.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_fullinfo.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_get.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_globals.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_info.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_maketables.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_newline.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_ord2utf8.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_refcount.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_study.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_tables.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_try_flipped.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_ucp_searchfuncs.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_valid_utf8.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_version.obj
===================================================================
(Binary files differ)
Modified: trunk/jcl/source/windows/obj/pcre/pcre_xclass.obj
===================================================================
(Binary files differ)
Added: trunk/thirdparty/pcre/how-to-update.txt
===================================================================
--- trunk/thirdparty/pcre/how-to-update.txt ...
[truncated message content] |
|
From: <mar...@us...> - 2007-04-07 06:36:09
|
Revision: 1967
http://svn.sourceforge.net/jcl/?rev=1967&view=rev
Author: marquardt
Date: 2007-04-06 23:36:05 -0700 (Fri, 06 Apr 2007)
Log Message:
-----------
style cleaning
Modified Paths:
--------------
trunk/jcl/source/common/JclCompression.pas
trunk/jcl/source/common/JclStrings.pas
Modified: trunk/jcl/source/common/JclCompression.pas
===================================================================
--- trunk/jcl/source/common/JclCompression.pas 2007-04-07 06:34:48 UTC (rev 1966)
+++ trunk/jcl/source/common/JclCompression.pas 2007-04-07 06:36:05 UTC (rev 1967)
@@ -59,9 +59,8 @@
Libc,
{$ENDIF HAS_UNIT_LIBC}
SysUtils, Classes,
- JclBase,
zlibh,
- JclStreams;
+ JclBase, JclStreams;
{**************************************************************************************************}
{
@@ -182,11 +181,11 @@
const
// ID1 and ID2 fields
- JCL_GZIP_ID1 = $1F; // value for the ID1 field
- JCL_GZIP_ID2 = $8B; // value for the ID2 field
+ JCL_GZIP_ID1 = $1F; // value for the ID1 field
+ JCL_GZIP_ID2 = $8B; // value for the ID2 field
// Compression Model field
- JCL_GZIP_CM_DEFLATE = 8; // Zlib classic
+ JCL_GZIP_CM_DEFLATE = 8; // Zlib classic
// Flags field : extra fields for the header
JCL_GZIP_FLAG_TEXT = $01; // file is probably ASCII text
@@ -196,25 +195,25 @@
JCL_GZIP_FLAG_COMMENT = $10; // comment is present
// ExtraFlags field : compression level
- JCL_GZIP_EFLAG_MAX = 2; // compressor used maximum compression
- JCL_GZIP_EFLAG_FAST = 4; // compressor used fastest compression
+ JCL_GZIP_EFLAG_MAX = 2; // compressor used maximum compression
+ JCL_GZIP_EFLAG_FAST = 4; // compressor used fastest compression
// OS field : file system
- JCL_GZIP_OS_FAT = 0; // FAT filesystem (MS-DOS, OS/2, NT/Win32)
- JCL_GZIP_OS_AMIGA = 1; // Amiga
- JCL_GZIP_OS_VMS = 2; // VMS (or OpenVMS)
- JCL_GZIP_OS_UNIX = 3; // Unix
- JCL_GZIP_OS_VM = 4; // VM/CMS
- JCL_GZIP_OS_ATARI = 5; // Atari TOS
- JCL_GZIP_OS_HPFS = 6; // HPFS filesystem (OS/2, NT)
- JCL_GZIP_OS_MAC = 7; // Macintosh
- JCL_GZIP_OS_Z = 8; // Z-System
- JCL_GZIP_OS_CPM = 9; // CP/M
- JCL_GZIP_OS_TOPS = 10; // TOPS-20
- JCL_GZIP_OS_NTFS = 11; // NTFS filesystem (NT)
- JCL_GZIP_OS_QDOS = 12; // QDOS
- JCL_GZIP_OS_ACORN = 13; // Acorn RISCOS
- JCL_GZIP_OS_UNKNOWN = 255; // unknown
+ JCL_GZIP_OS_FAT = 0; // FAT filesystem (MS-DOS, OS/2, NT/Win32)
+ JCL_GZIP_OS_AMIGA = 1; // Amiga
+ JCL_GZIP_OS_VMS = 2; // VMS (or OpenVMS)
+ JCL_GZIP_OS_UNIX = 3; // Unix
+ JCL_GZIP_OS_VM = 4; // VM/CMS
+ JCL_GZIP_OS_ATARI = 5; // Atari TOS
+ JCL_GZIP_OS_HPFS = 6; // HPFS filesystem (OS/2, NT)
+ JCL_GZIP_OS_MAC = 7; // Macintosh
+ JCL_GZIP_OS_Z = 8; // Z-System
+ JCL_GZIP_OS_CPM = 9; // CP/M
+ JCL_GZIP_OS_TOPS = 10; // TOPS-20
+ JCL_GZIP_OS_NTFS = 11; // NTFS filesystem (NT)
+ JCL_GZIP_OS_QDOS = 12; // QDOS
+ JCL_GZIP_OS_ACORN = 13; // Acorn RISCOS
+ JCL_GZIP_OS_UNKNOWN = 255; // unknown
type
TJclGZIPSubFieldHeader = packed record
@@ -222,6 +221,7 @@
SI2: Byte;
Len: Word;
end;
+
// constants to identify sub fields in the extra field
// source: http://www.gzip.org/format.txt
const
@@ -241,12 +241,11 @@
JCL_GZIP_X_RO2 = $4F;
type
- TJclGZIPFlag = (gfDataIsText, gfHeaderCRC16, gfExtraField, gfOriginalFileName,
- gfComment);
+ TJclGZIPFlag = (gfDataIsText, gfHeaderCRC16, gfExtraField, gfOriginalFileName, gfComment);
TJclGZIPFlags = set of TJclGZIPFlag;
TJclGZIPFatSystem = (gfsFat, gfsAmiga, gfsVMS, gfsUnix, gfsVM, gfsAtari, gfsHPFS,
gfsMac, gfsZ, gfsCPM, gfsTOPS, gfsNTFS, gfsQDOS, gfsAcorn, gfsOther, gfsUnknown);
-
+
// Format is described in RFC 1952, http://www.faqs.org/rfcs/rfc1952.html
TJclGZIPCompressionStream = class(TJclCompressStream)
private
@@ -262,7 +261,7 @@
FOriginalSize: Cardinal;
FDataCRC32: Cardinal;
FHeaderWritten: Boolean;
- FFooterWritten :Boolean; // flag so we only write the footer once! (NEW 2007)
+ FFooterWritten: Boolean; // flag so we only write the footer once! (NEW 2007)
procedure WriteHeader;
function GetDosTime: TDateTime;
@@ -392,16 +391,14 @@
EJclCompressionError = class(EJclError);
// callback type used in helper functions below:
- TJclCompressStreamProgressCallback = procedure (filesize,position:Int64;userdata:Pointer) of Object;
-
+ TJclCompressStreamProgressCallback = procedure(FileSize, Position: Int64; UserData: Pointer) of object;
{helper functions - one liners by wpostma}
-function GZipFile( sourceFile,destinationFile:String; compressionLevel:Integer= Z_DEFAULT_COMPRESSION;
- progressCallback:TJclCompressStreamProgressCallback =nil;userdata:Pointer=nil):Boolean;
-function UnGZipFile( sourceFile,destinationFile:String;
- progressCallback:TJclCompressStreamProgressCallback =nil;userdata:Pointer=nil):Boolean;
+function GZipFile(SourceFile, DestinationFile: string; CompressionLevel: Integer = Z_DEFAULT_COMPRESSION;
+ ProgressCallback: TJclCompressStreamProgressCallback = nil; UserData: Pointer = nil): Boolean;
+function UnGZipFile(SourceFile, DestinationFile: string;
+ ProgressCallback: TJclCompressStreamProgressCallback = nil; UserData: Pointer = nil): Boolean;
-
{$IFDEF UNITVERSIONING}
const
UnitVersioning: TUnitVersionInfo = (
@@ -410,15 +407,12 @@
Date: '$Date$';
LogPath: 'JCL\source\common'
);
-{$ENDIF UNITVERSIONING}
+ {$ENDIF UNITVERSIONING}
-
implementation
uses
- JclResources,
- JclDateTime,
- JclFileUtils;
+ JclDateTime, JclFileUtils, JclResources;
const
JclDefaultBufferSize = 131072; // 128k
@@ -495,7 +489,6 @@
FStream := Source;
end;
-
//=== { TJclZLibCompressionStream } ==========================================
{ Error checking helper }
@@ -579,7 +572,7 @@
begin
ZLibCheck(deflate(ZLibRecord, Z_NO_FLUSH));
- if ZLibRecord.avail_out = 0 then // Output buffer empty. Write to stream and go on...
+ if ZLibRecord.avail_out = 0 then // Output buffer empty. Write to stream and go on...
begin
FStream.WriteBuffer(FBuffer^, FBufferSize);
Progress(Self);
@@ -613,7 +606,7 @@
if ZLibRecord.avail_out < FBufferSize then
begin
- FStream.WriteBuffer(FBuffer^, FBufferSize-ZLibRecord.avail_out);
+ FStream.WriteBuffer(FBuffer^, FBufferSize - ZLibRecord.avail_out);
Progress(Self);
Inc(Result, FBufferSize - ZLibRecord.avail_out);
ZLibRecord.next_out := FBuffer;
@@ -625,7 +618,7 @@
function TJclZLibCompressStream.Seek(const Offset: Int64; Origin: TSeekOrigin): Int64;
begin
if (Offset = 0) and (Origin = soCurrent) then
- Result := ZLibRecord.total_in
+ Result := ZLibRecord.total_in
else
if (Offset = 0) and (Origin = soBeginning) and (ZLibRecord.total_in = 0) then
Result := 0
@@ -671,7 +664,6 @@
end;
end;
-
//=== { TJclZLibDecompressionStream } =======================================
constructor TJclZLibDecompressStream.Create(Source: TStream; WindowBits: Integer = DEF_WBITS);
@@ -717,7 +709,7 @@
ZLibRecord.next_out := @Buffer;
ZLibRecord.avail_out := Count;
- while ZLibRecord.avail_out > 0 do // as long as we have data
+ while ZLibRecord.avail_out > 0 do // as long as we have data
begin
if ZLibRecord.avail_in = 0 then
begin
@@ -745,10 +737,10 @@
function TJclZLibDecompressStream.Seek(const Offset: Int64; Origin: TSeekOrigin): Int64;
begin
- if (Offset = 0) and (Origin = soCurrent) then
+ if (Offset = 0) and (Origin = soCurrent) then
Result := ZLibRecord.total_out
- else
- Result := inherited Seek(Offset, Origin);
+ else
+ Result := inherited Seek(Offset, Origin);
end;
procedure TJclZLibDecompressStream.SetWindowBits(Value: Integer);
@@ -758,8 +750,7 @@
//=== { TJclGZIPCompressionStream } ==========================================
-constructor TJclGZIPCompressionStream.Create(Destination: TStream;
- CompressionLevel: TJclCompressionLevel);
+constructor TJclGZIPCompressionStream.Create(Destination: TStream; CompressionLevel: TJclCompressionLevel);
begin
inherited Create(Destination);
@@ -776,9 +767,7 @@
// unless you called Flush manually. This is not correct Stream behaviour.
// Flush should be optional!
Flush;
-
FZLibStream.Free;
-
inherited Destroy;
end;
@@ -791,10 +780,10 @@
else
Result := 0;
- if (FFooterWritten) then
- exit;
- FFooterWritten := true;
-
+ if FFooterWritten then
+ Exit;
+ FFooterWritten := True;
+
// Write footer, CRC32 followed by ISIZE
AFooter.DataCRC32 := FDataCRC32;
AFooter.DataSize := FOriginalSize;
@@ -850,7 +839,7 @@
if not Assigned(FZLibStream) then
begin
FZLibStream := TJclZlibCompressStream.Create(FStream, FCompressionLevel);
- FZLibStream.WindowBits := -DEF_WBITS; // negative value for raw mode
+ FZLibStream.WindowBits := -DEF_WBITS; // negative value for raw mode
FZLibStream.OnProgress := ZLibStreamProgress;
end;
@@ -860,14 +849,24 @@
end;
procedure TJclGZIPCompressionStream.WriteHeader;
+const
+ FatSystemToByte: array[TJclGZIPFatSystem] of Byte =
+ (JCL_GZIP_OS_FAT, JCL_GZIP_OS_AMIGA, JCL_GZIP_OS_VMS, JCL_GZIP_OS_UNIX,
+ JCL_GZIP_OS_VM, JCL_GZIP_OS_ATARI, JCL_GZIP_OS_HPFS, JCL_GZIP_OS_MAC,
+ JCL_GZIP_OS_Z, JCL_GZIP_OS_CPM, JCL_GZIP_OS_TOPS, JCL_GZIP_OS_NTFS,
+ JCL_GZIP_OS_QDOS, JCL_GZIP_OS_ACORN, JCL_GZIP_OS_UNKNOWN, JCL_GZIP_OS_UNKNOWN);
var
+ AHeader: TJclGZIPHeader;
+ ExtraFieldLength, HeaderCRC16: Word;
HeaderCRC: Cardinal;
+
procedure StreamWriteBuffer(const Buffer; Count: Longint);
begin
FStream.WriteBuffer(Buffer, Count);
if gfHeaderCRC16 in Flags then
HeaderCRC := crc32(HeaderCRC, @Byte(Buffer), Count);
end;
+
function CheckCString(const Buffer: string): Boolean;
var
Index: Integer;
@@ -878,15 +877,7 @@
Exit;
Result := True;
end;
-const
- FatSystemToByte: array [TJclGZIPFatSystem] of Byte =
- ( JCL_GZIP_OS_FAT, JCL_GZIP_OS_AMIGA, JCL_GZIP_OS_VMS, JCL_GZIP_OS_UNIX,
- JCL_GZIP_OS_VM, JCL_GZIP_OS_ATARI, JCL_GZIP_OS_HPFS, JCL_GZIP_OS_MAC,
- JCL_GZIP_OS_Z, JCL_GZIP_OS_CPM, JCL_GZIP_OS_TOPS, JCL_GZIP_OS_NTFS,
- JCL_GZIP_OS_QDOS, JCL_GZIP_OS_ACORN, JCL_GZIP_OS_UNKNOWN, JCL_GZIP_OS_UNKNOWN );
-var
- AHeader: TJclGZIPHeader;
- ExtraFieldLength, HeaderCRC16: Word;
+
begin
if gfHeaderCRC16 in Flags then
HeaderCRC := crc32(0, nil, 0);
@@ -912,9 +903,9 @@
AHeader.ModifiedTime := FUnixTime;
case FCompressionLevel of
- Z_BEST_COMPRESSION :
+ Z_BEST_COMPRESSION:
AHeader.ExtraFlags := JCL_GZIP_EFLAG_MAX;
- Z_BEST_SPEED :
+ Z_BEST_SPEED:
AHeader.ExtraFlags := JCL_GZIP_EFLAG_FAST;
else
AHeader.ExtraFlags := 0;
@@ -965,6 +956,8 @@
var
HeaderCRC: Cardinal;
ComputeHeaderCRC: Boolean;
+ ExtraFieldLength: Word;
+
procedure ReadBuffer(var Buffer; SizeOfBuffer: Longint);
begin
Source.ReadBuffer(Buffer, SizeOfBuffer);
@@ -982,8 +975,7 @@
until Dummy = #0;
SetLength(FOriginalFileName, Length(FOriginalFileName) - 1);
end;
-var
- ExtraFieldLength: Word;
+
begin
inherited Create(Source);
@@ -1057,14 +1049,14 @@
function TJclGZIPDecompressionStream.GetFatSystem: TJclGZIPFatSystem;
const
- ByteToFatSystem: array [JCL_GZIP_OS_FAT..JCL_GZIP_OS_ACORN] of TJclGZIPFatSystem =
- ( gfsFat, gfsAmiga, gfsVMS, gfsUnix, gfsVM, gfsAtari, gfsHPFS, gfsMac, gfsZ,
- gfsCPM, gfsTOPS, gfsNTFS, gfsQDOS, gfsAcorn );
+ ByteToFatSystem: array[JCL_GZIP_OS_FAT..JCL_GZIP_OS_ACORN] of TJclGZIPFatSystem =
+ (gfsFat, gfsAmiga, gfsVMS, gfsUnix, gfsVM, gfsAtari, gfsHPFS, gfsMac, gfsZ,
+ gfsCPM, gfsTOPS, gfsNTFS, gfsQDOS, gfsAcorn);
begin
case FHeader.OS of
- JCL_GZIP_OS_FAT..JCL_GZIP_OS_ACORN :
+ JCL_GZIP_OS_FAT..JCL_GZIP_OS_ACORN:
Result := ByteToFatSystem[FHeader.OS];
- JCL_GZIP_OS_UNKNOWN :
+ JCL_GZIP_OS_UNKNOWN:
Result := gfsUnknown;
else
Result := gfsOther;
@@ -1088,7 +1080,7 @@
function TJclGZIPDecompressionStream.GetOriginalDataSize: Cardinal;
var
- StartPos: {$IFDEF COMPILER5}Longint;{$ELSE ~COMPILER5}Int64;{$ENDIF ~COMPILER5}
+ StartPos: {$IFDEF COMPILER5} Longint; {$ELSE} Int64; {$ENDIF}
AFooter: TJclGZIPFooter;
begin
if not FDataStarted then
@@ -1099,7 +1091,7 @@
FStream.ReadBuffer(AFooter, SizeOf(AFooter));
Result := AFooter.DataSize;
finally
- FStream.Seek(StartPos, {$IFDEF COMPILER5}soFromBeginning{$ELSE ~COMPILER5}soBeginning{$ENDIF ~COMPILER5});
+ FStream.Seek(StartPos, {$IFDEF COMPILER5} soFromBeginning {$ELSE} soBeginning {$ENDIF});
end;
end
else
@@ -1111,7 +1103,7 @@
function TJclGZIPDecompressionStream.GetStoredDataCRC32: Cardinal;
var
- StartPos: {$IFDEF COMPILER5}Longint;{$ELSE ~COMPILER5}Int64;{$ENDIF ~COMPILER5}
+ StartPos: {$IFDEF COMPILER5} Longint; {$ELSE} Int64; {$ENDIF}
AFooter: TJclGZIPFooter;
begin
if not FDataStarted then
@@ -1122,7 +1114,7 @@
FStream.ReadBuffer(AFooter, SizeOf(AFooter));
Result := AFooter.DataCRC32;
finally
- FStream.Seek(StartPos, {$IFDEF COMPILER5}soFromBeginning{$ELSE ~COMPILER5}soBeginning{$ENDIF ~COMPILER5});
+ FStream.Seek(StartPos, {$IFDEF COMPILER5} soFromBeginning {$ELSE} soBeginning {$ENDIF});
end;
end
else
@@ -1177,7 +1169,7 @@
BufferAddr := @Char(Buffer);
Move(FFooter, Buffer, SizeOf(FFooter));
Result := FStream.Read(BufferAddr[SizeOf(FFooter)], Count - SizeOf(FFooter))
- + FStream.Read(FFooter, SizeOf(FFooter));
+ + FStream.Read(FFooter, SizeOf(FFooter));
if Result < Count then
begin
@@ -1298,7 +1290,7 @@
begin
FStream.WriteBuffer(FBuffer^, FBufferSize);
Progress(Self);
-
+
BZLibRecord.next_out := FBuffer;
BZLibRecord.avail_out := FBufferSize;
Result := Result + FBufferSize;
@@ -1388,7 +1380,6 @@
BZLibRecord.next_in := FBuffer;
end;
-
if BZLibRecord.avail_in > 0 then
begin
BZIP2LibCheck(BZ2_bzDecompress(@BZLibRecord));
@@ -1408,138 +1399,128 @@
end;
*)
-//NEW MARCH 2007:
-
-
{ Compress to a .gz file - one liner - NEW MARCH 2007 }
-function GZipFile( sourceFile,destinationFile:String; compressionLevel:Integer=Z_DEFAULT_COMPRESSION;
- progressCallback:TJclCompressStreamProgressCallback =nil;
- userdata:Pointer=nil ):Boolean;
+
+function GZipFile(SourceFile, DestinationFile: string; CompressionLevel: Integer = Z_DEFAULT_COMPRESSION;
+ ProgressCallback: TJclCompressStreamProgressCallback = nil; UserData: Pointer = nil): Boolean;
var
- zlibstr:TJclGZIPCompressionStream;
- destStr:TFileStream;
- sourceStr:TFileStream;
- Buffer:Pointer;
- ReadBytes:Integer;
- eofFlag:Boolean;
- sourceFileSize:Int64;
+ ZLibStream: TJclGZIPCompressionStream;
+ DestStream: TFileStream;
+ SourceStream: TFileStream;
+ Buffer: Pointer;
+ ReadBytes: Integer;
+ EofFlag: Boolean;
+ SourceFileSize: Int64;
begin
- result := false;
- if not FileExists(sourceFile) then // can't copy what doesn't exist!
- exit;
+ Result := False;
+ if not FileExists(SourceFile) then // can't copy what doesn't exist!
+ Exit;
-
{destination and source streams first and second}
- sourceStr := TFileStream.Create( sourceFile, {mode}fmOpenRead or fmShareDenyWrite );
- sourceFileSize := sourceStr.Size; // source file size
- destStr := TFileStream.Create( destinationFile, {mode}fmCreate ); // see SysUtils
- GetMem(Buffer, JclDefaultBufferSize+2);
+ SourceStream := TFileStream.Create(SourceFile, fmOpenRead or fmShareDenyWrite);
+ SourceFileSize := SourceStream.Size; // source file size
+ DestStream := TFileStream.Create(DestinationFile, fmCreate); // see SysUtils
+ GetMem(Buffer, JclDefaultBufferSize + 2);
+
+ // (rom) initial progress callback
+ if Assigned(ProgressCallback) then
+ ProgressCallback(SourceFileSize, 0, UserData);
try
{ create compressionstream third, and copy from source,
through zlib compress layer,
out through file stream}
- zlibstr := TJclGZIPCompressionStream.Create( destStr, compressionLevel{-1:default} );
- try
- // zlibStr.CopyFrom(sourceStr, 0 ); // One line way to do it! may not
- // // be reliable idea to do this! also,
- // //no progress callbacks!
- eofFlag := false;
- while not eofFlag do
- begin
- ReadBytes := sourceStr.Read(Buffer^, JclDefaultBufferSize);
- zlibstr.WriteBuffer(Buffer^, ReadBytes);
- if ReadBytes <> JclDefaultBufferSize then begin
- eofFlag := true;
- Break; // short block indicates end of zlib stream
- end;
- if Assigned(progressCallback) then
- progressCallback( sourceFileSize, sourceStr.Position, userdata );
-
- Sleep(80); // on purpose! make it visible! XXX delete later
- end; //while
-
-
- //destStr.Flush; // no such thing in streams.
-
+ ZLibStream := TJclGZIPCompressionStream.Create(DestStream, CompressionLevel);
+ try
+ // ZLibStream.CopyFrom(SourceStream, 0 ); // One line way to do it! may not
+ // // be reliable idea to do this! also,
+ // //no progress callbacks!
+ EofFlag := False;
+ while not EofFlag do
+ begin
+ ReadBytes := SourceStream.Read(Buffer^, JclDefaultBufferSize);
+ ZLibStream.WriteBuffer(Buffer^, ReadBytes);
+ if ReadBytes <> JclDefaultBufferSize then
+ Break; // short block indicates end of zlib stream
+ if Assigned(ProgressCallback) then
+ ProgressCallback(SourceFileSize, SourceStream.Position, UserData);
+ end;
+ //DestStream.Flush; // no such thing in streams.
+ finally
+ ZLibStream.Free;
+ end;
finally
- zlibStr.Free;
+ DestStream.Free;
+ SourceStream.Free;
+ FreeMem(Buffer);
end;
- finally
- destStr.Free;
- sourceStr.Free;
- FreeMem(Buffer);
+ Result := FileExists(DestinationFile);
+ if Result then
+ begin
+ if Assigned(ProgressCallback) then
+ ProgressCallback(SourceFileSize, SourceFileSize, UserData);
end;
- result := FileExists(destinationFile);
- if result then begin
- if Assigned(progressCallback) then
- progressCallback( sourceFileSize, sourceFileSize, userdata );
-
- end;
end;
+{ Decompress a .gz file }
-{ Decompress a .gz file - one liner - NEW MARCH 2007 }
-function UnGZipFile( sourceFile,destinationFile:String;
- progressCallback:TJclCompressStreamProgressCallback =nil;
- userdata:Pointer=nil):Boolean;
+function UnGZipFile(SourceFile, DestinationFile: string; ProgressCallback: TJclCompressStreamProgressCallback = nil;
+ UserData: Pointer = nil): Boolean;
var
- zlibstr:TJclGZIPDecompressionStream;
- destStr:TFileStream;
- sourceStr:TFileStream;
- Buffer:Pointer;
- ReadBytes:Integer;
- zlibstrDateTime:TDateTime;
- sourceFileSize:Int64;
+ ZLibStream: TJclGZIPDecompressionStream;
+ DestStream: TFileStream;
+ SourceStream: TFileStream;
+ Buffer: Pointer;
+ ReadBytes: Integer;
+ ZLibStreamDateTime: TDateTime;
+ SourceFileSize: Int64;
begin
- result := false;
- if not FileExists(sourceFile) then // can't copy what doesn't exist!
- exit;
+ Result := False;
+ if not FileExists(SourceFile) then // can't copy what doesn't exist!
+ exit;
-
-
{destination and source streams first and second}
- sourceStr := TFileStream.Create( sourceFile, {mode}fmOpenRead or fmShareDenyWrite );
- sourceFileSize := sourceStr.Size; // source file size
- destStr := TFileStream.Create( destinationFile, {mode}fmCreate ); // see SysUtils
- GetMem(Buffer, JclDefaultBufferSize+2);
- try
- { create decompressionstream third, and copy from source,
- through zlib decompress layer,
- out through file stream
- }
- zlibstr := TJclGZIPDecompressionStream.Create( sourceStr );
+ SourceStream := TFileStream.Create(SourceFile, {mode} fmOpenRead or fmShareDenyWrite);
+ SourceFileSize := SourceStream.Size; // source file size
+ DestStream := TFileStream.Create(DestinationFile, {mode} fmCreate); // see SysUtils
+ GetMem(Buffer, JclDefaultBufferSize + 2);
+ // (rom) initial progress callback
+ if Assigned(ProgressCallback) then
+ ProgressCallback(SourceFileSize, 0, UserData);
try
- { Copy in from sourceStr, through zlibstr, and out to DestStr }
- while not zlibstr.FDataEnded do
- begin
- ReadBytes := zlibstr.Read(Buffer^, JclDefaultBufferSize);
- destStr.WriteBuffer(Buffer^, ReadBytes);
- if ReadBytes <> JclDefaultBufferSize then
- Break; // short block indicates end of zlib stream
- if Assigned(progressCallback) then
- progressCallback( sourceFileSize, sourceStr.Position, userdata );
-
- Sleep(80); // on purpose! make it visible! XXX delete later
- end;
- zlibstrDateTime := zlibstr.DosTime;
-
+ { create decompressionstream third, and copy from source,
+ through zlib decompress layer, out through file stream
+ }
+ ZLibStream := TJclGZIPDecompressionStream.Create(SourceStream);
+ try
+ { Copy in from SourceStream, through ZLibStream, and out to DestStream }
+ while not ZLibStream.FDataEnded do
+ begin
+ ReadBytes := ZLibStream.Read(Buffer^, JclDefaultBufferSize);
+ DestStream.WriteBuffer(Buffer^, ReadBytes);
+ if ReadBytes <> JclDefaultBufferSize then
+ Break; // short block indicates end of zlib stream
+ if Assigned(ProgressCallback) then
+ ProgressCallback(SourceFileSize, SourceStream.Position, UserData);
+ end;
+ ZLibStreamDateTime := ZLibStream.DosTime;
+ finally
+ ZLibStream.Free;
+ end;
finally
- zlibStr.Free;
+ DestStream.Free;
+ SourceStream.Free;
+ FreeMem(Buffer);
end;
- finally
- destStr.Free;
- sourceStr.Free;
- FreeMem(Buffer);
- end;
- result := FileExists(destinationFile);
- if result then begin
- // one last progress update, for when we're finished!
- if Assigned(progressCallback) then
- progressCallback( sourceFileSize, sourceFileSize, userdata );
+ Result := FileExists(DestinationFile);
+ if Result then
+ begin
+ // one last progress update, for when we're finished!
+ if Assigned(ProgressCallback) then
+ ProgressCallback(SourceFileSize, SourceFileSize, UserData);
// preserve datetime when unpacking! (see JclFileUtils)
- SetFileLastWrite(destinationFile,zlibstrDateTime );
+ SetFileLastWrite(DestinationFile, ZLibStreamDateTime);
end;
end;
@@ -1549,7 +1530,7 @@
finalization
UnregisterUnitVersion(HInstance);
-{$ENDIF UNITVERSIONING}
+ {$ENDIF UNITVERSIONING}
end.
Modified: trunk/jcl/source/common/JclStrings.pas
===================================================================
--- trunk/jcl/source/common/JclStrings.pas 2007-04-07 06:34:48 UTC (rev 1966)
+++ trunk/jcl/source/common/JclStrings.pas 2007-04-07 06:36:05 UTC (rev 1967)
@@ -899,7 +899,7 @@
I: Integer;
C: Char;
begin
- for i := 1 to Length(s) do
+ for I := 1 to Length(S) do
begin
C := S[I];
@@ -4363,14 +4363,14 @@
const
BoolToStr: array[Boolean] of string[5] = ('false', 'true');
-{$IFDEF COMPILER5}
+ {$IFDEF COMPILER5}
MaxCurrency: Currency = 922337203685477.5807;
varShortInt = $0010; { vt_i1 16 }
varWord = $0012; { vt_ui2 18 }
varLongWord = $0013; { vt_ui4 19 }
varInt64 = $0014; { vt_i8 20 }
-{$ENDIF COMPILER5}
+ {$ENDIF COMPILER5}
type
TInterfacedObjectAccess = class(TInterfacedObject);
@@ -4945,7 +4945,7 @@
function TStringBuilder.Replace(OldChar, NewChar: Char; StartIndex,
Count: Integer): TStringBuilder;
var
- i: Integer;
+ I: Integer;
begin
if Count = -1 then
Count := FLength;
@@ -4953,17 +4953,16 @@
raise ArgumentOutOfRangeException.CreateRes(@RsArgumentOutOfRange);
if (Count > 0) and (OldChar <> NewChar) then
begin
- for i := StartIndex to StartIndex + Length - 1 do
- if FChars[i] = OldChar then
- FChars[i] := NewChar;
+ for I := StartIndex to StartIndex + Length - 1 do
+ if FChars[I] = OldChar then
+ FChars[I] := NewChar;
end;
Result := Self;
end;
-function TStringBuilder.Replace(OldValue, NewValue: string; StartIndex,
- Count: Integer): TStringBuilder;
+function TStringBuilder.Replace(OldValue, NewValue: string; StartIndex, Count: Integer): TStringBuilder;
var
- i: Integer;
+ I: Integer;
Offset: Integer;
NewLen, OldLen, Capacity: Integer;
begin
@@ -4980,11 +4979,11 @@
NewLen := System.Length(NewValue);
Offset := NewLen - OldLen;
Capacity := System.Length(FChars);
- for i := StartIndex to StartIndex + Length - 1 do
- if FChars[i] = OldValue[1] then
+ for I := StartIndex to StartIndex + Length - 1 do
+ if FChars[I] = OldValue[1] then
begin
if OldLen > 1 then
- if StrLComp(@FChars[i + 1], PChar(OldValue) + 1, OldLen - 1) <> 0 then
+ if StrLComp(@FChars[I + 1], PChar(OldValue) + 1, OldLen - 1) <> 0 then
Continue;
if Offset <> 0 then
begin
@@ -4996,17 +4995,17 @@
SetLength(FChars, Capacity);
end;
if Offset < 0 then
- MoveChar(FChars[i - Offset], FChars[i], FLength - i)
+ MoveChar(FChars[I - Offset], FChars[I], FLength - I)
else
- MoveChar(FChars[i + OldLen], FChars[i + OldLen + Offset], FLength - OldLen - i);
+ MoveChar(FChars[I + OldLen], FChars[I + OldLen + Offset], FLength - OldLen - I);
Inc(FLength, Offset);
end;
if NewLen > 0 then
begin
if (OldLen = 1) and (NewLen = 1) then
- FChars[i] := NewValue[1]
+ FChars[I] := NewValue[1]
else
- MoveChar(NewValue[1], FChars[i], NewLen);
+ MoveChar(NewValue[1], FChars[I], NewLen);
end;
end;
end;
@@ -5014,22 +5013,21 @@
end;
{$ENDIF CLR}
-{$IFNDEF CLR}
+{$IFDEF CLR}
+{$IFDEF UNITVERSIONING}
initialization
+ RegisterUnitVersion(HInstance, UnitVersioning);
+{$ENDIF UNITVERSIONING}
+{$ELSE}
+initialization
LoadCharTypes; // this table first
LoadCaseMap; // or this function does not work
{$IFDEF UNITVERSIONING}
RegisterUnitVersion(HInstance, UnitVersioning);
{$ENDIF UNITVERSIONING}
+{$ENDIF CLR}
-{$ELSE}
{$IFDEF UNITVERSIONING}
-initialization
- RegisterUnitVersion(HInstance, UnitVersioning);
-{$ENDIF UNITVERSIONING}
-{$ENDIF ~CLR}
-
-{$IFDEF UNITVERSIONING}
finalization
UnregisterUnitVersion(HInstance);
{$ENDIF UNITVERSIONING}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mar...@us...> - 2007-04-07 06:34:51
|
Revision: 1966
http://svn.sourceforge.net/jcl/?rev=1966&view=rev
Author: marquardt
Date: 2007-04-06 23:34:48 -0700 (Fri, 06 Apr 2007)
Log Message:
-----------
TJclOtaTemplateParams.GetStringsValue had a warning, blind reimplementation
Modified Paths:
--------------
trunk/jcl/experts/debug/dialog/JclOtaTemplates.pas
Modified: trunk/jcl/experts/debug/dialog/JclOtaTemplates.pas
===================================================================
--- trunk/jcl/experts/debug/dialog/JclOtaTemplates.pas 2007-04-04 07:23:26 UTC (rev 1965)
+++ trunk/jcl/experts/debug/dialog/JclOtaTemplates.pas 2007-04-07 06:34:48 UTC (rev 1966)
@@ -297,11 +297,11 @@
function TJclOtaTemplateParams.GetStringsValue(const Name: string): TStrings;
var
- AInstance: TObject;
+ Instance: TObject;
begin
- AInstance := TObject(GetOrdProp(Self, Name));
- if Assigned(Result) and (Result is TStrings) then
- Result := TStrings(AInstance)
+ Instance := TObject(GetOrdProp(Self, Name));
+ if Instance is TStrings then
+ Result := TStrings(Instance)
else
Result := nil;
end;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sch...@us...> - 2007-04-04 07:23:31
|
Revision: 1965
http://svn.sourceforge.net/jcl/?rev=1965&view=rev
Author: schuettecarsten
Date: 2007-04-04 00:23:26 -0700 (Wed, 04 Apr 2007)
Log Message:
-----------
Fixed bug in InternalSendOrSave when sending HTML body or/and two or more attachments
Modified Paths:
--------------
trunk/jcl/source/windows/JclMapi.pas
Modified: trunk/jcl/source/windows/JclMapi.pas
===================================================================
--- trunk/jcl/source/windows/JclMapi.pas 2007-03-29 15:44:58 UTC (rev 1964)
+++ trunk/jcl/source/windows/JclMapi.pas 2007-04-04 07:23:26 UTC (rev 1965)
@@ -947,7 +947,8 @@
Flags, Res: DWORD;
I: Integer;
MsgID: array [0..512] of AnsiChar;
- AttachmentFileName, HtmlBodyFileName: string;
+ AttachmentFileName: array of string;
+ HtmlBodyFileName: string;
begin
if not AnyClientInstalled then
raise EJclMapiError.CreateRes(@RsMapiMailNoClient);
@@ -965,22 +966,23 @@
if Attachments.Count > 0 then
begin
SetLength(AttachArray, Attachments.Count);
+ SetLength(AttachmentFileName, Attachments.Count);
for I := 0 to Attachments.Count - 1 do
begin
FillChar(AttachArray[I], SizeOf(TMapiFileDesc), #0);
AttachArray[I].nPosition := DWORD(-1);
if (AttachmentFiles.Count > I) and (AttachmentFiles[I] <> '') then
begin
- AttachmentFileName := ExpandFileName(AttachmentFiles[I]);
+ AttachmentFileName[I] := ExpandFileName(AttachmentFiles[I]);
AttachArray[I].lpszFileName := PChar(Attachments[I]);
end
else
begin
- AttachmentFileName := ExpandFileName(Attachments[I]);
+ AttachmentFileName[I] := ExpandFileName(Attachments[I]);
AttachArray[I].lpszFileName := nil;
end;
- AttachArray[I].lpszPathName := PChar(AttachmentFileName);
- if not FileExists(AttachmentFileName) then
+ AttachArray[I].lpszPathName := PChar(AttachmentFileName[I]);
+ if not FileExists(AttachmentFileName[I]) then
MapiCheck(MAPI_E_ATTACHMENT_NOT_FOUND, False);
end;
end
@@ -1052,6 +1054,7 @@
begin
DeleteFile(HtmlBodyFileName);
Attachments.Delete(0);
+ AttachmentFiles.Delete(0);
end;
end;
end;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wp...@us...> - 2007-03-29 15:45:09
|
Revision: 1964
http://svn.sourceforge.net/jcl/?rev=1964&view=rev
Author: wpostma
Date: 2007-03-29 08:44:58 -0700 (Thu, 29 Mar 2007)
Log Message:
-----------
FooterWritten property added to TJclGZIPDecompressionStream.
GZipFile, UnGZipFile routines added.
Modified Paths:
--------------
trunk/jcl/source/common/JclCompression.pas
Modified: trunk/jcl/source/common/JclCompression.pas
===================================================================
--- trunk/jcl/source/common/JclCompression.pas 2007-03-25 11:21:59 UTC (rev 1963)
+++ trunk/jcl/source/common/JclCompression.pas 2007-03-29 15:44:58 UTC (rev 1964)
@@ -262,6 +262,8 @@
FOriginalSize: Cardinal;
FDataCRC32: Cardinal;
FHeaderWritten: Boolean;
+ FFooterWritten :Boolean; // flag so we only write the footer once! (NEW 2007)
+
procedure WriteHeader;
function GetDosTime: TDateTime;
function GetUnixTime: Cardinal;
@@ -389,6 +391,17 @@
EJclCompressionError = class(EJclError);
+ // callback type used in helper functions below:
+ TJclCompressStreamProgressCallback = procedure (filesize,position:Int64;userdata:Pointer) of Object;
+
+
+{helper functions - one liners by wpostma}
+function GZipFile( sourceFile,destinationFile:String; compressionLevel:Integer= Z_DEFAULT_COMPRESSION;
+ progressCallback:TJclCompressStreamProgressCallback =nil;userdata:Pointer=nil):Boolean;
+function UnGZipFile( sourceFile,destinationFile:String;
+ progressCallback:TJclCompressStreamProgressCallback =nil;userdata:Pointer=nil):Boolean;
+
+
{$IFDEF UNITVERSIONING}
const
UnitVersioning: TUnitVersionInfo = (
@@ -399,10 +412,13 @@
);
{$ENDIF UNITVERSIONING}
+
implementation
uses
- JclResources, JclDateTime;
+ JclResources,
+ JclDateTime,
+ JclFileUtils;
const
JclDefaultBufferSize = 131072; // 128k
@@ -756,6 +772,11 @@
destructor TJclGZIPCompressionStream.Destroy;
begin
+ // BUGFIX: CRC32 and Uncompressed Size missing from GZIP output
+ // unless you called Flush manually. This is not correct Stream behaviour.
+ // Flush should be optional!
+ Flush;
+
FZLibStream.Free;
inherited Destroy;
@@ -770,6 +791,10 @@
else
Result := 0;
+ if (FFooterWritten) then
+ exit;
+ FFooterWritten := true;
+
// Write footer, CRC32 followed by ISIZE
AFooter.DataCRC32 := FDataCRC32;
AFooter.DataSize := FOriginalSize;
@@ -1383,6 +1408,141 @@
end;
*)
+//NEW MARCH 2007:
+
+
+{ Compress to a .gz file - one liner - NEW MARCH 2007 }
+function GZipFile( sourceFile,destinationFile:String; compressionLevel:Integer=Z_DEFAULT_COMPRESSION;
+ progressCallback:TJclCompressStreamProgressCallback =nil;
+ userdata:Pointer=nil ):Boolean;
+var
+ zlibstr:TJclGZIPCompressionStream;
+ destStr:TFileStream;
+ sourceStr:TFileStream;
+ Buffer:Pointer;
+ ReadBytes:Integer;
+ eofFlag:Boolean;
+ sourceFileSize:Int64;
+begin
+ result := false;
+ if not FileExists(sourceFile) then // can't copy what doesn't exist!
+ exit;
+
+
+ {destination and source streams first and second}
+ sourceStr := TFileStream.Create( sourceFile, {mode}fmOpenRead or fmShareDenyWrite );
+ sourceFileSize := sourceStr.Size; // source file size
+ destStr := TFileStream.Create( destinationFile, {mode}fmCreate ); // see SysUtils
+ GetMem(Buffer, JclDefaultBufferSize+2);
+ try
+ { create compressionstream third, and copy from source,
+ through zlib compress layer,
+ out through file stream}
+ zlibstr := TJclGZIPCompressionStream.Create( destStr, compressionLevel{-1:default} );
+ try
+ // zlibStr.CopyFrom(sourceStr, 0 ); // One line way to do it! may not
+ // // be reliable idea to do this! also,
+ // //no progress callbacks!
+ eofFlag := false;
+ while not eofFlag do
+ begin
+ ReadBytes := sourceStr.Read(Buffer^, JclDefaultBufferSize);
+ zlibstr.WriteBuffer(Buffer^, ReadBytes);
+ if ReadBytes <> JclDefaultBufferSize then begin
+ eofFlag := true;
+ Break; // short block indicates end of zlib stream
+ end;
+ if Assigned(progressCallback) then
+ progressCallback( sourceFileSize, sourceStr.Position, userdata );
+
+ Sleep(80); // on purpose! make it visible! XXX delete later
+ end; //while
+
+
+ //destStr.Flush; // no such thing in streams.
+
+ finally
+ zlibStr.Free;
+ end;
+ finally
+ destStr.Free;
+ sourceStr.Free;
+ FreeMem(Buffer);
+ end;
+ result := FileExists(destinationFile);
+ if result then begin
+ if Assigned(progressCallback) then
+ progressCallback( sourceFileSize, sourceFileSize, userdata );
+
+ end;
+end;
+
+
+{ Decompress a .gz file - one liner - NEW MARCH 2007 }
+function UnGZipFile( sourceFile,destinationFile:String;
+ progressCallback:TJclCompressStreamProgressCallback =nil;
+ userdata:Pointer=nil):Boolean;
+var
+ zlibstr:TJclGZIPDecompressionStream;
+ destStr:TFileStream;
+ sourceStr:TFileStream;
+ Buffer:Pointer;
+ ReadBytes:Integer;
+ zlibstrDateTime:TDateTime;
+ sourceFileSize:Int64;
+begin
+ result := false;
+ if not FileExists(sourceFile) then // can't copy what doesn't exist!
+ exit;
+
+
+
+ {destination and source streams first and second}
+ sourceStr := TFileStream.Create( sourceFile, {mode}fmOpenRead or fmShareDenyWrite );
+ sourceFileSize := sourceStr.Size; // source file size
+ destStr := TFileStream.Create( destinationFile, {mode}fmCreate ); // see SysUtils
+ GetMem(Buffer, JclDefaultBufferSize+2);
+ try
+ { create decompressionstream third, and copy from source,
+ through zlib decompress layer,
+ out through file stream
+ }
+ zlibstr := TJclGZIPDecompressionStream.Create( sourceStr );
+
+ try
+ { Copy in from sourceStr, through zlibstr, and out to DestStr }
+ while not zlibstr.FDataEnded do
+ begin
+ ReadBytes := zlibstr.Read(Buffer^, JclDefaultBufferSize);
+ destStr.WriteBuffer(Buffer^, ReadBytes);
+ if ReadBytes <> JclDefaultBufferSize then
+ Break; // short block indicates end of zlib stream
+ if Assigned(progressCallback) then
+ progressCallback( sourceFileSize, sourceStr.Position, userdata );
+
+ Sleep(80); // on purpose! make it visible! XXX delete later
+ end;
+ zlibstrDateTime := zlibstr.DosTime;
+
+ finally
+ zlibStr.Free;
+ end;
+ finally
+ destStr.Free;
+ sourceStr.Free;
+ FreeMem(Buffer);
+ end;
+ result := FileExists(destinationFile);
+ if result then begin
+ // one last progress update, for when we're finished!
+ if Assigned(progressCallback) then
+ progressCallback( sourceFileSize, sourceFileSize, userdata );
+
+ // preserve datetime when unpacking! (see JclFileUtils)
+ SetFileLastWrite(destinationFile,zlibstrDateTime );
+ end;
+end;
+
{$IFDEF UNITVERSIONING}
initialization
RegisterUnitVersion(HInstance, UnitVersioning);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-03-25 11:22:00
|
Revision: 1963
http://svn.sourceforge.net/jcl/?rev=1963&view=rev
Author: outchy
Date: 2007-03-25 04:21:59 -0700 (Sun, 25 Mar 2007)
Log Message:
-----------
Now works with latest versions of subversion.
Modified Paths:
--------------
trunk/jcl/experts/versioncontrol/JclVersionCtrlSVNImpl.pas
Modified: trunk/jcl/experts/versioncontrol/JclVersionCtrlSVNImpl.pas
===================================================================
--- trunk/jcl/experts/versioncontrol/JclVersionCtrlSVNImpl.pas 2007-03-25 11:17:22 UTC (rev 1962)
+++ trunk/jcl/experts/versioncontrol/JclVersionCtrlSVNImpl.pas 2007-03-25 11:21:59 UTC (rev 1963)
@@ -57,7 +57,7 @@
implementation
uses
- JclFileUtils, JclRegistry,
+ JclFileUtils, JclRegistry, JclAnsiStrings,
JclOtaUtils, JclOtaResources, JclOtaConsts;
const
@@ -205,42 +205,58 @@
function TJclVersionControlSVN.GetFileActions(
const FileName: string): TJclVersionControlActions;
var
- EntryFile: string;
- Entries: TStrings;
- IndexDir, IndexEntry: Integer;
- FileNameValue: string;
+ EntryFile, EntryLine, UpperCaseFileName, XmlFileNameValue: string;
+ Entries: TJclMappedTextReader;
+ IndexDir: Integer;
begin
Result := inherited GetFileActions(FileName);
if Enabled then
begin
- Entries := TStringList.Create;
- try
- FileNameValue := Format('NAME="%s"', [ExtractFileName(AnsiUpperCaseFileName(FileName))]);
+ UpperCaseFileName := AnsiUpperCase(ExtractFileName(FileName));
+ XmlFileNameValue := Format('NAME="%s"', [UpperCaseFileName]);
- for IndexDir := Low(JclVersionCtrlSVNDirectories) to High(JclVersionCtrlSVNDirectories) do
+ for IndexDir := Low(JclVersionCtrlSVNDirectories) to High(JclVersionCtrlSVNDirectories) do
+ begin
+ EntryFile := PathAddSeparator(ExtractFilePath(FileName))
+ + JclVersionCtrlSVNDirectories[IndexDir] + JclVersionCtrlSVNEntryFile;
+
+ if FileExists(EntryFile) then
begin
- EntryFile := PathAddSeparator(ExtractFilePath(FileName))
- + JclVersionCtrlSVNDirectories[IndexDir] + JclVersionCtrlSVNEntryFile;
-
- if FileExists(EntryFile) then
- begin
- Entries.LoadFromFile(EntryFile);
-
- for IndexEntry := 0 to Entries.Count - 1 do
- if Pos(FileNameValue, AnsiUpperCase(Entries.Strings[IndexEntry])) > 0 then
+ Entries := TJclMappedTextReader.Create(EntryFile);
+ try
+ while not Entries.Eof do
begin
- // TODO: check modifications
- Result := Result + [vcaBlame, vcaBranch, vcaCommit, vcaDiff, vcaGraph,
- vcaLog, vcaLock, vcaMerge, vcaRename, vcaRevert, vcaRepoBrowser,
- vcaStatus, vcaTag, vcaUpdate, vcaUpdateTo, vcaUnlock];
- FreeAndNil(Entries);
- Exit;
+ EntryLine := Entries.ReadLn;
+ // old SVN entries file (xml-like)
+ if Pos(XmlFileNameValue, AnsiUpperCase(EntryLine)) > 0 then
+ begin
+ // TODO: check modifications
+ Result := Result + [vcaBlame, vcaBranch, vcaCommit, vcaDiff, vcaGraph,
+ vcaLog, vcaLock, vcaMerge, vcaRename, vcaRevert, vcaRepoBrowser,
+ vcaStatus, vcaTag, vcaUpdate, vcaUpdateTo, vcaUnlock];
+ FreeAndNil(Entries);
+ Exit;
+ end;
+ // new SVN entries file (flat-style)
+ if EntryLine = AnsiFormFeed then
+ begin
+ EntryLine := Entries.ReadLn;
+ if AnsiSameStr(UpperCaseFileName, AnsiUpperCase(EntryLine)) then
+ begin
+ // TODO: check modifications
+ Result := Result + [vcaBlame, vcaBranch, vcaCommit, vcaDiff, vcaGraph,
+ vcaLog, vcaLock, vcaMerge, vcaRename, vcaRevert, vcaRepoBrowser,
+ vcaStatus, vcaTag, vcaUpdate, vcaUpdateTo, vcaUnlock];
+ FreeAndNil(Entries);
+ Exit;
+ end;
+ end;
end;
+ finally
+ Entries.Free;
end;
end;
- finally
- Entries.Free;
end;
Result := Result + [vcaAdd];
end;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2007-03-25 11:17:24
|
Revision: 1962
http://svn.sourceforge.net/jcl/?rev=1962&view=rev
Author: ahuser
Date: 2007-03-25 04:17:22 -0700 (Sun, 25 Mar 2007)
Log Message:
-----------
Fixed prototypes
Modified Paths:
--------------
trunk/jcl/InstallForDelphi.bat
Modified: trunk/jcl/InstallForDelphi.bat
===================================================================
--- trunk/jcl/InstallForDelphi.bat 2007-03-25 10:18:11 UTC (rev 1961)
+++ trunk/jcl/InstallForDelphi.bat 2007-03-25 11:17:22 UTC (rev 1962)
@@ -4,11 +4,11 @@
::jpp prototypes
-..\devtools\jpp.exe -c -dVCL -dMSWINDOWS -uVisualCLX -uUnix -uKYLIX -xVclGui VclGui\JediGUIMain.pas
+..\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 VClGui\JediGUIReadme.pas
+..\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 VclGui\JediGUIInstall.pas
+..\devtools\jpp.exe -c -dVCL -dMSWINDOWS -uVisualCLX -uUnix -uKYLIX -xVclGui\ prototypes\JediGUIInstall.pas
if ERRORLEVEL 1 goto FailedCompile
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-03-25 10:18:13
|
Revision: 1961
http://svn.sourceforge.net/jcl/?rev=1961&view=rev
Author: outchy
Date: 2007-03-25 03:18:11 -0700 (Sun, 25 Mar 2007)
Log Message:
-----------
Donation from Sandeep Chandra: differencing operations on pas and dfm files
Modified Paths:
--------------
trunk/jcl/experts/versioncontrol/VersionControlImpl.pas
Modified: trunk/jcl/experts/versioncontrol/VersionControlImpl.pas
===================================================================
--- trunk/jcl/experts/versioncontrol/VersionControlImpl.pas 2007-03-24 05:53:10 UTC (rev 1960)
+++ trunk/jcl/experts/versioncontrol/VersionControlImpl.pas 2007-03-25 10:18:11 UTC (rev 1961)
@@ -17,12 +17,13 @@
{ }
{ Contributors: }
{ Florent Ouchet (outchy) }
+{ Sandeep Chandra }
{ }
{**************************************************************************************************}
{ }
{ Unit owner: Elahn Ientile }
-{ Last modified: $Date$ }
-{ Revision: $Revision$ }
+{ Last modified: $Date$ }
+{ Revision: $Revision$ }
{ }
{**************************************************************************************************}
@@ -1259,6 +1260,16 @@
AOTAModule: IOTAModule;
begin
AOTAModule := ModuleServices.CurrentModule;
+ {$IFDEF COMPILER6_UP}
+ //SC 20/03/2007
+ if Assigned(AOTAModule) and Assigned(AOTAModule.CurrentEditor) then
+ begin
+ Result := AOTAModule.CurrentEditor.FileName;
+ Exit;
+ end
+ //SC 20/03/2007
+ else
+ {$ENDIF COMPILER6_UP}
if Assigned(AOTAModule) and (AOTAModule.FileSystem = '') then
Result := AOTAModule.FileName
else
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mar...@us...> - 2007-03-24 05:53:13
|
Revision: 1960
http://svn.sourceforge.net/jcl/?rev=1960&view=rev
Author: marquardt
Date: 2007-03-23 22:53:10 -0700 (Fri, 23 Mar 2007)
Log Message:
-----------
minor style cleanup
Modified Paths:
--------------
trunk/jcl/source/jedi.inc
Modified: trunk/jcl/source/jedi.inc
===================================================================
--- trunk/jcl/source/jedi.inc 2007-03-23 00:43:54 UTC (rev 1959)
+++ trunk/jcl/source/jedi.inc 2007-03-24 05:53:10 UTC (rev 1960)
@@ -572,162 +572,162 @@
{ DELPHIX_UP from DELPHIX mappings }
{------------------------------------------------------------------------------}
-{$IFDEF DELPHI11 } {$DEFINE DELPHI11_UP } {$ENDIF}
-{$IFDEF DELPHI10 } {$DEFINE DELPHI10_UP } {$ENDIF}
-{$IFDEF DELPHI9 } {$DEFINE DELPHI9_UP } {$ENDIF}
-{$IFDEF DELPHI8 } {$DEFINE DELPHI8_UP } {$ENDIF}
-{$IFDEF DELPHI7 } {$DEFINE DELPHI7_UP } {$ENDIF}
-{$IFDEF DELPHI6 } {$DEFINE DELPHI6_UP } {$ENDIF}
-{$IFDEF DELPHI5 } {$DEFINE DELPHI5_UP } {$ENDIF}
-{$IFDEF DELPHI4 } {$DEFINE DELPHI4_UP } {$ENDIF}
-{$IFDEF DELPHI3 } {$DEFINE DELPHI3_UP } {$ENDIF}
-{$IFDEF DELPHI2 } {$DEFINE DELPHI2_UP } {$ENDIF}
-{$IFDEF DELPHI1 } {$DEFINE DELPHI1_UP } {$ENDIF}
+{$IFDEF DELPHI11} {$DEFINE DELPHI11_UP} {$ENDIF}
+{$IFDEF DELPHI10} {$DEFINE DELPHI10_UP} {$ENDIF}
+{$IFDEF DELPHI9} {$DEFINE DELPHI9_UP} {$ENDIF}
+{$IFDEF DELPHI8} {$DEFINE DELPHI8_UP} {$ENDIF}
+{$IFDEF DELPHI7} {$DEFINE DELPHI7_UP} {$ENDIF}
+{$IFDEF DELPHI6} {$DEFINE DELPHI6_UP} {$ENDIF}
+{$IFDEF DELPHI5} {$DEFINE DELPHI5_UP} {$ENDIF}
+{$IFDEF DELPHI4} {$DEFINE DELPHI4_UP} {$ENDIF}
+{$IFDEF DELPHI3} {$DEFINE DELPHI3_UP} {$ENDIF}
+{$IFDEF DELPHI2} {$DEFINE DELPHI2_UP} {$ENDIF}
+{$IFDEF DELPHI1} {$DEFINE DELPHI1_UP} {$ENDIF}
{------------------------------------------------------------------------------}
{ DELPHIX_UP from DELPHIX_UP mappings }
{------------------------------------------------------------------------------}
-{$IFDEF DELPHI11_UP} {$DEFINE DELPHI10_UP } {$ENDIF}
-{$IFDEF DELPHI10_UP } {$DEFINE DELPHI9_UP } {$ENDIF}
+{$IFDEF DELPHI11_UP} {$DEFINE DELPHI10_UP} {$ENDIF}
+{$IFDEF DELPHI10_UP} {$DEFINE DELPHI9_UP} {$ENDIF}
{$IFDEF DELPHI9_UP}
{$DEFINE DELPHI2005_UP} // synonym to DELPHI9_UP
{$DEFINE DELPHI8_UP}
{$ENDIF}
-{$IFDEF DELPHI8_UP } {$DEFINE DELPHI7_UP } {$ENDIF}
-{$IFDEF DELPHI7_UP } {$DEFINE DELPHI6_UP } {$ENDIF}
-{$IFDEF DELPHI6_UP } {$DEFINE DELPHI5_UP } {$ENDIF}
-{$IFDEF DELPHI5_UP } {$DEFINE DELPHI4_UP } {$ENDIF}
-{$IFDEF DELPHI4_UP } {$DEFINE DELPHI3_UP } {$ENDIF}
-{$IFDEF DELPHI3_UP } {$DEFINE DELPHI2_UP } {$ENDIF}
-{$IFDEF DELPHI2_UP } {$DEFINE DELPHI1_UP } {$ENDIF}
+{$IFDEF DELPHI8_UP} {$DEFINE DELPHI7_UP} {$ENDIF}
+{$IFDEF DELPHI7_UP} {$DEFINE DELPHI6_UP} {$ENDIF}
+{$IFDEF DELPHI6_UP} {$DEFINE DELPHI5_UP} {$ENDIF}
+{$IFDEF DELPHI5_UP} {$DEFINE DELPHI4_UP} {$ENDIF}
+{$IFDEF DELPHI4_UP} {$DEFINE DELPHI3_UP} {$ENDIF}
+{$IFDEF DELPHI3_UP} {$DEFINE DELPHI2_UP} {$ENDIF}
+{$IFDEF DELPHI2_UP} {$DEFINE DELPHI1_UP} {$ENDIF}
{------------------------------------------------------------------------------}
{ BCBX_UP from BCBX mappings }
{------------------------------------------------------------------------------}
-{$IFDEF BCB11} {$DEFINE BCB11_UP} {$ENDIF}
-{$IFDEF BCB10} {$DEFINE BCB10_UP} {$ENDIF}
-{$IFDEF BCB6 } {$DEFINE BCB6_UP } {$ENDIF}
-{$IFDEF BCB5 } {$DEFINE BCB5_UP } {$ENDIF}
-{$IFDEF BCB4 } {$DEFINE BCB4_UP } {$ENDIF}
-{$IFDEF BCB3 } {$DEFINE BCB3_UP } {$ENDIF}
-{$IFDEF BCB1 } {$DEFINE BCB1_UP } {$ENDIF}
+{$IFDEF BCB11} {$DEFINE BCB11_UP} {$ENDIF}
+{$IFDEF BCB10} {$DEFINE BCB10_UP} {$ENDIF}
+{$IFDEF BCB6} {$DEFINE BCB6_UP} {$ENDIF}
+{$IFDEF BCB5} {$DEFINE BCB5_UP} {$ENDIF}
+{$IFDEF BCB4} {$DEFINE BCB4_UP} {$ENDIF}
+{$IFDEF BCB3} {$DEFINE BCB3_UP} {$ENDIF}
+{$IFDEF BCB1} {$DEFINE BCB1_UP} {$ENDIF}
{------------------------------------------------------------------------------}
{ BCBX_UP from BCBX_UP mappings }
{------------------------------------------------------------------------------}
-{$IFDEF BCB11_UP} {$DEFINE BCB10_UP} {$ENDIF}
-{$IFDEF BCB10_UP} {$DEFINE BCB6_UP } {$ENDIF}
-{$IFDEF BCB6_UP } {$DEFINE BCB5_UP } {$ENDIF}
-{$IFDEF BCB5_UP } {$DEFINE BCB4_UP } {$ENDIF}
-{$IFDEF BCB4_UP } {$DEFINE BCB3_UP } {$ENDIF}
-{$IFDEF BCB3_UP } {$DEFINE BCB1_UP } {$ENDIF}
+{$IFDEF BCB11_UP} {$DEFINE BCB10_UP} {$ENDIF}
+{$IFDEF BCB10_UP} {$DEFINE BCB6_UP} {$ENDIF}
+{$IFDEF BCB6_UP} {$DEFINE BCB5_UP} {$ENDIF}
+{$IFDEF BCB5_UP} {$DEFINE BCB4_UP} {$ENDIF}
+{$IFDEF BCB4_UP} {$DEFINE BCB3_UP} {$ENDIF}
+{$IFDEF BCB3_UP} {$DEFINE BCB1_UP} {$ENDIF}
{------------------------------------------------------------------------------}
{ BDSX_UP from BDSX mappings }
{------------------------------------------------------------------------------}
-{$IFDEF BDS5 } {$DEFINE BDS5_UP } {$ENDIF}
-{$IFDEF BDS4 } {$DEFINE BDS4_UP } {$ENDIF}
-{$IFDEF BDS3 } {$DEFINE BDS3_UP } {$ENDIF}
-{$IFDEF BDS2 } {$DEFINE BDS2_UP } {$ENDIF}
+{$IFDEF BDS5} {$DEFINE BDS5_UP} {$ENDIF}
+{$IFDEF BDS4} {$DEFINE BDS4_UP} {$ENDIF}
+{$IFDEF BDS3} {$DEFINE BDS3_UP} {$ENDIF}
+{$IFDEF BDS2} {$DEFINE BDS2_UP} {$ENDIF}
{------------------------------------------------------------------------------}
{ BDSX_UP from BDSX_UP mappings }
{------------------------------------------------------------------------------}
-{$IFDEF BDS5_UP } {$DEFINE BDS4_UP } {$ENDIF}
-{$IFDEF BDS4_UP } {$DEFINE BDS3_UP } {$ENDIF}
-{$IFDEF BDS3_UP } {$DEFINE BDS2_UP } {$ENDIF}
+{$IFDEF BDS5_UP} {$DEFINE BDS4_UP} {$ENDIF}
+{$IFDEF BDS4_UP} {$DEFINE BDS3_UP} {$ENDIF}
+{$IFDEF BDS3_UP} {$DEFINE BDS2_UP} {$ENDIF}
{------------------------------------------------------------------------------}
{ DELPHICOMPILERX_UP from DELPHICOMPILERX mappings }
{------------------------------------------------------------------------------}
-{$IFDEF DELPHICOMPILER11 } {$DEFINE DELPHICOMPILER11_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER10 } {$DEFINE DELPHICOMPILER10_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER9 } {$DEFINE DELPHICOMPILER9_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER8 } {$DEFINE DELPHICOMPILER8_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER7 } {$DEFINE DELPHICOMPILER7_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER6 } {$DEFINE DELPHICOMPILER6_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER5 } {$DEFINE DELPHICOMPILER5_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER4 } {$DEFINE DELPHICOMPILER4_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER3 } {$DEFINE DELPHICOMPILER3_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER2 } {$DEFINE DELPHICOMPILER2_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER1 } {$DEFINE DELPHICOMPILER1_UP } {$ENDIF}
+{$IFDEF DELPHICOMPILER11} {$DEFINE DELPHICOMPILER11_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER10} {$DEFINE DELPHICOMPILER10_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER9} {$DEFINE DELPHICOMPILER9_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER8} {$DEFINE DELPHICOMPILER8_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER7} {$DEFINE DELPHICOMPILER7_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER6} {$DEFINE DELPHICOMPILER6_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER5} {$DEFINE DELPHICOMPILER5_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER4} {$DEFINE DELPHICOMPILER4_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER3} {$DEFINE DELPHICOMPILER3_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER2} {$DEFINE DELPHICOMPILER2_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER1} {$DEFINE DELPHICOMPILER1_UP} {$ENDIF}
{------------------------------------------------------------------------------}
{ DELPHICOMPILERX_UP from DELPHICOMPILERX_UP mappings }
{------------------------------------------------------------------------------}
-{$IFDEF DELPHICOMPILER11_UP } {$DEFINE DELPHICOMPILER10_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER10_UP } {$DEFINE DELPHICOMPILER9_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER9_UP } {$DEFINE DELPHICOMPILER8_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER8_UP } {$DEFINE DELPHICOMPILER7_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER8_UP } {$DEFINE DELPHICOMPILER7_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER7_UP } {$DEFINE DELPHICOMPILER6_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER6_UP } {$DEFINE DELPHICOMPILER5_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER5_UP } {$DEFINE DELPHICOMPILER4_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER4_UP } {$DEFINE DELPHICOMPILER3_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER3_UP } {$DEFINE DELPHICOMPILER2_UP } {$ENDIF}
-{$IFDEF DELPHICOMPILER2_UP } {$DEFINE DELPHICOMPILER1_UP } {$ENDIF}
+{$IFDEF DELPHICOMPILER11_UP} {$DEFINE DELPHICOMPILER10_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER10_UP} {$DEFINE DELPHICOMPILER9_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER9_UP} {$DEFINE DELPHICOMPILER8_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER8_UP} {$DEFINE DELPHICOMPILER7_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER8_UP} {$DEFINE DELPHICOMPILER7_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER7_UP} {$DEFINE DELPHICOMPILER6_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER6_UP} {$DEFINE DELPHICOMPILER5_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER5_UP} {$DEFINE DELPHICOMPILER4_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER4_UP} {$DEFINE DELPHICOMPILER3_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER3_UP} {$DEFINE DELPHICOMPILER2_UP} {$ENDIF}
+{$IFDEF DELPHICOMPILER2_UP} {$DEFINE DELPHICOMPILER1_UP} {$ENDIF}
{------------------------------------------------------------------------------}
{ COMPILERX_UP from COMPILERX mappings }
{------------------------------------------------------------------------------}
-{$IFDEF COMPILER11 } {$DEFINE COMPILER11_UP } {$ENDIF}
-{$IFDEF COMPILER10 } {$DEFINE COMPILER10_UP } {$ENDIF}
-{$IFDEF COMPILER9 } {$DEFINE COMPILER9_UP } {$ENDIF}
-{$IFDEF COMPILER8 } {$DEFINE COMPILER8_UP } {$ENDIF}
-{$IFDEF COMPILER7 } {$DEFINE COMPILER7_UP } {$ENDIF}
-{$IFDEF COMPILER6 } {$DEFINE COMPILER6_UP } {$ENDIF}
-{$IFDEF COMPILER5 } {$DEFINE COMPILER5_UP } {$ENDIF}
-{$IFDEF COMPILER4 } {$DEFINE COMPILER4_UP } {$ENDIF}
-{$IFDEF COMPILER35 } {$DEFINE COMPILER35_UP } {$ENDIF}
-{$IFDEF COMPILER3 } {$DEFINE COMPILER3_UP } {$ENDIF}
-{$IFDEF COMPILER2 } {$DEFINE COMPILER2_UP } {$ENDIF}
-{$IFDEF COMPILER1 } {$DEFINE COMPILER1_UP } {$ENDIF}
+{$IFDEF COMPILER11} {$DEFINE COMPILER11_UP} {$ENDIF}
+{$IFDEF COMPILER10} {$DEFINE COMPILER10_UP} {$ENDIF}
+{$IFDEF COMPILER9} {$DEFINE COMPILER9_UP} {$ENDIF}
+{$IFDEF COMPILER8} {$DEFINE COMPILER8_UP} {$ENDIF}
+{$IFDEF COMPILER7} {$DEFINE COMPILER7_UP} {$ENDIF}
+{$IFDEF COMPILER6} {$DEFINE COMPILER6_UP} {$ENDIF}
+{$IFDEF COMPILER5} {$DEFINE COMPILER5_UP} {$ENDIF}
+{$IFDEF COMPILER4} {$DEFINE COMPILER4_UP} {$ENDIF}
+{$IFDEF COMPILER35} {$DEFINE COMPILER35_UP} {$ENDIF}
+{$IFDEF COMPILER3} {$DEFINE COMPILER3_UP} {$ENDIF}
+{$IFDEF COMPILER2} {$DEFINE COMPILER2_UP} {$ENDIF}
+{$IFDEF COMPILER1} {$DEFINE COMPILER1_UP} {$ENDIF}
{------------------------------------------------------------------------------}
{ COMPILERX_UP from COMPILERX_UP mappings }
{------------------------------------------------------------------------------}
-{$IFDEF COMPILER11_UP } {$DEFINE COMPILER10_UP} {$ENDIF}
-{$IFDEF COMPILER10_UP } {$DEFINE COMPILER9_UP } {$ENDIF}
-{$IFDEF COMPILER9_UP } {$DEFINE COMPILER8_UP } {$ENDIF}
-{$IFDEF COMPILER8_UP } {$DEFINE COMPILER7_UP } {$ENDIF}
-{$IFDEF COMPILER7_UP } {$DEFINE COMPILER6_UP } {$ENDIF}
-{$IFDEF COMPILER6_UP } {$DEFINE COMPILER5_UP } {$ENDIF}
-{$IFDEF COMPILER5_UP } {$DEFINE COMPILER4_UP } {$ENDIF}
-{$IFDEF COMPILER4_UP } {$DEFINE COMPILER35_UP} {$ENDIF}
-{$IFDEF COMPILER35_UP } {$DEFINE COMPILER3_UP } {$ENDIF}
-{$IFDEF COMPILER3_UP } {$DEFINE COMPILER2_UP } {$ENDIF}
-{$IFDEF COMPILER2_UP } {$DEFINE COMPILER1_UP } {$ENDIF}
+{$IFDEF COMPILER11_UP} {$DEFINE COMPILER10_UP} {$ENDIF}
+{$IFDEF COMPILER10_UP} {$DEFINE COMPILER9_UP} {$ENDIF}
+{$IFDEF COMPILER9_UP} {$DEFINE COMPILER8_UP} {$ENDIF}
+{$IFDEF COMPILER8_UP} {$DEFINE COMPILER7_UP} {$ENDIF}
+{$IFDEF COMPILER7_UP} {$DEFINE COMPILER6_UP} {$ENDIF}
+{$IFDEF COMPILER6_UP} {$DEFINE COMPILER5_UP} {$ENDIF}
+{$IFDEF COMPILER5_UP} {$DEFINE COMPILER4_UP} {$ENDIF}
+{$IFDEF COMPILER4_UP} {$DEFINE COMPILER35_UP} {$ENDIF}
+{$IFDEF COMPILER35_UP} {$DEFINE COMPILER3_UP} {$ENDIF}
+{$IFDEF COMPILER3_UP} {$DEFINE COMPILER2_UP} {$ENDIF}
+{$IFDEF COMPILER2_UP} {$DEFINE COMPILER1_UP} {$ENDIF}
{------------------------------------------------------------------------------}
{ RTLX_UP from RTLX_UP mappings }
{------------------------------------------------------------------------------}
-{$IFDEF RTL185_UP} {$DEFINE RTL180_UP} {$ENDIF}
-{$IFDEF RTL180_UP} {$DEFINE RTL170_UP} {$ENDIF}
-{$IFDEF RTL170_UP} {$DEFINE RTL160_UP} {$ENDIF}
-{$IFDEF RTL160_UP} {$DEFINE RTL150_UP} {$ENDIF}
-{$IFDEF RTL150_UP} {$DEFINE RTL145_UP} {$ENDIF}
-{$IFDEF RTL145_UP} {$DEFINE RTL142_UP} {$ENDIF}
-{$IFDEF RTL142_UP} {$DEFINE RTL140_UP} {$ENDIF}
-{$IFDEF RTL140_UP} {$DEFINE RTL130_UP} {$ENDIF}
-{$IFDEF RTL130_UP} {$DEFINE RTL125_UP} {$ENDIF}
-{$IFDEF RTL125_UP} {$DEFINE RTL120_UP} {$ENDIF}
-{$IFDEF RTL120_UP} {$DEFINE RTL110_UP} {$ENDIF}
-{$IFDEF RTL110_UP} {$DEFINE RTL100_UP} {$ENDIF}
-{$IFDEF RTL100_UP} {$DEFINE RTL93_UP } {$ENDIF}
-{$IFDEF RTL93_UP } {$DEFINE RTL90_UP } {$ENDIF}
-{$IFDEF RTL90_UP } {$DEFINE RTL80_UP } {$ENDIF}
+{$IFDEF RTL185_UP} {$DEFINE RTL180_UP} {$ENDIF}
+{$IFDEF RTL180_UP} {$DEFINE RTL170_UP} {$ENDIF}
+{$IFDEF RTL170_UP} {$DEFINE RTL160_UP} {$ENDIF}
+{$IFDEF RTL160_UP} {$DEFINE RTL150_UP} {$ENDIF}
+{$IFDEF RTL150_UP} {$DEFINE RTL145_UP} {$ENDIF}
+{$IFDEF RTL145_UP} {$DEFINE RTL142_UP} {$ENDIF}
+{$IFDEF RTL142_UP} {$DEFINE RTL140_UP} {$ENDIF}
+{$IFDEF RTL140_UP} {$DEFINE RTL130_UP} {$ENDIF}
+{$IFDEF RTL130_UP} {$DEFINE RTL125_UP} {$ENDIF}
+{$IFDEF RTL125_UP} {$DEFINE RTL120_UP} {$ENDIF}
+{$IFDEF RTL120_UP} {$DEFINE RTL110_UP} {$ENDIF}
+{$IFDEF RTL110_UP} {$DEFINE RTL100_UP} {$ENDIF}
+{$IFDEF RTL100_UP} {$DEFINE RTL93_UP} {$ENDIF}
+{$IFDEF RTL93_UP} {$DEFINE RTL90_UP} {$ENDIF}
+{$IFDEF RTL90_UP} {$DEFINE RTL80_UP} {$ENDIF}
{------------------------------------------------------------------------------}
@@ -743,20 +743,16 @@
{ KYLIXX_UP from KYLIXX mappings }
{------------------------------------------------------------------------------}
-{$IFDEF KYLIX3}
- {$DEFINE KYLIX3_UP}
- {$DEFINE KYLIX2_UP}
- {$DEFINE KYLIX1_UP}
-{$ENDIF}
+{$IFDEF KYLIX3} {$DEFINE KYLIX3_UP} {$ENDIF}
+{$IFDEF KYLIX2} {$DEFINE KYLIX2_UP} {$ENDIF}
+{$IFDEF KYLIX1} {$DEFINE KYLIX1_UP} {$ENDIF}
-{$IFDEF KYLIX2}
- {$DEFINE KYLIX2_UP}
- {$DEFINE KYLIX1_UP}
-{$ENDIF}
+{------------------------------------------------------------------------------}
+{ KYLIXX_UP from KYLIXX_UP mappings }
+{------------------------------------------------------------------------------}
-{$IFDEF KYLIX1}
- {$DEFINE KYLIX1_UP}
-{$ENDIF}
+{$IFDEF KYLIX3_UP} {$DEFINE KYLIX2_UP} {$ENDIF}
+{$IFDEF KYLIX2_UP} {$DEFINE KYLIX1_UP} {$ENDIF}
{------------------------------------------------------------------------------}
{ Map COMPILERX_UP to friendly feature names }
@@ -956,7 +952,8 @@
{$IFDEF COMPILER2_UP}
{$IFOPT H+} {$DEFINE LONGSTRINGS_ON} {$ENDIF}
{$ENDIF}
-{ HINTS }
+
+// Hints
{$IFOPT I+} {$DEFINE IOCHECKS_ON} {$ENDIF}
{$IFDEF COMPILER2_UP}
{$IFOPT J+} {$DEFINE WRITEABLECONST_ON} {$ENDIF}
@@ -967,12 +964,14 @@
{$IFOPT P+} {$DEFINE OPENSTRINGS_ON} {$ENDIF}
{$IFOPT Q+} {$DEFINE OVERFLOWCHECKS_ON} {$ENDIF}
{$IFOPT R+} {$DEFINE RANGECHECKS_ON} {$ENDIF}
-{ REALCOMPATIBILITY }
+
+// Real compatibility
{$IFOPT T+} {$DEFINE TYPEDADDRESS_ON} {$ENDIF}
{$IFOPT U+} {$DEFINE SAFEDIVIDE_ON} {$ENDIF}
{$IFOPT V+} {$DEFINE VARSTRINGCHECKS_ON} {$ENDIF}
{$IFOPT W+} {$DEFINE STACKFRAMES_ON} {$ENDIF}
-{ WARNINGS }
+
+// Warnings
{$IFOPT X+} {$DEFINE EXTENDEDSYNTAX_ON} {$ENDIF}
// for Delphi/BCB trial versions remove the point from the line below
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2007-03-23 00:48:51
|
Revision: 1958
http://svn.sourceforge.net/jcl/?rev=1958&view=rev
Author: ahuser
Date: 2007-03-22 16:44:42 -0700 (Thu, 22 Mar 2007)
Log Message:
-----------
Fixed missing quoted filenames
Modified Paths:
--------------
trunk/jcl/install/BCB5-dcc32.cfg.mak
trunk/jcl/install/prototypes.mak
Modified: trunk/jcl/install/BCB5-dcc32.cfg.mak
===================================================================
--- trunk/jcl/install/BCB5-dcc32.cfg.mak 2007-03-19 00:04:57 UTC (rev 1957)
+++ trunk/jcl/install/BCB5-dcc32.cfg.mak 2007-03-22 23:44:42 UTC (rev 1958)
@@ -14,13 +14,13 @@
ROOT = $(MAKEDIR)\..
!endif
#---------------------------------------------------------------------------------------------------
-DccCfg = $(MAKEDIR)\dcc32.cfg
+DccCfg = "$(MAKEDIR)\dcc32.cfg"
$(ROOT)\Lib\Obj\AccCtrl.dcu:
@if exist $(DccCfg) (if not exist $(DccCfg).bak copy $(DccCfg) $(DccCfg).bak) else echo -u"$(ROOT)\Lib";"$(ROOT)\Lib\Obj" > $(DccCfg)
@if not exist "$(ROOT)\Lib\Obj\vcl50.dcp" goto Finis
- -@$(MAKEDIR)\grep -i+ vcl50 $(DccCfg)
+ -@"$(MAKEDIR)\grep" -i+ vcl50 $(DccCfg)
@if errorlevel 1 echo -LUvcl50 >> $(DccCfg)
@:Finis
-.precious: $(ROOT)\Lib\Obj\AccCtrl.dcu
\ No newline at end of file
+.precious: "$(ROOT)\Lib\Obj\AccCtrl.dcu"
\ No newline at end of file
Modified: trunk/jcl/install/prototypes.mak
===================================================================
--- trunk/jcl/install/prototypes.mak 2007-03-19 00:04:57 UTC (rev 1957)
+++ trunk/jcl/install/prototypes.mak 2007-03-22 23:44:42 UTC (rev 1958)
@@ -11,7 +11,7 @@
VClxOptions = -c -dVisualCLX -dHAS_UNIT_TYPES -uVCL -xClxGui\Q
VclOptions = -c -dVCL -dMSWINDOWS -uVisualCLX -uUnix -uKYLIX -xVclGui\\
#---------------------------------------------------------------------------------------------------
-MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$**
+MAKE = "$(ROOT)\bin\make.exe" -$(MAKEFLAGS) -f$**
jpp = ..\devtools\jpp.exe
#---------------------------------------------------------------------------------------------------
default: VclGuiUnits ClxGuiUnits
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|