You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
(20) |
May
(48) |
Jun
(8) |
Jul
(23) |
Aug
(41) |
Sep
(42) |
Oct
(22) |
Nov
(17) |
Dec
(36) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(43) |
Feb
(42) |
Mar
(17) |
Apr
(39) |
May
(16) |
Jun
(35) |
Jul
(37) |
Aug
(47) |
Sep
(49) |
Oct
(9) |
Nov
(52) |
Dec
(37) |
2008 |
Jan
(48) |
Feb
(21) |
Mar
(7) |
Apr
(2) |
May
(5) |
Jun
(17) |
Jul
(17) |
Aug
(40) |
Sep
(58) |
Oct
(38) |
Nov
(19) |
Dec
(32) |
2009 |
Jan
(67) |
Feb
(46) |
Mar
(54) |
Apr
(34) |
May
(37) |
Jun
(52) |
Jul
(67) |
Aug
(72) |
Sep
(48) |
Oct
(35) |
Nov
(27) |
Dec
(12) |
2010 |
Jan
(56) |
Feb
(46) |
Mar
(19) |
Apr
(14) |
May
(21) |
Jun
(3) |
Jul
(13) |
Aug
(48) |
Sep
(34) |
Oct
(51) |
Nov
(16) |
Dec
(32) |
2011 |
Jan
(36) |
Feb
(14) |
Mar
(12) |
Apr
(3) |
May
(5) |
Jun
(24) |
Jul
(15) |
Aug
(30) |
Sep
(21) |
Oct
(4) |
Nov
(25) |
Dec
(23) |
2012 |
Jan
(45) |
Feb
(42) |
Mar
(19) |
Apr
(14) |
May
(13) |
Jun
(7) |
Jul
(3) |
Aug
(46) |
Sep
(21) |
Oct
(10) |
Nov
(2) |
Dec
|
2013 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ou...@us...> - 2008-12-10 13:17:57
|
Revision: 2566 http://jcl.svn.sourceforge.net/jcl/?rev=2566&view=rev Author: outchy Date: 2008-12-10 13:17:54 +0000 (Wed, 10 Dec 2008) Log Message: ----------- added ignore mask on the file containing the name of the CHM-help archive. Property Changed: ---------------- trunk/thirdparty/makedist/ Property changes on: trunk/thirdparty/makedist ___________________________________________________________________ Modified: svn:ignore - *.exe *.dproj *.local *.identcache *.dcu *.log *.zip *.gz *.7z sandbox jcl-daily-source-0.txt jcl-daily-source-1.txt jcl-daily-source-2.txt jcl-weekly-hlp-0.txt jcl-weekly-h2-0.txt 7z.dll + *.exe *.dproj *.local *.identcache *.dcu *.log *.zip *.gz *.7z sandbox jcl-daily-source-0.txt jcl-daily-source-1.txt jcl-daily-source-2.txt jcl-weekly-hlp-0.txt jcl-weekly-h2-0.txt jcl-weekly-chm-0.txt 7z.dll This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2008-11-30 12:49:16
|
Revision: 2565 http://jcl.svn.sourceforge.net/jcl/?rev=2565&view=rev Author: ahuser Date: 2008-11-30 12:49:08 +0000 (Sun, 30 Nov 2008) Log Message: ----------- Change CompInst.dll interface to ANSI to allow compilation with Delphi 2009 Modified Paths: -------------- trunk/thirdparty/InnoSetup/CompInstall/CompInst.pas trunk/thirdparty/InnoSetup/CompInstall.dll Modified: trunk/thirdparty/InnoSetup/CompInstall/CompInst.pas =================================================================== --- trunk/thirdparty/InnoSetup/CompInstall/CompInst.pas 2008-11-29 22:31:01 UTC (rev 2564) +++ trunk/thirdparty/InnoSetup/CompInstall/CompInst.pas 2008-11-30 12:49:08 UTC (rev 2565) @@ -13,24 +13,24 @@ function compinst_isBCBInstalled(Version: Integer): Integer; stdcall; function compinst_isBDSInstalled(IDEVersion: Integer): Integer; stdcall; -function compinst_installDelphiDesignPackage(Version: Integer; const BplFilename, Description: PChar): Integer; stdcall; -function compinst_installBCBDesignPackage(Version: Integer; const BplFilename, Description: PChar): Integer; stdcall; -function compinst_uninstallDelphiDesignPackage(Version: Integer; const BplFilename: PChar): Integer; stdcall; -function compinst_uninstallBCBDesignPackage(Version: Integer; const BplFilename: PChar): Integer; stdcall; -function compinst_uninstallDelphiDesignPackagesPrefixed(Version: Integer; BplFilenamePrefix: PChar): Integer; stdcall; -function compinst_uninstallBCBDesignPackagesPrefixed(Version: Integer; BplFilenamePrefix: PChar): Integer; stdcall; +function compinst_installDelphiDesignPackage(Version: Integer; const BplFilename, Description: PAnsiChar): Integer; stdcall; +function compinst_installBCBDesignPackage(Version: Integer; const BplFilename, Description: PAnsiChar): Integer; stdcall; +function compinst_uninstallDelphiDesignPackage(Version: Integer; const BplFilename: PAnsiChar): Integer; stdcall; +function compinst_uninstallBCBDesignPackage(Version: Integer; const BplFilename: PAnsiChar): Integer; stdcall; +function compinst_uninstallDelphiDesignPackagesPrefixed(Version: Integer; BplFilenamePrefix: PAnsiChar): Integer; stdcall; +function compinst_uninstallBCBDesignPackagesPrefixed(Version: Integer; BplFilenamePrefix: PAnsiChar): Integer; stdcall; -function compinst_installDelphiExpert(Version: Integer; const Filename, Description: PChar): Integer; stdcall; -function compinst_installBCBExpert(Version: Integer; const Filename, Description: PChar): Integer; stdcall; -function compinst_uninstallDelphiExpert(Version: Integer; const Filename: PChar): Integer; stdcall; -function compinst_uninstallBCBExpert(Version: Integer; const Filename: PChar): Integer; stdcall; -function compinst_uninstallDelphiExpertsPrefixed(Version: Integer; FilenamePrefix: PChar): Integer; stdcall; -function compinst_uninstallBCBExpertsPrefixed(Version: Integer; FilenamePrefix: PChar): Integer; stdcall; +function compinst_installDelphiExpert(Version: Integer; const Filename, Description: PAnsiChar): Integer; stdcall; +function compinst_installBCBExpert(Version: Integer; const Filename, Description: PAnsiChar): Integer; stdcall; +function compinst_uninstallDelphiExpert(Version: Integer; const Filename: PAnsiChar): Integer; stdcall; +function compinst_uninstallBCBExpert(Version: Integer; const Filename: PAnsiChar): Integer; stdcall; +function compinst_uninstallDelphiExpertsPrefixed(Version: Integer; FilenamePrefix: PAnsiChar): Integer; stdcall; +function compinst_uninstallBCBExpertsPrefixed(Version: Integer; FilenamePrefix: PAnsiChar): Integer; stdcall; -function compinst_addDelphiSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer; stdcall; -function compinst_addBCBSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer; stdcall; -function compinst_removeDelphiSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer; stdcall; -function compinst_removeBCBSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer; stdcall; +function compinst_addDelphiSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PAnsiChar): Integer; stdcall; +function compinst_addBCBSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PAnsiChar): Integer; stdcall; +function compinst_removeDelphiSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PAnsiChar): Integer; stdcall; +function compinst_removeBCBSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PAnsiChar): Integer; stdcall; implementation @@ -273,88 +273,88 @@ { Design Packages } -function compinst_installDelphiDesignPackage(Version: Integer; const BplFilename, Description: PChar): Integer; stdcall; +function compinst_installDelphiDesignPackage(Version: Integer; const BplFilename, Description: PAnsiChar): Integer; stdcall; begin - Result := InstallDesignPackage(Installations.DelphiInstallationFromVersion[Version], BplFilename, Description); + Result := InstallDesignPackage(Installations.DelphiInstallationFromVersion[Version], string(BplFilename), string(Description)); end; -function compinst_installBCBDesignPackage(Version: Integer; const BplFilename, Description: PChar): Integer; stdcall; +function compinst_installBCBDesignPackage(Version: Integer; const BplFilename, Description: PAnsiChar): Integer; stdcall; begin - Result := InstallDesignPackage(Installations.BCBInstallationFromVersion[Version], BplFilename, Description); + Result := InstallDesignPackage(Installations.BCBInstallationFromVersion[Version], string(BplFilename), string(Description)); end; -function compinst_uninstallDelphiDesignPackage(Version: Integer; const BplFilename: PChar): Integer; stdcall; +function compinst_uninstallDelphiDesignPackage(Version: Integer; const BplFilename: PAnsiChar): Integer; stdcall; begin - Result := UninstallDesignPackage(Installations.DelphiInstallationFromVersion[Version], BplFilename); + Result := UninstallDesignPackage(Installations.DelphiInstallationFromVersion[Version], string(BplFilename)); end; -function compinst_uninstallBCBDesignPackage(Version: Integer; const BplFilename: PChar): Integer; stdcall; +function compinst_uninstallBCBDesignPackage(Version: Integer; const BplFilename: PAnsiChar): Integer; stdcall; begin - Result := UninstallDesignPackage(Installations.BCBInstallationFromVersion[Version], BplFilename); + Result := UninstallDesignPackage(Installations.BCBInstallationFromVersion[Version], string(BplFilename)); end; -function compinst_uninstallDelphiDesignPackagesPrefixed(Version: Integer; BplFilenamePrefix: PChar): Integer; stdcall; +function compinst_uninstallDelphiDesignPackagesPrefixed(Version: Integer; BplFilenamePrefix: PAnsiChar): Integer; stdcall; begin - Result := UninstallDesignPackagesPrefixed(Installations.DelphiInstallationFromVersion[Version], BplFilenamePrefix); + Result := UninstallDesignPackagesPrefixed(Installations.DelphiInstallationFromVersion[Version], string(BplFilenamePrefix)); end; -function compinst_uninstallBCBDesignPackagesPrefixed(Version: Integer; BplFilenamePrefix: PChar): Integer; stdcall; +function compinst_uninstallBCBDesignPackagesPrefixed(Version: Integer; BplFilenamePrefix: PAnsiChar): Integer; stdcall; begin - Result := UninstallDesignPackagesPrefixed(Installations.BCBInstallationFromVersion[Version], BplFilenamePrefix); + Result := UninstallDesignPackagesPrefixed(Installations.BCBInstallationFromVersion[Version], string(BplFilenamePrefix)); end; { Experts } -function compinst_installDelphiExpert(Version: Integer; const Filename, Description: PChar): Integer; stdcall; +function compinst_installDelphiExpert(Version: Integer; const Filename, Description: PAnsiChar): Integer; stdcall; begin - Result := InstallExpert(Installations.DelphiInstallationFromVersion[Version], Filename, Description); + Result := InstallExpert(Installations.DelphiInstallationFromVersion[Version], string(Filename), string(Description)); end; -function compinst_installBCBExpert(Version: Integer; const Filename, Description: PChar): Integer; stdcall; +function compinst_installBCBExpert(Version: Integer; const Filename, Description: PAnsiChar): Integer; stdcall; begin - Result := InstallExpert(Installations.BCBInstallationFromVersion[Version], Filename, Description); + Result := InstallExpert(Installations.BCBInstallationFromVersion[Version], string(Filename), string(Description)); end; -function compinst_uninstallDelphiExpert(Version: Integer; const Filename: PChar): Integer; stdcall; +function compinst_uninstallDelphiExpert(Version: Integer; const Filename: PAnsiChar): Integer; stdcall; begin - Result := UninstallExpert(Installations.DelphiInstallationFromVersion[Version], Filename); + Result := UninstallExpert(Installations.DelphiInstallationFromVersion[Version], string(Filename)); end; -function compinst_uninstallBCBExpert(Version: Integer; const Filename: PChar): Integer; stdcall; +function compinst_uninstallBCBExpert(Version: Integer; const Filename: PAnsiChar): Integer; stdcall; begin - Result := UninstallExpert(Installations.BCBInstallationFromVersion[Version], Filename); + Result := UninstallExpert(Installations.BCBInstallationFromVersion[Version], string(Filename)); end; -function compinst_uninstallDelphiExpertsPrefixed(Version: Integer; FilenamePrefix: PChar): Integer; stdcall; +function compinst_uninstallDelphiExpertsPrefixed(Version: Integer; FilenamePrefix: PAnsiChar): Integer; stdcall; begin - Result := UninstallExpertsPrefixed(Installations.DelphiInstallationFromVersion[Version], FilenamePrefix); + Result := UninstallExpertsPrefixed(Installations.DelphiInstallationFromVersion[Version], string(FilenamePrefix)); end; -function compinst_uninstallBCBExpertsPrefixed(Version: Integer; FilenamePrefix: PChar): Integer; stdcall; +function compinst_uninstallBCBExpertsPrefixed(Version: Integer; FilenamePrefix: PAnsiChar): Integer; stdcall; begin - Result := UninstallExpertsPrefixed(Installations.BCBInstallationFromVersion[Version], FilenamePrefix); + Result := UninstallExpertsPrefixed(Installations.BCBInstallationFromVersion[Version], string(FilenamePrefix)); end; { Search Paths } -function compinst_addDelphiSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer; stdcall; +function compinst_addDelphiSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PAnsiChar): Integer; stdcall; begin - Result := ChangeSearchPaths(Installations.DelphiInstallationFromVersion[Version], True, SearchPaths, DebugPaths, BrowsePaths); + Result := ChangeSearchPaths(Installations.DelphiInstallationFromVersion[Version], True, string(SearchPaths), string(DebugPaths), string(BrowsePaths)); end; -function compinst_addBCBSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer; stdcall; +function compinst_addBCBSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PAnsiChar): Integer; stdcall; begin - Result := ChangeSearchPaths(Installations.BCBInstallationFromVersion[Version], True, SearchPaths, DebugPaths, BrowsePaths); + Result := ChangeSearchPaths(Installations.BCBInstallationFromVersion[Version], True, string(SearchPaths), string(DebugPaths), string(BrowsePaths)); end; -function compinst_removeDelphiSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer; stdcall; +function compinst_removeDelphiSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PAnsiChar): Integer; stdcall; begin - Result := ChangeSearchPaths(Installations.DelphiInstallationFromVersion[Version], False, SearchPaths, DebugPaths, BrowsePaths); + Result := ChangeSearchPaths(Installations.DelphiInstallationFromVersion[Version], False, string(SearchPaths), string(DebugPaths), string(BrowsePaths)); end; -function compinst_removeBCBSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PChar): Integer; stdcall; +function compinst_removeBCBSearchPaths(Version: Integer; SearchPaths, DebugPaths, BrowsePaths: PAnsiChar): Integer; stdcall; begin - Result := ChangeSearchPaths(Installations.BCBInstallationFromVersion[Version], False, SearchPaths, DebugPaths, BrowsePaths); + Result := ChangeSearchPaths(Installations.BCBInstallationFromVersion[Version], False, string(SearchPaths), string(DebugPaths), string(BrowsePaths)); end; initialization Modified: trunk/thirdparty/InnoSetup/CompInstall.dll =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2008-11-29 22:31:10
|
Revision: 2564 http://jcl.svn.sourceforge.net/jcl/?rev=2564&view=rev Author: ahuser Date: 2008-11-29 22:31:01 +0000 (Sat, 29 Nov 2008) Log Message: ----------- The installation shouldn't fail if some demos can't be compiled like outdated demos or CLX/Kylix demos. Otherwise the JVCL Installer will have a hard time finding a valid JCL installation. Modified Paths: -------------- trunk/jcl/install/JclInstall.pas Modified: trunk/jcl/install/JclInstall.pas =================================================================== --- trunk/jcl/install/JclInstall.pas 2008-11-29 13:42:14 UTC (rev 2563) +++ trunk/jcl/install/JclInstall.pas 2008-11-29 22:31:01 UTC (rev 2564) @@ -2187,7 +2187,10 @@ MarkOptionBegin(ID); DemoResult := CompileApplication(ADemoList.Strings[Index]); MarkOptionEnd(ID, DemoResult); - Result := Result and DemoResult; + // ahuser: The installation shouldn't fail if some demos can't be compiled like + // outdated demos or CLX/Kylix demos. Otherwise the JVCL Installer will + // have a hard time finding a valid JCL installation + //Result := Result and DemoResult; end; end; finally This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sf...@us...> - 2008-11-29 13:42:17
|
Revision: 2563 http://jcl.svn.sourceforge.net/jcl/?rev=2563&view=rev Author: sfarrow Date: 2008-11-29 13:42:14 +0000 (Sat, 29 Nov 2008) Log Message: ----------- Corrected spelling errors in the JclDateTime.FormatDateTime help. Modified Paths: -------------- trunk/help/DateTime.dtx Modified: trunk/help/DateTime.dtx =================================================================== --- trunk/help/DateTime.dtx 2008-11-28 19:27:46 UTC (rev 2562) +++ trunk/help/DateTime.dtx 2008-11-29 13:42:14 UTC (rev 2563) @@ -876,7 +876,7 @@ @@FormatDateTime <GROUP DateandTime> Summary: - Enhences FormatDateTime by the additional Format tokens w, i, e and f. + Enhances FormatDateTime by the additional Format tokens w, i, e and f. Description: Enhences FormatDateTime by additional Format tokens: <TABLE> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sf...@us...> - 2008-11-28 19:27:51
|
Revision: 2562 http://jcl.svn.sourceforge.net/jcl/?rev=2562&view=rev Author: sfarrow Date: 2008-11-28 19:27:46 +0000 (Fri, 28 Nov 2008) Log Message: ----------- Added the JclInstallerCustomAction project. Modified Paths: -------------- branches/JCLMSI/jcl/source/common/JclSysInfo.pas Added Paths: ----------- branches/JCLMSI/thirdparty/Windows Installer/Custom Action/JclInstallerCustomAction.cbproj branches/JCLMSI/thirdparty/Windows Installer/Custom Action/JclInstallerCustomAction.cbproj.local branches/JCLMSI/thirdparty/Windows Installer/Custom Action/JclInstallerCustomAction.cpp Modified: branches/JCLMSI/jcl/source/common/JclSysInfo.pas =================================================================== --- branches/JCLMSI/jcl/source/common/JclSysInfo.pas 2008-11-26 08:54:04 UTC (rev 2561) +++ branches/JCLMSI/jcl/source/common/JclSysInfo.pas 2008-11-28 19:27:46 UTC (rev 2562) @@ -5517,7 +5517,7 @@ function GetWindowsInstallerVersion: Float; begin if VersionResourceAvailable(GetWindowsSystemFolder +'\msi.dll') then -with TJclFileVersionInfo.Create('txt') do +with TJclFileVersionInfo.Create(GetWindowsSystemFolder() +'\msi.dll') do begin result :=StrToFloat(Trim(ProductVersion)); end Added: branches/JCLMSI/thirdparty/Windows Installer/Custom Action/JclInstallerCustomAction.cbproj =================================================================== --- branches/JCLMSI/thirdparty/Windows Installer/Custom Action/JclInstallerCustomAction.cbproj (rev 0) +++ branches/JCLMSI/thirdparty/Windows Installer/Custom Action/JclInstallerCustomAction.cbproj 2008-11-28 19:27:46 UTC (rev 2562) @@ -0,0 +1,136 @@ +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <ProjectGuid>{c433bfa2-d5ef-4550-b261-3af745a2093b}</ProjectGuid> + <Config Condition="'$(Config)'==''">Debug</Config> + </PropertyGroup> + <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''"> + <Base>true</Base> + </PropertyGroup> + <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''"> + <Base>true</Base> + <Cfg_1>true</Cfg_1> + <CfgParent>Base</CfgParent> + </PropertyGroup> + <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''"> + <Base>true</Base> + <Cfg_2>true</Cfg_2> + <CfgParent>Base</CfgParent> + </PropertyGroup> + <PropertyGroup Condition="'$(Base)'!=''"> + <BCC_OptimizeForSpeed>true</BCC_OptimizeForSpeed> + <Defines>NO_STRICT</Defines> + <DCC_CBuilderOutput>JPHNE</DCC_CBuilderOutput> + <DynamicRTL>true</DynamicRTL> + <ILINK_GenerateImportLibrary>true</ILINK_GenerateImportLibrary> + <ILINK_ObjectSearchPath>C:\Work\jcl development\jcl-msi\thirdparty\Windows Installer\Custom Action</ILINK_ObjectSearchPath> + <UsePackages>true</UsePackages> + <ProjectType>VCppStyleDll</ProjectType> + <PackageImports>vclx.bpi;vcl.bpi;dbrtl.bpi;Rave75VCL.bpi;bdertl.bpi;rtl.bpi;bcbie.bpi;vclactnband.bpi;xmlrtl.bpi;bcbsmp.bpi;vcldb.bpi;vcldbx.bpi;dsnap.bpi;dsnapcon.bpi;teeUI.bpi;teedb.bpi;tee.bpi;adortl.bpi;vclib.bpi;ibxpress.bpi;dbxcds.bpi;dbexpress.bpi;DbxCommonDriver.bpi;IndyCore.bpi;IndySystem.bpi;IndyProtocols.bpi;inet.bpi;IntrawebDB_90_100.bpi;Intraweb_90_100.bpi;VclSmp.bpi;vclie.bpi;websnap.bpi;webdsnap.bpi;inetdbbde.bpi;inetdbxpress.bpi;soaprtl.bpi;RaizeComponentsVcl.bpi;RaizeComponentsVclDb.bpi;MJFAFConfig_c11.bpi;MJFAFCore_c11.bpi;MJFAFHash_c11.bpi;MJFAFRTTI_c11.bpi;MJFAFThreads_c11.bpi;MJFAFUtils_c11.bpi;MJFVCLR_C11.bpi;MJFAFCompress_c11.bpi;Jcl.bpi;JclVcl.bpi;JvCoreD11R.bpi;JvSystemD11R.bpi;JvStdCtrlsD11R.bpi;JvAppFrmD11R.bpi;JvBandsD11R.bpi;JvDBD11R.bpi;JvDlgsD11R.bpi;JvBDED11R.bpi;JvCmpD11R.bpi;JvCryptD11R.bpi;JvCtrlsD11R.bpi;JvCustomD11R.bpi;JvDockingD11R.bpi;JvDotNetCtrlsD11R.bpi;JvEDID11R.bpi;JvGlobusD11R.bpi;JvHMID11R.bpi;JvInterpreterD11R.bpi;JvManagedThreadsD11R.bpi;JvMMD11R.bpi;JvNetD11R.bpi;JvPageCompsD11R.bpi;JvPluginD11R.bpi;JvPrintPreviewD11R.bpi;JvRuntimeDesignD11R.bpi;JvTimeFrameworkD11R.bpi;JvValidatorsD11R.bpi;JvWizardD11R.bpi;JvXPCtrlsD11R.bpi</PackageImports> + <BCC_wpar>false</BCC_wpar> + <IncludePath>$(BDS)\include;$(BDS)\include\dinkumware;$(BDS)\include\vcl;C:\Work\jcl development\jcl-msi\thirdparty\Windows Installer\Custom Action</IncludePath> + <AllPackageLibs>rtl.lib;vcl.lib</AllPackageLibs> + <ILINK_LibraryPath>$(BDS)\lib;$(BDS)\lib\obj;$(BDS)\lib\psdk;C:\Work\jcl development\jcl-msi\thirdparty\Windows Installer\Custom Action</ILINK_LibraryPath> + <Multithreaded>true</Multithreaded> + </PropertyGroup> + <PropertyGroup Condition="'$(Cfg_1)'!=''"> + <DCC_Optimize>false</DCC_Optimize> + <BCC_OptimizeForSpeed>false</BCC_OptimizeForSpeed> + <Defines>_DEBUG;$(Defines)</Defines> + <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe> + <ILINK_FullDebugInfo>true</ILINK_FullDebugInfo> + <BCC_InlineFunctionExpansion>false</BCC_InlineFunctionExpansion> + <ILINK_DisableIncrementalLinking>true</ILINK_DisableIncrementalLinking> + <BCC_UseRegisterVariables>None</BCC_UseRegisterVariables> + <DCC_Define>DEBUG</DCC_Define> + <BCC_DebugLineNumbers>true</BCC_DebugLineNumbers> + <IntermediateOutputDir>Debug</IntermediateOutputDir> + <TASM_DisplaySourceLines>true</TASM_DisplaySourceLines> + <BCC_StackFrames>true</BCC_StackFrames> + <ILINK_LibraryPath>$(BDS)\lib\debug;$(ILINK_LibraryPath)</ILINK_LibraryPath> + <BCC_DisableOptimizations>true</BCC_DisableOptimizations> + <TASM_Debugging>Full</TASM_Debugging> + <BCC_SourceDebuggingOn>true</BCC_SourceDebuggingOn> + </PropertyGroup> + <PropertyGroup Condition="'$(Cfg_2)'!=''"> + <Defines>NDEBUG;$(Defines)</Defines> + <IntermediateOutputDir>Release</IntermediateOutputDir> + <ILINK_LibraryPath>$(BDS)\lib\release;$(ILINK_LibraryPath)</ILINK_LibraryPath> + <TASM_Debugging>None</TASM_Debugging> + </PropertyGroup> + <ProjectExtensions> + <Borland.Personality>CPlusPlusBuilder.Personality</Borland.Personality> + <Borland.ProjectType>VCppStyleDll</Borland.ProjectType> + <BorlandProject> +<BorlandProject xmlns=""> <CPlusPlusBuilder.Personality> <VersionInfo> + <VersionInfo Name="IncludeVerInfo">False</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">1</VersionInfo> + <VersionInfo Name="MinorVer">0</VersionInfo> + <VersionInfo Name="Release">0</VersionInfo> + <VersionInfo Name="Build">0</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">False</VersionInfo> + <VersionInfo Name="Locale">2057</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName"></VersionInfoKeys> + <VersionInfoKeys Name="FileDescription"></VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys> + <VersionInfoKeys Name="InternalName"></VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys> + <VersionInfoKeys Name="ProductName"></VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys> + <VersionInfoKeys Name="Comments"></VersionInfoKeys> + </VersionInfoKeys> + <Debugging> + <Debugging Name="DebugSourceDirs"></Debugging> + </Debugging> + <Parameters> + <Parameters Name="RunParams"></Parameters> + <Parameters Name="Launcher"></Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="DebugCWD"></Parameters> + <Parameters Name="HostApplication"></Parameters> + <Parameters Name="RemoteHost"></Parameters> + <Parameters Name="RemotePath"></Parameters> + <Parameters Name="RemoteParams"></Parameters> + <Parameters Name="RemoteLauncher"></Parameters> + <Parameters Name="UseRemoteLauncher">False</Parameters> + <Parameters Name="RemoteCWD"></Parameters> + <Parameters Name="RemoteDebug">False</Parameters> + <Parameters Name="Debug Symbols Search Path"></Parameters> + <Parameters Name="LoadAllSymbols">True</Parameters> + <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> + </Parameters> + <Linker> + <Linker Name="LibPrefix"></Linker> + <Linker Name="LibSuffix"></Linker> + <Linker Name="LibVersion"></Linker> + </Linker> + <ProjectProperties> + <ProjectProperties Name="AutoShowDeps">False</ProjectProperties> + <ProjectProperties Name="ManagePaths">True</ProjectProperties> + <ProjectProperties Name="VerifyPackages">True</ProjectProperties> + </ProjectProperties> + </CPlusPlusBuilder.Personality> </BorlandProject></BorlandProject> + </ProjectExtensions> + <ItemGroup /> + <ItemGroup> + <CppCompile Include="JclInstallerCustomAction.cpp"> + <BuildOrder>0</BuildOrder> + </CppCompile> + <BuildConfiguration Include="Debug"> + <Key>Cfg_1</Key> + </BuildConfiguration> + <BuildConfiguration Include="Release"> + <Key>Cfg_2</Key> + </BuildConfiguration> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Borland.Cpp.Targets" /> +</Project> \ No newline at end of file Added: branches/JCLMSI/thirdparty/Windows Installer/Custom Action/JclInstallerCustomAction.cbproj.local =================================================================== --- branches/JCLMSI/thirdparty/Windows Installer/Custom Action/JclInstallerCustomAction.cbproj.local (rev 0) +++ branches/JCLMSI/thirdparty/Windows Installer/Custom Action/JclInstallerCustomAction.cbproj.local 2008-11-28 19:27:46 UTC (rev 2562) @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<BorlandProject> + <Transactions> + <Transaction>2008/11/28 19:23:10.695.cpp,C:\Documents and Settings\Sean Farrow\My Documents\RAD Studio\Projects\File1.cpp=C:\Work\jcl development\jcl-msi\thirdparty\Windows Installer\Custom Action\JclInstallerCustomAction.cpp</Transaction> + <Transaction>2008/11/28 19:23:39.336.cbproj,C:\Documents and Settings\Sean Farrow\My Documents\RAD Studio\Projects\Project1.cbproj=C:\Work\jcl development\jcl-msi\thirdparty\Windows Installer\Custom Action\JclInstallerCustomAction.cbproj</Transaction> + </Transactions> +</BorlandProject> Added: branches/JCLMSI/thirdparty/Windows Installer/Custom Action/JclInstallerCustomAction.cpp =================================================================== --- branches/JCLMSI/thirdparty/Windows Installer/Custom Action/JclInstallerCustomAction.cpp (rev 0) +++ branches/JCLMSI/thirdparty/Windows Installer/Custom Action/JclInstallerCustomAction.cpp 2008-11-28 19:27:46 UTC (rev 2562) @@ -0,0 +1,32 @@ +//--------------------------------------------------------------------------- + +#include <vcl.h> +#include <windows.h> +#pragma hdrstop +//--------------------------------------------------------------------------- +// Important note about DLL memory management when your DLL uses the +// static version of the RunTime Library: +// +// If your DLL exports any functions that pass String objects (or structs/ +// classes containing nested Strings) as parameter or function results, +// you will need to add the library MEMMGR.LIB to both the DLL project and +// any other projects that use the DLL. You will also need to use MEMMGR.LIB +// if any other projects which use the DLL will be performing new or delete +// operations on any non-TObject-derived classes which are exported from the +// DLL. Adding MEMMGR.LIB to your project will change the DLL and its calling +// EXE's to use the BORLNDMM.DLL as their memory manager. In these cases, +// the file BORLNDMM.DLL should be deployed along with your DLL. +// +// To avoid using BORLNDMM.DLL, pass string information using "char *" or +// ShortString parameters. +// +// If your DLL uses the dynamic version of the RTL, you do not need to +// explicitly add MEMMGR.LIB as this will be done implicitly for you +//--------------------------------------------------------------------------- + +#pragma argsused +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved) +{ + return 1; +} +//--------------------------------------------------------------------------- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sf...@us...> - 2008-11-26 08:54:09
|
Revision: 2561 http://jcl.svn.sourceforge.net/jcl/?rev=2561&view=rev Author: sfarrow Date: 2008-11-26 08:54:04 +0000 (Wed, 26 Nov 2008) Log Message: ----------- Altered JclStrings.pas to comply with project jedi's code formatting guidelines. Modified Paths: -------------- trunk/jcl/source/common/JclStrings.pas Modified: trunk/jcl/source/common/JclStrings.pas =================================================================== --- trunk/jcl/source/common/JclStrings.pas 2008-11-25 08:32:36 UTC (rev 2560) +++ trunk/jcl/source/common/JclStrings.pas 2008-11-26 08:54:04 UTC (rev 2561) @@ -86,43 +86,43 @@ const // Misc. often used character definitions - NativeNull = Char(#0); - NativeSoh = Char(#1); - NativeStx = Char(#2); - NativeEtx = Char(#3); - NativeEot = Char(#4); - NativeEnq = Char(#5); - NativeAck = Char(#6); - NativeBell = Char(#7); - NativeBackspace = Char(#8); - NativeTab = Char(#9); - NativeLineFeed = JclBase.NativeLineFeed; - NativeVerticalTab = Char(#11); - NativeFormFeed = Char(#12); + NativeNull = Char(#0); + NativeSoh = Char(#1); + NativeStx = Char(#2); + NativeEtx = Char(#3); + NativeEot = Char(#4); + NativeEnq = Char(#5); + NativeAck = Char(#6); + NativeBell = Char(#7); + NativeBackspace = Char(#8); + NativeTab = Char(#9); + NativeLineFeed = JclBase.NativeLineFeed; + NativeVerticalTab = Char(#11); + NativeFormFeed = Char(#12); NativeCarriageReturn = JclBase.NativeCarriageReturn; - NativeCrLf = JclBase.NativeCrLf; - NativeSo = Char(#14); - NativeSi = Char(#15); - NativeDle = Char(#16); - NativeDc1 = Char(#17); - NativeDc2 = Char(#18); - NativeDc3 = Char(#19); - NativeDc4 = Char(#20); - NativeNak = Char(#21); - NativeSyn = Char(#22); - NativeEtb = Char(#23); - NativeCan = Char(#24); - NativeEm = Char(#25); - NativeEndOfFile = Char(#26); - NativeEscape = Char(#27); - NativeFs = Char(#28); - NativeGs = Char(#29); - NativeRs = Char(#30); - NativeUs = Char(#31); - NativeSpace = Char(' '); - NativeComma = Char(','); - NativeBackslash = Char('\'); - NativeForwardSlash = Char('/'); + NativeCrLf = JclBase.NativeCrLf; + NativeSo = Char(#14); + NativeSi = Char(#15); + NativeDle = Char(#16); + NativeDc1 = Char(#17); + NativeDc2 = Char(#18); + NativeDc3 = Char(#19); + NativeDc4 = Char(#20); + NativeNak = Char(#21); + NativeSyn = Char(#22); + NativeEtb = Char(#23); + NativeCan = Char(#24); + NativeEm = Char(#25); + NativeEndOfFile = Char(#26); + NativeEscape = Char(#27); + NativeFs = Char(#28); + NativeGs = Char(#29); + NativeRs = Char(#30); + NativeUs = Char(#31); + NativeSpace = Char(' '); + NativeComma = Char(','); + NativeBackslash = Char('\'); + NativeForwardSlash = Char('/'); NativeDoubleQuote = Char('"'); NativeSingleQuote = Char(''''); @@ -131,15 +131,15 @@ const // CharType return values - C1_UPPER = $0001; // Uppercase - C1_LOWER = $0002; // Lowercase - C1_DIGIT = $0004; // Decimal digits - C1_SPACE = $0008; // Space characters - C1_PUNCT = $0010; // Punctuation - C1_CNTRL = $0020; // Control characters - C1_BLANK = $0040; // Blank characters + C1_UPPER = $0001; // Uppercase + C1_LOWER = $0002; // Lowercase + C1_DIGIT = $0004; // Decimal digits + C1_SPACE = $0008; // Space characters + C1_PUNCT = $0010; // Punctuation + C1_CNTRL = $0020; // Control characters + C1_BLANK = $0040; // Blank characters C1_XDIGIT = $0080; // Hexadecimal digits - C1_ALPHA = $0100; // Any linguistic character: alphabetic, syllabary, or ideographic + C1_ALPHA = $0100; // Any linguistic character: alphabetic, syllabary, or ideographic {$IFDEF MSWINDOWS} {$IFDEF SUPPORTS_EXTSYM} @@ -156,7 +156,7 @@ {$ENDIF MSWINDOWS} type - TCharValidator = function (const C: Char): Boolean; + TCharValidator = function(const C: Char): Boolean; function ArrayContainsChar(const Chars: array of Char; const C: Char): Boolean; @@ -173,7 +173,7 @@ function StrSame(const S1, S2: string): Boolean; // String Transformation Routines -function StrCenter(const S: string; L: Integer; C: Char = ' '): string; +function StrCenter(const S: string; L: Integer; C: Char = ' '): string; function StrCharPosLower(const S: string; CharPos: Integer): string; function StrCharPosUpper(const S: string; CharPos: Integer): string; function StrDoubleQuote(const S: string): string; @@ -189,8 +189,8 @@ {$ENDIF ~CLR} procedure StrMove(var Dest: string; const Source: string; const ToIndex, FromIndex, Count: Integer); -function StrPadLeft(const S: string; Len: Integer; C: Char = NativeSpace ): string; -function StrPadRight(const S: string; Len: Integer; C: Char = NativeSpace ): string; +function StrPadLeft(const S: string; Len: Integer; C: Char = NativeSpace): string; +function StrPadRight(const S: string; Len: Integer; C: Char = NativeSpace): string; function StrProper(const S: string): string; {$IFNDEF CLR} procedure StrProperBuff(S: PChar); @@ -312,7 +312,7 @@ // Character Search and Replace function CharPos(const S: string; const C: Char; const Index: Integer = 1): Integer; function CharLastPos(const S: string; const C: Char; const Index: Integer = 1): Integer; -function CharIPos(const S: string; C: Char; const Index: Integer = 1 ): Integer; +function CharIPos(const S: string; C: Char; const Index: Integer = 1): Integer; function CharReplace(var S: string; const Search, Replace: Char): Integer; {$IFNDEF CLR} @@ -343,14 +343,16 @@ procedure FreeMultiSz(var Dest: PMultiSz); function MultiSzDup(const Source: PMultiSz): PMultiSz; -function AnsiStringsToAnsiMultiSz(var Dest: PAnsiMultiSz; const Source: TAnsiStrings): PAnsiMultiSz; {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF} +function AnsiStringsToAnsiMultiSz(var Dest: PAnsiMultiSz; const Source: TAnsiStrings): PAnsiMultiSz; + {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF} procedure AnsiMultiSzToAnsiStrings(const Dest: TAnsiStrings; const Source: PAnsiMultiSz); {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF} function AnsiMultiSzLength(const Source: PAnsiMultiSz): Integer; {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF} procedure AllocateAnsiMultiSz(var Dest: PAnsiMultiSz; Len: Integer); {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF} procedure FreeAnsiMultiSz(var Dest: PAnsiMultiSz); {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF} function AnsiMultiSzDup(const Source: PAnsiMultiSz): PAnsiMultiSz; {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF} -function WideStringsToWideMultiSz(var Dest: PWideMultiSz; const Source: TWideStrings): PWideMultiSz; {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF} +function WideStringsToWideMultiSz(var Dest: PWideMultiSz; const Source: TWideStrings): PWideMultiSz; + {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF} procedure WideMultiSzToWideStrings(const Dest: TWideStrings; const Source: PWideMultiSz); {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF} function WideMultiSzLength(const Source: PWideMultiSz): Integer; {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF} procedure AllocateWideMultiSz(var Dest: PWideMultiSz; Len: Integer); {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF} @@ -362,9 +364,9 @@ procedure StrIToStrings(S, Sep: string; const List: TStrings; const AllowEmptyString: Boolean = True); procedure StrToStrings(S, Sep: string; const List: TStrings; const AllowEmptyString: Boolean = True); function StringsToStr(const List: TStrings; const Sep: string; const AllowEmptyString: Boolean = True): string; -procedure TrimStrings(const List: TStrings; DeleteIfEmpty: Boolean = True ); +procedure TrimStrings(const List: TStrings; DeleteIfEmpty: Boolean = True); procedure TrimStringsRight(const List: TStrings; DeleteIfEmpty: Boolean = True); -procedure TrimStringsLeft(const List: TStrings; DeleteIfEmpty: Boolean = True ); +procedure TrimStringsLeft(const List: TStrings; DeleteIfEmpty: Boolean = True); function AddStringToStrings(const S: string; Strings: TStrings; const Unique: Boolean): Boolean; // Miscellaneous @@ -372,7 +374,8 @@ function BooleanToStr(B: Boolean): string; {$ENDIF KEEP_DEPRECATED} function FileToString(const FileName: string): AnsiString; // AnsiString here because it is binary data -procedure StringToFile(const FileName: string; const Contents: AnsiString; Append: Boolean = False); // AnsiString here because it is binary data +procedure StringToFile(const FileName: string; const Contents: AnsiString; Append: Boolean = False); + // AnsiString here because it is binary data function StrToken(var S: string; Separator: Char): string; procedure StrTokens(const S: string; const List: TStrings); procedure StrTokenToStrings(S: string; Separator: Char; const List: TStrings); @@ -468,15 +471,18 @@ function Insert(Index: Integer; const Value: string; Count: Integer = 1): TJclStringBuilder; overload; function Insert(Index: Integer; Value: Boolean): TJclStringBuilder; overload; function Insert(Index: Integer; const Value: array of Char): TJclStringBuilder; overload; - function Insert(Index: Integer; const Value: array of Char; StartIndex, Length: Integer): TJclStringBuilder; overload; + function Insert(Index: Integer; const Value: array of Char; StartIndex, Length: Integer): TJclStringBuilder; + overload; function Insert(Index: Integer; Value: Cardinal): TJclStringBuilder; overload; function Insert(Index: Integer; Value: Integer): TJclStringBuilder; overload; function Insert(Index: Integer; Value: Double): TJclStringBuilder; overload; function Insert(Index: Integer; Value: Int64): TJclStringBuilder; overload; function Insert(Index: Integer; Obj: TObject): TJclStringBuilder; overload; - function Replace(OldChar, NewChar: Char; StartIndex: Integer = 0; Count: Integer = -1): TJclStringBuilder; overload; - function Replace(OldValue, NewValue: string; StartIndex: Integer = 0; Count: Integer = -1): TJclStringBuilder; overload; + function Replace(OldChar, NewChar: Char; StartIndex: Integer = 0; Count: Integer = -1): TJclStringBuilder; + overload; + function Replace(OldValue, NewValue: string; StartIndex: Integer = 0; Count: Integer = -1): TJclStringBuilder; + overload; function Remove(StartIndex, Length: Integer): TJclStringBuilder; function EnsureCapacity(Capacity: Integer): Integer; @@ -563,8 +569,8 @@ TabSetFormatting_AutoTabWidth = 16; // common combinations TabSetFormatting_Default = 0; - TabSetFormatting_AlwaysUseBrackets = TabSetFormatting_SurroundStopsWithBrackets or - TabSetFormatting_EmptyBracketsIfNoStops; + TabSetFormatting_AlwaysUseBrackets = TabSetFormatting_SurroundStopsWithBrackets or + TabSetFormatting_EmptyBracketsIfNoStops; TabSetFormatting_Full = TabSetFormatting_AlwaysUseBrackets or TabSetFormatting_AutoTabWidth; // aliases TabSetFormatting_StopsOnly = TabSetFormatting_NoTabWidth; @@ -572,17 +578,17 @@ TabSetFormatting_StopsWithoutBracketsAndTabWidth = TabSetFormatting_Default; // Tab expansion routines -function StrExpandTabs(S: string): string; {$IFDEF SUPPORTS_INLINE}inline; {$ENDIF}overload; -function StrExpandTabs(S: string; TabWidth: Integer): string; {$IFDEF SUPPORTS_INLINE}inline; {$ENDIF}overload; -function StrExpandTabs(S: string; TabSet: TJclTabSet): string; {$IFDEF SUPPORTS_INLINE}inline; {$ENDIF}overload; +function StrExpandTabs(S: string): string; {$IFDEF SUPPORTS_INLINE}inline; {$ENDIF} overload; +function StrExpandTabs(S: string; TabWidth: Integer): string; {$IFDEF SUPPORTS_INLINE}inline; {$ENDIF} overload; +function StrExpandTabs(S: string; TabSet: TJclTabSet): string; {$IFDEF SUPPORTS_INLINE}inline; {$ENDIF} overload; // Tab optimization routines -function StrOptimizeTabs(S: string): string; {$IFDEF SUPPORTS_INLINE}inline; {$ENDIF}overload; -function StrOptimizeTabs(S: string; TabWidth: Integer): string; {$IFDEF SUPPORTS_INLINE}inline; {$ENDIF}overload; -function StrOptimizeTabs(S: string; TabSet: TJclTabSet): string; {$IFDEF SUPPORTS_INLINE}inline; {$ENDIF}overload; +function StrOptimizeTabs(S: string): string; {$IFDEF SUPPORTS_INLINE}inline; {$ENDIF} overload; +function StrOptimizeTabs(S: string; TabWidth: Integer): string; {$IFDEF SUPPORTS_INLINE}inline; {$ENDIF} overload; +function StrOptimizeTabs(S: string; TabSet: TJclTabSet): string; {$IFDEF SUPPORTS_INLINE}inline; {$ENDIF} overload; // move to JclBase? type - NullReferenceException = class (EJclError) + NullReferenceException = class(EJclError) public constructor Create; overload; end; @@ -603,11 +609,11 @@ // internal structures published to make function inlining working {$IFNDEF CLR} const - MaxStrCharCount = Ord(High(Char)) + 1; // # of chars in one set - StrLoOffset = MaxStrCharCount * 0; // offset to lower case chars - StrUpOffset = MaxStrCharCount * 1; // offset to upper case chars - StrReOffset = MaxStrCharCount * 2; // offset to reverse case chars - StrCaseMapSize = MaxStrCharCount * 3; // # of chars is a table + MaxStrCharCount = Ord(High(Char)) + 1; // # of chars in one set + StrLoOffset = MaxStrCharCount * 0; // offset to lower case chars + StrUpOffset = MaxStrCharCount * 1; // offset to upper case chars + StrReOffset = MaxStrCharCount * 2; // offset to reverse case chars + StrCaseMapSize = MaxStrCharCount * 3; // # of chars is a table var StrCaseMap: array [0..StrCaseMapSize - 1] of Char; // case mappings @@ -652,10 +658,10 @@ end; const - StrRecSize = SizeOf(TStrRec); // size of the string header rec - StrAllocOffset = 12; // offset to AllocSize in StrRec + StrRecSize = SizeOf(TStrRec); // size of the string header rec + StrAllocOffset = 12; // offset to AllocSize in StrRec StrRefCountOffset = 8; // offset to RefCount in StrRec - StrLengthOffset = 4; // offset to Length in StrRec + StrLengthOffset = 4; // offset to Length in StrRec {$ENDIF ~SUPPORTS_UNICODE} procedure LoadCharTypes; @@ -727,10 +733,10 @@ if CharIsUpper(CurrChar) then ReCaseChar := LoCaseChar else - if CharIsLower(CurrChar) then - ReCaseChar := UpCaseChar - else - ReCaseChar := CurrChar; + if CharIsLower(CurrChar) then + ReCaseChar := UpCaseChar + else + ReCaseChar := CurrChar; StrCaseMap[Ord(CurrChar) + StrLoOffset] := LoCaseChar; StrCaseMap[Ord(CurrChar) + StrUpOffset] := UpCaseChar; StrCaseMap[Ord(CurrChar) + StrReOffset] := ReCaseChar; @@ -787,94 +793,94 @@ asm // make sure that the string is not null - TEST EAX, EAX - JZ @@StrIsNull + TEST EAX, EAX + JZ @@StrIsNull // create unique string if this one is ref-counted - PUSH EDX - CALL UniqueString - POP EDX + PUSH EDX + CALL UniqueString + POP EDX // make sure that the new string is not null - TEST EAX, EAX - JZ @@StrIsNull + TEST EAX, EAX + JZ @@StrIsNull // get the length, and prepare the counter - MOV ECX, [EAX - StrRecSize].TStrRec.Length - DEC ECX - JS @@StrIsNull + MOV ECX, [EAX - StrRecSize].TStrRec.Length + DEC ECX + JS @@StrIsNull // ebx will hold the case map, esi pointer to Str - PUSH EBX - PUSH ESI - PUSH EDI + PUSH EBX + PUSH ESI + PUSH EDI // load case map and prepare variables } {$IFDEF PIC} - LEA EBX, [EBX][StrCaseMap + EDX] + LEA EBX, [EBX][STRCASEMAP + EDX] {$ELSE} - LEA EBX, [StrCaseMap + EDX] + LEA EBX, [StrCaseMap + EDX] {$ENDIF PIC} - MOV ESI, EAX - XOR EDX, EDX - XOR EAX, EAX + MOV ESI, EAX + XOR EDX, EDX + XOR EAX, EAX -@@NextChar: + @@NextChar: // get current char from the string - MOV DL, [ESI] + MOV DL, [ESI] // get corresponding char from the case map - MOV AL, [EBX + EDX] + MOV AL, [EBX + EDX] // store it back in the string - MOV [ESI], AL + MOV [ESI], AL // update the loop counter and check the end of stirng - DEC ECX - JL @@Done + DEC ECX + JL @@Done // do the same thing with next 3 chars - MOV DL, [ESI + 1] - MOV AL, [EBX + EDX] - MOV [ESI + 1], AL + MOV DL, [ESI + 1] + MOV AL, [EBX + EDX] + MOV [ESI + 1], AL - DEC ECX - JL @@Done - MOV DL, [ESI + 2] - MOV AL, [EBX+EDX] - MOV [ESI + 2], AL + DEC ECX + JL @@Done + MOV DL, [ESI + 2] + MOV AL, [EBX+EDX] + MOV [ESI + 2], AL - DEC ECX - JL @@Done - MOV DL, [ESI + 3] - MOV AL, [EBX + EDX] - MOV [ESI + 3], AL + DEC ECX + JL @@Done + MOV DL, [ESI + 3] + MOV AL, [EBX + EDX] + MOV [ESI + 3], AL // point string to next 4 chars - ADD ESI, 4 + ADD ESI, 4 // update the loop counter and check the end of stirng - DEC ECX - JGE @@NextChar + DEC ECX + JGE @@NextChar -@@Done: - POP EDI - POP ESI - POP EBX + @@Done: + POP EDI + POP ESI + POP EBX -@@StrIsNull: + @@StrIsNull: end; {$ENDIF SUPPORTS_UNICODE} {$ENDIF CLR} @@ -919,73 +925,73 @@ asm // make sure the string is not null - TEST EAX, EAX - JZ @@StrIsNull + TEST EAX, EAX + JZ @@StrIsNull // ebx will hold the case map, esi pointer to Str - PUSH EBX - PUSH ESI + PUSH EBX + PUSH ESI // load case map and prepare variables {$IFDEF PIC} - LEA EBX, [EBX][StrCaseMap + EDX] + LEA EBX, [EBX][STRCASEMAP + EDX] {$ELSE} - LEA EBX, [StrCaseMap + EDX] + LEA EBX, [StrCaseMap + EDX] {$ENDIF PIC} - MOV ESI, EAX - XOR EDX, EDX - XOR EAX, EAX + MOV ESI, EAX + XOR EDX, EDX + XOR EAX, EAX -@@NextChar: + @@NextChar: // get current char from the string - MOV DL, [ESI] + MOV DL, [ESI] // check for null char - TEST DL, DL - JZ @@Done + TEST DL, DL + JZ @@Done // get corresponding char from the case map - MOV AL, [EBX + EDX] + MOV AL, [EBX + EDX] // store it back in the string - MOV [ESI], AL + MOV [ESI], AL // do the same thing with next 3 chars - MOV DL, [ESI + 1] - TEST DL, DL - JZ @@Done - MOV AL, [EBX+EDX] - MOV [ESI + 1], AL + MOV DL, [ESI + 1] + TEST DL, DL + JZ @@Done + MOV AL, [EBX+EDX] + MOV [ESI + 1], AL - MOV DL, [ESI + 2] - TEST DL, DL - JZ @@Done - MOV AL, [EBX+EDX] - MOV [ESI + 2], AL + MOV DL, [ESI + 2] + TEST DL, DL + JZ @@Done + MOV AL, [EBX+EDX] + MOV [ESI + 2], AL - MOV DL, [ESI + 3] - TEST DL, DL - JZ @@Done - MOV AL, [EBX+EDX] - MOV [ESI + 3], AL + MOV DL, [ESI + 3] + TEST DL, DL + JZ @@Done + MOV AL, [EBX+EDX] + MOV [ESI + 3], AL // point string to next 4 chars - ADD ESI, 4 - JMP @@NextChar + ADD ESI, 4 + JMP @@NextChar -@@Done: - POP ESI - POP EBX + @@Done: + POP ESI + POP EBX -@@StrIsNull: + @@StrIsNull: end; {$ENDIF SUPPORTS_UNICODE} @@ -1074,7 +1080,7 @@ Result := False; Exit; end; - end; + end; end; function StrContainsChars(const S: string; const Chars: TCharValidator; CheckAll: Boolean): Boolean; @@ -1111,7 +1117,7 @@ begin for I := 1 to Length(S) do begin - Result := ArrayContainsChar(Chars,S[I]); + Result := ArrayContainsChar(Chars, S[I]); if not Result then Break; end; @@ -1120,7 +1126,7 @@ begin for I := 1 to Length(S) do begin - Result := ArrayContainsChar(Chars,S[I]); + Result := ArrayContainsChar(Chars, S[I]); if Result then Break; end; @@ -1181,7 +1187,7 @@ begin for I := 1 to Length(S) do begin - Result := ArrayContainsChar(ValidChars,S[I]); + Result := ArrayContainsChar(ValidChars, S[I]); if not Result then Exit; end; @@ -1196,7 +1202,7 @@ //=== String Transformation Routines ========================================= -function StrCenter(const S: string; L: Integer; C: Char = ' '): string; +function StrCenter(const S: string; L: Integer; C: Char = ' '): string; begin if Length(S) < L then begin @@ -1228,7 +1234,7 @@ function StrEnsureNoPrefix(const Prefix, Text: string): string; var - PrefixLen : Integer; + PrefixLen: Integer; begin PrefixLen := Length(Prefix); if Copy(Text, 1, PrefixLen) = Prefix then @@ -1239,8 +1245,8 @@ function StrEnsureNoSuffix(const Suffix, Text: string): string; var - SuffixLen : Integer; - StrLength : Integer; + SuffixLen: Integer; + StrLength: Integer; begin SuffixLen := Length(Suffix); StrLength := Length(Text); @@ -1421,8 +1427,8 @@ asm // StrCase(S, StrLoOffset) - XOR EDX, EDX // MOV EDX, StrLoOffset - JMP StrCase + XOR EDX, EDX // MOV EDX, StrLoOffset + JMP StrCase end; {$ENDIF PIC} @@ -1435,8 +1441,8 @@ {$ELSE} asm // StrCaseBuff(S, LoOffset) - XOR EDX, EDX // MOV EDX, LoOffset - JMP StrCaseBuff + XOR EDX, EDX // MOV EDX, LoOffset + JMP StrCaseBuff end; {$ENDIF PIC} {$ENDIF ~CLR} @@ -1460,10 +1466,10 @@ // Check FromIndex if (FromIndex <= 0) or (FromIndex > Length(Source)) or - (ToIndex <= 0) or (ToIndex > Length(Dest)) or - ((FromIndex + Count - 1) > Length(Source)) or ((ToIndex + Count - 1) > Length(Dest)) then + (ToIndex <= 0) or (ToIndex > Length(Dest)) or + ((FromIndex + Count - 1) > Length(Source)) or ((ToIndex + Count - 1) > Length(Dest)) then { TODO : Is failure without notice the proper thing to do here? } - Exit; + Exit; // Move {$IFDEF CLR} @@ -1550,7 +1556,7 @@ {$ELSE} var Source, Dest: PChar; - Len, Index: Integer; + Len, Index: Integer; begin Len := Length(S); SetLength(Result, Len); @@ -1585,7 +1591,7 @@ {$ELSE} var Source, Dest: PChar; - Len, Index: Integer; + Len, Index: Integer; begin Len := Length(S); SetLength(Result, Len); @@ -1594,7 +1600,7 @@ Dest := PChar(Result); for Index := 0 to Len - 1 do begin - if not ArrayContainsChar(Chars,Source^) then + if not ArrayContainsChar(Chars, Source^) then begin Dest^ := Source^; Inc(Dest); @@ -1620,14 +1626,14 @@ {$ELSE} var Source, Dest: PChar; - Len, Index: Integer; + Len, Index: Integer; begin Len := Length(S); SetLength(Result, Len); UniqueString(Result); Source := PChar(S); Dest := PChar(Result); - for Index := 0 to Len-1 do + for Index := 0 to Len - 1 do begin if Chars(Source^) then begin @@ -1655,16 +1661,16 @@ {$ELSE} var Source, Dest: PChar; - Len, Index: Integer; + Len, Index: Integer; begin Len := Length(S); SetLength(Result, Len); UniqueString(Result); Source := PChar(S); Dest := PChar(Result); - for Index := 0 to Len-1 do + for Index := 0 to Len - 1 do begin - if ArrayContainsChar(Chars,Source^) then + if ArrayContainsChar(Chars, Source^) then begin Dest^ := Source^; Inc(Dest); @@ -1746,7 +1752,7 @@ if (Len > 0) and (S <> '') then begin - SetLength(Result,L); + SetLength(Result, L); Dest := PChar(Result); while (L > 0) do begin @@ -1947,7 +1953,7 @@ {$ELSE} Result := S; for I := 1 to Length(S) do - if ArrayContainsChar(Chars,Result[I]) then + if ArrayContainsChar(Chars, Result[I]) then Result[I] := Replace; {$ENDIF CLR} end; @@ -1990,7 +1996,7 @@ {$ELSE} Result := S; for I := 1 to Length(S) do - if not ArrayContainsChar(Chars,Result[I]) then + if not ArrayContainsChar(Chars, Result[I]) then Result[I] := Replace; {$ENDIF CLR} end; @@ -2018,7 +2024,7 @@ {$ELSE} var P1, P2: PChar; - C: Char; + C: Char; begin UniqueString(S); P1 := PChar(S); @@ -2047,7 +2053,7 @@ sb: StringBuilder; {$ELSE} Source, Dest: PChar; - Index, Len: Integer; + Index, Len: Integer; {$ENDIF CLR} InternalDelimiters: TCharValidator; begin @@ -2101,7 +2107,7 @@ sb: StringBuilder; {$ELSE} Source, Dest: PChar; - Index, Len: Integer; + Index, Len: Integer; {$ENDIF CLR} begin Result := ''; @@ -2132,7 +2138,7 @@ for Index := 2 to Len do begin - if ArrayContainsChar(Delimiters,Source^) and not ArrayContainsChar(Delimiters,Dest^) then + if ArrayContainsChar(Delimiters, Source^) and not ArrayContainsChar(Delimiters, Dest^) then Dest^ := CharUpper(Dest^); Inc(Dest); Inc(Source); @@ -2171,7 +2177,7 @@ else // Characters < ' ' are escaped with hex sequence if S[I] < #32 then - Result := Result + Format('\x%.2x',[Integer(S[I])]) + Result := Result + Format('\x%.2x', [Integer(S[I])]) else Result := Result + S[I]; end; @@ -2197,7 +2203,7 @@ Index: Integer; C, L, N: Integer; BL, BH: Byte; - S: string; + S: string; {$IFDEF CLR} sb: StringBuilder; {$ENDIF CLR} @@ -2256,7 +2262,8 @@ begin I := 1; L := Length(S); - while (I <= L) and (S[I] = C) do Inc(I); + while (I <= L) and (S[I] = C) do + Inc(I); Result := Copy(S, I, L - I + 1); end; @@ -2277,7 +2284,7 @@ begin I := 1; L := Length(S); - while (I <= L) and ArrayContainsChar(Chars,S[I]) do + while (I <= L) and ArrayContainsChar(Chars, S[I]) do Inc(I); Result := Copy(S, I, L - I + 1); end; @@ -2287,7 +2294,8 @@ I: Integer; begin I := Length(S); - while (I >= 1) and (S[I] = C) do Dec(I); + while (I >= 1) and (S[I] = C) do + Dec(I); Result := Copy(S, 1, I); end; @@ -2306,7 +2314,7 @@ I: Integer; begin I := Length(S); - while (I >= 1) and ArrayContainsChar(Chars,S[I]) do + while (I >= 1) and ArrayContainsChar(Chars, S[I]) do Dec(I); Result := Copy(S, 1, I); end; @@ -2344,8 +2352,8 @@ {$ELSE} asm // StrCase(Str, StrUpOffset) - MOV EDX, StrUpOffset - JMP StrCase + MOV EDX, StrUpOffset + JMP StrCase end; {$ENDIF PIC} @@ -2358,8 +2366,8 @@ {$ELSE} asm // StrCaseBuff(S, UpOffset) - MOV EDX, StrUpOffset - JMP StrCaseBuff + MOV EDX, StrUpOffset + JMP StrCaseBuff end; {$ENDIF PIC} {$ENDIF ~CLR} @@ -2521,7 +2529,7 @@ begin Result := 0; for I := 1 to Length(S) do - if ArrayContainsChar(Chars,S[I]) then + if ArrayContainsChar(Chars, S[I]) then Inc(Result); end; @@ -2542,13 +2550,13 @@ if I > 0 then Inc(Result); - while (I > 0) and (Length(S) > I+Length(SubS)) do + while (I > 0) and (Length(S) > I + Length(SubS)) do begin - I := StrSearch(SubS, S, I+1); + I := StrSearch(SubS, S, I + 1); if I > 0 then Inc(Result); - end + end; end; {$IFDEF SUPPORTS_UNICODE} @@ -2682,139 +2690,139 @@ asm // check if pointers are equal - CMP EAX, EDX - JE @@Equal + CMP EAX, EDX + JE @@Equal // if S1 is nil return - Length(S2) - TEST EAX, EAX - JZ @@Str1Null + TEST EAX, EAX + JZ @@Str1Null // if S2 is nil return Length(S1) - TEST EDX, EDX - JZ @@Str2Null + TEST EDX, EDX + JZ @@Str2Null // EBX will hold case map, ESI S1, EDI S2 - PUSH EBX - PUSH ESI - PUSH EDI + PUSH EBX + PUSH ESI + PUSH EDI // move string pointers - MOV ESI, EAX - MOV EDI, EDX + MOV ESI, EAX + MOV EDI, EDX // get the length of strings - MOV EAX, [ESI-StrRecSize].TStrRec.Length - MOV EDX, [EDI-StrRecSize].TStrRec.Length + MOV EAX, [ESI-StrRecSize].TStrRec.Length + MOV EDX, [EDI-StrRecSize].TStrRec.Length // exit if Length(S1) <> Length(S2) - CMP EAX, EDX - JNE @@MissMatch + CMP EAX, EDX + JNE @@MissMatch // check the length just in case - DEC EDX - JS @@InvalidStr + DEC EDX + JS @@InvalidStr - DEC EAX - JS @@InvalidStr + DEC EAX + JS @@InvalidStr // load case map - LEA EBX, StrCaseMap + LEA EBX, StrCaseMap // make ECX our loop counter - MOV ECX, EAX + MOV ECX, EAX // clear working regs - XOR EAX, EAX - XOR EDX, EDX + XOR EAX, EAX + XOR EDX, EDX // get last chars - MOV AL, [ESI+ECX] - MOV DL, [EDI+ECX] + MOV AL, [ESI+ECX] + MOV DL, [EDI+ECX] // lower case them - MOV AL, [EBX+EAX] - MOV DL, [EBX+EDX] + MOV AL, [EBX+EAX] + MOV DL, [EBX+EDX] // compare them - CMP AL, DL - JNE @@MissMatch + CMP AL, DL + JNE @@MissMatch // if there was only 1 char then exit - JECXZ @@Match + JECXZ @@Match -@@NextChar: + @@NextChar: // case sensitive compare of strings - REPE CMPSB - JE @@Match + REPE CMPSB + JE @@Match // if there was a missmatch try case insensitive compare, get the chars - MOV AL, [ESI-1] - MOV DL, [EDI-1] + MOV AL, [ESI-1] + MOV DL, [EDI-1] // lowercase and compare them, if equal then continue - MOV AL, [EBX+EAX] - MOV DL, [EBX+EDX] - CMP AL, DL - JE @@NextChar + MOV AL, [EBX+EAX] + MOV DL, [EBX+EDX] + CMP AL, DL + JE @@NextChar // if we make it here then strings don't match, return the difference -@@MissMatch: - SUB EAX, EDX - POP EDI - POP ESI - POP EBX - RET + @@MissMatch: + SUB EAX, EDX + POP EDI + POP ESI + POP EBX + RET -@@Match: + @@Match: // match, return 0 - XOR EAX, EAX - POP EDI - POP ESI - POP EBX - RET + XOR EAX, EAX + POP EDI + POP ESI + POP EBX + RET -@@InvalidStr: - XOR EAX, EAX - DEC EAX - POP EDI - POP ESI - POP EBX - RET + @@InvalidStr: + XOR EAX, EAX + DEC EAX + POP EDI + POP ESI + POP EBX + RET -@@Str1Null: + @@Str1Null: // return = - Length(Str2); - MOV EDX, [EDX-StrRecSize].TStrRec.Length - SUB EAX, EDX - RET + MOV EDX, [EDX-StrRecSize].TStrRec.Length + SUB EAX, EDX + RET -@@Str2Null: + @@Str2Null: // return = Length(Str2); - MOV EAX, [EAX-StrRecSize].TStrRec.Length - RET + MOV EAX, [EAX-StrRecSize].TStrRec.Length + RET -@@Equal: - XOR EAX, EAX + @@Equal: + XOR EAX, EAX end; {$ENDIF SUPPORTS_UNICODE} @@ -2825,95 +2833,95 @@ end; {$ELSE} asm - TEST EAX, EAX - JZ @@Str1Null + TEST EAX, EAX + JZ @@Str1Null - TEST EDX, EDX - JZ @@StrNull + TEST EDX, EDX + JZ @@StrNull - DEC ECX - JS @@StrNull + DEC ECX + JS @@StrNull - PUSH EBX - PUSH ESI - PUSH EDI + PUSH EBX + PUSH ESI + PUSH EDI - MOV EBX, Count - DEC EBX - JS @@NoWork + MOV EBX, Count + DEC EBX + JS @@NoWork - MOV ESI, EAX - MOV EDI, EDX + MOV ESI, EAX + MOV EDI, EDX - MOV EDX, [ESI - StrRecSize].TStrRec.Length + MOV EDX, [ESI - StrRecSize].TStrRec.Length // # of chars in S1 - (Index - 1) - SUB EDX, ECX - JLE @@NoWork + SUB EDX, ECX + JLE @@NoWork // # of chars in S1 - (Count - 1) - SUB EDX, EBX - JLE @@NoWork + SUB EDX, EBX + JLE @@NoWork // move to index'th char - ADD ESI, ECX + ADD ESI, ECX - MOV ECX, [EDI - StrRecSize].TStrRec.Length - DEC ECX - JS @@NoWork + MOV ECX, [EDI - StrRecSize].TStrRec.Length + DEC ECX + JS @@NoWork // if Length(S2) > Count then ECX := Count else ECX := Length(S2) - CMP ECX, EBX - JLE @@Skip1 - MOV ECX, EBX + CMP ECX, EBX + JLE @@Skip1 + MOV ECX, EBX -@@Skip1: - XOR EAX, EAX - XOR EDX, EDX + @@Skip1: + XOR EAX, EAX + XOR EDX, EDX -@@Loop: - MOV AL, [ESI] - INC ESI - MOV DL, [EDI] - INC EDI + @@Loop: + MOV AL, [ESI] + INC ESI + MOV DL, [EDI] + INC EDI - CMP AL, DL - JNE @@MisMatch + CMP AL, DL + JNE @@MisMatch - DEC ECX - JGE @@Loop + DEC ECX + JGE @@Loop -@@Match: - XOR EAX, EAX - POP EDI - POP ESI - POP EBX - JMP @@Exit + @@Match: + XOR EAX, EAX + POP EDI + POP ESI + POP EBX + JMP @@Exit -@@MisMatch: - SUB EAX, EDX - POP EDI - POP ESI - POP EBX - JMP @@Exit + @@MisMatch: + SUB EAX, EDX + POP EDI + POP ESI + POP EBX + JMP @@Exit -@@NoWork: - MOV EAX, -2 - POP EDI - POP ESI - POP EBX - JMP @@Exit + @@NoWork: + MOV EAX, -2 + POP EDI + POP ESI + POP EBX + JMP @@Exit -@@Str1Null: - MOV EAX, 0 - TEST EDX, EDX - JZ @@Exit + @@Str1Null: + MOV EAX, 0 + TEST EDX, EDX + JZ @@Exit -@@StrNull: - MOV EAX, -1 + @@StrNull: + MOV EAX, -1 -@@Exit: + @@Exit: end; {$ENDIF SUPPORTS_UNICODE} @@ -2969,16 +2977,16 @@ var Pos: PChar; begin -if (SubStr <> '') and (S <> '') then + if (SubStr <> '') and (S <> '') then begin - pos := StrPos(@S[Index], PChar(SubStr)); - if Pos =nil then - result :=0 - else + pos := StrPos(@S[Index], PChar(SubStr)); + if Pos = nil then + result := 0 + else Result := (Cardinal(Pos) - Cardinal(@S[1])) div SizeOf(Char) + 1; end else - result :=0; + result := 0; end; {$ENDIF CLR} @@ -3068,176 +3076,176 @@ asm // make sure that strings are not null - TEST EAX, EAX - JZ @@SubstrIsNull + TEST EAX, EAX + JZ @@SubstrIsNull - TEST EDX, EDX - JZ @@StrIsNull + TEST EDX, EDX + JZ @@StrIsNull // limit index to satisfy 1 <= index, and dec it - DEC ECX - JL @@IndexIsSmall + DEC ECX + JL @@IndexIsSmall // EBX will hold the case table, ESI pointer to Str, EDI pointer // to Substr and EBP # of chars in Substr to compare - PUSH EBX - PUSH ESI - PUSH EDI - PUSH EBP + PUSH EBX + PUSH ESI + PUSH EDI + PUSH EBP // set the string pointers - MOV ESI, EDX - MOV EDI, EAX + MOV ESI, EDX + MOV EDI, EAX // save the Index in EDX - MOV EDX, ECX + MOV EDX, ECX // save the address of Str to compute the result - PUSH ESI + PUSH ESI // temporary get the length of Substr and Str - MOV EBX, [EDI - StrRecSize].TStrRec.Length - MOV ECX, [ESI - StrRecSize].TStrRec.Length + MOV EBX, [EDI - StrRecSize].TStrRec.Length + MOV ECX, [ESI - StrRecSize].TStrRec.Length // dec the length of Substr because the first char is brought out of it - DEC EBX - JS @@NotFound + DEC EBX + JS @@NotFound // #positions in Str to look at = Length(Str) - Length(Substr) - Index - 2 - SUB ECX, EBX - JLE @@NotFound + SUB ECX, EBX + JLE @@NotFound - SUB ECX, EDX - JLE @@NotFound + SUB ECX, EDX + JLE @@NotFound // # of chars in Substr to compare - MOV EBP, EBX + MOV EBP, EBX // point Str to Index'th char - ADD ESI, EDX + ADD ESI, EDX // load case map into EBX, and clear EAX & ECX - LEA EBX, StrCaseMap - XOR EAX, EAX - XOR ECX, ECX + LEA EBX, StrCaseMap + XOR EAX, EAX + XOR ECX, ECX // bring the first char out of the Substr and point Substr to the next char - MOV CL, [EDI] - INC EDI + MOV CL, [EDI] + INC EDI // lower case it - MOV CL, [EBX + ECX] + MOV CL, [EBX + ECX] -@@FindNext: + @@FindNext: // get the current char from Str into al - MOV AL, [ESI] - INC ESI + MOV AL, [ESI] + INC ESI // check the end of string - TEST AL, AL - JZ @@NotFound + TEST AL, AL + JZ @@NotFound - CMP CL, '*' // Wild Card? - JE @@Compare + CMP CL, '*' // Wild Card? + JE @@Compare - CMP CL, '?' // Wild Card? - JE @@Compare + CMP CL, '?' // Wild Card? + JE @@Compare // lower case current char - MOV AL, [EBX + EAX] + MOV AL, [EBX + EAX] // check if the current char matches the primary search char, // if not continue searching - CMP AL, CL - JNE @@FindNext + CMP AL, CL + JNE @@FindNext -@@Compare: + @@Compare: // # of chars in Substr to compare } - MOV EDX, EBP + MOV EDX, EBP -@@CompareNext: + @@CompareNext: // dec loop counter and check if we reached the end. If yes then we found it - DEC EDX - JL @@Found + DEC EDX + JL @@Found // get the chars from Str and Substr, if they are equal then continue comparing - MOV AL, [EDI + EDX] // char from Substr + MOV AL, [EDI + EDX] // char from Substr - CMP AL, '*' // wild card? - JE @@CompareNext + CMP AL, '*' // wild card? + JE @@CompareNext - CMP AL, '?' // wild card? - JE @@CompareNext + CMP AL, '?' // wild card? + JE @@CompareNext - CMP AL, [ESI + EDX] // equal to PChar(Str)^ ? - JE @@CompareNext + CMP AL, [ESI + EDX] // equal to PChar(Str)^ ? + JE @@CompareNext - MOV AL, [EBX + EAX + StrReOffset] // reverse case? - CMP AL, [ESI + EDX] - JNE @@FindNext // if still no, go back to the main loop + MOV AL, [EBX + EAX + StrReOffset] // reverse case? + CMP AL, [ESI + EDX] + JNE @@FindNext // if still no, go back to the main loop // if they matched, continue comparing - JMP @@CompareNext + JMP @@CompareNext -@@Found: + @@Found: // we found it, calculate the result - MOV EAX, ESI - POP ESI - SUB EAX, ESI + MOV EAX, ESI + POP ESI + SUB EAX, ESI - POP EBP - POP EDI - POP ESI - POP EBX - RET + POP EBP + POP EDI + POP ESI + POP EBX + RET -@@NotFound: + @@NotFound: // not found it, clear the result - XOR EAX, EAX - POP ESI - POP EBP - POP EDI - POP ESI - POP EBX - RET + XOR EAX, EAX + POP ESI + POP EBP + POP EDI + POP ESI + POP EBX + RET -@@IndexIsSmall: -@@StrIsNull: + @@IndexIsSmall: + @@StrIsNull: // clear the result - XOR EAX, EAX + XOR EAX, EAX -@@SubstrIsNull: -@@Exit: + @@SubstrIsNull: + @@Exit: end; {$ENDIF SUPPORTS_UNICODE} {$ENDIF CLR} @@ -3276,83 +3284,83 @@ repeat case PatternPtr^ of #0: - begin - Result := StringPtr^ = #0; - if Result or (StringRes = nil) or (PatternRes = nil) then - Exit; + begin + Result := StringPtr^ = #0; + if Result or (StringRes = nil) or (PatternRes = nil) then + Exit; - StringPtr := StringRes; - PatternPtr := PatternRes; - Break; - end; + StringPtr := StringRes; + PatternPtr := PatternRes; + Break; + end; '*': - begin - Inc(PatternPtr); - PatternRes := PatternPtr; - Break; - end; + begin + Inc(PatternPtr); + PatternRes := PatternPtr; + Break; + end; '?': - begin - if StringPtr^ = #0 then - Exit; - Inc(StringPtr); - Inc(PatternPtr); - end; + begin + if StringPtr^ = #0 then + Exit; + Inc(StringPtr); + Inc(PatternPtr); + end; + else + begin + if StringPtr^ = #0 then + Exit; + if StringPtr^ <> PatternPtr^ then + begin + if (StringRes = nil) or (PatternRes = nil) then + Exit; + StringPtr := StringRes; + PatternPtr := PatternRes; + Break; + end else - begin - if StringPtr^ = #0 then - Exit; - if StringPtr^ <> PatternPtr^ then - begin - if (StringRes = nil) or (PatternRes = nil) then - Exit; - StringPtr := StringRes; - PatternPtr := PatternRes; - Break; - end - else - begin - Inc(StringPtr); - Inc(PatternPtr); - end; - end; + begin + Inc(StringPtr); + Inc(PatternPtr); + end; end; + end; until False; repeat case PatternPtr^ of #0: - begin - Result := True; - Exit; - end; + begin + Result := True; + Exit; + end; '*': - begin - Inc(PatternPtr); - PatternRes := PatternPtr; - end; + begin + Inc(PatternPtr); + PatternRes := PatternPtr; + end; '?': - begin - if StringPtr^ = #0 then - Exit; - Inc(StringPtr); - Inc(PatternPtr); - end; - else - begin - repeat - if StringPtr^ = #0 then - Exit; - if StringPtr^ = PatternPtr^ then - Break; - Inc(StringPtr); - until False; - Inc(StringPtr); - StringRes := StringPtr; - Inc(PatternPtr); + begin + if StringPtr^ = #0 then + Exit; + Inc(StringPtr); + Inc(PatternPtr); + end; + else + begin + repeat + if StringPtr^ = #0 then + Exit; + if StringPtr^ = PatternPtr^ then Break; - end; + Inc(StringPtr); + until False; + Inc(StringPtr); + StringRes := StringPtr; + Inc(PatternPtr); + Break; end; + end; until False; until False; end; @@ -3446,156 +3454,156 @@ asm // make sure that strings are not null - TEST EAX, EAX - JZ @@SubstrIsNull + TEST EAX, EAX + JZ @@SubstrIsNull - TEST EDX, EDX - JZ @@StrIsNull + TEST EDX, EDX + JZ @@StrIsNull // limit index to satisfy 1 <= index, and dec it - DEC ECX - JL @@IndexIsSmall + DEC ECX + JL @@IndexIsSmall // ebp will hold # of chars in Substr to compare, esi pointer to Str, // edi pointer to Substr, ebx primary search char - PUSH EBX - PUSH ESI - PUSH EDI - PUSH EBP + PUSH EBX + PUSH ESI + PUSH EDI + PUSH EBP // set the string pointers - MOV ESI, EDX - MOV EDI, EAX + MOV ESI, EDX + MOV EDI, EAX // save the (Index - 1) in edx - MOV EDX, ECX + MOV EDX, ECX // save the address of Str to compute the result - PUSH ESI + PUSH ESI // temporary get the length of Substr and Str - MOV EBX, [EDI-StrRecSize].TStrRec.Length - MOV ECX, [ESI-StrRecSize].TStrRec.Length + MOV EBX, [EDI-StrRecSize].TStrRec.Length + MOV ECX, [ESI-StrRecSize].TStrRec.Length // dec the length of Substr because the first char is brought out of it - DEC EBX - JS @@NotFound + DEC EBX + JS @@NotFound // # of positions in Str to look at = Length(Str) - Length(Substr) - Index - 2 - SUB ECX, EBX - JLE @@NotFound + SUB ECX, EBX + JLE @@NotFound - SUB ECX, EDX - JLE @@NotFound + SUB ECX, EDX + JLE @@NotFound // point Str to Index'th char - ADD ESI, EDX + ADD ESI, EDX // # of chars in Substr to compare - MOV EBP, EBX + MOV EBP, EBX // clear EAX & ECX (working regs) - XOR EAX, EAX - XOR EBX, EBX + XOR EAX, EAX + XOR EBX, EBX // bring the first char out of the Substr, and // point Substr to the next char - MOV BL, [EDI] - INC EDI + MOV BL, [EDI] + INC EDI // jump into the loop - JMP @@Find + JMP @@Find -@@FindNext: + @@FindNext: // update the loop counter and check the end of string. // if we reached the end, Substr was not found. - DEC ECX - JL @@NotFound + DEC ECX + JL @@NotFound -@@Find: + @@Find: // get current char from the string, and /point Str to the next one. - MOV AL, [ESI] - INC ESI + MOV AL, [ESI] + INC ESI // does current char match primary search char? if not, go back to the main loop - CMP AL, BL - JNE @@FindNext + CMP AL, BL + JNE @@FindNext // otherwise compare SubStr -@@Compare: + @@Compare: // move # of char to compare into edx, edx will be our compare loop counter. - MOV EDX, EBP + MOV EDX, EBP -@@CompareNext: + @@CompareNext: // check if we reached the end of Substr. If yes we found it. - DEC EDX - JL @@Found + DEC EDX + JL @@Found // get last chars from Str and SubStr and compare them, // if they don't match go back to out main loop. - MOV AL, [EDI+EDX] - CMP AL, [ESI+EDX] - JNE @@FindNext + MOV AL, [EDI+EDX] + CMP AL, [ESI+EDX] + JNE @@FindNext // if they matched, continue comparing - JMP @@CompareNext + JMP @@CompareNext -@@Found: + @@Found: // we found it, calculate the result and exit. - MOV EAX, ESI - POP ESI - SUB EAX, ESI + MOV EAX, ESI + POP ESI + SUB EAX, ESI - POP EBP - POP EDI - POP ESI - POP EBX - RET + POP EBP + POP EDI + POP ESI + POP EBX + RET -@@NotFound: + @@NotFound: // not found it, clear result and exit. - XOR EAX, EAX - POP ESI - POP EBP - POP EDI - POP ESI - POP EBX - RET + XOR EAX, EAX + POP ESI + POP EBP + POP EDI + POP ESI + POP EBX + RET -@@IndexIsSmall: -@@StrIsNull: + @@IndexIsSmall: + @@StrIsNull: // clear result and exit. - XOR EAX, EAX + XOR EAX, EAX -@@SubstrIsNull: -@@Exit: + @@SubstrIsNull: + @@Exit: end; {$ENDIF SUPPORTS_UNICODE} {$ENDIF CLR} @@ -3631,7 +3639,7 @@ L: Integer; begin PosStart := Pos(Start, S); - PosEnd := StrSearch(Stop, S, PosStart+1); // PosEnd has to be after PosStart. + PosEnd := StrSearch(Stop, S, PosStart + 1); // PosEnd has to be after PosStart. if (PosStart > 0) and (PosEnd > PosStart) then begin @@ -3657,7 +3665,7 @@ Result := Copy(S, Start, Count); end; -function StrRestOf(const S: string; N: Integer ): string; +function StrRestOf(const S: string; N: Integer): string; begin Result := Copy(S, N, (Length(S) - N + 1)); end; @@ -3909,7 +3917,7 @@ procedure PCharVectorToStrings(const Dest: TStrings; Source: PCharVector); var I, Count: Integer; - List: array of PChar; + List: array of PChar; begin Assert(Dest <> nil); if Source <> nil then @@ -3931,7 +3939,7 @@ procedure FreePCharVector(var Dest: PCharVector); var I, Count: Integer; - List: array of PChar; + List: array of PChar; begin if Dest <> nil then begin @@ -4057,7 +4065,7 @@ UniqueString(S); P := PChar(S); Len := Length(S); - for Index := 0 to Len-1 do + for Index := 0 to Len - 1 do begin if P^ = Search then begin @@ -4423,7 +4431,7 @@ {$IFDEF CLR} FS.WriteBuffer(BytesOf(Contents), Len); {$ELSE} - FS.WriteBuffer(Contents[1], Len); + FS.WriteBuffer(Contents[1], Len); {$ENDIF CLR} finally FS.Free; @@ -4526,7 +4534,7 @@ var Start: PChar; Token: string; - Done: Boolean; + Done: Boolean; begin Assert(List <> nil); if List = nil then @@ -4562,23 +4570,23 @@ begin case S^ of #0: + begin + if Start <> nil then + SetString(Word, Start, S - Start); + Result := True; + Exit; + end; + NativeSpace, NativeLineFeed, NativeCarriageReturn: + begin + if Start <> nil then begin - if Start <> nil then - SetString(Word, Start, S - Start); - Result := True; + SetString(Word, Start, S - Start); Exit; - end; - NativeSpace, NativeLineFeed, NativeCarriageReturn: - begin - if Start <> nil then - begin - SetString(Word, Start, S - Start); - Exit; - end - else - while CharIsWhiteSpace(S^) do - Inc(S); - end; + end + else + while CharIsWhiteSpace(S^) do + Inc(S); + end; else if Start = nil then Start := S; @@ -4638,13 +4646,13 @@ if C = '-' then IsNegative := not IsNegative else - if (C <> ' ') and (C <> '(') and (C <> '+') then - begin + if (C <> ' ') and (C <> '(') and (C <> '+') then + begin // if it appears prior to any digit, it has to be a decimal separator - SwapSeparators := Temp[I] = ThouSep; - J := I; - Break; - end; + SwapSeparators := Temp[I] = ThouSep; + J := I; + Break; + end; end; if not SwapSeparators then @@ -4678,8 +4686,8 @@ if Temp[I] = DecSep then Temp[I] := ThouSep else - if Temp[I] = ThouSep then - Temp[I] := DecSep; + if Temp[I] = ThouSep then + Temp[I] := DecSep; {$ENDIF CLR} end; @@ -4706,8 +4714,8 @@ procedure StrNormIndex(const StrLen: Integer; var Index: Integer; var Count: Integer); overload; begin - Index := Max(1, Min(Index, StrLen+1)); - Count := Max(0, Min(Count, StrLen+1 - Index)); + Index := Max(1, Min(Index, StrLen + 1)); + Count := Max(0, Min(Count, StrLen + 1 - Index)); end; {$IFDEF CLR} @@ -4799,7 +4807,7 @@ const BoolToStr: array [Boolean] of string = ('false', 'true'); {$IFDEF COMPILER5} - MaxCurrency: Currency = 922337203685477.5807; + MaxCurrency: Currency = 922337203685477.5807; varShortInt = $0010; { vt_i1 16 } varWord = $0012; { vt_ui2 18 } @@ -4836,7 +4844,7 @@ F, P: PChar; Len, Capacity, Count: Integer; Index, ErrorCode: Integer; - S: string; + S: string; procedure Grow(Count: Integer); begin @@ -4920,8 +4928,8 @@ begin V := Args[Index]; if (V.VInteger = 0) and - (V.VType in [vtExtended, vtString, vtObject, vtClass, vtCurrency, - vtInterface, vtInt64]) then + (V.VType in [vtExtended, vtString, vtObject, vtClass, vtCurrency, + vtInterface, vtInt64]) then raise ArgumentNullException.CreateResFmt(@RsArgumentIsNull, [Index]); case V.VType of @@ -5587,7 +5595,7 @@ while cur^ <> #0 do begin head := cur; - while (cur^<> #0) and (cur^ <> #9) do + while (cur^ <> #0) and (cur^ <> #9) do begin if CharIsReturn(cur^) then Column := StartColumn @@ -5683,7 +5691,7 @@ {$IFDEF CLR} raise EJclStringError.Create(RsTabs_CloseBracketExpected) {$ELSE} - raise EJclStringError.CreateRes(@RsTabs_CloseBracketExpected) + raise EJclStringError.CreateRes(@RsTabs_CloseBracketExpected); {$ENDIF} end; @@ -5761,7 +5769,7 @@ {$ENDIF CLR} end else - Result := FStops[Index] + Result := FStops[Index]; end else begin @@ -5839,7 +5847,7 @@ sb := TStringBuilder.Create(Length(S)); try cur := PChar(s); - while cur^<> #0 do + while cur^ <> #0 do begin // locate first whitespace character head := cur; @@ -5948,7 +5956,7 @@ procedure TJclTabSet.SetZeroBased(Value: Boolean); var shift: Integer; - idx: Integer; + idx: Integer; begin if Self <> nil then begin @@ -6035,7 +6043,7 @@ function IncludeAutoWidth: Boolean; begin - Result := (TabSetFormatting_AutoTabWidth and FormattingOptions) <> 0; + Result := (TabSetFormatting_AutoTabWidth and FormattingOptions) <> 0; end; function IncludeTabWidth: Boolean; @@ -6111,7 +6119,7 @@ function TJclTabSet.UpdatePosition(const S: string; var Column, Line: Integer): Integer; var prevChar: Char; - cur: PChar; + cur: PChar; begin if Column < StartColumn then raise ArgumentOutOfRangeException.Create('Column'); @@ -6164,7 +6172,7 @@ var IsReallyNumber: Boolean; FirstDiffBreaks: Boolean; - Val1, Val2: Integer; + Val1, Val2: Integer; begin Result := 0; IsReallyNumber := False; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sf...@us...> - 2008-11-25 08:32:40
|
Revision: 2560 http://jcl.svn.sourceforge.net/jcl/?rev=2560&view=rev Author: sfarrow Date: 2008-11-25 08:32:36 +0000 (Tue, 25 Nov 2008) Log Message: ----------- Updated JclStrings.StrFind to take account of suggestions by both Andreas and Rudy namely: using a blank string for both comparisons instead of 0 and using SubStr with out an index. Modified Paths: -------------- trunk/jcl/source/common/JclStrings.pas Modified: trunk/jcl/source/common/JclStrings.pas =================================================================== --- trunk/jcl/source/common/JclStrings.pas 2008-11-24 20:31:27 UTC (rev 2559) +++ trunk/jcl/source/common/JclStrings.pas 2008-11-25 08:32:36 UTC (rev 2560) @@ -2969,9 +2969,9 @@ var Pos: PChar; begin - if (Length(SubStr) > 0) and (Length(S) > 0) then +if (SubStr <> '') and (S <> '') then begin - Pos := StrPos(PChar(@S[Index]), PChar(@SubStr[1])); + pos := StrPos(@S[Index], PChar(SubStr)); if Pos =nil then result :=0 else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sf...@us...> - 2008-11-24 20:31:29
|
Revision: 2559 http://jcl.svn.sourceforge.net/jcl/?rev=2559&view=rev Author: sfarrow Date: 2008-11-24 20:31:27 +0000 (Mon, 24 Nov 2008) Log Message: ----------- Updated JclStrings.StrFind to ensure the strings passed in are not zero-length and return 0 if one or both strings are zero-length. Modified Paths: -------------- trunk/jcl/source/common/JclStrings.pas Modified: trunk/jcl/source/common/JclStrings.pas =================================================================== --- trunk/jcl/source/common/JclStrings.pas 2008-11-22 13:32:24 UTC (rev 2558) +++ trunk/jcl/source/common/JclStrings.pas 2008-11-24 20:31:27 UTC (rev 2559) @@ -41,6 +41,7 @@ { Robert Marquardt (marquardt) } { Robert Rossmair (rrossmair) } { Andreas Schmidt } +{ Sean Farrow (sfarrow) } { } {**************************************************************************************************} { } @@ -50,7 +51,7 @@ { } { Last modified: $Date:: $ } { Revision: $Rev:: $ } -{ Author: $Author:: $ } +{ Author: $Author:: $ } { } {**************************************************************************************************} @@ -2968,11 +2969,16 @@ var Pos: PChar; begin - Pos := StrPos(PChar(@S[Index]), PChar(@SubStr[1])); - if Pos = nil then - Result := 0 + if (Length(SubStr) > 0) and (Length(S) > 0) then + begin + Pos := StrPos(PChar(@S[Index]), PChar(@SubStr[1])); + if Pos =nil then + result :=0 + else + Result := (Cardinal(Pos) - Cardinal(@S[1])) div SizeOf(Char) + 1; + end else - Result := (Cardinal(Pos) - Cardinal(@S[1])) div SizeOf(Char) + 1; + result :=0; end; {$ENDIF CLR} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cyc...@us...> - 2008-11-22 13:32:29
|
Revision: 2558 http://jcl.svn.sourceforge.net/jcl/?rev=2558&view=rev Author: cycocrew Date: 2008-11-22 13:32:24 +0000 (Sat, 22 Nov 2008) Log Message: ----------- Added Windows 7 and Windows Server 2008 R2 detection. Updated Security.dtx and SysInfo.dtx help files. Modified Paths: -------------- trunk/help/Security.dtx trunk/help/SysInfo.dtx trunk/jcl/install/JclInstall.pas trunk/jcl/source/common/JclResources.pas trunk/jcl/source/common/JclSysInfo.pas trunk/jcl/source/vcl/JclFont.pas trunk/jcl/source/windows/JclSecurity.pas Modified: trunk/help/Security.dtx =================================================================== --- trunk/help/Security.dtx 2008-11-16 14:09:05 UTC (rev 2557) +++ trunk/help/Security.dtx 2008-11-22 13:32:24 UTC (rev 2558) @@ -279,3 +279,20 @@ it always returns True. Donator: Anonymous +-------------------------------------------------------------------------------- +@@IsUACEnabled +<GROUP SystemInformationRoutines.UserAccountControl> +Summary: + Checks if UAC (User Account Control) is enabled or not on Windows Vista or + Windows Server 2008 or Windows 7 or Windows Server 2008 R2. +Description: + Checks if UAC (User Account Control) is enabled or not on Windows Vista or + Windows Server 2008 or Windows 7 or Windows Server 2008 R2. + UAC is enabled by default on Windows versions supporting this technology. +Result: + Returns True if UAC is enabled and OS version is Windows Vista or Windows Server 2008 or + Windows 7 or Windows Server 2008 R2. + Returns False if UAC is disabled or OS version is not Windows Vista nor Windows Server 2008 or + Windows 7 or Windows Server 2008 R2. +Donator: + Jean-Fabien Connault \ No newline at end of file Modified: trunk/help/SysInfo.dtx =================================================================== --- trunk/help/SysInfo.dtx 2008-11-16 14:09:05 UTC (rev 2557) +++ trunk/help/SysInfo.dtx 2008-11-22 13:32:24 UTC (rev 2558) @@ -530,10 +530,16 @@ Windows XP @@TWindowsVersion.wvWin2003 Windows Server 2003 +@@TWindowsVersion.wvWin2003R2 + Windows Server 2003 R2 @@TWindowsVersion.wvWinVista Windows Vista @@TWindowsVersion.wvWinServer2008 Windows Server 2008 +@@TWindowsVersion.wvWin7 + Windows 7 +@@TWindowsVersion.wvWinServer2008R2 + Windows Server 2008 R2 -------------------------------------------------------------------------------- @@TWindowsEdition <GROUP SystemInformationRoutines.VersionInformation> @@ -610,8 +616,11 @@ IsWin2K IsWinXP IsWin2003 + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Marcel van Brakel -------------------------------------------------------------------------------- @@ -1269,7 +1278,7 @@ @@IsWin95 <GROUP SystemInformationRoutines.VersionInformation> Summary: - Returns whether the system is running Windows 95 + Returns whether the system is running Windows 95. Description: IsWin95 returns whether or not the system is running Windows 95. Result: @@ -1288,15 +1297,18 @@ IsWin2K IsWinXP IsWin2003 + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Nick Hodges -------------------------------------------------------------------------------- @@IsWin95OSR2 <GROUP SystemInformationRoutines.VersionInformation> Summary: - Returns whether the system is running Windows 95 OSR 2 + Returns whether the system is running Windows 95 OSR 2. Description: IsWin95OSR2 returns whether or not the system is running Windows 95 OSR 2. Result: @@ -1315,15 +1327,18 @@ IsWin2K IsWinXP IsWin2003 + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Nick Hodges -------------------------------------------------------------------------------- @@IsWin98 <GROUP SystemInformationRoutines.VersionInformation> Summary: - Returns whether the system is running Windows 98 + Returns whether the system is running Windows 98. Description: IsWin98 returns whether or not the system is running Windows 98. Result: @@ -1342,15 +1357,18 @@ IsWin2K IsWinXP IsWin2003 + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Nick Hodges -------------------------------------------------------------------------------- @@IsWin98SE <GROUP SystemInformationRoutines.VersionInformation> Summary: - Returns whether the system is running Windows 98 SE + Returns whether the system is running Windows 98 SE. Description: IsWin98SE returns whether or not the system is running Windows 98 Second Edition. Result: @@ -1369,15 +1387,18 @@ IsWin2K IsWinXP IsWin2003 + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Nick Hodges -------------------------------------------------------------------------------- @@IsWinME <GROUP SystemInformationRoutines.VersionInformation> Summary: - Returns whether the system is running Windows Millenium + Returns whether the system is running Windows Millenium. Description: IsWinME returns whether or not the system is running Windows Millenium. Result: @@ -1396,22 +1417,25 @@ IsWin2K IsWinXP IsWin2003 + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Nick Hodges -------------------------------------------------------------------------------- @@IsWinNT <GROUP SystemInformationRoutines.VersionInformation> Summary: - Returns whether the system is running Windows NT + Returns whether the system is running Windows NT. Description: 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, IsWinNT31, IsWinNT35, IsWinNT351, IsWinNT4, IsWin2K, IsWinXP, - IsWin2003, IsWinVista or IsWinServer2008 to further distinguish between the different NT - versions. + IsWin2003, IsWin2003R2, IsWinVista, IsWinServer2008, IsWin7 or IsWinServer2008R2 to further + distinguish between the different NT versions. See also: IsWin95 IsWin95OSR2 @@ -1426,15 +1450,18 @@ IsWin2K IsWinXP IsWin2003 + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Nick Hodges -------------------------------------------------------------------------------- @@IsWinNT3 <GROUP SystemInformationRoutines.VersionInformation> Summary: - Returns whether the system is running Windows NT 3 + Returns whether the system is running Windows NT 3. Description: IsWinNT3 returns whether or not the system is running Windows NT 3. Result: @@ -1453,15 +1480,18 @@ IsWin2K IsWinXP IsWin2003 + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Nick Hodges -------------------------------------------------------------------------------- @@IsWinNT31 <GROUP SystemInformationRoutines.VersionInformation> Summary: - Returns whether the system is running Windows NT 3.1 + Returns whether the system is running Windows NT 3.1. Description: IsWinNT31 returns whether or not the system is running Windows NT 3.1. Result: @@ -1480,15 +1510,18 @@ IsWin2K IsWinXP IsWin2003 + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Nick Hodges -------------------------------------------------------------------------------- @@IsWinNT35 <GROUP SystemInformationRoutines.VersionInformation> Summary: - Returns whether the system is running Windows NT 3.5 + Returns whether the system is running Windows NT 3.5. Description: IsWinNT35 returns whether or not the system is running Windows NT 3.5. Result: @@ -1507,15 +1540,18 @@ IsWin2K IsWinXP IsWin2003 + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Nick Hodges -------------------------------------------------------------------------------- @@IsWinNT351 <GROUP SystemInformationRoutines.VersionInformation> Summary: - Returns whether the system is running Windows NT 3.5.1 + Returns whether the system is running Windows NT 3.5.1. Description: IsWinNT351 returns whether or not the system is running Windows NT 3.5.1. Result: @@ -1534,8 +1570,11 @@ IsWin2K IsWinXP IsWin2003 + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Nick Hodges -------------------------------------------------------------------------------- @@ -1561,15 +1600,18 @@ IsWin2K IsWinXP IsWin2003 + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Nick Hodges -------------------------------------------------------------------------------- @@IsWin2K <GROUP SystemInformationRoutines.VersionInformation> Summary: - Returns whether the system is running Windows 2000 + Returns whether the system is running Windows 2000. Description: IsWin2K returns whether or not the system is running Windows 2000. Result: @@ -1588,15 +1630,18 @@ IsWinNT4 IsWinXP IsWin2003 + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Marcel van Brakel -------------------------------------------------------------------------------- @@IsWinXP <GROUP SystemInformationRoutines.VersionInformation> Summary: - Returns whether the system is running Windows XP + Returns whether the system is running Windows XP. Description: IsWinXP returns whether or not the system is running Windows XP. Result: @@ -1615,8 +1660,11 @@ IsWinNT4 IsWin2K IsWin2003 + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Petr Vones -------------------------------------------------------------------------------- @@ -1642,15 +1690,48 @@ IsWinNT4 IsWin2K IsWinXP + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Petr Vones -------------------------------------------------------------------------------- +@@IsWin2003R2 +<GROUP SystemInformationRoutines.VersionInformation> +Summary: + Returns whether the system is running Windows Server 2003 R2. +Description: + IsWin2003 returns whether or not the system is running Windows Server 2003 R2. +Result: + If the system is running Windows Server 2003 R2 the result is True otherwise the result is False. +See also: + IsWin95 + IsWin95OSR2 + IsWin98 + IsWin98SE + IsWinME + IsWinNT + IsWinNT3 + IsWinNT31 + IsWinNT35 + IsWinNT351 + IsWinNT4 + IsWin2K + IsWinXP + IsWin2003 + IsWinVista + IsWinServer2008 + IsWin7 + IsWinServer2008R2 +Donator: + Petr Vones +-------------------------------------------------------------------------------- @@IsWinVista <GROUP SystemInformationRoutines.VersionInformation> Summary: - Returns whether the system is running Windows Vista + Returns whether the system is running Windows Vista. Description: IsWinVista returns whether or not the system is running Windows Vista. Result: @@ -1670,10 +1751,43 @@ IsWin2K IsWinXP IsWin2003 + IsWin2003R2 IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Florent Ouchet -------------------------------------------------------------------------------- +@@IsWin7 +<GROUP SystemInformationRoutines.VersionInformation> +Summary: + Returns whether the system is running Windows 7. +Description: + IsWinVista returns whether or not the system is running Windows 7. +Result: + If the system is running Windows 7 the result is True otherwise the result is False. +See also: + IsWin95 + IsWin95OSR2 + IsWin98 + IsWin98SE + IsWinME + IsWinNT + IsWinNT3 + IsWinNT31 + IsWinNT35 + IsWinNT351 + IsWinNT4 + IsWin2K + IsWinXP + IsWin2003 + IsWin2003R2 + IsWinVista + IsWinServer2008 + IsWinServer2008R2 +Donator: + Jean-Fabien Connault +-------------------------------------------------------------------------------- @@IsWinServer2008 <GROUP SystemInformationRoutines.VersionInformation> Summary: @@ -1697,10 +1811,43 @@ IsWin2K IsWinXP IsWin2003 + IsWin2003R2 IsWinVista + IsWin7 + IsWinServer2008R2 Donator: Florent Ouchet -------------------------------------------------------------------------------- +@@IsWinServer2008R2 +<GROUP SystemInformationRoutines.VersionInformation> +Summary: + Returns whether the system is running Windows Server 2008 R2. +Description: + IsWinServer2008 returns whether or not the system is running Windows Server 2008 R2. +Result: + If the system is running Windows Server 2008 R2 the result is True otherwise the result is False. +See also: + IsWin95 + IsWin95OSR2 + IsWin98 + IsWin98SE + IsWinME + IsWinNT + IsWinNT3 + IsWinNT31 + IsWinNT35 + IsWinNT351 + IsWinNT4 + IsWin2K + IsWinXP + IsWin2003 + IsWin2003R2 + IsWinVista + IsWin7 + IsWinServer2008 +Donator: + Jean-Fabien Connault +-------------------------------------------------------------------------------- @@NtProductType <GROUP SystemInformationRoutines.VersionInformation> Summary: @@ -1735,8 +1882,11 @@ IsWin2K IsWinXP IsWin2003 + IsWin2003R2 IsWinVista IsWinServer2008 + IsWin7 + IsWinServer2008R2 Donator: Marcel van Brakel Contributors: @@ -3127,7 +3277,7 @@ the version and vendor in the parameters passed. Parameters: Win - Handle of the window to use for rendering - \Version - the string to receive the library version information + Version - the string to receive the library version information Vendor - the string to receive the library vendor information Result: Surfaces the information provided by the OpenGL library (if any) relating to @@ -3140,7 +3290,7 @@ @@GetOpenGLVersionBitmapRendering <GROUP SystemInformationRoutines.VersionInformation> Summary: - Returns the current OpenGL library version string + Returns the current OpenGL library version string. Description: Takes a WinControl against which to perform the tests, and then returns the Version String information provided by the current OpenGL library. @@ -3152,19 +3302,4 @@ Surfaces the information provided by the OpenGL library (if any) relating to the version and vendor of the OpenGL library in the parameters passed. Donator: - Anonymous --------------------------------------------------------------------------------- -@@IsUACEnabled -<GROUP SystemInformationRoutines.UserAccountControl> -Summary: - Checks if UAC (User Account Control) is enabled or not on Windows Vista/Server 2008 -Description: - Checks if UAC (User Account Control) is enabled or not on Windows Vista/Server 2008. - UAC is enabled by default on Windows versions supporting this technology. -Result: - Returns True if UAC is enabled and OS version is Windows Vista or Windows Server 2008. - Returns False if UAC is disabled or OS version is not Windows Vista nor Windows Server 2008. -Donator: - Jean-Fabien Connault --------------------------------------------------------------------------------- - + Anonymous \ No newline at end of file Modified: trunk/jcl/install/JclInstall.pas =================================================================== --- trunk/jcl/install/JclInstall.pas 2008-11-16 14:09:05 UTC (rev 2557) +++ trunk/jcl/install/JclInstall.pas 2008-11-22 13:32:24 UTC (rev 2558) @@ -3807,7 +3807,7 @@ GUI.Dialog(RsHTMLHelp2Credentials, dtInformation, [drOK]); // RegHelper.exe manifest requires elevation on Vista - if IsAdministrator or IsWinVista or IsWinServer2008 then + if IsAdministrator or IsWinVista or IsWinServer2008 or IsWin7 or IsWinServer2008R2 then Verb := 'open' else Verb := 'runas'; Modified: trunk/jcl/source/common/JclResources.pas =================================================================== --- trunk/jcl/source/common/JclResources.pas 2008-11-16 14:09:05 UTC (rev 2557) +++ trunk/jcl/source/common/JclResources.pas 2008-11-22 13:32:24 UTC (rev 2558) @@ -1880,40 +1880,42 @@ RsUnknownAMDModel = 'Unknown AMD (Model %d)'; - RsOSVersionWin95 = 'Windows 95'; - RsOSVersionWin95OSR2 = 'Windows 95 OSR2'; - RsOSVersionWin98 = 'Windows 98'; - RsOSVersionWin98SE = 'Windows 98 SE'; - RsOSVersionWinME = 'Windows ME'; - RsOSVersionWinNT3 = 'Windows NT 3.%u'; - RsOSVersionWinNT4 = 'Windows NT 4.%u'; - RsOSVersionWin2000 = 'Windows 2000'; - RsOSVersionWinXP = 'Windows XP'; - RsOSVersionWin2003 = 'Windows Server 2003'; - RsOSVersionWin2003R2 = 'Windows Server 2003 "R2"'; - RsOSVersionWinXP64 = 'Windows XP x64'; - RsOSVersionWinVista = 'Windows Vista'; - RsOSVersionWinServer2008 = 'Windows Server 2008'; + RsOSVersionWin95 = 'Windows 95'; + RsOSVersionWin95OSR2 = 'Windows 95 OSR2'; + RsOSVersionWin98 = 'Windows 98'; + RsOSVersionWin98SE = 'Windows 98 SE'; + RsOSVersionWinME = 'Windows ME'; + RsOSVersionWinNT3 = 'Windows NT 3.%u'; + RsOSVersionWinNT4 = 'Windows NT 4.%u'; + RsOSVersionWin2000 = 'Windows 2000'; + RsOSVersionWinXP = 'Windows XP'; + RsOSVersionWin2003 = 'Windows Server 2003'; + RsOSVersionWin2003R2 = 'Windows Server 2003 R2'; + RsOSVersionWinXP64 = 'Windows XP x64'; + RsOSVersionWinVista = 'Windows Vista'; + RsOSVersionWinServer2008 = 'Windows Server 2008'; + RsOSVersionWin7 = 'Windows 7'; + RsOSVersionWinServer2008R2 = 'Windows Server 2008 R2'; - RsEditionWinXPHome = 'Home Edition'; - RsEditionWinXPPro = 'Professional'; - RsEditionWinXPHomeN = 'Home Edition N'; - RsEditionWinXPProN = 'Professional N'; - RsEditionWinXPHomeK = 'Home Edition K'; - RsEditionWinXPProK = 'Professional K'; - RsEditionWinXPHomeKN = 'Home Edition KN'; - RsEditionWinXPProKN = 'Professional KN'; - RsEditionWinXPStarter = 'Starter Edition'; - RsEditionWinXPMediaCenter = 'Media Center Edition'; - RsEditionWinXPTablet = 'Tablet PC Edition'; - RsEditionWinVistaStarter = 'Starter'; - RsEditionWinVistaHomeBasic = 'Home Basic'; - RsEditionWinVistaHomeBasicN = 'Home Basic N'; - RsEditionWinVistaHomePremium = 'Home Premium'; - RsEditionWinVistaBusiness = 'Business'; - RsEditionWinVistaBusinessN = 'Business N'; - RsEditionWinVistaEnterprise = 'Enterprise'; - RsEditionWinVistaUltimate = 'Ultimate'; + RsEditionWinXPHome = 'Home Edition'; + RsEditionWinXPPro = 'Professional'; + RsEditionWinXPHomeN = 'Home Edition N'; + RsEditionWinXPProN = 'Professional N'; + RsEditionWinXPHomeK = 'Home Edition K'; + RsEditionWinXPProK = 'Professional K'; + RsEditionWinXPHomeKN = 'Home Edition KN'; + RsEditionWinXPProKN = 'Professional KN'; + RsEditionWinXPStarter = 'Starter Edition'; + RsEditionWinXPMediaCenter = 'Media Center Edition'; + RsEditionWinXPTablet = 'Tablet PC Edition'; + RsEditionWinVistaStarter = 'Starter'; + RsEditionWinVistaHomeBasic = 'Home Basic'; + RsEditionWinVistaHomeBasicN = 'Home Basic N'; + RsEditionWinVistaHomePremium = 'Home Premium'; + RsEditionWinVistaBusiness = 'Business'; + RsEditionWinVistaBusinessN = 'Business N'; + RsEditionWinVistaEnterprise = 'Enterprise'; + RsEditionWinVistaUltimate = 'Ultimate'; RsProductTypeWorkStation = 'Workstation'; RsProductTypeServer = 'Server'; Modified: trunk/jcl/source/common/JclSysInfo.pas =================================================================== --- trunk/jcl/source/common/JclSysInfo.pas 2008-11-16 14:09:05 UTC (rev 2557) +++ trunk/jcl/source/common/JclSysInfo.pas 2008-11-22 13:32:24 UTC (rev 2558) @@ -273,7 +273,8 @@ TWindowsVersion = (wvUnknown, wvWin95, wvWin95OSR2, wvWin98, wvWin98SE, wvWinME, wvWinNT31, wvWinNT35, wvWinNT351, wvWinNT4, wvWin2000, wvWinXP, - wvWin2003, wvWinXP64, wvWin2003R2, wvWinVista, wvWinServer2008); + wvWin2003, wvWinXP64, wvWin2003R2, wvWinVista, wvWinServer2008, + wvWin7, wvWinServer2008R2); TWindowsEdition = (weUnknown, weWinXPHome, weWinXPPro, weWinXPHomeN, weWinXPProN, weWinXPHomeK, weWinXPProK, weWinXPHomeKN, weWinXPProKN, weWinXPStarter, weWinXPMediaCenter, @@ -309,6 +310,8 @@ IsWin2003R2: Boolean = False; IsWinVista: Boolean = False; IsWinServer2008: Boolean = False; + IsWin7: Boolean = False; + IsWinServer2008R2: Boolean = False; const PROCESSOR_ARCHITECTURE_INTEL = 0; @@ -2667,7 +2670,7 @@ else begin if IsWin2k or IsWinXP or IsWin2003 or IsWin2003R2 or IsWinXP64 or - IsWinVista or IsWinServer2008 then + IsWinVista or IsWinServer2008 or IsWin7 or IsWinServer2008R2 then begin FileName := ProcessFileName(ProcEntry.th32ProcessID); if FileName = '' then @@ -3292,13 +3295,23 @@ end; end; 6: - if Win32MinorVersion = 0 then - begin - OSVersionInfoEx.dwOSVersionInfoSize := SizeOf(OSVersionInfoEx); - if GetVersionEx(OSVersionInfoEx) and (OSVersionInfoEx.wProductType = VER_NT_WORKSTATION) then - Result := wvWinVista - else - Result := wvWinServer2008; + case Win32MinorVersion of + 0: + begin + OSVersionInfoEx.dwOSVersionInfoSize := SizeOf(OSVersionInfoEx); + if GetVersionEx(OSVersionInfoEx) and (OSVersionInfoEx.wProductType = VER_NT_WORKSTATION) then + Result := wvWinVista + else + Result := wvWinServer2008; + end; + 1: + begin + OSVersionInfoEx.dwOSVersionInfoSize := SizeOf(OSVersionInfoEx); + if GetVersionEx(OSVersionInfoEx) and (OSVersionInfoEx.wProductType = VER_NT_WORKSTATION) then + Result := wvWin7 + else + Result := wvWinServer2008R2; + end; end; end; end; @@ -3449,7 +3462,7 @@ end; end else - if IsWinXP or IsWinVista then // workstation + if IsWinXP or IsWinVista or IsWin7 then // workstation begin if GetVersionEx(OSVersionInfo) then begin @@ -3463,7 +3476,7 @@ end; end else - if IsWinServer2008 then // server + if IsWinServer2008 or IsWinServer2008R2 then // server begin if OSVersionInfo.wProductType in [VER_NT_SERVER,VER_NT_DOMAIN_CONTROLLER] then begin @@ -3521,10 +3534,14 @@ Result := RsOSVersionWin2003R2; wvWinXP64: Result := RsOSVersionWinXP64; + wvWinVista: + Result := RsOSVersionWinVista; wvWinServer2008: Result := RsOSVersionWinServer2008; - wvWinVista: - Result := RsOSVersionWinVista; + wvWin7: + Result := RsOSVersionWin7; + wvWinServer2008R2: + Result := RsOSVersionWinServer2008R2; else Result := ''; end; @@ -5574,6 +5591,10 @@ IsWinVista := True; wvWinServer2008: IsWinServer2008 := True; + wvWin7: + IsWin7 := True; + wvWinServer2008R2: + IsWinServer2008R2 := True; end; end; Modified: trunk/jcl/source/vcl/JclFont.pas =================================================================== --- trunk/jcl/source/vcl/JclFont.pas 2008-11-16 14:09:05 UTC (rev 2557) +++ trunk/jcl/source/vcl/JclFont.pas 2008-11-22 13:32:24 UTC (rev 2558) @@ -45,7 +45,7 @@ procedure SetCaptionFont(const AObjectFont: TFont); begin - if IsWinVista or IsWinServer2008 then + if IsWinVista or IsWinServer2008 or IsWin7 or IsWinServer2008R2 then begin AObjectFont.Name := 'Segoe UI'; AObjectFont.Size := 9; @@ -66,7 +66,7 @@ procedure SetContentFont(const AObjectFont: TFont); begin - if IsWinVista or IsWinServer2008 then + if IsWinVista or IsWinServer2008 or IsWin7 or IsWinServer2008R2 then begin AObjectFont.Name := 'Calibri'; AObjectFont.Size := 9; Modified: trunk/jcl/source/windows/JclSecurity.pas =================================================================== --- trunk/jcl/source/windows/JclSecurity.pas 2008-11-16 14:09:05 UTC (rev 2557) +++ trunk/jcl/source/windows/JclSecurity.pas 2008-11-22 13:32:24 UTC (rev 2558) @@ -32,7 +32,7 @@ { } {**************************************************************************************************} { } -{ Last modified: $Date:: $ } +{ Last modified: $Date:: $ } { Revision: $Rev:: $ } { Author: $Author:: $ } { } @@ -648,7 +648,7 @@ function IsUACEnabled: Boolean; begin - Result := (IsWinVista or IsWinServer2008) and + Result := (IsWinVista or IsWinServer2008 or IsWin7 or IsWinServer2008R2) and RegReadBoolDef(HKLM, '\Software\Microsoft\Windows\CurrentVersion\Policies\System', 'EnableLUA', False); end; @@ -665,7 +665,7 @@ ResultLength: Cardinal; ATokenElevation: TOKEN_ELEVATION; begin - if IsWinVista or IsWinServer2008 then + if (IsWinVista or IsWinServer2008 or IsWin7 or IsWinServer2008R2) then begin if OpenProcessToken(GetCurrentProcess, TOKEN_QUERY, TokenHandle) then begin This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sf...@us...> - 2008-11-16 14:09:10
|
Revision: 2557 http://jcl.svn.sourceforge.net/jcl/?rev=2557&view=rev Author: sfarrow Date: 2008-11-16 14:09:05 +0000 (Sun, 16 Nov 2008) Log Message: ----------- Added IsWindowsInstallerAvailable and GetWindowsInstallerVersion functions to JclSysInfo.pas. Modified Paths: -------------- branches/JCLMSI/jcl/source/common/JclSysInfo.pas Modified: branches/JCLMSI/jcl/source/common/JclSysInfo.pas =================================================================== --- branches/JCLMSI/jcl/source/common/JclSysInfo.pas 2008-11-16 10:02:20 UTC (rev 2556) +++ branches/JCLMSI/jcl/source/common/JclSysInfo.pas 2008-11-16 14:09:05 UTC (rev 2557) @@ -38,6 +38,7 @@ { Robert Marquardt (marquardt) } { Robert Rossmair (rrossmair) } { Scott Price } +{ Sean Farrow (sfarrow) } { Tom Hahn (tomhahn) } { Wim de Cleen } { } @@ -51,7 +52,7 @@ { } { Last modified: $Date:: $ } { Revision: $Rev:: $ } -{ Author: $Author:: $ } +{ Author: $Author:: $ } { } {**************************************************************************************************} @@ -1312,6 +1313,10 @@ function IsMSProjectInstalled: Boolean; function IsOpenOfficeInstalled: Boolean; +//windows installer related functions +function IsWindowsInstallerAvailable: Boolean; +function GetWindowsInstallerVersion: Float; + {$ENDIF MSWINDOWS} // Public global variables @@ -5503,6 +5508,23 @@ Result := ProgIDExists('com.sun.star.ServiceManager'); end; +//=== Windows installer related functions ===================================================== +function IsWindowsInstallerAvailable: Boolean; +begin + result:=FileExists(GetWindowsSystemFolder() +'\msi.dll'); +end; + +function GetWindowsInstallerVersion: Float; +begin + if VersionResourceAvailable(GetWindowsSystemFolder +'\msi.dll') then +with TJclFileVersionInfo.Create('txt') do +begin +result :=StrToFloat(Trim(ProductVersion)); +end +else +result :=-1 +end; + //=== Initialization/Finalization ============================================ procedure InitSysInfo; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2008-11-16 10:02:26
|
Revision: 2556 http://jcl.svn.sourceforge.net/jcl/?rev=2556&view=rev Author: outchy Date: 2008-11-16 10:02:20 +0000 (Sun, 16 Nov 2008) Log Message: ----------- Added scripts to generate chm-help weekly zips. Modified Paths: -------------- trunk/thirdparty/makedist/JclTesting.xml trunk/thirdparty/makedist/howto-daily-weekly.txt Modified: trunk/thirdparty/makedist/JclTesting.xml =================================================================== --- trunk/thirdparty/makedist/JclTesting.xml 2008-11-16 09:39:52 UTC (rev 2555) +++ trunk/thirdparty/makedist/JclTesting.xml 2008-11-16 10:02:20 UTC (rev 2556) @@ -367,4 +367,125 @@ <configuration index="1" caption="Append" value="no"/> </action> </task> + <task name="jcl-weekly-chm" selected="0"> + <action classname="TLogCleaner"/> + <action classname="TCommandLineCaller"> + <configuration index="0" caption="Application" value="%SVN%"/> + <configuration index="1" caption="Working directory" value="..\..\"/> + <configuration index="2" caption="Parameters" value="update"/> + <configuration index="3" caption="Valid exit codes" value=""/> + <configuration index="4" caption="Result file" value=""/> + </action> + <action classname="TXmlGetter"> + <configuration index="0" caption="Xml or command file" value="%SVN%"/> + <configuration index="1" caption="Working directory" value="..\..\"/> + <configuration index="2" caption="Arguments" value="info --xml"/> + <configuration index="3" caption="Valid exit codes" value=""/> + <configuration index="4" caption="Key" value="info\entry\\revision"/> + <configuration index="5" caption="Environment variable" value="VersionRevision"/> + </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="sandbox"/> + </action> + <action classname="TCommandLineCaller"> + <configuration index="0" caption="Application" value="%SVN%"/> + <configuration index="1" caption="Working directory" value="sandbox"/> + <configuration index="2" caption="Parameters" value="export -rBASE --native-eol CRLF --force ..\..\..\ ."/> + <configuration index="3" caption="Valid exit codes" value=""/> + <configuration index="4" caption="Result file" value=""/> + </action> + <action classname="TConstantParser"> + <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> + <configuration index="1" caption="Constant name" value="JclVersionMajor"/> + <configuration index="2" caption="Environment variable" value="VersionMajor"/> + </action> + <action classname="TConstantParser"> + <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> + <configuration index="1" caption="Constant name" value="JclVersionMinor"/> + <configuration index="2" caption="Environment variable" value="VersionMinor"/> + </action> + <action classname="TConstantParser"> + <configuration index="0" caption="Source file" value="sandbox\jcl\source\common\JclBase.pas"/> + <configuration index="1" caption="Constant name" value="JclVersionRelease"/> + <configuration index="2" caption="Environment variable" value="VersionRelease"/> + </action> + <action classname="TBuildCalculator"> + <configuration index="0" caption="Year" value="2000"/> + <configuration index="1" caption="Month" value="03"/> + <configuration index="2" caption="Day" value="01"/> + <configuration index="3" caption="Environment variable" value="VersionBuild"/> + </action> + <action classname="TCommandLineCaller"> + <configuration index="0" caption="Application" value="%ComSpec%"/> + <configuration index="1" caption="Working directory" value="sandbox\jcl\devtools\"/> + <configuration index="2" caption="Parameters" value="/C included_files.bat"/> + <configuration index="3" caption="Valid exit codes" value=""/> + <configuration index="4" caption="Result file" value=""/> + </action> + <action classname="TVariableSetter"> + <configuration index="0" caption="Expression" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-chmhelp.7z"/> + <configuration index="1" caption="Environment variable" value="ArchiveName"/> + </action> + <action classname="TDirectoryCreator"> + <configuration index="0" caption="Directory" value="sandbox\jcl\help"/> + </action> + <action classname="TCommandLineCaller"> + <configuration index="0" caption="Application" value="%DMCC%"/> + <configuration index="1" caption="Working directory" value="sandbox\help"/> + <configuration index="2" caption="Parameters" value="-config "CHM" -noshow -w3 JclHelp.dox"/> + <configuration index="3" caption="Valid exit codes" value="0;20;30"/> + <configuration index="4" caption="Result file" value=""/> + </action> + <action classname="TFileRemover"> + <configuration index="0" caption="Directory" value="sandbox\jcl\help"/> + <configuration index="1" caption="Filter" value="*.html;*.css;*.js;*.gif;*.jpg;*.png;*.c;*.h;*.inc"/> + <configuration index="2" caption="Move to recycle bin" value="no"/> + </action> + <action classname="TArchiveMaker"> + <configuration index="0" caption="Directory" value="sandbox\jcl"/> + <configuration index="1" caption="Filter" value="*help*"/> + <configuration index="2" caption="Archive name" value="%ArchiveName%"/> + </action> + <action classname="TDirectoryRemover"> + <configuration index="0" caption="Directory" value="sandbox"/> + <configuration index="1" caption="Move to recycle bin" value="no"/> + </action> + <action classname="TFileTouch"> + <configuration index="0" caption="Path name" value="jcl-weekly-chm-0.txt"/> + </action> + <action classname="TVariableReader"> + <configuration index="0" caption="Source file" value="jcl-weekly-chm-0.txt"/> + <configuration index="1" caption="Environment variable" value="OldArchiveName"/> + </action> + <action classname="TFileRemover"> + <configuration index="0" caption="Directory" value="."/> + <configuration index="1" caption="Filter" value="jcl-weekly-chm-0.txt"/> + <configuration index="2" caption="Move to recycle bin" value="no"/> + </action> + <action classname="TVariableWriter"> + <configuration index="0" caption="Destination file" value="jcl-weekly-chm-0.txt"/> + <configuration index="1" caption="Expression" value="%ArchiveName%"/> + <configuration index="2" caption="Append" value="no"/> + </action> + <action classname="TFileRemover"> + <configuration index="0" caption="Directory" value="..\..\website\daily"/> + <configuration index="1" caption="Filter" value="%OldArchiveName%"/> + <configuration index="2" caption="Move to recycle bin" value="no"/> + </action> + <action classname="TFileMover"> + <configuration index="0" caption="Old file name" value="%ArchiveName%"/> + <configuration index="1" caption="New file name" value="..\..\website\daily\%ArchiveName%"/> + </action> + <action classname="TCommandLineCaller"> + <configuration index="0" caption="Application" value="%WINSCP%"/> + <configuration index="1" caption="Working directory" value="."/> + <configuration index="2" caption="Parameters" value="/console /script=winscp-jcl-daily.txt"/> + <configuration index="3" caption="Valid exit codes" value=""/> + <configuration index="4" caption="Result file" value=""/> + </action> + <action classname="TLogSaver"> + <configuration index="0" caption="File name" value="jcl-%VersionMajor%.%VersionMinor%.%VersionRelease%.%VersionBuild%-chmhelp.log"/> + <configuration index="1" caption="Append" value="no"/> + </action> + </task> </makedist> Modified: trunk/thirdparty/makedist/howto-daily-weekly.txt =================================================================== --- trunk/thirdparty/makedist/howto-daily-weekly.txt 2008-11-16 09:39:52 UTC (rev 2555) +++ trunk/thirdparty/makedist/howto-daily-weekly.txt 2008-11-16 10:02:20 UTC (rev 2556) @@ -8,7 +8,7 @@ 8/ Compile makedist.exe 9/ Execute the following commands in planified tasks: -MakeDist.exe /c=JclTesting.xml /s=jcl-weekly-h2,jcl-weekly-hlp /x +MakeDist.exe /c=JclTesting.xml /s=jcl-weekly-h2,jcl-weekly-hlp,jcl-weekly-chm /x MakeDist.exe /c=JclTesting.xml /s=jcl-daily-source /x These actions complete in less than an hour. \ 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: <sf...@us...> - 2008-11-16 09:39:59
|
Revision: 2555 http://jcl.svn.sourceforge.net/jcl/?rev=2555&view=rev Author: sfarrow Date: 2008-11-16 09:39:52 +0000 (Sun, 16 Nov 2008) Log Message: ----------- Added binaries for the windows xml installer. Added Paths: ----------- branches/JCLMSI/thirdparty/Windows Installer/ branches/JCLMSI/thirdparty/Windows Installer/Custom Action/ branches/JCLMSI/thirdparty/Windows Installer/Custom Action Library/ branches/JCLMSI/thirdparty/Windows Installer/Installer/ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/BlankFile.zip branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/CPL.TXT branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/CustomActionCPP_2005.zip branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/CustomActionCPP_2008.zip branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/IncludeFile.ico branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/IncludeFile.zip branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/LocalizationFile.ico branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/LocalizationFile.zip branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/Microsoft.Tools.WindowsInstallerXml.NAntTasks.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/ProductFile.ico branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/ProjectFile.ico branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/SetupBuilder.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/TextFile.zip branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixComPlusExtension.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixCop.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixDifxAppExtension.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixDirectXExtension.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixFirewallExtension.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixGamingExtension.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixIIsExtension.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixIsolatedAppExtension.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixLibrary.zip branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixLibraryFile.ico branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixMergeModule.zip branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixMsmqExtension.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixNetFxExtension.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixOfficeExtension.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixPSExtension.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixProject.zip branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixSqlExtension.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixTasks.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixUIExtension.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixUtilExtension.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixVSExtension.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/candle.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/candle.exe.config branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/darice.cub branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/dark.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/dark.exe.config branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/difxapp_ia64.wixlib branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/difxapp_x64.wixlib branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/difxapp_x86.wixlib branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/DTF.chm branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/DTFAPI.chm branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/difxapp.xsd branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/firewall.xsd branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/gaming.xsd branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/iis.xsd branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/msmq.xsd branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/netfx.xsd branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/ps.xsd branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/sql.xsd branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/util.xsd branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/vs.xsd branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/wix.chm branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/wix.xsd branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/wixloc.xsd branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/first/ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/first/module.wxs branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/first/product.wxs branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/first/product_module.wxs branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/first/readme.txt branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/first/readme2.txt branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/simple/ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/simple/bin/ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/simple/bin/cd.bmp branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/simple/bin/info.bmp branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/simple/bin/music.bmp branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/simple/bin/new.bmp branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/simple/bin/simple.txt branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/simple/bin/up.bmp branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/simple/bin/welcome.bmp branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/simple/file.wxs branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/simple/registry.wxs branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/simple/shortcut.wxs branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/examples/simple/simple.wxs branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/heat.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/heat.exe.config branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/light.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/light.exe.config branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/lit.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/lit.exe.config branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/melt.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/melt.exe.config branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/mergemod.cub branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/mergemod.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/mspatchc.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/pyro.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/pyro.exe.config branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sconce2005.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sconce2008.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/DocCompiler.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/MakeSfxCA.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/Microsoft.Deployment.Compression.Cab.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/Microsoft.Deployment.Compression.Cab.xml branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/Microsoft.Deployment.Compression.Zip.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/Microsoft.Deployment.Compression.Zip.xml branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/Microsoft.Deployment.Compression.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/Microsoft.Deployment.Compression.xml branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/Microsoft.Deployment.Resources.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/Microsoft.Deployment.Resources.xml branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/Microsoft.Deployment.WindowsInstaller.Linq.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/Microsoft.Deployment.WindowsInstaller.Linq.xml branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/Microsoft.Deployment.WindowsInstaller.Package.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/Microsoft.Deployment.WindowsInstaller.Package.xml branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/Microsoft.Deployment.WindowsInstaller.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/Microsoft.Deployment.WindowsInstaller.xml branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/MsgGen.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/XsdStitch.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/aclutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/cabcutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/cabutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/conutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/dirutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/dutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/fileutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/inetutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/logutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/memutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/metautil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/pathutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/perfutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/procutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/resrutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/reswutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/rssutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/sqlutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/strutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/timeutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/uriutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/wcautil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/wcawow64.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/inc/xmlutil.h branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/lib/ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/lib/dutil.lib branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/lib/dutil_ia64.lib branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/lib/dutil_x64.lib branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/lib/wcautil.lib branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/lib/wcautil_ia64.lib branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/lib/wcautil_x64.lib branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/wix.ca.targets branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/x64/ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/x64/sfxca.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/x86/ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/sdk/x86/sfxca.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/setup.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/setupbld.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/smoke.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/smoke.exe.config branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/torch.exe branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/torch.exe.config branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/votive2005.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/votive2008.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/wconsole.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/winterop.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/wix.dll branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/wix.targets branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/wui.dll Property changes on: branches/JCLMSI/thirdparty/Windows Installer ___________________________________________________________________ Added: tsvn:projectlanguage + 1033 Added: bugtraq:url + http://homepages.codegear.com/jedi/issuetracker/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/Custom Action ___________________________________________________________________ Added: tsvn:projectlanguage + 1033 Added: bugtraq:url + http://homepages.codegear.com/jedi/issuetracker/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/Custom Action Library ___________________________________________________________________ Added: tsvn:projectlanguage + 1033 Added: bugtraq:url + http://homepages.codegear.com/jedi/issuetracker/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/Installer ___________________________________________________________________ Added: tsvn:projectlanguage + 1033 Added: bugtraq:url + http://homepages.codegear.com/jedi/issuetracker/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries ___________________________________________________________________ Added: tsvn:projectlanguage + 1033 Added: bugtraq:url + http://homepages.codegear.com/jedi/issuetracker/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/BlankFile.zip =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/BlankFile.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/CPL.TXT =================================================================== --- branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/CPL.TXT (rev 0) +++ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/CPL.TXT 2008-11-16 09:39:52 UTC (rev 2555) @@ -0,0 +1,94 @@ +Common Public License Version 1.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + + +1. DEFINITIONS + +"Contribution" means: + +a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and + +b) in the case of each subsequent Contributor: + +i) changes to the Program, and + +ii) additions to the Program; + +where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. + +"Program" means the Contributions distributed in accordance with this Agreement. + +"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. + + +2. GRANT OF RIGHTS + +a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. + +b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. + +c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. + +d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. + + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: + +a) it complies with the terms and conditions of this Agreement; and + +b) its license agreement: + +i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; + +ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; + +iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and + +iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. + +When the Program is made available in source code form: + +a) it must be made available under this Agreement; and + +b) a copy of this Agreement must be included with each copy of the Program. + +Contributors may not remove or alter any copyright notices contained within the Program. + +Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. + + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. + + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. + + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/CustomActionCPP_2005.zip =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/CustomActionCPP_2005.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/CustomActionCPP_2008.zip =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/CustomActionCPP_2008.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/IncludeFile.ico =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/IncludeFile.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/IncludeFile.zip =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/IncludeFile.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/LocalizationFile.ico =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/LocalizationFile.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/LocalizationFile.zip =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/LocalizationFile.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/Microsoft.Tools.WindowsInstallerXml.NAntTasks.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/Microsoft.Tools.WindowsInstallerXml.NAntTasks.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/ProductFile.ico =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/ProductFile.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/ProjectFile.ico =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/ProjectFile.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/SetupBuilder.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/SetupBuilder.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/TextFile.zip =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/TextFile.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixComPlusExtension.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixComPlusExtension.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixCop.exe =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixCop.exe ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixDifxAppExtension.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixDifxAppExtension.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixDirectXExtension.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixDirectXExtension.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixFirewallExtension.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixFirewallExtension.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixGamingExtension.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixGamingExtension.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixIIsExtension.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixIIsExtension.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixIsolatedAppExtension.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixIsolatedAppExtension.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixLibrary.zip =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixLibrary.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixLibraryFile.ico =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixLibraryFile.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixMergeModule.zip =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixMergeModule.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixMsmqExtension.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixMsmqExtension.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixNetFxExtension.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixNetFxExtension.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixOfficeExtension.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixOfficeExtension.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixPSExtension.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixPSExtension.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixProject.zip =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixProject.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixSqlExtension.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixSqlExtension.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixTasks.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixTasks.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixUIExtension.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixUIExtension.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixUtilExtension.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixUtilExtension.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixVSExtension.dll =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/WixVSExtension.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/candle.exe =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/candle.exe ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/candle.exe.config =================================================================== --- branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/candle.exe.config (rev 0) +++ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/candle.exe.config 2008-11-16 09:39:52 UTC (rev 2555) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (c) Microsoft Corporation. All rights reserved. +--> +<configuration> + <startup> + <supportedRuntime version="v2.0.50727" /> + </startup> +</configuration> Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/darice.cub =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/darice.cub ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/dark.exe =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/dark.exe ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/dark.exe.config =================================================================== --- branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/dark.exe.config (rev 0) +++ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/dark.exe.config 2008-11-16 09:39:52 UTC (rev 2555) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (c) Microsoft Corporation. All rights reserved. +--> +<configuration> + <appSettings> + <add key="extensions" value="WixDifxAppExtension;WixDirectXExtension;WixFirewallExtension;WixGamingExtension;WixIIsExtension;WixNetFxExtension;WixSqlExtension;WixUIExtension;WixUtilExtension;WixVSExtension" /> + </appSettings> + <startup> + <supportedRuntime version="v2.0.50727" /> + </startup> +</configuration> Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/difxapp_ia64.wixlib =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/difxapp_ia64.wixlib ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/difxapp_x64.wixlib =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/difxapp_x64.wixlib ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/difxapp_x86.wixlib =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/difxapp_x86.wixlib ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc ___________________________________________________________________ Added: tsvn:projectlanguage + 1033 Added: bugtraq:url + http://homepages.codegear.com/jedi/issuetracker/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/DTF.chm =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/DTF.chm ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/DTFAPI.chm =================================================================== (Binary files differ) Property changes on: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/DTFAPI.chm ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/difxapp.xsd =================================================================== --- branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/difxapp.xsd (rev 0) +++ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/difxapp.xsd 2008-11-16 09:39:52 UTC (rev 2555) @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:html="http://www.w3.org/1999/xhtml" + xmlns:wix="http://schemas.microsoft.com/wix/2006/wi" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" + targetNamespace="http://schemas.microsoft.com/wix/DifxAppExtension" + xmlns="http://schemas.microsoft.com/wix/DifxAppExtension"> + <xs:annotation> + <xs:documentation> + Copyright (c) Microsoft Corporation. All rights reserved. + + The use and distribution terms for this software are covered by the + Common Public License 1.0 (http://opensource.org/licenses/cpl.php) + which can be found in the file CPL.TXT at the root of this distribution. + By using this software in any fashion, you are agreeing to be bound by + the terms of this license. + + You must not remove this notice, or any other, from this software. + + The source code schema for the Windows Installer XML Toolset Driver Install Frameworks for Applications Extension. + </xs:documentation> + </xs:annotation> + + <xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" /> + + <xs:element name="Driver"> + <xs:annotation> + <xs:appinfo> + <xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" /> + </xs:appinfo> + <xs:documentation> + Installs a driver. To use this element, you need to reference the WixDifxAppExtension extension and add the + .wixlib appropriate for the target platform (difxapp_x86.wixlib, difxapp_x64.wixlib, or difxapp_ia64.wixlib) + to your project. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute name="AddRemovePrograms" type="YesNoType"> + <xs:annotation> + <xs:documentation> + Specifies that the DIFxApp CustomActions should add an entry in the Add/Remove Programs Control + Panel applet. The default is 'yes'. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="DeleteFiles" type="YesNoType"> + <xs:annotation> + <xs:documentation> + If set to "yes", configures DIFxApp to delete binary files that were copied to the system from the driver + store when a driver package was installed. If this attribute is set to "no" or not present, DIFxApp does not + remove these files from a system. Note that configuring DIFxApp to delete these files is controlled by the + Flags entry value of the component that represents the driver package in the MsiDriverPackages custom table. + Setting DriverDeleteFiles to "yes" sets the corresponding bit in the Flags entry value. Setting DriverLegacy + to "no" clears the corresponding bit in the Flags entry value. If this attribute is not present, DIFxApp uses + a default value of "no". + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="ForceInstall" type="YesNoType"> + <xs:annotation> + <xs:documentation> + Specifies that the DIFxApp CustomActions should force the installation of a new Plug and Play driver + on a device, even if the currently installed driver on the device is a better match than the new driver. + Specifying 'no' is an excellent way to ensure the DIFxApp CustomActions recognize the Component contains + a driver for installation. The default is null which means the Component does not install a driver via + DIFxApp CustomActions. See <html:a href='http://www.microsoft.com/whdc/driver/install/difxtools.mspx'>http://www.microsoft.com/whdc/driver/install/difxtools.mspx</html:a> + for more information. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="Legacy" type="YesNoType"> + <xs:annotation> + <xs:documentation> + If set to "yes", configures DIFxApp to install unsigned driver packages and driver packages with missing + files. For more information, see "Installing Unsigned Driver Packages in Legacy Mode" earlier in this paper. + If this attribute is set to "no" or not present, DIFxApp will install only signed driver packages. Note + that configuring DIFxApp to install unsigned drivers is controlled by the Flags entry value of the component + that represents the driver package in the MsiDriverPackages custom table. Setting DriverLegacy to "yes" sets + the corresponding bit in the Flags entry value. Setting DriverLegacy to "no" clears the bit in the Flags + entry value that configures DIFxApp to install unsigned driver packages. If this attribute is not present, + DIFxApp uses a default value of "no". + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="PlugAndPlayPrompt" type="YesNoType"> + <xs:annotation> + <xs:documentation> + Specifies that the DIFxApp CustomActions should prompt the user to connect the Plug and Play + device if it is not connected. The default is 'yes'. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="Sequence" type="xs:integer"> + <xs:annotation> + <xs:documentation> + Specifies an optional installation sequence number. DIFxApp CustomActions install the driver packages in + an installation package in the order of increasing sequence numbers. The same sequence number can be used + for more than one driver; however, the order in which packages with the same sequence number are actually + installed cannot be determined. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:simpleType name="YesNoType"> + <xs:annotation> + <xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation> + </xs:annotation> + <xs:restriction base='xs:NMTOKEN'> + <xs:enumeration value="no"/> + <xs:enumeration value="yes"/> + </xs:restriction> + </xs:simpleType> +</xs:schema> Added: branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/firewall.xsd =================================================================== --- branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/firewall.xsd (rev 0) +++ branches/JCLMSI/thirdparty/Windows Installer/WiX Binaries/doc/firewall.xsd 2008-11-16 09:39:52 UTC (rev 2555) @@ -0,0 +1,178 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" + xmlns:html="http://www.w3.org/1999/xhtml" + targetNamespace="http://schemas.microsoft.com/wix/FirewallExtension" + xmlns="http://schemas.microsoft.com/wix/FirewallExtension"> + <xs:annotation> + <xs:documentation> + Copyright (c) Microsoft Corporation. All rights reserved. + + The use and distribution terms for this software are covered by the + Common Public License 1.0 (http://opensource.org/licenses/cpl.php) + which can be found in the file CPL.TXT at the root of this distribution. + By using this software in any fashion, you are agreeing to be bound by + the terms of this license. + + You must not remove this notice, or any other, from this software. + + The source code schema for the Windows Installer XML Toolset Firewall Extension. + </xs:documentation> + </xs:annotation> + + <xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" /> + + <xs:element name="FirewallException"> + <xs:annotation> + <xs:documentation> + Registers an exception for a program or a specific port and protocol in the Windows Firewall + on Windows XP SP2, Windows Server 2003 SP1, and later. For more information about the Windows + Firewall, see <html:a href="http://msdn2.microsoft.com/en-us/library/aa364679.aspx"> + About Windows Firewall API</html:a>. + </xs:documentation> + <xs:appinfo> + <xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" /> + <xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" /> + </xs:appinfo> + </xs:annotation> + + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation> + Explicitly-listed remote addresses that this exception allows through the + firewall. + </xs:documentation> + </xs:annotation> + <xs:element ref="RemoteAddress" /> + </xs:choice> + + <xs:attribute name="Id" type="xs:string" use="required"> + <xs:annotation> + <xs:documentation> + Unique ID of this firewall exception. + </xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attribute name="Name" type="xs:string" use="required"> + <xs:annotation> + <xs:documentation> + Name of this firewall exception, visible to the user in the firewall + control panel. + </xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attribute name="Scope"> + <xs:annotation> + <xs:documentation> + The scope of this firewall exception, which indicates whether incoming + connections can come from any computer including those on the Internet + or only those on the local network subnet. To more precisely specify + allowed remote address, specify a custom scope using RemoteAddress + child elements. + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:NMTOKEN"> + <xs:enumeration value="any" /> + <xs:enumeration value="localSubnet" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + + <xs:attribute name="Port" type="xs:integer"> + <xs:annotation> + <xs:documentation> + Port to allow through the firewall for this exception. If you use Port, you + cannot also use File or Program. + </xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attribute name="Protocol"> + <xs:annotation> + <xs:documentation> + IP protocol used for this firewall exception. If not specified, "tcp" is + assumed. If you use Protocol, you must also specify Port and you cannot + also use File or Program. Note that using "any" requires Windows Firewall + with Advanced Security on Windows Vista and will fail on Windows XP. + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:NMTOKEN"> + <xs:enumeration value="tcp" /> + <xs:enumeration value="udp" /> + <xs:enumeration value="any" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + + <xs:attribute name="File" type="xs:string"> + <xs:annotation> + <xs:documentation> + Identifier of a file to be granted access to all incoming ports and + protocols. If you use File, you cannot also use Program, Port, or Protocol. + </xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attribute name="Program" type="xs:string"> + <xs:annotation> + <xs:documentation> + Path to a target program to be granted access to all incoming ports and + protocols. Note that this is a formatted field, so you can use [#fileId] + syntax to refer to a file being installed. If you use Program, you cannot + also use File, Port, or Protocol. + </xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attribute name="IgnoreFailure" type="YesNoType"> + <xs:annotation> + <xs:documentation> + If "yes," failures to register this firewall exception will be silently + ignored. If "no" (the default), failures will cause rollback. + </xs... [truncated message content] |
From: <sf...@us...> - 2008-11-13 11:00:03
|
Revision: 2554 http://jcl.svn.sourceforge.net/jcl/?rev=2554&view=rev Author: sfarrow Date: 2008-11-13 11:00:00 +0000 (Thu, 13 Nov 2008) Log Message: ----------- Added Paths: ----------- branches/JCLMSI/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2008-11-07 15:21:45
|
Revision: 2553 http://jcl.svn.sourceforge.net/jcl/?rev=2553&view=rev Author: ahuser Date: 2008-11-07 15:21:27 +0000 (Fri, 07 Nov 2008) Log Message: ----------- Fixed bug in InnoSetup installer Modified Paths: -------------- trunk/thirdparty/InnoSetup/CompInstall/CompInst.pas trunk/thirdparty/InnoSetup/CompInstall/CompInstall.dproj trunk/thirdparty/InnoSetup/CompInstall.dll trunk/thirdparty/InnoSetup/Install.iss Modified: trunk/thirdparty/InnoSetup/CompInstall/CompInst.pas =================================================================== --- trunk/thirdparty/InnoSetup/CompInstall/CompInst.pas 2008-11-04 15:09:48 UTC (rev 2552) +++ trunk/thirdparty/InnoSetup/CompInstall/CompInst.pas 2008-11-07 15:21:27 UTC (rev 2553) @@ -156,7 +156,7 @@ function compinst_IsBDSInstalled(IDEVersion: Integer): Integer; stdcall; begin - Result := Ord(Installations.BCBVersionInstalled[IDEVersion]); + Result := Ord(Installations.BDSVersionInstalled[IDEVersion]); end; { Design Packages } Modified: trunk/thirdparty/InnoSetup/CompInstall/CompInstall.dproj =================================================================== --- trunk/thirdparty/InnoSetup/CompInstall/CompInstall.dproj 2008-11-04 15:09:48 UTC (rev 2552) +++ trunk/thirdparty/InnoSetup/CompInstall/CompInstall.dproj 2008-11-07 15:21:27 UTC (rev 2553) @@ -1,88 +1,115 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <PropertyGroup> - <ProjectGuid>{1e742bfd-8538-4b78-8715-0c8ccf190ba4}</ProjectGuid> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> - <DCC_DependencyCheckOutputName>..\CompInstall.dll</DCC_DependencyCheckOutputName> - <MainSource>CompInstall.dpr</MainSource> - </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_ExeOutput>..\</DCC_ExeOutput> - <DCC_DcuOutput>.</DCC_DcuOutput> - <DCC_ObjOutput>.</DCC_ObjOutput> - <DCC_HppOutput>.</DCC_HppOutput> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <Version>7.0</Version> - <DCC_Define>DEBUG</DCC_Define> - <DCC_ExeOutput>..\</DCC_ExeOutput> - <DCC_DcuOutput>.</DCC_DcuOutput> - <DCC_ObjOutput>.</DCC_ObjOutput> - <DCC_HppOutput>.</DCC_HppOutput> - </PropertyGroup> - <ProjectExtensions> - <Borland.Personality>Delphi.Personality</Borland.Personality> - <Borland.ProjectType /> - <BorlandProject> -<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters><Parameters Name="HostApplication">..\project1.exe</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">False</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">1031</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages> - <Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages> - <Excluded_Packages Name="$(BDS)\bin\bcboffice2k100.bpl">CodeGear C++Builder Office 2000 Servers Package</Excluded_Packages> - <Excluded_Packages Name="$(BDS)\bin\bcbofficexp100.bpl">CodeGear C++Builder Office XP Servers Package</Excluded_Packages> - </Excluded_Packages><Source><Source Name="MainSource">CompInstall.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject> - </ProjectExtensions> - <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" /> - <ItemGroup> - <DelphiCompile Include="CompInstall.dpr"> - <MainSource>MainSource</MainSource> - </DelphiCompile> - <DCCReference Include="CompInst.pas" /> - </ItemGroup> -</Project> \ No newline at end of file + <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <ProjectGuid>{1e742bfd-8538-4b78-8715-0c8ccf190ba4}</ProjectGuid> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> + <DCC_DependencyCheckOutputName>..\CompInstall.dll</DCC_DependencyCheckOutputName> + <MainSource>CompInstall.dpr</MainSource> + <ProjectVersion>12.0</ProjectVersion> + <Config Condition="'$(Config)'==''">Release</Config> + </PropertyGroup> + <PropertyGroup Condition="'$(Config)'=='Basis' or '$(Base)'!=''"> + <Base>true</Base> + </PropertyGroup> + <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''"> + <Cfg_1>true</Cfg_1> + <CfgParent>Base</CfgParent> + <Base>true</Base> + </PropertyGroup> + <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''"> + <Cfg_2>true</Cfg_2> + <CfgParent>Base</CfgParent> + <Base>true</Base> + </PropertyGroup> + <PropertyGroup Condition="'$(Base)'!=''"> + <DCC_ExeOutput>..\</DCC_ExeOutput> + <DCC_DcuOutput>.</DCC_DcuOutput> + <DCC_DependencyCheckOutputName>..\CompInstall.dll</DCC_DependencyCheckOutputName> + <GenDll>true</GenDll> + </PropertyGroup> + <PropertyGroup Condition="'$(Cfg_1)'!=''"> + <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_Define> + <DCC_ObjOutput>.</DCC_ObjOutput> + <DCC_HppOutput>.</DCC_HppOutput> + </PropertyGroup> + <PropertyGroup Condition="'$(Cfg_2)'!=''"> + <Version>7.0</Version> + <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define> + <DCC_ObjOutput>.</DCC_ObjOutput> + <DCC_HppOutput>.</DCC_HppOutput> + </PropertyGroup> + <ProjectExtensions> + <Borland.Personality>Delphi.Personality.12</Borland.Personality> + <Borland.ProjectType/> + <BorlandProject> + <Delphi.Personality> + <Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="LoadAllSymbols">True</Parameters> + <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> + <Parameters Name="HostApplication">..\project1.exe</Parameters> + </Parameters> + <VersionInfo> + <VersionInfo Name="IncludeVerInfo">False</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">1</VersionInfo> + <VersionInfo Name="MinorVer">0</VersionInfo> + <VersionInfo Name="Release">0</VersionInfo> + <VersionInfo Name="Build">0</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">False</VersionInfo> + <VersionInfo Name="Locale">1031</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName"/> + <VersionInfoKeys Name="FileDescription"/> + <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys> + <VersionInfoKeys Name="InternalName"/> + <VersionInfoKeys Name="LegalCopyright"/> + <VersionInfoKeys Name="LegalTrademarks"/> + <VersionInfoKeys Name="OriginalFilename"/> + <VersionInfoKeys Name="ProductName"/> + <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys> + <VersionInfoKeys Name="Comments"/> + </VersionInfoKeys> + <Excluded_Packages> + <Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages> + <Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages> + <Excluded_Packages Name="$(BDS)\bin\bcboffice2k100.bpl">CodeGear C++Builder Office 2000 Servers Package</Excluded_Packages> + <Excluded_Packages Name="$(BDS)\bin\bcbofficexp100.bpl">CodeGear C++Builder Office XP Servers Package</Excluded_Packages> + </Excluded_Packages> + <Source> + <Source Name="MainSource">CompInstall.dpr</Source> + </Source> + </Delphi.Personality> + </BorlandProject> + <ProjectFileVersion>12</ProjectFileVersion> + </ProjectExtensions> + <ItemGroup> + <DelphiCompile Include="CompInstall.dpr"> + <MainSource>MainSource</MainSource> + </DelphiCompile> + <DCCReference Include="CompInst.pas"/> + <BuildConfiguration Include="Basis"> + <Key>Base</Key> + </BuildConfiguration> + <BuildConfiguration Include="Debug"> + <Key>Cfg_2</Key> + <CfgParent>Base</CfgParent> + </BuildConfiguration> + <BuildConfiguration Include="Release"> + <Key>Cfg_1</Key> + <CfgParent>Base</CfgParent> + </BuildConfiguration> + </ItemGroup> + <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> + </Project> Modified: trunk/thirdparty/InnoSetup/CompInstall.dll =================================================================== (Binary files differ) Modified: trunk/thirdparty/InnoSetup/Install.iss =================================================================== --- trunk/thirdparty/InnoSetup/Install.iss 2008-11-04 15:09:48 UTC (rev 2552) +++ trunk/thirdparty/InnoSetup/Install.iss 2008-11-07 15:21:27 UTC (rev 2553) @@ -7,7 +7,7 @@ ; Include_DelphiX Include the binaries for Delphi X (X in 5..12) ; Include_BCBX Include the binaries for C++Builder X (X in 5..6) -#define JclVersionStr "1.102.0.2726" +#define JclVersionStr "1.103.0.3110" #define MyAppName "Jedi Code Library" #define MyAppVerName "Jedi Code Library " + JclVersionStr #define MyAppPublisher "JCL Team" @@ -18,9 +18,13 @@ #define Include_Examples ;#define DEBUGGING +;#define Include_SingleIDE +;#define Include_Delphi12 + + #ifdef DEBUGGING #define Include_SingleIDE - #define Include_Delphi5 + #define Include_Delphi12 #undef Include_Examples #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2008-11-04 15:10:01
|
Revision: 2552 http://jcl.svn.sourceforge.net/jcl/?rev=2552&view=rev Author: outchy Date: 2008-11-04 15:09:48 +0000 (Tue, 04 Nov 2008) Log Message: ----------- Mantis 4515: Version Control Icons are wrong Removed icon-dependent code from runtime code, TortoiseCVS and TortoiseSVN icons are not loaded anymore. Added icon set from http://DryIcons.com/ Modified Paths: -------------- trunk/jcl/experts/versioncontrol/JclVersionControlImpl.pas trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.dfm trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.pas trunk/jcl/source/vcl/JclVersionControl.pas trunk/jcl/source/vcl/JclVersionCtrlCVSImpl.pas trunk/jcl/source/vcl/JclVersionCtrlSVNImpl.pas Added Paths: ----------- trunk/jcl/LICENSE-DRYICONS.txt trunk/jcl/experts/versioncontrol/JclVersionCtrlIcons.RES trunk/jcl/experts/versioncontrol/JclVersionCtrlIcons.rc trunk/jcl/experts/versioncontrol/icons/ trunk/jcl/experts/versioncontrol/icons/ContextMenu.ico trunk/jcl/experts/versioncontrol/icons/Explore.ico trunk/jcl/experts/versioncontrol/icons/FileAdd.ico trunk/jcl/experts/versioncontrol/icons/FileBlame.ico trunk/jcl/experts/versioncontrol/icons/FileBranch.ico trunk/jcl/experts/versioncontrol/icons/FileCommit.ico trunk/jcl/experts/versioncontrol/icons/FileDiff.ico trunk/jcl/experts/versioncontrol/icons/FileGraph.ico trunk/jcl/experts/versioncontrol/icons/FileLock.ico trunk/jcl/experts/versioncontrol/icons/FileLog.ico trunk/jcl/experts/versioncontrol/icons/FileMerge.ico trunk/jcl/experts/versioncontrol/icons/FileRename.ico trunk/jcl/experts/versioncontrol/icons/FileRevert.ico trunk/jcl/experts/versioncontrol/icons/FileTag.ico trunk/jcl/experts/versioncontrol/icons/FileUnlock.ico trunk/jcl/experts/versioncontrol/icons/FileUpdate.ico trunk/jcl/experts/versioncontrol/icons/Properties.ico trunk/jcl/experts/versioncontrol/icons/RepoBrowser.ico trunk/jcl/experts/versioncontrol/icons/SandboxAdd.ico trunk/jcl/experts/versioncontrol/icons/SandboxBranch.ico trunk/jcl/experts/versioncontrol/icons/SandboxCheckout.ico trunk/jcl/experts/versioncontrol/icons/SandboxCommit.ico trunk/jcl/experts/versioncontrol/icons/SandboxLock.ico trunk/jcl/experts/versioncontrol/icons/SandboxLog.ico trunk/jcl/experts/versioncontrol/icons/SandboxMerge.ico trunk/jcl/experts/versioncontrol/icons/SandboxRename.ico trunk/jcl/experts/versioncontrol/icons/SandboxRevert.ico trunk/jcl/experts/versioncontrol/icons/SandboxTag.ico trunk/jcl/experts/versioncontrol/icons/SandboxUnlock.ico trunk/jcl/experts/versioncontrol/icons/SandboxUpdate.ico trunk/jcl/experts/versioncontrol/icons/Status.ico trunk/jcl/experts/versioncontrol/icons/copyright.txt trunk/jcl/experts/versioncontrol/icons/dirinfo.txt Added: trunk/jcl/LICENSE-DRYICONS.txt =================================================================== --- trunk/jcl/LICENSE-DRYICONS.txt (rev 0) +++ trunk/jcl/LICENSE-DRYICONS.txt 2008-11-04 15:09:48 UTC (rev 2552) @@ -0,0 +1,34 @@ +DryIcons Free License Agreement + +Read Full Legal Code + +DryIcons is a service provided by our team of enthusiastic graphic and web designers and programmers. The purpose of this service is to provide only high-quality, free icons and free icon sets, as well as free vector graphics to the general public, with a specific target to designers, software and web developers. +All DryIcons' Works (meaning "icons, icon sets and graphics") are free of charge, but please read further under what Terms and Conditions. +All DryIcons Works are licensed under a DryIcons Free License. This means that you can use our icons, icon sets and graphics in any publicly accessible web site, web application or any form of presentation publicly accessible through the World Wide Web only according to the DryIcons Free License Terms and Conditions: + + * You must put a back link with credits to http://dryicons.com on every page where DryIcons' Works are used (example: Icons by DryIcons); + * You must include the correct back link to DryIcons website, which is: http://dryicons.com; + * You must place the link on an easy-to-see, recognizable place, so there is no confusion about the Original Author of the Works (DryIcons); + * When copying, or paraphrasing description text (or title) on one of the Works, you must make sure there are no spelling mistakes; + * Do not try to take credit or imply in any way that you and not DryIcons is the Original Author of the Licensed Material (icons, icon sets and graphics). + +What you CAN DO: + + 1. All DryIcons' Works are being provided to You under the Terms of this agreement, which allows for use of our Works but does not transfer ownership. All DryIcons' Works remain property of DryIcons; + 2. You may use DryIcons' Works in any personal or commercial project unlimited number of times according to the DryIcons Free License Terms and Conditions; + 3. You may use DryIcons' Works in any Open Source project and application according to the DryIcons Free License Terms and Conditions; + 4. Your rights to DryIcons' Works are worldwide and for the duration of DryIcons' rights in the Works; + 5. Any uses other than the ones mentioned above must be approved by DryIcons in writing; + 6. Unauthorized use will result in immediate termination of this License, and with it, your rights to use DryIcons' Works. + +What you CAN NOT DO: + + 1. You may not alter, crop, modify, manipulate and create derivative works of DryIcons' Works. All Works must be used "AS IS"; + 2. You may not redistribute, license, sell, lease, assign, convey or transfer DryIcons' Works, or offer free downloads in their present form or in a modified form to any third party; + 3. You may not distribute the DryIcons' Works (icons, icon sets and graphics) online in a downloadable format or enable them to be distributed via mobile devices. You may link to http://dryicons.com instead; + 4. You may not incorporate DryIcons' Works into a logo, trademark or service mark; + 5. You may not use DryIcons' Works directly from dryicons.com or any other location hosted on the dryicons.com domain or any other domain owned by DryIcons. + +Copyright + + 1. DryIcons.com reserves the copyrights and ownership rights of all DryIcons' Works downloaded from this website. We reserve the right to change parts of this License without notice and at our sole discretion. Property changes on: trunk/jcl/LICENSE-DRYICONS.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: trunk/jcl/experts/versioncontrol/JclVersionControlImpl.pas =================================================================== --- trunk/jcl/experts/versioncontrol/JclVersionControlImpl.pas 2008-11-03 21:51:29 UTC (rev 2551) +++ trunk/jcl/experts/versioncontrol/JclVersionControlImpl.pas 2008-11-04 15:09:48 UTC (rev 2552) @@ -61,16 +61,15 @@ private FVersionCtrlMenu: TMenuItem; FActions: array [TJclVersionControlActionType] of TCustomAction; - FLastPlugin: TJclVersionControlPlugin; + FIconIndexes: array [TJclVersionControlActionType] of Integer; FHideActions: Boolean; - FIconType: Integer; + FIconType: TIconType; FActOnTopSandbox: Boolean; FSaveConfirmation: Boolean; FDisableActions: Boolean; FOptionsFrame: TJclVersionCtrlOptionsFrame; FMenuOrganization: TStringList; - procedure RefreshIcon(const AAction: TCustomAction); - procedure SetIconType(const Value: Integer); + procedure SetIconType(const Value: TIconType); procedure ActionUpdate(Sender: TObject); procedure ActionExecute(Sender: TObject); @@ -97,7 +96,7 @@ property DisableActions: Boolean read FDisableActions write FDisableActions; property HideActions: Boolean read FHideActions write FHideActions; property SaveConfirmation: Boolean read FSaveConfirmation write FSaveConfirmation; - property IconType: Integer read FIconType write SetIconType; + property IconType: TIconType read FIconType write SetIconType; property CurrentCache: TJclVersionControlCache read GetCurrentCache; property CurrentPlugin: TJclVersionControlPlugin read GetCurrentPlugin; property CurrentFileName: string read GetCurrentFileName; @@ -130,12 +129,54 @@ implementation uses - Windows, Forms, TypInfo, + Windows, Forms, TypInfo, ImgList, JclDebug, JclFileUtils, JclRegistry, JclShell, JclStrings, JclOtaConsts, JclOtaResources, JclVersionCtrlSVNImpl, JclVersionCtrlCVSImpl; +{$R JclVersionCtrlIcons.RES} + +const + IconNames: array [TJclVersionControlActionType] of PChar = + ( 'FILEADD', // vcaAdd + 'SANDBOXADD', // vcaAddSandbox + 'FILEBLAME', // vcaBlame + 'FILEBRANCH', // vcaBranch + 'SANDBOXBRANCH', // vcaBranchSandbox + 'SANDBOXCHECKOUT', // vcaCheckOutSandbox + 'FILECOMMIT', // vcaCommit + 'SANDBOXCOMMIT', // vcaCommitSandbox + 'CONTEXTMENU', // vcaContextMenu + 'FILEDIFF', // vcaDiff + 'EXPLORE', // vcaExplore + 'EXPLORE', // vcaExploreSandbox + 'FILEGRAPH', // vcaGraph + 'FILELOG', // vcaLog + 'SANDBOXLOG', // vcaLogSandbox + 'FILELOCK', // vcaLock + 'SANDBOXLOCK', // vcaLockSandbox + 'FILEMERGE', // vcaMerge + 'SANDBOXMERGE', // vcaMergeSandbox + 'PROPERTIES', // vcaProperties + 'PROPERTIES', // vcaPropertiesSandbox + 'FILERENAME', // vcaRename + 'SANDBOXRENAME', // vcaRenameSandbox + 'REPOBROWSER', // vcaRepoBrowser + 'FILEREVERT', // vcaRevert + 'SANDBOXREVERT', // vcaRevertSandbox + 'STATUS', // vcaStatus + 'STATUS', // vcaStatusSandbox + 'FILETAG', // vcaTag + 'SANDBOXTAG', // vcaTagSandBox + 'FILEUPDATE', // vcaUpdate + 'SANDBOXUPDATE', // vcaUpdateSandbox + 'FILEUPDATE', // vcaUpdateTo + 'SANDBOXUPDATE', // vcaUpdateSandboxTo + 'FILEUNLOCK', // vcaUnlock + 'SANDBOXUNLOCK'); // vcaUnlockSandbox + + function CharIsAmpersand(const C: Char): Boolean; begin Result := C = '&'; @@ -372,15 +413,6 @@ ControlActionInfo := VersionControlActionInfo(ControlAction); AFileCache := CurrentCache; - if IconType = -1 then - begin - if Assigned(AFileCache) then - FLastPlugin := AFileCache.Plugin - else - FLastPlugin := nil; - RefreshIcon(AAction); - end; - if HideActions and not ControlActionInfo.AllPlugins then AAction.Visible := Assigned(AFileCache) and Assigned(AFileCache.Plugin) and (ControlAction in AFileCache.Plugin.SupportedActionTypes) @@ -464,10 +496,6 @@ procedure TJclVersionControlExpert.AddConfigurationPages( AddPageFunc: TJclOTAAddPageFunc); -var - Index: Integer; - IconTypeNames: TStrings; - PluginList: TJclVersionControlPluginList; begin inherited AddConfigurationPages(AddPageFunc); FOptionsFrame := TJclVersionCtrlOptionsFrame.Create(nil); @@ -475,15 +503,6 @@ FOptionsFrame.HideActions := HideActions; FOptionsFrame.SaveConfirmation := SaveConfirmation; FOptionsFrame.ActOnTopSandbox := ActOnTopSandbox; - IconTypeNames := TStringList.Create; - try - PluginList := VersionControlPluginList; - for Index := 0 to PluginList.Count - 1 do - IconTypeNames.Add(PluginList.Plugins[Index].Name); - FOptionsFrame.SetIconTypeNames(IconTypeNames); - finally - IconTypeNames.Free; - end; FOptionsFrame.SetActions(FActions); // after SetActions FOptionsFrame.MenuTree := FMenuOrganization; @@ -557,7 +576,12 @@ AMenuItem.Caption := Format('%s | %s', [AFileCache.Plugin.Name, AFileCache.SandBoxes[IndexSandbox]]); AMenuItem.Tag := APopupMenu.Tag; AMenuItem.OnClick := SubItemClick; - AMenuItem.ImageIndex := AFileCache.Plugin.Icons[ControlAction]; + case IconType of + itNone: + AMenuItem.ImageIndex := -1; + itJCL: + AMenuItem.ImageIndex := FIconIndexes[ControlAction]; + end; APopupMenu.Items.Add(AMenuItem); end; end; @@ -573,7 +597,12 @@ AMenuItem.Caption := AFileCache.SandBoxes[IndexSandbox]; AMenuItem.Tag := APopupMenu.Tag; AMenuItem.OnClick := SubItemClick; - AMenuItem.ImageIndex := AFileCache.Plugin.Icons[ControlAction]; + case IconType of + itNone: + AMenuItem.ImageIndex := -1; + itJCL: + AMenuItem.ImageIndex := FIconIndexes[ControlAction]; + end; APopupMenu.Items.Add(AMenuItem); end; end; @@ -675,7 +704,12 @@ SubMenuItem.Caption := Format('%s | %s', [AFileCache.Plugin.Name, AFileCache.SandBoxes[IndexSandbox]]); SubMenuItem.Tag := Integer(ControlAction); SubMenuItem.OnClick := SubItemClick; - SubMenuItem.ImageIndex := AFileCache.Plugin.Icons[ControlAction]; + case IconType of + itNone: + SubMenuItem.ImageIndex := -1; + itJCL: + SubMenuItem.ImageIndex := FIconIndexes[ControlAction]; + end; AMenuItem.Add(SubMenuItem); end; end; @@ -692,7 +726,12 @@ SubMenuItem.Caption := AFileCache.SandBoxes[IndexSandbox]; SubMenuItem.Tag := Integer(ControlAction); SubMenuItem.OnClick := SubItemClick; - SubMenuItem.ImageIndex := AFileCache.Plugin.Icons[ControlAction]; + case IconType of + itNone: + SubMenuItem.ImageIndex := -1; + itJCL: + SubMenuItem.ImageIndex := FIconIndexes[ControlAction]; + end; AMenuItem.Add(SubMenuItem); end; end; @@ -732,24 +771,11 @@ begin AFileCache := CurrentCache; - if IconType = -1 then - begin - if ControlActionInfo.AllPlugins then - begin - PluginList := VersionControlPluginList; + case IconType of + itNone: BMenuItem.ImageIndex := -1; - for IndexPlugin := 0 to PluginList.Count - 1 do - begin - BMenuItem.ImageIndex := TJclVersionControlPlugin(PluginList.Plugins[IndexPlugin]).Icons[ControlAction]; - if BMenuItem.ImageIndex > -1 then - Break; - end; - end - else - if Assigned(AFileCache) and Assigned(AFileCache.Plugin) then - BMenuItem.ImageIndex := AFileCache.Plugin.Icons[ControlAction] - else - BMenuItem.ImageIndex := -1; + itJCL: + BMenuItem.ImageIndex := FIconIndexes[ControlAction]; end; if HideActions and not ControlActionInfo.AllPlugins then @@ -809,100 +835,20 @@ end; end; -procedure TJclVersionControlExpert.RefreshIcon(const AAction: TCustomAction); -var - ControlAction: TJclVersionControlActionType; - IndexPlugin: Integer; - PluginList: TJclVersionControlPluginList; -begin - if not Assigned(AAction) then - Exit; - - ControlAction := ActionToControlAction(AAction); - case IconType of - // No icon - -3 : - AAction.ImageIndex := -1; - // JCL icons - // TODO: create resources - -2 : - AAction.ImageIndex := -1; - // auto icons - -1 : - if VersionControlActionInfo(ControlAction).AllPlugins then - begin - PluginList := VersionControlPluginList; - for IndexPlugin := 0 to PluginList.Count - 1 do - begin - AAction.ImageIndex := PluginList.Plugins[IndexPlugin].Icons[ControlAction]; - if AAction.ImageIndex > -1 then - Break; - end; - end - else - begin - if Assigned(FLastPlugin) then - AAction.ImageIndex := FLastPlugin.Icons[ControlAction] - else - AAction.ImageIndex := -1; - end; - // Specific icons - 0..High(Integer) : - begin - PluginList := VersionControlPluginList; - if IconType < PluginList.Count then - AAction.ImageIndex := TJclVersionControlPlugin(PluginList.Plugins[IconType]).Icons[ControlAction] - else - AAction.ImageIndex := -1; - end; - end; -end; - procedure TJclVersionControlExpert.RefreshIcons; var ControlAction: TJclVersionControlActionType; - IndexPlugin: Integer; - PluginList: TJclVersionControlPluginList; begin for ControlAction := Low(TJclVersionControlActionType) to High(TJclVersionControlActionType) do if Assigned(FActions[ControlAction]) then begin case IconType of // No icon - -3 : + itNone : FActions[ControlAction].ImageIndex := -1; // JCL icons - // TODO: create resources - -2 : - FActions[ControlAction].ImageIndex := -1; - // Auto icons - -1 : - if VersionControlActionInfo(ControlAction).AllPlugins then - begin - PluginList := VersionControlPluginList; - for IndexPlugin := 0 to PluginList.Count - 1 do - begin - FActions[ControlAction].ImageIndex := PluginList.Plugins[IndexPlugin].Icons[ControlAction]; - if FActions[ControlAction].ImageIndex > -1 then - Break; - end; - end - else - begin - if Assigned(FLastPlugin) then - FActions[ControlAction].ImageIndex := FLastPlugin.Icons[ControlAction] - else - FActions[ControlAction].ImageIndex := -1; - end; - // Specific icons - 0..High(Integer) : - begin - PluginList := VersionControlPluginList; - if IconType < PluginList.Count then - FActions[ControlAction].ImageIndex := PluginList.Plugins[IconType].Icons[ControlAction] - else - FActions[ControlAction].ImageIndex := -1; - end; + itJCL : + FActions[ControlAction].ImageIndex := FIconIndexes[ControlAction]; end; end; end; @@ -1017,6 +963,7 @@ var IDEMainMenu: TMainMenu; IDEToolsItem: TMenuItem; + IDEImageList: TCustomImageList; IDEActionList: TCustomActionList; I: Integer; AStandardAction: TJclVersionControlStandardAction; @@ -1025,8 +972,8 @@ IconTypeStr: string; ControlAction: TJclVersionControlActionType; ControlActionInfo: TJclVersionControlActionInfo; - PluginList: TJclVersionControlPluginList; NTAServices: INTAServices; + AIcon: TIcon; begin inherited RegisterCommands; NTAServices := GetNTAServices; @@ -1038,21 +985,23 @@ IconTypeStr := Settings.LoadString(JclVersionCtrlIconTypeName, JclVersionCtrlIconTypeAutoValue); ActOnTopSandbox := Settings.LoadBool(JclVersionCtrlActOnTopSandboxName, False); - FIconType := -1; + FIconType := itJCL; if IconTypeStr = JclVersionCtrlIconTypeNoIconValue then - FIconType := -3 + FIconType := itNone else if IconTypeStr = JclVersionCtrlIconTypeJclIconValue then - FIconType := -2 - else - if IconTypeStr = JclVersionCtrlIconTypeAutoValue then - FIconType := -1 - else - begin - PluginList := VersionControlPluginList; - for I := 0 to PluginList.Count - 1 do - if IconTypeStr = TJclVersionControlPlugin(PluginList.Plugins[I]).Name then - FIconType := I; + FIconType := itJCL; + + IDEImageList := NTAServices.ImageList; + AIcon := TIcon.Create; + try + for ControlAction := Low(TJclVersionControlActionType) to High(TJclVersionControlActionType) do + begin + AIcon.Handle := LoadIcon(HInstance, IconNames[ControlAction]); + FIconIndexes[ControlAction] := IDEImageList.AddIcon(AIcon); + end; + finally + AIcon.Free; end; IDEMainMenu := NTAServices.MainMenu; @@ -1142,7 +1091,7 @@ end; end; -procedure TJclVersionControlExpert.SetIconType(const Value: Integer); +procedure TJclVersionControlExpert.SetIconType(const Value: TIconType); begin if Value <> FIconType then begin @@ -1227,14 +1176,10 @@ Settings.SaveBool(JclVersionCtrlHideActionsName, HideActions); Settings.SaveBool(JclVersionCtrlActOnTopSandboxName, ActOnTopSandbox); case FIconType of - -3: + itNone: Settings.SaveString(JclVersionCtrlIconTypeName, JclVersionCtrlIconTypeNoIconValue); - -2: + itJCL: Settings.SaveString(JclVersionCtrlIconTypeName, JclVersionCtrlIconTypeJclIconValue); - -1: - Settings.SaveString(JclVersionCtrlIconTypeName, JclVersionCtrlIconTypeAutoValue); - 0..High(Integer): - Settings.SaveString(JclVersionCtrlIconTypeName, TJclVersionControlPlugin(VersionControlPluginList.Plugins[IconType]).Name); end; for ControlAction := Low(TJclVersionControlActionType) to High(TJclVersionControlActionType) do Modified: trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.dfm =================================================================== --- trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.dfm 2008-11-03 21:51:29 UTC (rev 2551) +++ trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.dfm 2008-11-04 15:09:48 UTC (rev 2552) @@ -40,8 +40,7 @@ TabOrder = 1 Items.Strings = ( 'RsNoIcon' - 'RsJCLIcons' - 'RsAutoIcons') + 'RsJCLIcons') end object TreeViewMenu: TTreeView Left = 16 Modified: trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.pas =================================================================== --- trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.pas 2008-11-03 21:51:29 UTC (rev 2551) +++ trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.pas 2008-11-04 15:09:48 UTC (rev 2552) @@ -38,6 +38,8 @@ Dialogs, StdCtrls, ComCtrls, ActnList, Menus; type + TIconType = (itNone, itJCL); + TJclVersionCtrlOptionsFrame = class(TFrame) CheckBoxHideActions: TCheckBox; LabelIcons: TLabel; @@ -92,22 +94,21 @@ procedure SetSaveConfirmation(const Value: Boolean); function GetDisableActions: Boolean; function GetHideActions: Boolean; - function GetIconType: Integer; + function GetIconType: TIconType; function GetMenuTree: TStrings; procedure SetDisableActions(const Value: Boolean); procedure SetHideActions(const Value: Boolean); - procedure SetIconType(const Value: Integer); + procedure SetIconType(const Value: TIconType); procedure SetMenuTree(const Value: TStrings); procedure MenuItemNewActionClick(Sender: TObject); public constructor Create(AOwner: TComponent); override; destructor Destroy; override; - procedure SetIconTypeNames(const Names: TStrings); procedure SetActions(const Actions: array of TCustomAction); property ActOnTopSandbox: Boolean read GetActOnTopSandbox write SetActOnTopSandbox; property DisableActions: Boolean read GetDisableActions write SetDisableActions; property HideActions: Boolean read GetHideActions write SetHideActions; - property IconType: Integer read GetIconType write SetIconType; + property IconType: TIconType read GetIconType write SetIconType; property MenuTree: TStrings read GetMenuTree write SetMenuTree; property SaveConfirmation: Boolean read GetSaveConfirmation write SetSaveConfirmation; end; @@ -149,7 +150,6 @@ RsMenuOrganization = 'Menu &organization:'; RsNoIcon = 'No icon'; RsJCLIcons = 'JCL icons'; - RsAutoIcons = 'Automatic'; //=== TJclVersionCtrlOptionsFrame ============================================ @@ -341,7 +341,6 @@ LabelMenuOrganization.Caption := RsMenuOrganization; ComboBoxIcons.Items.Strings[0] := RsNoIcon; ComboBoxIcons.Items.Strings[1] := RsJCLIcons; - ComboBoxIcons.Items.Strings[2] := RsAutoIcons; end; destructor TJclVersionCtrlOptionsFrame.Destroy; @@ -365,9 +364,12 @@ Result := CheckBoxHideActions.Checked; end; -function TJclVersionCtrlOptionsFrame.GetIconType: Integer; +function TJclVersionCtrlOptionsFrame.GetIconType: TIconType; begin - Result := ComboBoxIcons.ItemIndex - 3; + if ComboBoxIcons.ItemIndex = 1 then + Result := itJCL + else + Result := itNone; end; function TJclVersionCtrlOptionsFrame.GetMenuTree: TStrings; @@ -478,20 +480,16 @@ CheckBoxHideActions.Checked := Value; end; -procedure TJclVersionCtrlOptionsFrame.SetIconType(const Value: Integer); +procedure TJclVersionCtrlOptionsFrame.SetIconType(const Value: TIconType); begin - ComboBoxIcons.ItemIndex := Value + 3; + case Value of + itNone: + ComboBoxIcons.ItemIndex := 0; + itJCL: + ComboBoxIcons.ItemIndex := 1; + end; end; -procedure TJclVersionCtrlOptionsFrame.SetIconTypeNames(const Names: TStrings); -var - Index: Integer; -begin - for Index := ComboBoxIcons.Items.Count - 1 downto 3 do - ComboBoxIcons.Items.Delete(Index); - ComboBoxIcons.Items.AddStrings(Names); -end; - procedure TJclVersionCtrlOptionsFrame.SetMenuTree(const Value: TStrings); var ATreeNode, BTreeNode: TTreeNode; Added: trunk/jcl/experts/versioncontrol/JclVersionCtrlIcons.RES =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/JclVersionCtrlIcons.RES ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/jcl/experts/versioncontrol/JclVersionCtrlIcons.rc =================================================================== --- trunk/jcl/experts/versioncontrol/JclVersionCtrlIcons.rc (rev 0) +++ trunk/jcl/experts/versioncontrol/JclVersionCtrlIcons.rc 2008-11-04 15:09:48 UTC (rev 2552) @@ -0,0 +1,37 @@ +/**************************************************************************************************** + + Icons for version control actions + +****************************************************************************************************/ + +CONTEXTMENU ICON "icons\ContextMenu.ico" +EXPLORE ICON "icons\Explore.ico" +FILEADD ICON "icons\FileAdd.ico" +FILEBLAME ICON "icons\FileBlame.ico" +FILEBRANCH ICON "icons\FileBranch.ico" +FILECOMMIT ICON "icons\FileCommit.ico" +FILEDIFF ICON "icons\FileDiff.ico" +FILEGRAPH ICON "icons\FileGraph.ico" +FILELOCK ICON "icons\FileLock.ico" +FILELOG ICON "icons\FileLog.ico" +FILEMERGE ICON "icons\FileMerge.ico" +FILERENAME ICON "icons\FileRename.ico" +FILEREVERT ICON "icons\FileRevert.ico" +FILETAG ICON "icons\FileTag.ico" +FILEUNLOCK ICON "icons\FileUnlock.ico" +FILEUPDATE ICON "icons\FileUpdate.ico" +PROPERTIES ICON "icons\Properties.ico" +REPOBROWSER ICON "icons\RepoBrowser.ico" +SANDBOXADD ICON "icons\SandboxAdd.ico" +SANDBOXBRANCH ICON "icons\SandboxBranch.ico" +SANDBOXCHECKOUT ICON "icons\SandboxCheckout.ico" +SANDBOXCOMMIT ICON "icons\SandboxCommit.ico" +SANDBOXLOCK ICON "icons\SandboxLock.ico" +SANDBOXLOG ICON "icons\SandboxLog.ico" +SANDBOXMERGE ICON "icons\SandboxMerge.ico" +SANDBOXRENAME ICON "icons\SandboxRename.ico" +SANDBOXREVERT ICON "icons\SandboxRevert.ico" +SANDBOXTAG ICON "icons\SandboxTag.ico" +SANDBOXUNLOCK ICON "icons\SandboxUnlock.ico" +SANDBOXUPDATE ICON "icons\SandboxUpdate.ico" +STATUS ICON "icons\Status.ico" \ No newline at end of file Property changes on: trunk/jcl/experts/versioncontrol/JclVersionCtrlIcons.rc ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/jcl/experts/versioncontrol/icons ___________________________________________________________________ Added: tsvn:projectlanguage + 1033 Added: bugtraq:url + http://homepages.codegear.com/jedi/issuetracker/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Added: trunk/jcl/experts/versioncontrol/icons/ContextMenu.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/ContextMenu.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/Explore.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/Explore.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/FileAdd.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/FileAdd.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/FileBlame.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/FileBlame.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/FileBranch.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/FileBranch.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/FileCommit.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/FileCommit.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/FileDiff.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/FileDiff.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/FileGraph.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/FileGraph.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/FileLock.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/FileLock.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/FileLog.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/FileLog.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/FileMerge.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/FileMerge.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/FileRename.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/FileRename.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/FileRevert.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/FileRevert.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/FileTag.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/FileTag.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/FileUnlock.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/FileUnlock.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/FileUpdate.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/FileUpdate.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/Properties.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/Properties.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/RepoBrowser.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/RepoBrowser.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/SandboxAdd.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/SandboxAdd.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/SandboxBranch.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/SandboxBranch.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/SandboxCheckout.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/SandboxCheckout.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/SandboxCommit.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/SandboxCommit.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/SandboxLock.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/SandboxLock.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/SandboxLog.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/SandboxLog.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/SandboxMerge.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/SandboxMerge.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/SandboxRename.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/SandboxRename.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/SandboxRevert.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/SandboxRevert.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/SandboxTag.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/SandboxTag.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/SandboxUnlock.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/SandboxUnlock.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/SandboxUpdate.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/SandboxUpdate.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/Status.ico =================================================================== (Binary files differ) Property changes on: trunk/jcl/experts/versioncontrol/icons/Status.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/jcl/experts/versioncontrol/icons/copyright.txt =================================================================== --- trunk/jcl/experts/versioncontrol/icons/copyright.txt (rev 0) +++ trunk/jcl/experts/versioncontrol/icons/copyright.txt 2008-11-04 15:09:48 UTC (rev 2552) @@ -0,0 +1,36 @@ +These icons are copyrighted by DryIcons (http://dryicons.com/) and distributed subjecting to the agreements of the DryIcons Free License (http://dryicons.com/terms/#free-license) + +DryIcons Free License Agreement + +Read Full Legal Code + +DryIcons is a service provided by our team of enthusiastic graphic and web designers and programmers. The purpose of this service is to provide only high-quality, free icons and free icon sets, as well as free vector graphics to the general public, with a specific target to designers, software and web developers. +All DryIcons' Works (meaning "icons, icon sets and graphics") are free of charge, but please read further under what Terms and Conditions. +All DryIcons Works are licensed under a DryIcons Free License. This means that you can use our icons, icon sets and graphics in any publicly accessible web site, web application or any form of presentation publicly accessible through the World Wide Web only according to the DryIcons Free License Terms and Conditions: + + * You must put a back link with credits to http://dryicons.com on every page where DryIcons' Works are used (example: Icons by DryIcons); + * You must include the correct back link to DryIcons website, which is: http://dryicons.com; + * You must place the link on an easy-to-see, recognizable place, so there is no confusion about the Original Author of the Works (DryIcons); + * When copying, or paraphrasing description text (or title) on one of the Works, you must make sure there are no spelling mistakes; + * Do not try to take credit or imply in any way that you and not DryIcons is the Original Author of the Licensed Material (icons, icon sets and graphics). + +What you CAN DO: + + 1. All DryIcons' Works are being provided to You under the Terms of this agreement, which allows for use of our Works but does not transfer ownership. All DryIcons' Works remain property of DryIcons; + 2. You may use DryIcons' Works in any personal or commercial project unlimited number of times according to the DryIcons Free License Terms and Conditions; + 3. You may use DryIcons' Works in any Open Source project and application according to the DryIcons Free License Terms and Conditions; + 4. Your rights to DryIcons' Works are worldwide and for the duration of DryIcons' rights in the Works; + 5. Any uses other than the ones mentioned above must be approved by DryIcons in writing; + 6. Unauthorized use will result in immediate termination of this License, and with it, your rights to use DryIcons' Works. + +What you CAN NOT DO: + + 1. You may not alter, crop, modify, manipulate and create derivative works of DryIcons' Works. All Works must be used "AS IS"; + 2. You may not redistribute, license, sell, lease, assign, convey or transfer DryIcons' Works, or offer free downloads in their present form or in a modified form to any third party; + 3. You may not distribute the DryIcons' Works (icons, icon sets and graphics) online in a downloadable format or enable them to be distributed via mobile devices. You may link to http://dryicons.com instead; + 4. You may not incorporate DryIcons' Works into a logo, trademark or service mark; + 5. You may not use DryIcons' Works directly from dryicons.com or any other location hosted on the dryicons.com domain or any other domain owned by DryIcons. + +Copyright + + 1. DryIcons.com reserves the copyrights and ownership rights of all DryIcons' Works downloaded from this website. We reserve the right to change parts of this License without notice and at our sole discretion. Property changes on: trunk/jcl/experts/versioncontrol/icons/copyright.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: trunk/jcl/experts/versioncontrol/icons/dirinfo.txt =================================================================== --- trunk/jcl/experts/versioncontrol/icons/dirinfo.txt (rev 0) +++ trunk/jcl/experts/versioncontrol/icons/dirinfo.txt 2008-11-04 15:09:48 UTC (rev 2552) @@ -0,0 +1 @@ +This is the place where version control icons reside. \ No newline at end of file Property changes on: trunk/jcl/experts/versioncontrol/icons/dirinfo.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: trunk/jcl/source/vcl/JclVersionControl.pas =================================================================== --- trunk/jcl/source/vcl/JclVersionControl.pas 2008-11-03 21:51:29 UTC (rev 2551) +++ trunk/jcl/source/vcl/JclVersionControl.pas 2008-11-04 15:09:48 UTC (rev 2552) @@ -104,8 +104,6 @@ function GetFileActions(const FileName: TFileName): TJclVersionControlActionTypes; virtual; // get actions for the current sandbox (sandbox can be not yet initialized) function GetSandboxActions(const SdBxName: TFileName): TJclVersionControlActionTypes; virtual; - // get icon for the action - function GetIcon(const Action: TJclVersionControlActionType): Integer; virtual; // true if the plugin is supported (third-party tools present) function GetEnabled: Boolean; virtual; // friendly name of the plugin @@ -124,7 +122,6 @@ GetSupportedActionTypes; property FileActions[const FileName: TFileName]: TJclVersionControlActionTypes read GetFileActions; property SandboxActions[const SdBxName: TFileName]: TJclVersionControlActionTypes read GetSandboxActions; - property Icons[const Action: TJclVersionControlActionType]: Integer read GetIcon; property Enabled: Boolean read GetEnabled; property Name: string read GetName; end; @@ -161,7 +158,6 @@ function GetSupportedActionTypes: TJclVersionControlActionTypes; override; function GetFileActions(const FileName: TFileName): TJclVersionControlActionTypes; override; function GetSandboxActions(const SdBxName: TFileName): TJclVersionControlActionTypes; override; - function GetIcon(const Action: TJclVersionControlActionType): Integer; override; function GetEnabled: Boolean; override; function GetName: string; override; public @@ -173,44 +169,20 @@ TJclVersionControlPluginList = class (TObject) private FFileCache: TList; - FIconCache: TList; - FImages: TCustomImageList; - FIntImages: TImagelist; FPluginList: TObjectList; procedure ClearFileCache; - procedure ClearIconCache; - function GetImages: TCustomImageList; function GetPlugin(Index: Integer): TJclVersionControlPlugin; - procedure SetImages(const Value: TCustomImageList); public constructor Create; destructor Destroy; override; - function CacheResourceIcon(const ResourceFile: TFileName; const ResourceID: - Integer): Integer; overload; - function CacheResourceIcon(const ResourceFile: TFileName; const ResourceName: - string): Integer; overload; function Count: Integer; - function GetActionImageIndex(AIconType: Integer; AActionType: TJclVersionControlActionType; - ACurrentPlugin: TJclVersionControlPlugin): Integer; function GetFileCache(const FileName: TFileName; const Plugin: TJclVersionControlPlugin): TJclVersionControlCache; procedure RegisterPluginClass(const APluginClass: TJclVersionControlPluginClass); procedure UnregisterPluginClass(const APluginClass: TJclVersionControlPluginClass); - property Images: TCustomImageList read GetImages write SetImages; property Plugins[Index: Integer]: TJclVersionControlPlugin read GetPlugin; end; - TJclIconCacheInfo = class (TObject) - private - FFileName: TFileName; - FIconIndex: Integer; - FResourceName: string; - public - property FileName: TFileName read FFileName write FFileName; - property ResourceName: string read FResourceName write FResourceName; - property IconIndex: Integer read FIconIndex write FIconIndex; - end; - TJclVersionControlActionsCache = class (TObject) private FSandbox: string; @@ -326,7 +298,6 @@ JclVersionCtrlDisableActionsName = 'DisableActions'; JclVersionCtrlHideActionsName = 'HideActions'; JclVersionCtrlIconTypeName = 'IconType'; - JclVersionCtrlIconTypeAutoValue = 'auto'; JclVersionCtrlIconTypeNoIconValue = 'noicon'; JclVersionCtrlIconTypeJclIconValue = 'jclicons'; @@ -577,12 +548,6 @@ Result := []; end; -function TJclVersionControlPlugin.GetIcon( - const Action: TJclVersionControlActionType): Integer; -begin - Result := -1; -end; - function TJclVersionControlPlugin.GetName: string; begin Result := ''; @@ -705,23 +670,6 @@ Result := [vcaContextMenu, vcaExplore, vcaExploreSandbox, vcaProperties, vcaPropertiesSandbox]; end; -function TJclVersionControlSystemPlugin.GetIcon( - const Action: TJclVersionControlActionType): Integer; -begin - case Action of - vcaContextMenu: - Result := -1; - vcaExplore, - vcaExploreSandbox: - Result := VersionControlPluginList.CacheResourceIcon('Explorer.exe', 101); - vcaProperties, - vcaPropertiesSandbox: - Result := VersionControlPluginList.CacheResourceIcon('Shell32.dll', 4); - else - Result := inherited GetIcon(Action); - end; -end; - function TJclVersionControlSystemPlugin.GetName: string; begin Result := 'System'; @@ -757,79 +705,16 @@ inherited Create; FFileCache := TList.Create; FPluginList := TObjectList.Create(True); - FIntImages := TImagelist.Create(nil); - FIconCache := TList.Create; end; destructor TJclVersionControlPluginList.Destroy; begin - ClearIconCache; - FreeAndNil(FIconCache); - FreeAndNil(FIntImages); FreeAndNil(FPluginList); ClearFileCache; FreeAndNil(FFileCache); inherited Destroy; end; -function TJclVersionControlPluginList.CacheResourceIcon( - const ResourceFile: TFileName; const ResourceID: Integer): Integer; -var - ResourceName: string; -begin - SetLength(ResourceName, SizeOf(ResourceID)); - System.Move(ResourceID, ResourceName[1], SizeOf(ResourceID)); - Result := CacheResourceIcon(ResourceFile, ResourceName); -end; - -function TJclVersionControlPluginList.CacheResourceIcon( - const ResourceFile: TFileName; const ResourceName: string): Integer; -var - Index: Integer; - AIconCacheInfo: TJclIconCacheInfo; - AIcon: TIcon; - FileModule: HMODULE; - ResourceID: Integer; -begin - for Index := 0 to FIconCache.Count - 1 do - begin - AIconCacheInfo := TJclIconCacheInfo(FIconCache.Items[Index]); - if (CompareText(AIconCacheInfo.ResourceName, ResourceName) = 0) and - (CompareText(AIconCacheInfo.FileName, ResourceFile) = 0) then - begin - Result := AIconCacheInfo.IconIndex; - Exit; - end; - end; - Result := -1; - AIconCacheInfo := TJclIconCacheInfo.Create; - AIconCacheInfo.FileName := ResourceFile; - AIconCacheInfo.ResourceName := ResourceName; - FileModule := LoadLibraryEx(PChar(ResourceFile), 0, LOAD_LIBRARY_AS_DATAFILE); - if FileModule <> 0 then - try - AIcon := TIcon.Create; - try - if (Length(ResourceName) = 4) and (ResourceName[3] = #0) and (ResourceName[4] = #0) then - begin - System.Move(ResourceName[1], ResourceID, SizeOf(ResourceID)); - AIcon.Handle := LoadIcon(FileModule, PChar(ResourceID)); - end - else - AIcon.Handle := LoadIcon(FileModule, PChar(ResourceName)); - Result := Images.AddIcon(AIcon); - AIconCacheInfo.IconIndex := Result; - FIconCache.Add(AIconCacheInfo); - finally - AIcon.Free; - end; - finally - FreeLibrary(FileModule); - end - else - AIconCacheInfo.free; -end; - procedure TJclVersionControlPluginList.ClearFileCache; var Index: Integer; @@ -839,15 +724,6 @@ FFileCache.Clear; end; -procedure TJclVersionControlPluginList.ClearIconCache; -var - Index: Integer; -begin - for Index := FIconCache.Count - 1 downto 0 do - TJclIconCacheInfo(FIconCache.Items[Index]).Free; - FIconCache.Clear; -end; - function TJclVersionControlPluginList.Count: Integer; begin Result := FPluginList.Count; @@ -891,70 +767,12 @@ Result := TJclVersionControlPlugin(FPluginList[Index]); end; -function TJclVersionControlPluginList.GetActionImageIndex(AIconType: Integer; - AActionType: TJclVersionControlActionType; ACurrentPlugin: TJclVersionControlPlugin): Integer; -var - IndexPlugin: Integer; -begin - Result := -1; - case AIconType of - // No icon - -3 : - Result := -1; - // JCL icons - // TODO: create resources - -2 : - Result := -1; - // auto icons - -1 : - if VersionControlActionInfo(AActionType).AllPlugins then - begin - for IndexPlugin := 0 to Count - 1 do - begin - Result := Plugins[IndexPlugin].Icons[AActionType]; - if Result > -1 then - Break; - end; - end - else - begin - if Assigned(ACurrentPlugin) then - Result := ACurrentPlugin.Icons[AActionType] - else - Result := -1; - end; - // Specific icons - 0..High(Integer) : - if aIconType < FPluginList.Count then - Result := Plugins[aIconType].Icons[aActionType] - else - Result := -1; - end; -end; - -function TJclVersionControlPluginList.GetImages: TCustomImageList; -begin - if Assigned(FImages) then - Result := FImages - else - Result := FIntImages; -end; - procedure TJclVersionControlPluginList.RegisterPluginClass( const APluginClass: TJclVersionControlPluginClass); begin FPluginList.Add(APluginClass.Create); end; -procedure TJclVersionControlPluginList.SetImages(const Value: TCustomImageList); -begin - if Value <> FImages then - begin - FImages := Value; - ClearIconCache; - end; -end; - procedure TJclVersionControlPluginList.UnregisterPluginClass( const APluginClass: TJclVersionControlPluginClass); var Modified: trunk/jcl/source/vcl/JclVersionCtrlCVSImpl.pas =================================================================== --- trunk/jcl/source/vcl/JclVersionCtrlCVSImpl.pas 2008-11-03 21:51:29 UTC (rev 2551) +++ trunk/jcl/source/vcl/JclVersionCtrlCVSImpl.pas 2008-11-04 15:09:48 UTC (rev 2552) @@ -45,7 +45,6 @@ function GetSupportedActionTypes: TJclVersionControlActionTypes; override; function GetFileActions(const FileName: TFileName): TJclVersionControlActionTypes; override; function GetSandboxActions(const SdBxName: TFileName): TJclVersionControlActionTypes; override; - function GetIcon(const Action: TJclVersionControlActionType): Integer; override; function GetEnabled: Boolean; override; function GetName: string; override; public @@ -71,7 +70,7 @@ JclFileUtils, JclRegistry, JclStrings; const - JclVersionCtrlCVSTrtseShlDLL = 'TrtseShl.dll'; +// JclVersionCtrlCVSTrtseShlDLL = 'TrtseShl.dll'; JclVersionCtrlCVSRegKeyName = 'SOFTWARE\TortoiseCVS'; JclVersionCtrlCVSRegValueName = 'RootDir'; JclVersionCtrlCVSTortoiseAct = 'TortoiseAct.exe'; @@ -255,52 +254,6 @@ vcaUpdateSandbox, vcaUpdateTo, vcaUpdateSandboxTo, vcaUnlock, vcaUnlockSandbox]; end; -function TJclVersionControlCVS.GetIcon( - const Action: TJclVersionControlActionType): Integer; -var - LibraryName: string; -begin - LibraryName := PathAddSeparator(ExtractFilePath(FTortoiseCVSAct)) + JclVersionCtrlCVSTrtseShlDLL; - - case Action of - vcaAdd, - vcaAddSandbox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 'IDI_ADD'); - vcaGraph, - vcaLog, - vcaLogSandbox, - vcaBlame: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 'IDI_LOG'); - vcaBranch, - vcaBranchSandbox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 'IDI_BRANCH'); - vcaCheckOutSandbox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 'IDI_CHECKOUT'); - vcaCommit, - vcaCommitSandbox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 'IDI_COMMIT'); - vcaDiff: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 'IDI_COMPARE'); - vcaLock, - vcaLockSandbox, - vcaStatus, - vcaStatusSandbox, - vcaTag, - vcaTagSandBox: - Result := -1; - vcaUpdate, - vcaUpdateSandbox, - vcaUpdateTo, - vcaUpdateSandboxTo: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 'IDI_UPDATE'); - vcaUnlock, - vcaUnlockSandbox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 'IDI_REVERT'); - else - Result := inherited GetIcon(Action); - end; -end; - function TJclVersionControlCVS.GetName: string; begin Result := RsVersionCtrlCVSName; Modified: trunk/jcl/source/vcl/JclVersionCtrlSVNImpl.pas =================================================================== --- trunk/jcl/source/vcl/JclVersionCtrlSVNImpl.pas 2008-11-03 21:51:29 UTC (rev 2551) +++ trunk/jcl/source/vcl/JclVersionCtrlSVNImpl.pas 2008-11-04 15:09:48 UTC (rev 2552) @@ -46,7 +46,6 @@ function GetSupportedActionTypes: TJclVersionControlActionTypes; override; function GetFileActions(const FileName: TFileName): TJclVersionControlActionTypes; override; function GetSandboxActions(const SdBxName: TFileName): TJclVersionControlActionTypes; override; - function GetIcon(const Action: TJclVersionControlActionType): Integer; override; function GetEnabled: Boolean; override; function GetName: string; override; public @@ -93,7 +92,7 @@ JclVersionCtrlSVNUpdateVerb = 'update'; JclVersionCtrlSVNUpdateToParam = '/rev'; JclVersionCtrlSVNUnlockVerb = 'unlock'; - JclVersionCtrlSVNTortoiseDLL = 'TortoiseSVN.dll'; +// JclVersionCtrlSVNTortoiseDLL = 'TortoiseSVN.dll'; JclVersionCtrlSVNDirectory1 = '.svn\'; JclVersionCtrlSVNDirectory2 = '_svn\'; JclVersionCtrlSVNEntryFile = 'entries'; @@ -289,67 +288,6 @@ vcaUpdateSandbox, vcaUpdateTo, vcaUpdateSandboxTo, vcaUnlock, vcaUnlockSandbox]; end; -function TJclVersionControlSVN.GetIcon( - const Action: TJclVersionControlActionType): Integer; -var - LibraryName: string; -begin - LibraryName := PathAddSeparator(ExtractFilePath(FTortoiseSVNProc)) + JclVersionCtrlSVNTortoiseDLL; - - case Action of - vcaAdd, - vcaAddSandbox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 124); - vcaBlame: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 5146); - vcaBranch, - vcaBranchSandbox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 132); - vcaCheckOutSandbox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 121); - vcaCommit, - vcaCommitSandbox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 123); - vcaDiff: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 135); - vcaGraph: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 5151); - vcaLog, - vcaLogSandbox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 136); - vcaLock, - vcaLockSandbox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 5152); - vcaMerge, - vcaMergeSandbox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 129); - vcaRename: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 134); - vcaRepoBrowser: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 5145); - vcaRevert, - vcaRevertSandbox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 125); - vcaStatus, - vcaStatusSandbox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 143); - vcaTag, - vcaTagSandBox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 132); - vcaUpdate, - vcaUpdateSandbox, - vcaUpdateTo, - vcaUpdateSandboxTo: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 122); - vcaUnlock, - vcaUnlockSandbox: - Result := VersionControlPluginList.CacheResourceIcon(LibraryName, 5153); - else - Result := inherited GetIcon(Action); - end; - -end; - function TJclVersionControlSVN.GetName: string; begin Result := RsVersionCtrlSVNName; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2008-11-03 21:51:40
|
Revision: 2551 http://jcl.svn.sourceforge.net/jcl/?rev=2551&view=rev Author: ahuser Date: 2008-11-03 21:51:29 +0000 (Mon, 03 Nov 2008) Log Message: ----------- GetWindowsServicePackVersion for Windows >= 2000 Modified Paths: -------------- trunk/jcl/source/common/JclSysInfo.pas Modified: trunk/jcl/source/common/JclSysInfo.pas =================================================================== --- trunk/jcl/source/common/JclSysInfo.pas 2008-11-02 21:13:52 UTC (rev 2550) +++ trunk/jcl/source/common/JclSysInfo.pas 2008-11-03 21:51:29 UTC (rev 2551) @@ -3615,13 +3615,13 @@ VersionInfo: TOSVersionInfoEx; begin Result := 0; - if IsWin2K or IsWinXP or IsWin2003 or IsWinXP64 or IsWin2003R2 or IsWinVista or IsWinServer2008 then + if (Win32Platform = VER_PLATFORM_WIN32_NT) and (Win32MajorVersion >= 5) then begin FillChar(VersionInfo, SizeOf(VersionInfo), 0); VersionInfo.dwOSVersionInfoSize := SizeOf(VersionInfo); if GetVersionEx(VersionInfo) then Result := VersionInfo.wServicePackMajor; - end + end else begin SP := RegReadIntegerDef(HKEY_LOCAL_MACHINE, RegWindowsControl, 'CSDVersion', 0); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2008-11-02 21:13:55
|
Revision: 2550 http://jcl.svn.sourceforge.net/jcl/?rev=2550&view=rev Author: ahuser Date: 2008-11-02 21:13:52 +0000 (Sun, 02 Nov 2008) Log Message: ----------- Cosmetic change Modified Paths: -------------- trunk/jcl/source/common/JclStrings.pas Modified: trunk/jcl/source/common/JclStrings.pas =================================================================== --- trunk/jcl/source/common/JclStrings.pas 2008-11-02 14:31:21 UTC (rev 2549) +++ trunk/jcl/source/common/JclStrings.pas 2008-11-02 21:13:52 UTC (rev 2550) @@ -2968,7 +2968,7 @@ var Pos: PChar; begin - Pos := StrPos(PChar(@S[Index]),PChar(@SubStr[1])); + Pos := StrPos(PChar(@S[Index]), PChar(@SubStr[1])); if Pos = nil then Result := 0 else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2008-11-02 14:31:26
|
Revision: 2549 http://jcl.svn.sourceforge.net/jcl/?rev=2549&view=rev Author: outchy Date: 2008-11-02 14:31:21 +0000 (Sun, 02 Nov 2008) Log Message: ----------- synchronization errors are now skipped. Modified Paths: -------------- trunk/thirdparty/makedist/winscp-jcl-daily.txt Modified: trunk/thirdparty/makedist/winscp-jcl-daily.txt =================================================================== --- trunk/thirdparty/makedist/winscp-jcl-daily.txt 2008-11-01 22:11:22 UTC (rev 2548) +++ trunk/thirdparty/makedist/winscp-jcl-daily.txt 2008-11-02 14:31:21 UTC (rev 2549) @@ -1,4 +1,4 @@ -option batch on +option batch continue option confirm off option transfer binary open jcl.web.sourceforge.net This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2008-11-01 22:22:13
|
Revision: 2547 http://jcl.svn.sourceforge.net/jcl/?rev=2547&view=rev Author: ahuser Date: 2008-11-01 21:36:24 +0000 (Sat, 01 Nov 2008) Log Message: ----------- Mantis #4560: JclAppInst - incorrect CMD strings Modified Paths: -------------- trunk/jcl/source/windows/JclAppInst.pas Modified: trunk/jcl/source/windows/JclAppInst.pas =================================================================== --- trunk/jcl/source/windows/JclAppInst.pas 2008-10-26 10:17:44 UTC (rev 2546) +++ trunk/jcl/source/windows/JclAppInst.pas 2008-11-01 21:36:24 UTC (rev 2547) @@ -485,17 +485,14 @@ const DataKind: TJclAppInstDataKind; const S: string; OriginatorWnd: THandle): Boolean; begin - Result := SendData(WindowClassName, DataKind, PChar(S), Length(S), OriginatorWnd); + Result := SendData(WindowClassName, DataKind, PChar(S), Length(S) * SizeOf(Char), OriginatorWnd); end; function TJclAppInstances.SendStrings(const WindowClassName: string; const DataKind: TJclAppInstDataKind; const Strings: TStrings; OriginatorWnd: THandle): Boolean; -var - S: string; begin - S := Strings.Text; - Result := SendData(WindowClassName, DataKind, Pointer(S), Length(S), OriginatorWnd); + Result := SendString(WindowClassName, DataKind, Strings.Text, OriginatorWnd); end; class function TJclAppInstances.SetForegroundWindow98(const Wnd: THandle): Boolean; @@ -575,7 +572,7 @@ begin with TWMCopyData(Message) do if Msg = WM_COPYDATA then - SetString(S, PChar(CopyDataStruct^.lpData), CopyDataStruct^.cbData); + SetString(S, PChar(CopyDataStruct^.lpData), CopyDataStruct^.cbData div SizeOf(Char)); end; procedure ReadMessageStrings(const Message: TMessage; const Strings: TStrings); @@ -585,7 +582,7 @@ with TWMCopyData(Message) do if Msg = WM_COPYDATA then begin - SetString(S, PChar(CopyDataStruct^.lpData), CopyDataStruct^.cbData); + ReadMessageString(Message, S); Strings.Text := S; end; end; @@ -603,11 +600,8 @@ function SendStrings(const Wnd, OriginatorWnd: HWND; const DataKind: TJclAppInstDataKind; const Strings: TStrings): Boolean; -var - S: string; begin - S := Strings.Text; - Result := SendData(Wnd, OriginatorWnd, DataKind, Pointer(S), Length(S)); + Result := SendString(Wnd, OriginatorWnd, DataKind, Strings.Text); end; function SendCmdLineParams(const Wnd, OriginatorWnd: HWND): Boolean; @@ -628,7 +622,7 @@ function SendString(const Wnd, OriginatorWnd: HWND; const DataKind: TJclAppInstDataKind; const S: string): Boolean; begin - Result := SendData(Wnd, OriginatorWnd, DataKind, PChar(S), Length(S)); + Result := SendData(Wnd, OriginatorWnd, DataKind, PChar(S), Length(S) * SizeOf(Char)); end; initialization This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2008-11-01 22:11:30
|
Revision: 2548 http://jcl.svn.sourceforge.net/jcl/?rev=2548&view=rev Author: ahuser Date: 2008-11-01 22:11:22 +0000 (Sat, 01 Nov 2008) Log Message: ----------- Removed unnecessary blank in "uses" Modified Paths: -------------- trunk/jcl/experts/debug/dialog/ExceptDlg.pas trunk/jcl/experts/debug/dialog/ExceptDlgMail.pas Modified: trunk/jcl/experts/debug/dialog/ExceptDlg.pas =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlg.pas 2008-11-01 21:36:24 UTC (rev 2547) +++ trunk/jcl/experts/debug/dialog/ExceptDlg.pas 2008-11-01 22:11:22 UTC (rev 2548) @@ -30,7 +30,7 @@ uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, AppEvnts, - JclSysUtils, JclUnitVersioning, JclUnitVersioningProviders, JclDebug; + JclSysUtils, JclUnitVersioning, JclUnitVersioningProviders, JclDebug; const UM_CREATEDETAILS = WM_USER + $100; Modified: trunk/jcl/experts/debug/dialog/ExceptDlgMail.pas =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlgMail.pas 2008-11-01 21:36:24 UTC (rev 2547) +++ trunk/jcl/experts/debug/dialog/ExceptDlgMail.pas 2008-11-01 22:11:22 UTC (rev 2548) @@ -30,7 +30,7 @@ uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, AppEvnts, - JclSysUtils, JclMapi, JclUnitVersioning, JclUnitVersioningProviders, JclDebug; + JclSysUtils, JclMapi, JclUnitVersioning, JclUnitVersioningProviders, JclDebug; const UM_CREATEDETAILS = WM_USER + $100; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2008-10-26 10:20:25
|
Revision: 2546 http://jcl.svn.sourceforge.net/jcl/?rev=2546&view=rev Author: outchy Date: 2008-10-26 10:17:44 +0000 (Sun, 26 Oct 2008) Log Message: ----------- Adapted daily zip creation script to preserve and automatically update php files to web server. Modified Paths: -------------- trunk/thirdparty/makedist/JclTesting.xml trunk/thirdparty/makedist/winscp-jcl-daily.txt Property Changed: ---------------- trunk/thirdparty/makedist/ trunk/website/daily/ Property changes on: trunk/thirdparty/makedist ___________________________________________________________________ Modified: svn:ignore - *.exe *.dproj *.local *.identcache *.dcu *.log *.zip *.gz *.7z daily sandbox jcl-daily-source-0.txt jcl-daily-source-1.txt jcl-daily-source-2.txt jcl-weekly-hlp-0.txt jcl-weekly-h2-0.txt 7z.dll + *.exe *.dproj *.local *.identcache *.dcu *.log *.zip *.gz *.7z sandbox jcl-daily-source-0.txt jcl-daily-source-1.txt jcl-daily-source-2.txt jcl-weekly-hlp-0.txt jcl-weekly-h2-0.txt 7z.dll Modified: trunk/thirdparty/makedist/JclTesting.xml =================================================================== --- trunk/thirdparty/makedist/JclTesting.xml 2008-10-26 09:55:53 UTC (rev 2545) +++ trunk/thirdparty/makedist/JclTesting.xml 2008-10-26 10:17:44 UTC (rev 2546) @@ -109,17 +109,14 @@ <configuration index="1" caption="Expression" value="%ArchiveName%"/> <configuration index="2" caption="Append" value="no"/> </action> - <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="daily"/> - </action> <action classname="TFileRemover"> - <configuration index="0" caption="Directory" value="daily"/> + <configuration index="0" caption="Directory" value="..\..\website\daily"/> <configuration index="1" caption="Filter" value="%OldArchiveName%"/> <configuration index="2" caption="Move to recycle bin" value="no"/> </action> <action classname="TFileMover"> <configuration index="0" caption="Old file name" value="%ArchiveName%"/> - <configuration index="1" caption="New file name" value="daily\%ArchiveName%"/> + <configuration index="1" caption="New file name" value="..\..\website\daily\%ArchiveName%"/> </action> <action classname="TCommandLineCaller"> <configuration index="0" caption="Application" value="%WINSCP%"/> @@ -228,17 +225,14 @@ <configuration index="1" caption="Expression" value="%ArchiveName%"/> <configuration index="2" caption="Append" value="no"/> </action> - <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="daily"/> - </action> <action classname="TFileRemover"> - <configuration index="0" caption="Directory" value="daily"/> + <configuration index="0" caption="Directory" value="..\..\website\daily"/> <configuration index="1" caption="Filter" value="%OldArchiveName%"/> <configuration index="2" caption="Move to recycle bin" value="no"/> </action> <action classname="TFileMover"> <configuration index="0" caption="Old file name" value="%ArchiveName%"/> - <configuration index="1" caption="New file name" value="daily\%ArchiveName%"/> + <configuration index="1" caption="New file name" value="..\..\website\daily\%ArchiveName%"/> </action> <action classname="TCommandLineCaller"> <configuration index="0" caption="Application" value="%WINSCP%"/> @@ -352,17 +346,14 @@ <configuration index="1" caption="Expression" value="%ArchiveName%"/> <configuration index="2" caption="Append" value="no"/> </action> - <action classname="TDirectoryCreator"> - <configuration index="0" caption="Directory" value="daily"/> - </action> <action classname="TFileRemover"> - <configuration index="0" caption="Directory" value="daily"/> + <configuration index="0" caption="Directory" value="..\..\website\daily"/> <configuration index="1" caption="Filter" value="%OldArchiveName%"/> <configuration index="2" caption="Move to recycle bin" value="no"/> </action> <action classname="TFileMover"> <configuration index="0" caption="Old file name" value="%ArchiveName%"/> - <configuration index="1" caption="New file name" value="daily\%ArchiveName%"/> + <configuration index="1" caption="New file name" value="..\..\website\daily\%ArchiveName%"/> </action> <action classname="TCommandLineCaller"> <configuration index="0" caption="Application" value="%WINSCP%"/> Modified: trunk/thirdparty/makedist/winscp-jcl-daily.txt =================================================================== --- trunk/thirdparty/makedist/winscp-jcl-daily.txt 2008-10-26 09:55:53 UTC (rev 2545) +++ trunk/thirdparty/makedist/winscp-jcl-daily.txt 2008-10-26 10:17:44 UTC (rev 2546) @@ -2,6 +2,6 @@ option confirm off option transfer binary open jcl.web.sourceforge.net -synchronize remote -delete C:\dev\jcl\thirdparty\makedist\daily /home/groups/j/jc/jcl/htdocs/daily +synchronize remote -delete C:\dev\jcl\website\daily /home/groups/j/jc/jcl/htdocs/daily close exit \ No newline at end of file Property changes on: trunk/website/daily ___________________________________________________________________ Added: svn:ignore + *.7z This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2008-10-26 10:00:17
|
Revision: 2545 http://jcl.svn.sourceforge.net/jcl/?rev=2545&view=rev Author: ahuser Date: 2008-10-26 09:55:53 +0000 (Sun, 26 Oct 2008) Log Message: ----------- Website Added Paths: ----------- trunk/website/daily/ trunk/website/daily/index.php trunk/website/daily/styles/ trunk/website/daily/styles/default.css trunk/website/daily/styles/index.php trunk/website/index.php trunk/website/itrack/ trunk/website/itrack/index.php trunk/website/poll/ trunk/website/poll/JediPoll.pdf trunk/website/test.html Added: trunk/website/daily/index.php =================================================================== --- trunk/website/daily/index.php (rev 0) +++ trunk/website/daily/index.php 2008-10-26 09:55:53 UTC (rev 2545) @@ -0,0 +1,106 @@ +<?php + +function GetDisplayFileDate($filename) +{ + if (file_exists($filename)) + return date("Y-m-d H:i:s T", filemtime($filename)); + else + return "Missing file"; +} + +function GetDisplayFileSize($filename) +{ + if (!file_exists($filename)) + return "Missing file"; + + $size = filesize($filename); + + if ($size > 1024*1024) + return round($size / (1024*1024), 2)." MB"; + else if ($size > 1024) + return round($size / 1024, 2)." KB"; + else + return $size; +} + +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta content="text/html; charset=ISO-8859-1" + http-equiv="content-type"> + <title>Daily packages</title> + <link rel="STYLESHEET" type="text/css" href="styles/default.css"> +</head> +<body> +<h1>JCL Daily packages +</h1> +<hr style="width: 100%; height: 2px;"> +<br> +Welcome to the daily packages website for the JCL.<br> +On this page, you will find archive files containing a snapshot of the +JCL done automatically every night.<br> +They contain a copy of the development repository and as such contain +all the latest bug fixes and improvements provided by the JCL +developers.<br> +<br> +The latest version is available for download below<br> +<br> +<table + style="width: 75%; text-align: left; margin-left: auto; margin-right: auto;" + cellspacing="2" cellpadding="2"> + <tbody> + <tr> + <td style="vertical-align: top; font-weight: bold;">File<br> + </td> + <td style="vertical-align: top; font-weight: bold;">Date and time<br> + </td> + <td style="vertical-align: top;"><span style="font-weight: bold;">Size</span><br> + </td> +<!-- <td style="vertical-align: top;"><span style="font-weight: bold;">Description</span><br> + </td>--> + </tr> + <?php + + $dh = opendir("./"); + $filenames = array(); + while (($filename = readdir($dh)) !== false) + { + if (!is_dir($filename) && (substr($filename, 0, 4) == "jcl-")) + { + $filenames[] = $filename; + } + } + + // sort the array before displaying it + rsort($filenames); + + foreach ($filenames as $filename) + { + $filename_full = $filename; + echo '<tr>'; + echo ' <td style="vertical-align: top;"><a href="'.$filename_full.'">'.$filename_full.'</a><br>'; + echo ' </td>'; + echo ' <td style="vertical-align: top; white-space: nowrap;">'.GetDisplayFileDate($filename_full); + echo ' </td>'; + echo ' <td style="vertical-align: top; white-space: nowrap;">'.GetDisplayFileSize($filename_full); + echo ' </td>'; +// echo ' <td style="vertical-align: top;">The complete set of files<br>'; +// echo ' </td>'; + echo '</tr>'; + } + ?> + </tbody> +</table> +<br> +The dates are presented according to the ISO standard (YYYY-MM-DD) and the hours are those of the location of the web server.<br> +<br> +Should you have any problems with those files, please do not hesitate +to contact us on our newsgroup here:<br> +<br> +<a href="news://forums.talkto.net/jedi.jcl">news://forums.talkto.net/jedi.jcl</a><br> +<br> +Thank you for considering the JCL.<br> +<br> +</body> +</html> Added: trunk/website/daily/styles/default.css =================================================================== --- trunk/website/daily/styles/default.css (rev 0) +++ trunk/website/daily/styles/default.css 2008-10-26 09:55:53 UTC (rev 2545) @@ -0,0 +1,34 @@ +body {padding: 0px 0px 0px 26px;background: #ffffff; color: #000000;font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 9pt;} +h1, h2, h3, h4 {font-family: Verdana, Arial, Helvetica, sans-serif;margin-left: -6px;margin-top: .5em;margin-bottom: .5em; } +h1 {font-size: 160%;} +h2 {font-size: 145%;} +h3 {font-size: 130%;} +h4 {font-size: 115%;} +h5 {font-size: 105%;} +hr {align:"right";color:"#000080";noshade;} +ul p, ol p, dl p {margin-left: 0em;} +p {margin-top: .6em;margin-bottom:.6em;} +dl {margin-top: 0em;} +dd {margin-bottom: 0em;margin-left: 1.9em;} +dt {margin-top: .6em; } +ul, ol {margin-top: .6em;margin-bottom: 0em;} +ol {margin-left: 1.9em; } +ul {list-style-type: disc;margin-left: 1.9em; } +li {margin-bottom: .6em;} +ul ol, ol ol {list-style-type: lower-alpha;} +pre {margin-top: .6em;margin-bottom: .6em; } +pre,code {font-family: Courier New, Courier, mono;color: #660000;} +table {background: #999999;margin-top: .6em;margin-bottom: .3em;} +th {padding: 4px 8px;background: #cccccc;text-align: left;font-size: 70%;vertical-align: bottom;height: 25px;} +td {padding: 4px 8px;background: #ffffff;vertical-align: top;font-size: 70%;height: 25px;} +blockquote {margin-left: 3.8em;margin-right: 3.8em;margin-top: .6em;margin-bottom: .6em;} +sup {text-decoration: none;font-size: smaller; } +a:link {color: #0066ff;} +a:visited {color: #0066ff;} +a:hover {color: #cc9900;} +.select {margin-bottom:-4px;border-width: 1px;border-style: solid;width: 400px;} +.input, .textarea {margin-bottom:-4px;border-width: 1px;border-style: solid;width: 400px;} +.submit {background-color: #CCCCCC;border-width: 1px;border-style: solid;} +.reset {background-color: #CCCCCC;border-width: 1px;border-style: solid;} +.button {background-color: #CCCCCC;border-width: 1px;border-style: solid;} +.InfoField {border: 2px solid #AAAAAA;padding: 4px 4px;background: #EFEFEF;} Added: trunk/website/daily/styles/index.php =================================================================== --- trunk/website/daily/styles/index.php (rev 0) +++ trunk/website/daily/styles/index.php 2008-10-26 09:55:53 UTC (rev 2545) @@ -0,0 +1,5 @@ +<?php + +Header("Location: http://jcl.sf.net/daily/"); + +?> Added: trunk/website/index.php =================================================================== --- trunk/website/index.php (rev 0) +++ trunk/website/index.php 2008-10-26 09:55:53 UTC (rev 2545) @@ -0,0 +1 @@ +<?php header("Location: http://homepages.codegear.com/jedi/jcl"); exit; ?> Added: trunk/website/itrack/index.php =================================================================== --- trunk/website/itrack/index.php (rev 0) +++ trunk/website/itrack/index.php 2008-10-26 09:55:53 UTC (rev 2545) @@ -0,0 +1 @@ +<?php header("Location: http://homepages.codegear.com/jedi/issuetracker/"); exit; ?> Added: trunk/website/poll/JediPoll.pdf =================================================================== (Binary files differ) Property changes on: trunk/website/poll/JediPoll.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/website/test.html =================================================================== --- trunk/website/test.html (rev 0) +++ trunk/website/test.html 2008-10-26 09:55:53 UTC (rev 2545) @@ -0,0 +1,16 @@ +<html> +<head> + <title>Project Jedi chat room at chat.codegear.com</title> + <script language="JavaScript" type="text/javascript" + src="http://chat.codegear.com/chatroominfo.js"> + </script> +</head> +<body> + test before script + <script language="JavaScript" type="text/javascript"> + showRoomInfo( "jedi" ); + <!-- , "Project JEDI", [false, ["Chat with the {PEOPLE} {PEOPLESTR} in the {ROOM} room.", ["{ROOM} chat room closed.", ["Start a chat in the {ROOM} chat room."]]]]); --> + </script> + test after script +</body> +</html> \ 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...> - 2008-10-26 09:53:48
|
Revision: 2544 http://jcl.svn.sourceforge.net/jcl/?rev=2544&view=rev Author: ahuser Date: 2008-10-26 09:51:06 +0000 (Sun, 26 Oct 2008) Log Message: ----------- initial create Added Paths: ----------- trunk/website/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2008-10-25 13:36:36
|
Revision: 2543 http://jcl.svn.sourceforge.net/jcl/?rev=2543&view=rev Author: ahuser Date: 2008-10-25 13:36:26 +0000 (Sat, 25 Oct 2008) Log Message: ----------- Mantis #4547: IsAdministrator raises a range check exception Modified Paths: -------------- trunk/jcl/source/windows/JclSecurity.pas Modified: trunk/jcl/source/windows/JclSecurity.pas =================================================================== --- trunk/jcl/source/windows/JclSecurity.pas 2008-10-12 09:37:28 UTC (rev 2542) +++ trunk/jcl/source/windows/JclSecurity.pas 2008-10-25 13:36:26 UTC (rev 2543) @@ -58,16 +58,13 @@ EJclSecurityError = class(EJclError); // Access Control -function CreateNullDacl(var Sa: TSecurityAttributes; - const Inheritable: Boolean): PSecurityAttributes; +function CreateNullDacl(var Sa: TSecurityAttributes; const Inheritable: Boolean): PSecurityAttributes; function CreateInheritable(var Sa: TSecurityAttributes): PSecurityAttributes; // Privileges function IsAdministrator: Boolean; -function EnableProcessPrivilege(const Enable: Boolean; - const Privilege: string): Boolean; -function EnableThreadPrivilege(const Enable: Boolean; - const Privilege: string): Boolean; +function EnableProcessPrivilege(const Enable: Boolean; const Privilege: string): Boolean; +function EnableThreadPrivilege(const Enable: Boolean; const Privilege: string): Boolean; function IsPrivilegeEnabled(const Privilege: string): Boolean; function GetPrivilegeDisplayName(const PrivilegeName: string): string; @@ -116,8 +113,7 @@ //=== Access Control ========================================================= -function CreateNullDacl(var Sa: TSecurityAttributes; - const Inheritable: Boolean): PSecurityAttributes; +function CreateNullDacl(var Sa: TSecurityAttributes; const Inheritable: Boolean): PSecurityAttributes; begin if IsWinNT then begin @@ -162,7 +158,8 @@ TokenInfo: PTokenGroups; HaveToken: Boolean; I: Integer; -const SE_GROUP_USE_FOR_DENY_ONLY = $00000010; +const + SE_GROUP_USE_FOR_DENY_ONLY = $00000010; begin Result := not IsWinNT; if Result then // Win9x/ME @@ -199,9 +196,6 @@ begin {$RANGECHECKS OFF} // Groups is an array [0..0] of TSIDAndAttributes, ignore ERangeError Result := EqualSid(psidAdmin, TokenInfo^.Groups[I].Sid); - {$IFDEF RANGECHECKS_ON} - {$RANGECHECKS ON} - {$ENDIF RANGECHECKS_ON} if Result then begin //consider denied ACE with Administrator SID @@ -209,6 +203,9 @@ <> SE_GROUP_USE_FOR_DENY_ONLY; Break; end; + {$IFDEF RANGECHECKS_ON} + {$RANGECHECKS ON} + {$ENDIF RANGECHECKS_ON} end; end; finally @@ -221,8 +218,7 @@ end; end; -function EnableProcessPrivilege(const Enable: Boolean; - const Privilege: string): Boolean; +function EnableProcessPrivilege(const Enable: Boolean; const Privilege: string): Boolean; const PrivAttrs: array [Boolean] of DWORD = (0, SE_PRIVILEGE_ENABLED); var @@ -243,8 +239,7 @@ end; end; -function EnableThreadPrivilege(const Enable: Boolean; - const Privilege: string): Boolean; +function EnableThreadPrivilege(const Enable: Boolean; const Privilege: string): Boolean; const PrivAttrs: array [Boolean] of DWORD = (0, SE_PRIVILEGE_ENABLED); var This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cyc...@us...> - 2008-10-12 11:22:10
|
Revision: 2542 http://jcl.svn.sourceforge.net/jcl/?rev=2542&view=rev Author: cycocrew Date: 2008-10-12 09:37:28 +0000 (Sun, 12 Oct 2008) Log Message: ----------- Refined various Windows editions detection Modified Paths: -------------- trunk/help/SysInfo.dtx trunk/jcl/source/common/JclResources.pas trunk/jcl/source/common/JclSysInfo.pas Modified: trunk/help/SysInfo.dtx =================================================================== --- trunk/help/SysInfo.dtx 2008-10-11 19:16:39 UTC (rev 2541) +++ trunk/help/SysInfo.dtx 2008-10-12 09:37:28 UTC (rev 2542) @@ -549,21 +549,27 @@ Anonymous Windows ediion. This can happen when a new Windows edition is released after JCL or if you are running a Windows edition. @@TWindowsEdition.weWinXPHome - Windows XP Home + Windows XP Home Edition @@TWindowsEdition.weWinXPPro Windows XP Professional -@@TWindowsEdition.weWinXPN - Windows XP N -@@TWindowsEdition.weWinXPK - Windows XP K -@@TWindowsEdition.weWinXPKN - Windows XP KN +@@TWindowsEdition.weWinXPHomeN + Windows XP Home Edition N +@@TWindowsEdition.weWinXPProN + Windows XP Home Professional N +@@TWindowsEdition.weWinXPHomeK + Windows XP Home Edition K +@@TWindowsEdition.weWinXPProK + Windows XP Professional K +@@TWindowsEdition.weWinXPHomeKN + Windows XP Home Edition KN +@@TWindowsEdition.weWinXPProKN + Windows XP Professional KN @@TWindowsEdition.weWinXPStarter - Windows XP Starter + Windows XP Starter Edition @@TWindowsEdition.weWinXPMediaCenter - Windows XP Media Center + Windows XP Media Center Edition @@TWindowsEdition.weWinXPTablet - Windows XP Tablet + Windows XP Tablet PC Edition @@TWindowsEdition.weWinVistaStarter Windows Vista Starter @@TWindowsEdition.weWinVistaHomeBasic Modified: trunk/jcl/source/common/JclResources.pas =================================================================== --- trunk/jcl/source/common/JclResources.pas 2008-10-11 19:16:39 UTC (rev 2541) +++ trunk/jcl/source/common/JclResources.pas 2008-10-12 09:37:28 UTC (rev 2542) @@ -1895,14 +1895,17 @@ RsOSVersionWinVista = 'Windows Vista'; RsOSVersionWinServer2008 = 'Windows Server 2008'; - RsEditionWinXPHome = 'Home'; + RsEditionWinXPHome = 'Home Edition'; RsEditionWinXPPro = 'Professional'; - RsEditionWinXPN = 'N'; - RsEditionWinXPK = 'K'; - RsEditionWinXPKN = 'KN'; - RsEditionWinXPStarter = 'Starter'; - RsEditionWinXPMediaCenter = 'Media Center'; - RsEditionWinXPTablet = 'Tablet'; + RsEditionWinXPHomeN = 'Home Edition N'; + RsEditionWinXPProN = 'Professional N'; + RsEditionWinXPHomeK = 'Home Edition K'; + RsEditionWinXPProK = 'Professional K'; + RsEditionWinXPHomeKN = 'Home Edition KN'; + RsEditionWinXPProKN = 'Professional KN'; + RsEditionWinXPStarter = 'Starter Edition'; + RsEditionWinXPMediaCenter = 'Media Center Edition'; + RsEditionWinXPTablet = 'Tablet PC Edition'; RsEditionWinVistaStarter = 'Starter'; RsEditionWinVistaHomeBasic = 'Home Basic'; RsEditionWinVistaHomeBasicN = 'Home Basic N'; Modified: trunk/jcl/source/common/JclSysInfo.pas =================================================================== --- trunk/jcl/source/common/JclSysInfo.pas 2008-10-11 19:16:39 UTC (rev 2541) +++ trunk/jcl/source/common/JclSysInfo.pas 2008-10-12 09:37:28 UTC (rev 2542) @@ -275,9 +275,9 @@ wvWinNT31, wvWinNT35, wvWinNT351, wvWinNT4, wvWin2000, wvWinXP, wvWin2003, wvWinXP64, wvWin2003R2, wvWinVista, wvWinServer2008); TWindowsEdition = - (weUnknown, weWinXPHome, weWinXPPro, weWinXPN, weWinXPK, weWinXPKN, - weWinXPStarter, weWinXPMediaCenter, weWinXPTablet, - weWinVistaStarter, weWinVistaHomeBasic, weWinVistaHomeBasicN, + (weUnknown, weWinXPHome, weWinXPPro, weWinXPHomeN, weWinXPProN, weWinXPHomeK, + weWinXPProK, weWinXPHomeKN, weWinXPProKN, weWinXPStarter, weWinXPMediaCenter, + weWinXPTablet, weWinVistaStarter, weWinVistaHomeBasic, weWinVistaHomeBasicN, weWinVistaHomePremium, weWinVistaBusiness, weWinVistaBusinessN, weWinVistaEnterprise, weWinVistaUltimate); TNtProductType = @@ -3315,21 +3315,30 @@ if (pos('Windows XP', Edition) = 1) then begin // Windows XP Editions + if (pos('Home Edition N', Edition) > 0) then + Result := weWinXPHomeN + else + if (pos('Professional N', Edition) > 0) then + Result := weWinXPProN + else + if (pos('Home Edition K', Edition) > 0) then + Result := weWinXPHomeK + else + if (pos('Professional K', Edition) > 0) then + Result := weWinXPProK + else + if (pos('Home Edition KN', Edition) > 0) then + Result := weWinXPHomeKN + else + if (pos('Professional KN', Edition) > 0) then + Result := weWinXPProKN + else if (pos('Home', Edition) > 0) then Result := weWinXPHome else - if (pos('Pro', Edition) > 0) then + if (pos('Professional', Edition) > 0) then Result := weWinXPPro else - if (pos('N', Edition) > 0) then - Result := weWinXPN - else - if (pos('K', Edition) > 0) then - Result := weWinXPK - else - if (pos('KN', Edition) > 0) then - Result := weWinXPKN - else if (pos('Starter', Edition) > 0) then Result := weWinXPStarter else @@ -3346,21 +3355,21 @@ if (pos('Starter', Edition) > 0) then Result := weWinVistaStarter else + if (pos('Home Basic N', Edition) > 0) then + Result := weWinVistaHomeBasicN + else if (pos('Home Basic', Edition) > 0) then Result := weWinVistaHomeBasic else - if (pos('Home Basic N', Edition) > 0) then - Result := weWinVistaHomeBasicN - else if (pos('Home Premium', Edition) > 0) then Result := weWinVistaHomePremium else + if (pos('Business N', Edition) > 0) then + Result := weWinVistaBusinessN + else if (pos('Business', Edition) > 0) then Result := weWinVistaBusiness else - if (pos('Business N', Edition) > 0) then - Result := weWinVistaBusinessN - else if (pos('Enterprise', Edition) > 0) then Result := weWinVistaEnterprise else @@ -3440,7 +3449,7 @@ end; end else - if IsWinXP or IsWinVista or IsWinServer2008 then // workstation + if IsWinXP or IsWinVista then // workstation begin if GetVersionEx(OSVersionInfo) then begin @@ -3452,6 +3461,20 @@ Result := ptProfessional; end; end; + end + else + if IsWinServer2008 then // server + begin + if OSVersionInfo.wProductType in [VER_NT_SERVER,VER_NT_DOMAIN_CONTROLLER] then + begin + if (OSVersionInfo.wSuiteMask and VER_SUITE_DATACENTER) = VER_SUITE_DATACENTER then + Result := ptDatacenterServer + else + if (OSVersionInfo.wSuiteMask and VER_SUITE_ENTERPRISE) = VER_SUITE_ENTERPRISE then + Result := ptEnterprise + else + Result := ptServer; + end; end; if Result = ptUnknown then @@ -3514,12 +3537,18 @@ Result := RsEditionWinXPHome; weWinXPPro: Result := RsEditionWinXPPro; - weWinXPN: - Result := RsEditionWinXPN; - weWinXPK: - Result := RsEditionWinXPK; - weWinXPKN: - Result := RsEditionWinXPKN; + weWinXPHomeN: + Result := RsEditionWinXPHomeN; + weWinXPProN: + Result := RsEditionWinXPProN; + weWinXPHomeK: + Result := RsEditionWinXPHomeK; + weWinXPProK: + Result := RsEditionWinXPProK; + weWinXPHomeKN: + Result := RsEditionWinXPHomeKN; + weWinXPProKN: + Result := RsEditionWinXPProKN; weWinXPStarter: Result := RsEditionWinXPStarter; weWinXPMediaCenter: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |