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...> - 2009-07-30 10:08:15
|
Revision: 2892 http://jcl.svn.sourceforge.net/jcl/?rev=2892&view=rev Author: outchy Date: 2009-07-30 10:08:05 +0000 (Thu, 30 Jul 2009) Log Message: ----------- basic support for FPC 2.2.2 and Lazarus 0.9.26. A lot of compiler hints and warnings about unused parameters or unsafe pointer arithmetics are not fixed yet. Modified Paths: -------------- trunk/jcl/devtools/included_files.bat trunk/jcl/devtools/included_files.sh trunk/jcl/devtools/pgEdit.exe trunk/jcl/devtools/pgEdit.xml trunk/jcl/experts/common/JclOtaActionConfigureSheet.pas trunk/jcl/experts/common/JclOtaConfigurationForm.pas trunk/jcl/experts/common/JclOtaConsts.pas trunk/jcl/experts/common/JclOtaExceptionForm.pas trunk/jcl/experts/common/JclOtaResources.pas trunk/jcl/experts/common/JclOtaUnitVersioningSheet.pas trunk/jcl/experts/common/JclOtaUtils.pas trunk/jcl/experts/common/JclOtaWizardForm.pas trunk/jcl/experts/common/JclOtaWizardFrame.pas trunk/jcl/experts/debug/JclDebugThread.pas trunk/jcl/experts/debug/converter/JclDebugIdeConfigFrame.pas trunk/jcl/experts/debug/converter/JclDebugIdeImpl.pas trunk/jcl/experts/debug/converter/JclDebugIdeResult.pas trunk/jcl/experts/debug/simdview/JclSIMDCpuInfo.pas trunk/jcl/experts/debug/simdview/JclSIMDModifyForm.pas trunk/jcl/experts/debug/simdview/JclSIMDUtils.pas trunk/jcl/experts/debug/simdview/JclSIMDView.pas trunk/jcl/experts/debug/simdview/JclSIMDViewForm.pas trunk/jcl/experts/debug/threadnames/ThreadExpertSharedNames.pas trunk/jcl/experts/debug/threadnames/ThreadExpertUnit.pas trunk/jcl/experts/favfolders/IdeOpenDlgFavoriteUnit.pas trunk/jcl/experts/favfolders/OpenDlgFavAdapter.pas trunk/jcl/experts/projectanalyzer/ProjAnalyzerFrm.pas trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas trunk/jcl/experts/repository/JclOtaExcDlgFileFrame.pas trunk/jcl/experts/repository/JclOtaExcDlgFormFrame.pas trunk/jcl/experts/repository/JclOtaExcDlgIgnoreFrame.pas trunk/jcl/experts/repository/JclOtaExcDlgLogFrame.pas trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas trunk/jcl/experts/repository/JclOtaExcDlgThreadFrame.pas trunk/jcl/experts/repository/JclOtaExcDlgTraceFrame.pas trunk/jcl/experts/repository/JclOtaExcDlgWizard.pas trunk/jcl/experts/repository/JclOtaRepositoryReg.pas trunk/jcl/experts/repository/JclOtaRepositoryUtils.pas trunk/jcl/experts/repository/JclOtaTemplates.pas trunk/jcl/experts/stacktraceviewer/JclDebugSerialization.pas trunk/jcl/experts/stacktraceviewer/JclDebugXMLDeserializer.pas trunk/jcl/experts/stacktraceviewer/JclDebugXMLSerializer.pas trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerAPIImpl.pas trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerClasses.pas trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerConfigFrame.pas trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerExceptInfoFrame.pas trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerImpl.pas trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFormBDS.pas trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFormDelphi.pas trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFrame.pas trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerModuleFrame.pas trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerOptions.pas trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerStackCodeUtils.pas trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerStackFrame.pas trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerStackUtils.pas trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerThreadFrame.pas trunk/jcl/experts/useswizard/JCLOptionsFrame.pas trunk/jcl/experts/useswizard/JCLUsesWizard.pas trunk/jcl/experts/useswizard/JclParseUses.pas trunk/jcl/experts/useswizard/JclUsesDialog.pas trunk/jcl/experts/versioncontrol/JclVersionControlImpl.pas trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.pas trunk/jcl/packages/xml/Jcl-R.xml trunk/jcl/source/common/Jcl8087.pas trunk/jcl/source/common/JclAbstractContainers.pas trunk/jcl/source/common/JclAlgorithms.pas trunk/jcl/source/common/JclAnsiStrings.pas trunk/jcl/source/common/JclArrayLists.pas trunk/jcl/source/common/JclArraySets.pas trunk/jcl/source/common/JclBase.pas trunk/jcl/source/common/JclBinaryTrees.pas trunk/jcl/source/common/JclBorlandTools.pas trunk/jcl/source/common/JclCharsets.pas trunk/jcl/source/common/JclComplex.pas trunk/jcl/source/common/JclCompression.pas trunk/jcl/source/common/JclContainerIntf.pas trunk/jcl/source/common/JclCounter.pas trunk/jcl/source/common/JclDateTime.pas trunk/jcl/source/common/JclEDI.pas trunk/jcl/source/common/JclEDISEF.pas trunk/jcl/source/common/JclEDITranslators.pas trunk/jcl/source/common/JclEDIXML.pas trunk/jcl/source/common/JclEDI_ANSIX12.pas trunk/jcl/source/common/JclEDI_ANSIX12_Ext.pas trunk/jcl/source/common/JclEDI_UNEDIFACT.pas trunk/jcl/source/common/JclEDI_UNEDIFACT_Ext.pas trunk/jcl/source/common/JclExprEval.pas trunk/jcl/source/common/JclFileUtils.pas trunk/jcl/source/common/JclHashMaps.pas trunk/jcl/source/common/JclHashSets.pas trunk/jcl/source/common/JclIniFiles.pas trunk/jcl/source/common/JclLinkedLists.pas trunk/jcl/source/common/JclLogic.pas trunk/jcl/source/common/JclMIDI.pas trunk/jcl/source/common/JclMath.pas trunk/jcl/source/common/JclMime.pas trunk/jcl/source/common/JclPCRE.pas trunk/jcl/source/common/JclQueues.pas trunk/jcl/source/common/JclRTTI.pas trunk/jcl/source/common/JclResources.pas trunk/jcl/source/common/JclSchedule.pas trunk/jcl/source/common/JclSimpleXml.pas trunk/jcl/source/common/JclSortedMaps.pas trunk/jcl/source/common/JclStacks.pas trunk/jcl/source/common/JclStatistics.pas trunk/jcl/source/common/JclStrHashMap.pas trunk/jcl/source/common/JclStreams.pas trunk/jcl/source/common/JclStringConversions.pas trunk/jcl/source/common/JclStringLists.pas trunk/jcl/source/common/JclStrings.pas trunk/jcl/source/common/JclSynch.pas trunk/jcl/source/common/JclSysInfo.pas trunk/jcl/source/common/JclSysUtils.pas trunk/jcl/source/common/JclTrees.pas trunk/jcl/source/common/JclUnicode.pas trunk/jcl/source/common/JclUnitConv.pas trunk/jcl/source/common/JclUnitVersioning.pas trunk/jcl/source/common/JclUnitVersioningProviders.pas trunk/jcl/source/common/JclValidation.pas trunk/jcl/source/common/JclVectors.pas trunk/jcl/source/common/JclWideStrings.pas trunk/jcl/source/common/bzip2.pas trunk/jcl/source/common/pcre.pas trunk/jcl/source/common/zlibh.pas trunk/jcl/source/include/jcl.inc trunk/jcl/source/include/jcl.template.inc trunk/jcl/source/prototypes/Hardlinks.pas trunk/jcl/source/prototypes/JclAlgorithms.pas trunk/jcl/source/prototypes/JclArrayLists.pas trunk/jcl/source/prototypes/JclArraySets.pas trunk/jcl/source/prototypes/JclBinaryTrees.pas trunk/jcl/source/prototypes/JclContainerIntf.pas trunk/jcl/source/prototypes/JclHashMaps.pas trunk/jcl/source/prototypes/JclHashSets.pas trunk/jcl/source/prototypes/JclLinkedLists.pas trunk/jcl/source/prototypes/JclQueues.pas trunk/jcl/source/prototypes/JclSortedMaps.pas trunk/jcl/source/prototypes/JclStacks.pas trunk/jcl/source/prototypes/JclTrees.pas trunk/jcl/source/prototypes/JclVectors.pas trunk/jcl/source/prototypes/JclWin32.pas trunk/jcl/source/prototypes/_GraphUtils.pas trunk/jcl/source/prototypes/_Graphics.pas trunk/jcl/source/prototypes/win32api/LmAccess.int trunk/jcl/source/prototypes/win32api/Nb30.int trunk/jcl/source/prototypes/win32api/WinDef.int trunk/jcl/source/prototypes/win32api/WinNT.imp trunk/jcl/source/prototypes/win32api/WinNT.int trunk/jcl/source/prototypes/win32api/WinUser.int trunk/jcl/source/vcl/JclGraphUtils.pas trunk/jcl/source/vcl/JclGraphics.pas trunk/jcl/source/vcl/JclPrint.pas trunk/jcl/source/vcl/JclVersionControl.pas trunk/jcl/source/vcl/JclVersionCtrlCVSImpl.pas trunk/jcl/source/vcl/JclVersionCtrlSVNImpl.pas trunk/jcl/source/windows/Hardlinks.pas trunk/jcl/source/windows/JclAppInst.pas trunk/jcl/source/windows/JclCIL.pas trunk/jcl/source/windows/JclCLR.pas trunk/jcl/source/windows/JclCOM.pas trunk/jcl/source/windows/JclConsole.pas trunk/jcl/source/windows/JclDebug.pas trunk/jcl/source/windows/JclDotNet.pas trunk/jcl/source/windows/JclHookExcept.pas trunk/jcl/source/windows/JclLANMan.pas trunk/jcl/source/windows/JclLocales.pas trunk/jcl/source/windows/JclMapi.pas trunk/jcl/source/windows/JclMetadata.pas trunk/jcl/source/windows/JclMiscel.pas trunk/jcl/source/windows/JclMsdosSys.pas trunk/jcl/source/windows/JclMultimedia.pas trunk/jcl/source/windows/JclNTFS.pas trunk/jcl/source/windows/JclPeImage.pas trunk/jcl/source/windows/JclRegistry.pas trunk/jcl/source/windows/JclSecurity.pas trunk/jcl/source/windows/JclShell.pas trunk/jcl/source/windows/JclStructStorage.pas trunk/jcl/source/windows/JclSvcCtrl.pas trunk/jcl/source/windows/JclTD32.pas trunk/jcl/source/windows/JclTask.pas trunk/jcl/source/windows/JclWideFormat.pas trunk/jcl/source/windows/JclWin32.pas trunk/jcl/source/windows/JclWin32Ex.pas trunk/jcl/source/windows/JclWinMIDI.pas trunk/jcl/source/windows/MSTask.pas trunk/jcl/source/windows/mscoree_TLB.pas trunk/jcl/source/windows/mscorlib_TLB.pas trunk/jcl/source/windows/sevenzip.pas trunk/thirdparty/svn_cleaner/SvnCleaner.xml Added Paths: ----------- trunk/jcl/lib/fpc/ trunk/jcl/lib/fpc/dirinfo.txt trunk/jcl/lib/fpc/i386-win32/ trunk/jcl/lib/fpc/i386-win32/dirinfo.txt trunk/jcl/packages/fpc/ trunk/jcl/packages/fpc/Jcl.lpk trunk/jcl/packages/fpc/Jcl.pas trunk/jcl/packages/fpc/JclContainers.lpk trunk/jcl/packages/fpc/JclContainers.pas trunk/jcl/packages/fpc/template.lpk trunk/jcl/packages/fpc/template.pas trunk/jcl/source/prototypes/win32api/TlHelp32.imp trunk/jcl/source/prototypes/win32api/TlHelp32.int Removed Paths: ------------- trunk/jcl/source/Makefile.fpc trunk/jcl/source/common/JclSysInfo.fpc trunk/jcl/source/fpctest.bat trunk/jcl/source/fpctestunit.bat trunk/jcl/source/prototypes/win32api/BaseTsd.int Property Changed: ---------------- trunk/jcl/experts/common/ trunk/jcl/experts/debug/ trunk/jcl/experts/debug/converter/ trunk/jcl/experts/debug/dialog/ trunk/jcl/experts/debug/simdview/ trunk/jcl/experts/debug/threadnames/ trunk/jcl/experts/debug/tools/ trunk/jcl/experts/favfolders/ trunk/jcl/experts/projectanalyzer/ trunk/jcl/experts/repository/ trunk/jcl/experts/useswizard/ trunk/jcl/experts/versioncontrol/ trunk/jcl/experts/versioncontrol/icons/ trunk/jcl/install/ trunk/jcl/install/HeaderTest/ trunk/jcl/install/VclGui/ trunk/jcl/install/build/ trunk/jcl/install/prototypes/ trunk/jcl/packages/ trunk/jcl/source/common/ trunk/jcl/source/include/ trunk/jcl/source/prototypes/ trunk/jcl/source/prototypes/containers/ trunk/jcl/source/prototypes/supplement/ trunk/jcl/source/prototypes/win32api/ trunk/jcl/source/unix/ trunk/jcl/source/vcl/ trunk/jcl/source/windows/ Modified: trunk/jcl/devtools/included_files.bat =================================================================== --- trunk/jcl/devtools/included_files.bat 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/devtools/included_files.bat 2009-07-30 10:08:05 UTC (rev 2892) @@ -12,3 +12,4 @@ copy ..\source\include\jcl.template.inc ..\source\include\jcld11.inc copy ..\source\include\jcl.template.inc ..\source\include\jcld12.inc +copy ..\source\include\jcl.template.inc ..\source\include\jclfpc.inc Modified: trunk/jcl/devtools/included_files.sh =================================================================== --- trunk/jcl/devtools/included_files.sh 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/devtools/included_files.sh 2009-07-30 10:08:05 UTC (rev 2892) @@ -14,3 +14,4 @@ cp ../source/include/jcl.template.inc ../source/include/jcld11.inc cp ../source/include/jcl.template.inc ../source/include/jcld12.inc +cp ../source/include/jcl.template.inc ../source/include/jclfpc.inc Modified: trunk/jcl/devtools/pgEdit.exe =================================================================== (Binary files differ) Modified: trunk/jcl/devtools/pgEdit.xml =================================================================== --- trunk/jcl/devtools/pgEdit.xml 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/devtools/pgEdit.xml 2009-07-30 10:08:05 UTC (rev 2892) @@ -1,7 +1,22 @@ <?xml version="1.0" encoding="iso-8859-1"?> <Configuration> <!-- These are the values stored by jaxStore --> - <pgEdit/> + <pgEdit> + <FormVersion>0</FormVersion> + <ShowCmd>1</ShowCmd> + <Flags>0</Flags> + <PixelsPerInch>96</PixelsPerInch> + <MinMaxPos_1024x768_>-1,-1,-1,-1</MinMaxPos_1024x768_> + <MinMaxPos>-1,-1,-1,-1</MinMaxPos> + <NormPos_1024x768_>104,56,919,683</NormPos_1024x768_> + <NormPos>104,56,919,683</NormPos> + <pnlList_Width>137</pnlList_Width> + <jsgDependencies_Height>165</jsgDependencies_Height> + <pnlEdit_Width>668</pnlEdit_Width> + <jsgFiles_Height>196</jsgFiles_Height> + <odlAddFiles_InitialDir>..\..\run</odlAddFiles_InitialDir> + <cmbModel_ItemIndex>0</cmbModel_ItemIndex> + </pgEdit> <!-- The nodes below are read by the generation process. Packages are generated according to a model. The models are defined @@ -61,6 +76,7 @@ <models> <Model format="%p%n" name="JCL" prefix="Jcl" packages="..\packages" incfile="" nolibsuffixformat="%p%n%e%v0" dotnetprefix="Jedi.Jcl"> <targets> + <target name="fpc"/> <target name="c5" defines="BCB"/> <target name="c6" defines="BCB"/> <target name="d5"/> @@ -77,10 +93,10 @@ <!-- language aliases --> <alias name="Delphi" value="d5,d6,d7,d9,d10,d11,d12"/> <alias name="Bcb" value="c5,c6,d10,d11,d12"/> - <alias name="Pascal" value="d5,d6,d7,d9,d10,d11,d12"/> + <alias name="Pascal" value="fpc,d5,d6,d7,d9,d10,d11,d12"/> <!-- platform aliases --> - <alias name="Windows" value="c5,c6,d5,d6,d7,d9,d10,d11,d12"/> - <alias name="Linux" value=""/> + <alias name="Windows" value="fpc,c5,c6,d5,d6,d7,d9,d10,d11,d12"/> + <alias name="Linux" value="fpc"/> <!-- package aliases --> <alias name="allLibSuffix" value="c6,d6,d7,d8,d9,d10,cs1,d11,d12"/> <alias name="allv12up" value="d12"/> Property changes on: trunk/jcl/experts/common ___________________________________________________________________ Modified: svn:ignore - *.~* *.hpp *.dcu __history + *.~* *.hpp *.dcu __history *.bak Modified: trunk/jcl/experts/common/JclOtaActionConfigureSheet.pas =================================================================== --- trunk/jcl/experts/common/JclOtaActionConfigureSheet.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/common/JclOtaActionConfigureSheet.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -62,7 +62,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\common' + LogPath: 'JCL\experts\common'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/common/JclOtaConfigurationForm.pas =================================================================== --- trunk/jcl/experts/common/JclOtaConfigurationForm.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/common/JclOtaConfigurationForm.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -75,7 +75,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\common' + LogPath: 'JCL\experts\common'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} @@ -277,4 +279,4 @@ UnregisterUnitVersion(HInstance); {$ENDIF UNITVERSIONING} -end. \ No newline at end of file +end. Modified: trunk/jcl/experts/common/JclOtaConsts.pas =================================================================== --- trunk/jcl/experts/common/JclOtaConsts.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/common/JclOtaConsts.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -160,7 +160,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\common' + LogPath: 'JCL\experts\common'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/common/JclOtaExceptionForm.pas =================================================================== --- trunk/jcl/experts/common/JclOtaExceptionForm.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/common/JclOtaExceptionForm.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -59,7 +59,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\common' + LogPath: 'JCL\experts\common'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/common/JclOtaResources.pas =================================================================== --- trunk/jcl/experts/common/JclOtaResources.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/common/JclOtaResources.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -405,7 +405,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\common' + LogPath: 'JCL\experts\common'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/common/JclOtaUnitVersioningSheet.pas =================================================================== --- trunk/jcl/experts/common/JclOtaUnitVersioningSheet.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/common/JclOtaUnitVersioningSheet.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -56,7 +56,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\common' + LogPath: 'JCL\experts\common'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/common/JclOtaUtils.pas =================================================================== --- trunk/jcl/experts/common/JclOtaUtils.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/common/JclOtaUtils.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -240,7 +240,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\common' + LogPath: 'JCL\experts\common'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/common/JclOtaWizardForm.pas =================================================================== --- trunk/jcl/experts/common/JclOtaWizardForm.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/common/JclOtaWizardForm.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -89,7 +89,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\common' + LogPath: 'JCL\experts\common'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/common/JclOtaWizardFrame.pas =================================================================== --- trunk/jcl/experts/common/JclOtaWizardFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/common/JclOtaWizardFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -63,7 +63,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\common' + LogPath: 'JCL\experts\common'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Property changes on: trunk/jcl/experts/debug ___________________________________________________________________ Modified: svn:ignore - *.~* *.hpp *.dcu __history + *.~* *.hpp *.dcu __history *.bak Modified: trunk/jcl/experts/debug/JclDebugThread.pas =================================================================== --- trunk/jcl/experts/debug/JclDebugThread.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/debug/JclDebugThread.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -52,7 +52,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\debug' + LogPath: 'JCL\experts\debug'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Property changes on: trunk/jcl/experts/debug/converter ___________________________________________________________________ Modified: svn:ignore - *.~* *.hpp *.dcu __history + *.~* *.hpp *.dcu __history *.bak Modified: trunk/jcl/experts/debug/converter/JclDebugIdeConfigFrame.pas =================================================================== --- trunk/jcl/experts/debug/converter/JclDebugIdeConfigFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/debug/converter/JclDebugIdeConfigFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -71,7 +71,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\debug\converter' + LogPath: 'JCL\experts\debug\converter'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/debug/converter/JclDebugIdeImpl.pas =================================================================== --- trunk/jcl/experts/debug/converter/JclDebugIdeImpl.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/debug/converter/JclDebugIdeImpl.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -187,7 +187,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\debug\converter' + LogPath: 'JCL\experts\debug\converter'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/debug/converter/JclDebugIdeResult.pas =================================================================== --- trunk/jcl/experts/debug/converter/JclDebugIdeResult.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/debug/converter/JclDebugIdeResult.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -61,7 +61,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\debug\converter' + LogPath: 'JCL\experts\debug\converter'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Property changes on: trunk/jcl/experts/debug/dialog ___________________________________________________________________ Modified: svn:ignore - *.~* *.hpp *.dcu __history + *.~* *.hpp *.dcu __history *.bak Property changes on: trunk/jcl/experts/debug/simdview ___________________________________________________________________ Modified: svn:ignore - *.~* *.hpp *.dcu __history + *.~* *.hpp *.dcu __history *.bak Modified: trunk/jcl/experts/debug/simdview/JclSIMDCpuInfo.pas =================================================================== --- trunk/jcl/experts/debug/simdview/JclSIMDCpuInfo.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/debug/simdview/JclSIMDCpuInfo.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -79,7 +79,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\debug\simdview' + LogPath: 'JCL\experts\debug\simdview'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/debug/simdview/JclSIMDModifyForm.pas =================================================================== --- trunk/jcl/experts/debug/simdview/JclSIMDModifyForm.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/debug/simdview/JclSIMDModifyForm.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -123,7 +123,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\debug\simdview' + LogPath: 'JCL\experts\debug\simdview'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/debug/simdview/JclSIMDUtils.pas =================================================================== --- trunk/jcl/experts/debug/simdview/JclSIMDUtils.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/debug/simdview/JclSIMDUtils.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -241,7 +241,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\debug\simdview' + LogPath: 'JCL\experts\debug\simdview'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} @@ -250,6 +252,7 @@ uses SysUtils, Math, JclStrings, + JclSysUtils, JclWin32, JclOtaUtils; @@ -894,7 +897,7 @@ // copy the data JclContext.ExtendedContext.ExtSaveArea2 := AVXContext^ else - FillChar(JclContext.ExtendedContext.ExtSaveArea2, SizeOf(JclContext.ExtendedContext.ExtSaveArea2), 0); + ResetMemory(JclContext.ExtendedContext.ExtSaveArea2, SizeOf(JclContext.ExtendedContext.ExtSaveArea2)); end; finally FreeMem(ExtendedContextMemory); @@ -904,7 +907,7 @@ else begin Result := True; - FillChar(JclContext.ExtendedContext.ExtSaveArea2, SizeOf(JclContext.ExtendedContext.ExtSaveArea2), 0); + ResetMemory(JclContext.ExtendedContext.ExtSaveArea2, SizeOf(JclContext.ExtendedContext.ExtSaveArea2)); end; {$IFDEF COMPILER9_UP} // get XMM registers @@ -942,11 +945,11 @@ AlignedContext^.ScalarContext.ContextFlags := CONTEXT_EXTENDED_REGISTERS; Result := GetThreadContext(AThread.Handle,AlignedContext) and ((AlignedContext^.ScalarContext.ContextFlags and CONTEXT_EXTENDED_REGISTERS)<>0); - FillChar(AlignedContext.ExtendedContext.ExtSaveArea2, SizeOf(AlignedContext.ExtendedContext.ExtSaveArea2), 0); + ResetMemory(AlignedContext.ExtendedContext.ExtSaveArea2, SizeOf(AlignedContext.ExtendedContext.ExtSaveArea2)); if Result then JclContext := AlignedContext^ else - FillChar(JclContext, SizeOf(JclContext), 0); + ResetMemory(JclContext, SizeOf(JclContext)); finally FreeMem(ContextMemory); end; Modified: trunk/jcl/experts/debug/simdview/JclSIMDView.pas =================================================================== --- trunk/jcl/experts/debug/simdview/JclSIMDView.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/debug/simdview/JclSIMDView.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -132,7 +132,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\debug\simdview' + LogPath: 'JCL\experts\debug\simdview'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/debug/simdview/JclSIMDViewForm.pas =================================================================== --- trunk/jcl/experts/debug/simdview/JclSIMDViewForm.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/debug/simdview/JclSIMDViewForm.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -153,7 +153,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\debug\simdview' + LogPath: 'JCL\experts\debug\simdview'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Property changes on: trunk/jcl/experts/debug/threadnames ___________________________________________________________________ Modified: svn:ignore - *.~* *.hpp *.dcu __history + *.~* *.hpp *.dcu __history *.bak Modified: trunk/jcl/experts/debug/threadnames/ThreadExpertSharedNames.pas =================================================================== --- trunk/jcl/experts/debug/threadnames/ThreadExpertSharedNames.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/debug/threadnames/ThreadExpertSharedNames.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -70,7 +70,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\debug\threadnames' + LogPath: 'JCL\experts\debug\threadnames'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/debug/threadnames/ThreadExpertUnit.pas =================================================================== --- trunk/jcl/experts/debug/threadnames/ThreadExpertUnit.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/debug/threadnames/ThreadExpertUnit.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -101,7 +101,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\debug\threadnames' + LogPath: 'JCL\experts\debug\threadnames'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Property changes on: trunk/jcl/experts/debug/tools ___________________________________________________________________ Modified: svn:ignore - *.~* *.hpp *.dcu __history + *.~* *.hpp *.dcu __history *.bak Property changes on: trunk/jcl/experts/favfolders ___________________________________________________________________ Modified: svn:ignore - *.~* *.hpp *.dcu __history + *.~* *.hpp *.dcu __history *.bak Modified: trunk/jcl/experts/favfolders/IdeOpenDlgFavoriteUnit.pas =================================================================== --- trunk/jcl/experts/favfolders/IdeOpenDlgFavoriteUnit.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/favfolders/IdeOpenDlgFavoriteUnit.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -63,7 +63,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\favfolders' + LogPath: 'JCL\experts\favfolders'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/favfolders/OpenDlgFavAdapter.pas =================================================================== --- trunk/jcl/experts/favfolders/OpenDlgFavAdapter.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/favfolders/OpenDlgFavAdapter.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -100,7 +100,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\favfolders' + LogPath: 'JCL\experts\favfolders'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Property changes on: trunk/jcl/experts/projectanalyzer ___________________________________________________________________ Modified: svn:ignore - *.~* *.hpp *.dcu __history + *.~* *.hpp *.dcu __history *.bak Modified: trunk/jcl/experts/projectanalyzer/ProjAnalyzerFrm.pas =================================================================== --- trunk/jcl/experts/projectanalyzer/ProjAnalyzerFrm.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/projectanalyzer/ProjAnalyzerFrm.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -140,7 +140,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\projectanalyser' + LogPath: 'JCL\experts\projectanalyser'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas =================================================================== --- trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -83,7 +83,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\projectanalyser' + LogPath: 'JCL\experts\projectanalyser'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Property changes on: trunk/jcl/experts/repository ___________________________________________________________________ Modified: svn:ignore - *.~* *.hpp *.dcu __history + *.~* *.hpp *.dcu __history *.bak Modified: trunk/jcl/experts/repository/JclOtaExcDlgFileFrame.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgFileFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/repository/JclOtaExcDlgFileFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -1,4 +1,4 @@ -{**************************************************************************************************} +{**************************************************************************************************} { } { Project JEDI Code Library (JCL) } { } @@ -77,7 +77,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\repository' + LogPath: 'JCL\experts\repository'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/repository/JclOtaExcDlgFormFrame.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgFormFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/repository/JclOtaExcDlgFormFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -71,7 +71,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\repository' + LogPath: 'JCL\experts\repository'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/repository/JclOtaExcDlgIgnoreFrame.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgIgnoreFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/repository/JclOtaExcDlgIgnoreFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -65,7 +65,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\repository' + LogPath: 'JCL\experts\repository'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/repository/JclOtaExcDlgLogFrame.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgLogFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/repository/JclOtaExcDlgLogFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -70,7 +70,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\repository' + LogPath: 'JCL\experts\repository'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -155,7 +155,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\repository' + LogPath: 'JCL\experts\repository'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -68,7 +68,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\repository' + LogPath: 'JCL\experts\repository'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/repository/JclOtaExcDlgThreadFrame.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgThreadFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/repository/JclOtaExcDlgThreadFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -82,7 +82,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\repository' + LogPath: 'JCL\experts\repository'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/repository/JclOtaExcDlgTraceFrame.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgTraceFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/repository/JclOtaExcDlgTraceFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -71,7 +71,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\repository' + LogPath: 'JCL\experts\repository'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/repository/JclOtaExcDlgWizard.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgWizard.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/repository/JclOtaExcDlgWizard.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -59,7 +59,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\repository' + LogPath: 'JCL\experts\repository'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/repository/JclOtaRepositoryReg.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaRepositoryReg.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/repository/JclOtaRepositoryReg.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -91,7 +91,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\repository' + LogPath: 'JCL\experts\repository'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/repository/JclOtaRepositoryUtils.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaRepositoryUtils.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/repository/JclOtaRepositoryUtils.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -177,7 +177,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\repository' + LogPath: 'JCL\experts\repository'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/repository/JclOtaTemplates.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaTemplates.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/repository/JclOtaTemplates.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -74,7 +74,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\repository' + LogPath: 'JCL\experts\repository'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclDebugSerialization.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclDebugSerialization.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclDebugSerialization.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -184,7 +184,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclDebugXMLDeserializer.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclDebugXMLDeserializer.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclDebugXMLDeserializer.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -51,7 +51,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclDebugXMLSerializer.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclDebugXMLSerializer.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclDebugXMLSerializer.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -51,7 +51,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerAPIImpl.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerAPIImpl.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerAPIImpl.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -88,7 +88,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerClasses.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerClasses.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerClasses.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -191,7 +191,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerConfigFrame.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerConfigFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerConfigFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -59,7 +59,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerExceptInfoFrame.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerExceptInfoFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerExceptInfoFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -61,7 +61,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerImpl.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerImpl.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerImpl.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -86,7 +86,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFormBDS.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFormBDS.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFormBDS.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -77,7 +77,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFormDelphi.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFormDelphi.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFormDelphi.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -72,7 +72,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFrame.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerMainFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -103,7 +103,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerModuleFrame.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerModuleFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerModuleFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -60,7 +60,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerOptions.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerOptions.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerOptions.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -58,7 +58,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerStackCodeUtils.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerStackCodeUtils.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerStackCodeUtils.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -55,7 +55,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerStackFrame.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerStackFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerStackFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -73,7 +73,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerStackUtils.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerStackUtils.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerStackUtils.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -75,7 +75,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerThreadFrame.pas =================================================================== --- trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerThreadFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerThreadFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -85,7 +85,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: '' + LogPath: ''; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Property changes on: trunk/jcl/experts/useswizard ___________________________________________________________________ Modified: svn:ignore - *.~* *.hpp *.dcu __history + *.~* *.hpp *.dcu __history *.bak Modified: trunk/jcl/experts/useswizard/JCLOptionsFrame.pas =================================================================== --- trunk/jcl/experts/useswizard/JCLOptionsFrame.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/useswizard/JCLOptionsFrame.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -68,7 +68,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\useswizard' + LogPath: 'JCL\experts\useswizard'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/useswizard/JCLUsesWizard.pas =================================================================== --- trunk/jcl/experts/useswizard/JCLUsesWizard.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/useswizard/JCLUsesWizard.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -115,7 +115,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\useswizard' + LogPath: 'JCL\experts\useswizard'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/useswizard/JclParseUses.pas =================================================================== --- trunk/jcl/experts/useswizard/JclParseUses.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/useswizard/JclParseUses.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -113,7 +113,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\useswizard' + LogPath: 'JCL\experts\useswizard'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/useswizard/JclUsesDialog.pas =================================================================== --- trunk/jcl/experts/useswizard/JclUsesDialog.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/useswizard/JclUsesDialog.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -62,7 +62,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\useswizard' + LogPath: 'JCL\experts\useswizard'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Property changes on: trunk/jcl/experts/versioncontrol ___________________________________________________________________ Modified: svn:ignore - *.~* *.hpp *.dcu __history + *.~* *.hpp *.dcu __history *.bak Modified: trunk/jcl/experts/versioncontrol/JclVersionControlImpl.pas =================================================================== --- trunk/jcl/experts/versioncontrol/JclVersionControlImpl.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/versioncontrol/JclVersionControlImpl.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -122,7 +122,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\versioncontrol' + LogPath: 'JCL\experts\versioncontrol'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.pas =================================================================== --- trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.pas 2009-07-30 09:57:10 UTC (rev 2891) +++ trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.pas 2009-07-30 10:08:05 UTC (rev 2892) @@ -119,7 +119,9 @@ RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; - LogPath: 'JCL\experts\versioncontrol' + LogPath: 'JCL\experts\versioncontrol'; + Extra: ''; + Data: nil ); {$ENDIF UNITVERSIONING} Property changes on: trunk/jcl/experts/versioncontrol/icons ___________________________________________________________________ Modified: svn:ignore - *.~* *.hpp *.dcu __history + *.~* *.hpp *.dcu __history *.bak Property changes on: trunk/jcl/install ___________________________________________________________________ Modified: svn:ignore - *.drc *.dcu *.~* __history *.identcache *.local *.dproj + *.drc *.dcu *.~* __history *.identcache *.local *.dproj *.bak Property changes on: trunk/jcl/install/HeaderTest ___________________________________________________________________ Modified: svn:ignore - *.obj *.~* __history + *.obj *.~* __history *.bak Property changes on: trunk/jcl/install/VclGui ___________________________________________________________________ Modified: svn:ignore - JediGUIInstall.pas JediGUIMain.pas JediGUIReadme.pas *.dcu *.~* __history + JediGUIInstall.pas JediGUIMain.pas JediGUIReadme.pas *.dcu *.~* __history *.bak Property changes on: trunk/jcl/install/build ___________________________________________________________________ Modified: svn:ignore - *.drc *.dcu *.~* __history *.identcache *.local *.dproj + *.drc *.dcu *.~* __history *.identcache *.local *.dproj *.bak Property changes on: trunk/jcl/install/prototypes ___________________________________________________________________ Modified: svn:ignore - *.~* __history + *.~* __history *.bak Property changes on: trunk/jcl/lib/fpc ___________________________________________________________________ Added: tsvn:projectlanguage + 0x0409 Added: bugtraq:url + http://issuetracker.delphi-jedi.org/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: svn:ignore + *.o *.ppu *.compiled *.a *.res *.rst Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Added: trunk/jcl/lib/fpc/dirinfo.txt =================================================================== --- trunk/jcl/lib/fpc/dirinfo.txt (rev 0) +++ trunk/jcl/lib/fpc/dirinfo.txt 2009-07-30 10:08:05 UTC (rev 2892) @@ -0,0 +1 @@ +This directory is intended as a common place for FPC compiled files. \ No newline at end of file Property changes on: trunk/jcl/lib/fpc/dirinfo.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Property changes on: trunk/jcl/lib/fpc/i386-win32 ___________________________________________________________________ Added: tsvn:projectlanguage + 0x0409 Added: bugtraq:url + http://issuetracker.delphi-jedi.org/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Added: trunk/jcl/lib/fpc/i386-win32/dirinfo.txt =================================================================== --- trunk/jcl/lib/fpc/i386-win32/dirinfo.txt (rev 0) +++ trunk/jcl/lib/fpc/i386-win32/dirinfo.txt 2009-07-30 10:08:05 UTC (rev 2892) @@ -0,0 +1 @@ +This directory is intended as a common place for FPC compiled files targetting Win32 on arch i386. \ No newline at end of file Property changes on: trunk/jcl/lib/fpc/i386-win32/dirinfo.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Property changes on: trunk/jcl/packages ___________________________________________________________________ Modified: svn:ignore - *.local *.drc __history *.~* *.identcache *.cfg + *.local *.drc __history *.~* *.identcache *.cfg *.bak Property changes on: trunk/jcl/packages/fpc ___________________________________________________________________ Added: tsvn:projectlanguage + 0x0409 Added: bugtraq:url + http://issuetracker.delphi-jedi.org/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: svn:ignore + *.bak *.~* *.o *.ppu *.exe *.or *.ico *.lpi *.lpr *.lrs *.exe *.rc *.res Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Added: trunk/jcl/packages/fpc/Jcl.lpk =================================================================== --- trunk/jcl/packages/fpc/Jcl.lpk (rev 0) +++ trunk/jcl/packages/fpc/Jcl.lpk 2009-07-30 10:08:05 UTC (rev 2892) @@ -0,0 +1,381 @@ +<?xml version="1.0"?> +<CONFIG> + <Package Version="3"> + <PathDelim Value="\"/> + <Name Value="Jcl"/> + <AddToProjectUsesSection Value="False"/> + <Author Value="Project JEDI"/> + <CompilerOptions> + <Version Value="8"/> + <PathDelim Value="\"/> + <SearchPaths> + <IncludeFiles Value="..\..\source\include\"/> + <OtherUnitFiles Value=".;..\..\source\common;..\..\source\Common;..\..\source\windows;"/> + <UnitOutputDirectory Value="..\..\lib\fpc\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <Parsing> + <Style Value="1"/> + <SyntaxOptions> + <SyntaxMode Value="Delphi"/> + <CStyleOperator Value="False"/> + </SyntaxOptions> + </Parsing> + <CodeGeneration> + <Optimizations> + <VariablesInRegisters Value="True"/> + <OptimizationLevel Value="3"/> + </Optimizations> + </CodeGeneration> + <Linking> + <Debugging> + <UseLineInfoUnit Value="False"/> + </Debugging> + </Linking> + <Other> + <CompilerPath Value="$(CompPath)"/> + </Other> + </CompilerOptions> + <Description Value="JEDI Code Library RTL package"/> + <License Value="Copyright (C) 1999, 2009 Project JEDI"/> + <Version Major="2" Minor="0" Release="0" Build="3401"/> + <Files Count="81"> + <Item1> + <Filename Value="..\..\source\common\bzip2.pas"/> + <UnitName Value="bzip2"/> + </Item1> + <Item2> + <Filename Value="..\..\source\common\Jcl8087.pas"/> + <UnitName Value="Jcl8087"/> + </Item2> + <Item3> + <Filename Value="..\..\source\common\JclAnsiStrings.pas"/> + <UnitName Value="JclAnsiStrings"/> + </Item3> + <Item4> + <Filename Value="..\..\source\common\JclBase.pas"/> + <UnitName Value="JclBase"/> + </Item4> + <Item5> + <Filename Value="..\..\source\common\JclBorlandTools.pas"/> + <UnitName Value="JclBorlandTools"/> + </Item5> + <Item6> + <Filename Value="..\..\source\common\JclCharsets.pas"/> + <UnitName Value="JclCharsets"/> + </Item6> + <Item7> + <Filename Value="..\..\source\common\JclComplex.pas"/> + <UnitName Value="JclComplex"/> + </Item7> + <Item8> + <Filename Value="..\..\source\common\JclCompression.pas"/> + <UnitName Value="JclCompression"/> + </Item8> + <Item9> + <Filename Value="..\..\source\common\JclCounter.pas"/> + <UnitName Value="JclCounter"/> + </Item9> + <Item10> + <Filename Value="..\..\source\common\JclDateTime.pas"/> + <UnitName Value="JclDateTime"/> + </Item10> + <Item11> + <Filename Value="..\..\source\common\JclEDI.pas"/> + <UnitName Value="JclEDI"/> + </Item11> + <Item12> + <Filename Value="..\..\source\common\JclEDISEF.pas"/> + <UnitName Value="JclEDISEF"/> + </Item12> + <Item13> + <Filename Value="..\..\source\common\JclEDITranslators.pas"/> + <UnitName Value="JclEDITranslators"/> + </Item13> + <Item14> + <Filename Value="..\..\source\common\JclEDIXML.pas"/> + <UnitName Value="JclEDIXML"/> + </Item14> + <Item15> + <Filename Value="..\..\source\common\JclEDI_ANSIX12.pas"/> + <UnitName Value="JclEDI_ANSIX12"/> + </Item15> + <Item16> + <Filename Value="..\..\source\common\JclEDI_ANSIX12_Ext.pas"/> + <UnitName Value="JclEDI_ANSIX12_Ext"/> + </Item16> + <Item17> + <Filename Value="..\..\source\common\JclEDI_UNEDIFACT.pas"/> + <UnitName Value="JclEDI_UNEDIFACT"/> + </Item17> + <Item18> + <Filename Value="..\..\source\common\JclEDI_UNEDIFACT_Ext.pas"/> + <UnitName Value="JclEDI_UNEDIFACT_Ext"/> + </Item18> + <Item19> + <Filename Value="..\..\source\common\JclExprEval.pas"/> + <UnitName Value="JclExprEval"/>... [truncated message content] |
From: <ou...@us...> - 2009-07-30 09:57:26
|
Revision: 2891 http://jcl.svn.sourceforge.net/jcl/?rev=2891&view=rev Author: outchy Date: 2009-07-30 09:57:10 +0000 (Thu, 30 Jul 2009) Log Message: ----------- SVN repo cleanup. Property Changed: ---------------- trunk/donations/dcl/bucket_arrays/ trunk/jcl/examples/windows/debug/mttest/ trunk/jcl/examples/windows/debug/mttest/JclDebugMTTest.dpr trunk/jcl/experts/stacktraceviewer/ trunk/jcl/experts/stacktraceviewer/APIExamples/ trunk/jcl/experts/stacktraceviewer/APIExamples/Dummy/ trunk/jcl/experts/stacktraceviewer/APIExamples/Dummy/StackTraceViewerDummyExample.dpk trunk/jcl/experts/stacktraceviewer/APIExamples/FastMM/ trunk/jcl/experts/stacktraceviewer/APIExamples/FastMM/StackTraceViewerFastMM.dpk trunk/jcl/experts/stacktraceviewer/APIExamples/HelloWorld/ trunk/jcl/experts/stacktraceviewer/APIExamples/HelloWorld/StackTraceViewerHelloWorldExample.dpk trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerIcon.res trunk/jcl/packages/d10/JclStackTraceViewerExpert.bdsproj trunk/jcl/packages/d10/JclStackTraceViewerExpert.dpk trunk/jcl/packages/d10/JclStackTraceViewerExpert.res trunk/jcl/packages/d10/JclStackTraceViewerExpertDLL.bdsproj trunk/jcl/packages/d10/JclStackTraceViewerExpertDLL.dpr trunk/jcl/packages/d10/JclStackTraceViewerExpertDLL.res trunk/jcl/packages/d11/JclStackTraceViewerExpert.dpk trunk/jcl/packages/d11/JclStackTraceViewerExpert.dproj trunk/jcl/packages/d11/JclStackTraceViewerExpert.res trunk/jcl/packages/d11/JclStackTraceViewerExpertDLL.dpr trunk/jcl/packages/d11/JclStackTraceViewerExpertDLL.dproj trunk/jcl/packages/d11/JclStackTraceViewerExpertDLL.res trunk/jcl/packages/d12/JclStackTraceViewerExpert.dpk trunk/jcl/packages/d12/JclStackTraceViewerExpert.dproj trunk/jcl/packages/d12/JclStackTraceViewerExpert.res trunk/jcl/packages/d12/JclStackTraceViewerExpertDLL.dpr trunk/jcl/packages/d12/JclStackTraceViewerExpertDLL.dproj trunk/jcl/packages/d12/JclStackTraceViewerExpertDLL.res trunk/jcl/packages/d5/JclStackTraceViewerExpertD50.dpk trunk/jcl/packages/d5/JclStackTraceViewerExpertD50.res trunk/jcl/packages/d5/JclStackTraceViewerExpertDLLD50.dpr trunk/jcl/packages/d5/JclStackTraceViewerExpertDLLD50.res trunk/jcl/packages/d6/JclStackTraceViewerExpert.dpk trunk/jcl/packages/d6/JclStackTraceViewerExpert.res trunk/jcl/packages/d6/JclStackTraceViewerExpertDLL.dpr trunk/jcl/packages/d6/JclStackTraceViewerExpertDLL.res trunk/jcl/packages/d7/JclStackTraceViewerExpert.dpk trunk/jcl/packages/d7/JclStackTraceViewerExpert.res trunk/jcl/packages/d7/JclStackTraceViewerExpertDLL.dpr trunk/jcl/packages/d7/JclStackTraceViewerExpertDLL.res trunk/jcl/packages/d9/JclStackTraceViewerExpert.bdsproj trunk/jcl/packages/d9/JclStackTraceViewerExpert.dpk trunk/jcl/packages/d9/JclStackTraceViewerExpert.res trunk/jcl/packages/d9/JclStackTraceViewerExpertDLL.bdsproj trunk/jcl/packages/d9/JclStackTraceViewerExpertDLL.dpr trunk/jcl/packages/d9/JclStackTraceViewerExpertDLL.res trunk/jcl/packages/xml/JclStackTraceViewerExpert-D.xml trunk/jcl/packages/xml/JclStackTraceViewerExpertDLL-L.xml Property changes on: trunk/donations/dcl/bucket_arrays ___________________________________________________________________ Modified: tsvn:projectlanguage - 1033 + 0x0409 Property changes on: trunk/jcl/examples/windows/debug/mttest ___________________________________________________________________ Added: tsvn:projectlanguage + 0x0409 Added: bugtraq:url + http://issuetracker.delphi-jedi.org/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: svn:ignore + *.identcache *.local *.cfg *.drc *.dcu Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Property changes on: trunk/jcl/examples/windows/debug/mttest/JclDebugMTTest.dpr ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/experts/stacktraceviewer ___________________________________________________________________ Added: tsvn:projectlanguage + 0x0409 Added: bugtraq:url + http://issuetracker.delphi-jedi.org/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: svn:ignore + *.~* *.hpp *.dcu __history *.bak Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Property changes on: trunk/jcl/experts/stacktraceviewer/APIExamples ___________________________________________________________________ Added: tsvn:projectlanguage + 0x0409 Added: bugtraq:url + http://issuetracker.delphi-jedi.org/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: svn:ignore + *.~* *.hpp *.dcu __history *.bak Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Property changes on: trunk/jcl/experts/stacktraceviewer/APIExamples/Dummy ___________________________________________________________________ Added: tsvn:projectlanguage + 0x0409 Added: bugtraq:url + http://issuetracker.delphi-jedi.org/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: svn:ignore + *.~* *.hpp *.dcu __history *.bak Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Property changes on: trunk/jcl/experts/stacktraceviewer/APIExamples/Dummy/StackTraceViewerDummyExample.dpk ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/experts/stacktraceviewer/APIExamples/FastMM ___________________________________________________________________ Added: tsvn:projectlanguage + 0x0409 Added: bugtraq:url + http://issuetracker.delphi-jedi.org/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: svn:ignore + *.~* *.hpp *.dcu __history *.bak Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Property changes on: trunk/jcl/experts/stacktraceviewer/APIExamples/FastMM/StackTraceViewerFastMM.dpk ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/experts/stacktraceviewer/APIExamples/HelloWorld ___________________________________________________________________ Added: tsvn:projectlanguage + 0x0409 Added: bugtraq:url + http://issuetracker.delphi-jedi.org/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: svn:ignore + *.~* *.hpp *.dcu __history *.bak Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Property changes on: trunk/jcl/experts/stacktraceviewer/APIExamples/HelloWorld/StackTraceViewerHelloWorldExample.dpk ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/experts/stacktraceviewer/JclStackTraceViewerIcon.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/jcl/packages/d10/JclStackTraceViewerExpert.bdsproj ___________________________________________________________________ Added: svn:mime-type + text/xml Property changes on: trunk/jcl/packages/d10/JclStackTraceViewerExpert.dpk ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/packages/d10/JclStackTraceViewerExpert.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/jcl/packages/d10/JclStackTraceViewerExpertDLL.bdsproj ___________________________________________________________________ Added: svn:mime-type + text/xml Property changes on: trunk/jcl/packages/d10/JclStackTraceViewerExpertDLL.dpr ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/packages/d10/JclStackTraceViewerExpertDLL.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/jcl/packages/d11/JclStackTraceViewerExpert.dpk ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/packages/d11/JclStackTraceViewerExpert.dproj ___________________________________________________________________ Added: svn:mime-type + text/xml Property changes on: trunk/jcl/packages/d11/JclStackTraceViewerExpert.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/jcl/packages/d11/JclStackTraceViewerExpertDLL.dpr ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/packages/d11/JclStackTraceViewerExpertDLL.dproj ___________________________________________________________________ Added: svn:mime-type + text/xml Property changes on: trunk/jcl/packages/d11/JclStackTraceViewerExpertDLL.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/jcl/packages/d12/JclStackTraceViewerExpert.dpk ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/packages/d12/JclStackTraceViewerExpert.dproj ___________________________________________________________________ Added: svn:mime-type + text/xml Property changes on: trunk/jcl/packages/d12/JclStackTraceViewerExpert.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/jcl/packages/d12/JclStackTraceViewerExpertDLL.dpr ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/packages/d12/JclStackTraceViewerExpertDLL.dproj ___________________________________________________________________ Added: svn:mime-type + text/xml Property changes on: trunk/jcl/packages/d12/JclStackTraceViewerExpertDLL.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/jcl/packages/d5/JclStackTraceViewerExpertD50.dpk ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/packages/d5/JclStackTraceViewerExpertD50.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/jcl/packages/d5/JclStackTraceViewerExpertDLLD50.dpr ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/packages/d5/JclStackTraceViewerExpertDLLD50.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/jcl/packages/d6/JclStackTraceViewerExpert.dpk ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/packages/d6/JclStackTraceViewerExpert.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/jcl/packages/d6/JclStackTraceViewerExpertDLL.dpr ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/packages/d6/JclStackTraceViewerExpertDLL.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/jcl/packages/d7/JclStackTraceViewerExpert.dpk ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/packages/d7/JclStackTraceViewerExpert.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/jcl/packages/d7/JclStackTraceViewerExpertDLL.dpr ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/packages/d7/JclStackTraceViewerExpertDLL.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/jcl/packages/d9/JclStackTraceViewerExpert.bdsproj ___________________________________________________________________ Added: svn:mime-type + text/xml Property changes on: trunk/jcl/packages/d9/JclStackTraceViewerExpert.dpk ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/packages/d9/JclStackTraceViewerExpert.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/jcl/packages/d9/JclStackTraceViewerExpertDLL.bdsproj ___________________________________________________________________ Added: svn:mime-type + text/xml Property changes on: trunk/jcl/packages/d9/JclStackTraceViewerExpertDLL.dpr ___________________________________________________________________ Added: svn:keywords + URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id Property changes on: trunk/jcl/packages/d9/JclStackTraceViewerExpertDLL.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/jcl/packages/xml/JclStackTraceViewerExpert-D.xml ___________________________________________________________________ Added: svn:mime-type + text/xml Property changes on: trunk/jcl/packages/xml/JclStackTraceViewerExpertDLL-L.xml ___________________________________________________________________ Added: svn:mime-type + text/xml This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-28 13:55:30
|
Revision: 2890 http://jcl.svn.sourceforge.net/jcl/?rev=2890&view=rev Author: outchy Date: 2009-07-28 13:55:21 +0000 (Tue, 28 Jul 2009) Log Message: ----------- Move of RegGetValueNamesAndValues from JclBorlandTools.pas to JclRegistry.pas with little changes to be consistent with the behavior of existing JclRegistry functions: the destination list is cleared first. Modified Paths: -------------- trunk/jcl/source/common/JclBorlandTools.pas trunk/jcl/source/windows/JclRegistry.pas Modified: trunk/jcl/source/common/JclBorlandTools.pas =================================================================== --- trunk/jcl/source/common/JclBorlandTools.pas 2009-07-28 13:40:55 UTC (rev 2889) +++ trunk/jcl/source/common/JclBorlandTools.pas 2009-07-28 13:55:21 UTC (rev 2890) @@ -1585,31 +1585,6 @@ Result := LoadResRec.EnglishStr; end; -function RegGetValueNamesAndValues(const RootKey: HKEY; const Key: string; const List: TStrings): Boolean; -var - I: Integer; - TempList: TStringList; - Name: string; - DataType: DWORD; -begin - TempList := TStringList.Create; - try - Result := RegKeyExists(RootKey, Key) and RegGetValueNames(RootKey, Key, TempList); - if Result then - begin - for I := 0 to TempList.Count - 1 do - begin - Name := TempList[I]; - if RegGetDataType(RootKey, Key, Name, DataType) and - ((DataType = REG_SZ) or (DataType = REG_EXPAND_SZ) or (DataType = REG_BINARY)) then - TempList[I] := Name + '=' + RegReadStringDef(RootKey, Key, Name, ''); - end; - List.AddStrings(TempList); - end; - finally - TempList.Free; - end; -end; {$ENDIF MSWINDOWS} //=== { TJclBorRADToolInstallationObject } =================================== @@ -3977,15 +3952,6 @@ end; procedure TJclBorRADToolInstallation.ReadInformation; -const - BinDir = 'bin\'; - UpdateKeyName = 'Update #'; - BDSUpdateKeyName = 'UpdatePackInstalled'; -var - KeyLen, I: Integer; - Key, GlobalKey: string; - Ed: TJclBorRADToolEdition; - function FormatVersionNumber(const Num: Integer): string; begin Result := ''; @@ -4004,14 +3970,32 @@ end; end; +const + BinDir = 'bin\'; + UpdateKeyName = 'Update #'; + BDSUpdateKeyName = 'UpdatePackInstalled'; +var + KeyLen, I: Integer; + Key, GlobalKey: string; + Ed: TJclBorRADToolEdition; + GlobalsBuffer: TStrings; begin Key := ConfigData.FileName; GlobalKey := StrEnsureSuffix('\', Key) + GlobalsKeyName; - // overriden settings first - RegGetValueNamesAndValues(HKCU, GlobalKey, Globals); - RegGetValueNamesAndValues(HKCU, Key, Globals); - RegGetValueNamesAndValues(HKLM, GlobalKey, Globals); - RegGetValueNamesAndValues(HKLM, Key, Globals); + GlobalsBuffer := TStringList.Create; + try + // overriden settings first + RegGetValueNamesAndValues(HKCU, GlobalKey, GlobalsBuffer); + Globals.AddStrings(GlobalsBuffer); + RegGetValueNamesAndValues(HKCU, Key, GlobalsBuffer); + Globals.AddStrings(GlobalsBuffer); + RegGetValueNamesAndValues(HKLM, GlobalKey, GlobalsBuffer); + Globals.AddStrings(GlobalsBuffer); + RegGetValueNamesAndValues(HKLM, Key, GlobalsBuffer); + Globals.AddStrings(GlobalsBuffer); + finally + GlobalsBuffer.Free; + end; KeyLen := Length(Key); if (KeyLen > 3) and StrIsDigit(Key[KeyLen - 2]) and (Key[KeyLen - 1] = '.') and (Key[KeyLen] = '0') then Modified: trunk/jcl/source/windows/JclRegistry.pas =================================================================== --- trunk/jcl/source/windows/JclRegistry.pas 2009-07-28 13:40:55 UTC (rev 2889) +++ trunk/jcl/source/windows/JclRegistry.pas 2009-07-28 13:55:21 UTC (rev 2890) @@ -248,6 +248,7 @@ function RegGetValueNames(const RootKey: DelphiHKEY; const Key: string; const List: TStrings): Boolean; function RegGetKeyNames(const RootKey: DelphiHKEY; const Key: string; const List: TStrings): Boolean; +function RegGetValueNamesAndValues(const RootKey: HKEY; const Key: string; const List: TStrings): Boolean; function RegHasSubKeys(const RootKey: DelphiHKEY; const Key: string): Boolean; function AllowRegKeyForEveryone(const RootKey: DelphiHKEY; Path: string): Boolean; @@ -1825,6 +1826,34 @@ end; end; +function RegGetValueNamesAndValues(const RootKey: HKEY; const Key: string; const List: TStrings): Boolean; +var + I: Integer; + TempList: TStringList; + Name: string; + DataType: DWORD; +begin + List.BeginUpdate; + TempList := TStringList.Create; + try + List.Clear; + Result := RegKeyExists(RootKey, Key) and RegGetValueNames(RootKey, Key, TempList); + if Result then + begin + for I := 0 to TempList.Count - 1 do + begin + Name := TempList[I]; + if RegGetDataType(RootKey, Key, Name, DataType) and + ((DataType = REG_SZ) or (DataType = REG_EXPAND_SZ) or (DataType = REG_BINARY)) then + List.Values[Name] := RegReadStringDef(RootKey, Key, Name, ''); + end; + end; + finally + List.EndUpdate; + TempList.Free; + end; +end; + function RegHasSubKeys(const RootKey: DelphiHKEY; const Key: string): Boolean; var RegKey: HKEY; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-28 13:41:44
|
Revision: 2889 http://jcl.svn.sourceforge.net/jcl/?rev=2889&view=rev Author: outchy Date: 2009-07-28 13:40:55 +0000 (Tue, 28 Jul 2009) Log Message: ----------- unused features. Modified Paths: -------------- trunk/jcl/source/common/JclBorlandTools.pas Modified: trunk/jcl/source/common/JclBorlandTools.pas =================================================================== --- trunk/jcl/source/common/JclBorlandTools.pas 2009-07-28 13:37:49 UTC (rev 2888) +++ trunk/jcl/source/common/JclBorlandTools.pas 2009-07-28 13:40:55 UTC (rev 2889) @@ -804,7 +804,7 @@ function CleanPackageCache(const BinaryFileName: string): Boolean; function CompileDelphiDotNetProject(const ProjectName, OutputDir: string; PEFormat: TJclBorPlatform = bp32bit; - const CLRVersion: string = ''; const ExtraOptions: string = ''): Boolean; + const ExtraOptions: string = ''): Boolean; property DualPackageInstallation: Boolean read FDualPackageInstallation write SetDualPackageInstallation; property Help2Manager: TJclHelp2Manager read FHelp2Manager; @@ -896,13 +896,8 @@ // Internal +{$IFDEF MSWINDOWS} type - TUpdatePack = record - Version: Byte; - LatestUpdatePack: Integer; - end; - - {$IFDEF MSWINDOWS} TBDSVersionInfo = record Name: string; VersionStr: string; @@ -910,7 +905,7 @@ CoreIdeVersion: string; Supported: Boolean; end; - {$ENDIF MSWINDOWS} +{$ENDIF MSWINDOWS} const {$IFDEF MSWINDOWS} @@ -4767,8 +4762,7 @@ end; function TJclBDSInstallation.CompileDelphiDotNetProject(const ProjectName, - OutputDir: string; PEFormat: TJclBorPlatform; const CLRVersion, - ExtraOptions: string): Boolean; + OutputDir: string; PEFormat: TJclBorPlatform; const ExtraOptions: string): Boolean; var DCCILOptions, PlatformOption, PdbOption: string; begin This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-28 13:38:32
|
Revision: 2888 http://jcl.svn.sourceforge.net/jcl/?rev=2888&view=rev Author: outchy Date: 2009-07-28 13:37:49 +0000 (Tue, 28 Jul 2009) Log Message: ----------- read all global settings. Modified Paths: -------------- trunk/jcl/source/common/JclBorlandTools.pas Modified: trunk/jcl/source/common/JclBorlandTools.pas =================================================================== --- trunk/jcl/source/common/JclBorlandTools.pas 2009-07-28 10:41:56 UTC (rev 2887) +++ trunk/jcl/source/common/JclBorlandTools.pas 2009-07-28 13:37:49 UTC (rev 2888) @@ -3988,7 +3988,7 @@ BDSUpdateKeyName = 'UpdatePackInstalled'; var KeyLen, I: Integer; - Key: string; + Key, GlobalKey: string; Ed: TJclBorRADToolEdition; function FormatVersionNumber(const Num: Integer): string; @@ -4011,7 +4011,12 @@ begin Key := ConfigData.FileName; - RegGetValueNamesAndValues(HKEY_LOCAL_MACHINE, Key, Globals); + GlobalKey := StrEnsureSuffix('\', Key) + GlobalsKeyName; + // overriden settings first + RegGetValueNamesAndValues(HKCU, GlobalKey, Globals); + RegGetValueNamesAndValues(HKCU, Key, Globals); + RegGetValueNamesAndValues(HKLM, GlobalKey, Globals); + RegGetValueNamesAndValues(HKLM, Key, Globals); KeyLen := Length(Key); if (KeyLen > 3) and StrIsDigit(Key[KeyLen - 2]) and (Key[KeyLen - 1] = '.') and (Key[KeyLen] = '0') then This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-28 10:42:15
|
Revision: 2887 http://jcl.svn.sourceforge.net/jcl/?rev=2887&view=rev Author: outchy Date: 2009-07-28 10:41:56 +0000 (Tue, 28 Jul 2009) Log Message: ----------- reworked TJclExceptFrame.HandlerInfo without dependency on vmtSelfPtr. Modified Paths: -------------- trunk/jcl/source/windows/JclDebug.pas Modified: trunk/jcl/source/windows/JclDebug.pas =================================================================== --- trunk/jcl/source/windows/JclDebug.pas 2009-07-28 09:58:31 UTC (rev 2886) +++ trunk/jcl/source/windows/JclDebug.pas 2009-07-28 10:41:56 UTC (rev 2887) @@ -5131,31 +5131,37 @@ function TJclExceptFrame.HandlerInfo(ExceptObj: TObject; var HandlerAt: Pointer): Boolean; var - I, Count: Integer; - VTable: Pointer; + I: Integer; + ObjVTable, VTable, ParentVTable: Pointer; begin Result := FrameKind in [efkAnyException, efkAutoException]; if not Result and (FrameKind = efkOnException) then begin - I := 0; - Count := Length(FExcTab); - VTable := Pointer(INT_PTR(ExceptObj.ClassType) + vmtSelfPtr); - while (I < Count) and not Result and (VTable <> nil) do + HandlerAt := nil; + ObjVTable := Pointer(ExceptObj.ClassType); + for I := Low(FExcTab) to High(FExcTab) do begin - Result := (FExcTab[I].VTable = nil) or - (FExcTab[I].VTable = VTable); - if not Result then + VTable := ObjVTable; + Result := FExcTab[I].VTable = nil; + while (not Result) and (VTable <> nil) do begin - Move(PAnsiChar(VTable)[vmtParent - vmtSelfPtr], VTable, 4); - if VTable = nil then + Result := (FExcTab[I].VTable = VTable) or + (PShortString(PPointer(PInteger(FExcTab[I].VTable)^ + vmtClassName)^)^ = + PShortString(PPointer(INT_PTR(VTable) + vmtClassName)^)^); + if Result then + HandlerAt := FExcTab[I].Handler + else begin - VTable := Pointer(INT_PTR(ExceptObj.ClassType) + vmtSelfPtr); - Inc(I); + ParentVTable := PPointer(INT_PTR(VTable) + vmtParent)^; + if ParentVTable = VTable then + VTable := nil + else + VTable := ParentVTable; end; end; + if Result then + Break; end; - if Result then - HandlerAt := FExcTab[I].Handler; end else if Result then This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-28 09:58:38
|
Revision: 2886 http://jcl.svn.sourceforge.net/jcl/?rev=2886&view=rev Author: outchy Date: 2009-07-28 09:58:31 +0000 (Tue, 28 Jul 2009) Log Message: ----------- Do a copy of the exception frame information to workaround further overrides. Modified Paths: -------------- trunk/jcl/source/windows/JclDebug.pas Modified: trunk/jcl/source/windows/JclDebug.pas =================================================================== --- trunk/jcl/source/windows/JclDebug.pas 2009-07-28 08:56:17 UTC (rev 2885) +++ trunk/jcl/source/windows/JclDebug.pas 2009-07-28 09:58:31 UTC (rev 2886) @@ -724,16 +724,16 @@ TJclExceptFrame = class(TObject) private - FExcFrame: PExcFrame; FFrameKind: TExceptFrameKind; + FCodeLocation: Pointer; + FExcTab: array of TExcDescEntry; protected - procedure DoDetermineFrameKind; + procedure AnalyseExceptFrame(AExcDesc: PExcDesc); public - constructor Create(AExcFrame: PExcFrame); + constructor Create(AExcDesc: PExcDesc); function Handles(ExceptObj: TObject): Boolean; function HandlerInfo(ExceptObj: TObject; var HandlerAt: Pointer): Boolean; - function CodeLocation: Pointer; - property ExcFrame: PExcFrame read FExcFrame; + property CodeLocation: Pointer read FCodeLocation; property FrameKind: TExceptFrameKind read FFrameKind; end; @@ -5037,11 +5037,11 @@ function GetJmpDest(Jmp: PJmpInstruction): Pointer; begin // TODO : 64 bit version - if Jmp.opCode = $E9 then - Result := Pointer(INT_PTR(Jmp) + Jmp.distance + 5) + if Jmp^.opCode = $E9 then + Result := Pointer(INT_PTR(Jmp) + Jmp^.distance + 5) else if Jmp.opCode = $EB then - Result := Pointer(INT_PTR(Jmp) + ShortInt(Jmp.distance) + 2) + Result := Pointer(INT_PTR(Jmp) + ShortInt(Jmp^.distance) + 2) else Result := nil; if (Result <> nil) and (PJmpTable(Result).OPCode = $25FF) then @@ -5051,44 +5051,72 @@ //=== { TJclExceptFrame } ==================================================== -constructor TJclExceptFrame.Create(AExcFrame: PExcFrame); +constructor TJclExceptFrame.Create(AExcDesc: PExcDesc); begin inherited Create; - FExcFrame := AExcFrame; - DoDetermineFrameKind; + FFrameKind := efkUnknown; + FCodeLocation := nil; + AnalyseExceptFrame(AExcDesc); end; -procedure TJclExceptFrame.DoDetermineFrameKind; +procedure TJclExceptFrame.AnalyseExceptFrame(AExcDesc: PExcDesc); var Dest: Pointer; LocInfo: TJclLocationInfo; FixedProcedureName: string; - DotPos: Integer; + DotPos, I: Integer; begin - FFrameKind := efkUnknown; - if FExcFrame <> nil then + Dest := GetJmpDest(@AExcDesc^.Jmp); + if Dest <> nil then begin - Dest := GetJmpDest(@ExcFrame.desc.Jmp); - if Dest <> nil then + // get frame kind + LocInfo := GetLocationInfo(Dest); + if CompareText(LocInfo.UnitName, 'system') = 0 then begin - LocInfo := GetLocationInfo(Dest); - if CompareText(LocInfo.UnitName, 'system') = 0 then + FixedProcedureName := LocInfo.ProcedureName; + DotPos := Pos('.', FixedProcedureName); + if DotPos > 0 then + FixedProcedureName := Copy(FixedProcedureName, DotPos + 1, Length(FixedProcedureName) - DotPos); + if CompareText(FixedProcedureName, '@HandleAnyException') = 0 then + FFrameKind := efkAnyException + else + if CompareText(FixedProcedureName, '@HandleOnException') = 0 then + FFrameKind := efkOnException + else + if CompareText(FixedProcedureName, '@HandleAutoException') = 0 then + FFrameKind := efkAutoException + else + if CompareText(FixedProcedureName, '@HandleFinally') = 0 then + FFrameKind := efkFinally; + end; + + // get location + if FFrameKind <> efkUnknown then + begin + FCodeLocation := GetJmpDest(PJmpInstruction(DWORD(@AExcDesc^.Instructions))); + if FCodeLocation = nil then + FCodeLocation := @AExcDesc^.Instructions; + end + else + begin + FCodeLocation := GetJmpDest(PJmpInstruction(DWORD(AExcDesc))); + if FCodeLocation = nil then + FCodeLocation := AExcDesc; + end; + + // get on handlers + if FFrameKind = efkOnException then + begin + SetLength(FExcTab, AExcDesc^.Cnt); + for I := 0 to AExcDesc^.Cnt - 1 do begin - FixedProcedureName := LocInfo.ProcedureName; - DotPos := Pos('.', FixedProcedureName); - if DotPos > 0 then - FixedProcedureName := Copy(FixedProcedureName, DotPos + 1, Length(FixedProcedureName) - DotPos); - if CompareText(FixedProcedureName, '@HandleAnyException') = 0 then - FFrameKind := efkAnyException + if AExcDesc^.ExcTab[I].VTable = nil then + begin + SetLength(FExcTab, I); + Break; + end else - if CompareText(FixedProcedureName, '@HandleOnException') = 0 then - FFrameKind := efkOnException - else - if CompareText(FixedProcedureName, '@HandleAutoException') = 0 then - FFrameKind := efkAutoException - else - if CompareText(FixedProcedureName, '@HandleFinally') = 0 then - FFrameKind := efkFinally; + FExcTab[I] := AExcDesc^.ExcTab[I]; end; end; end; @@ -5103,18 +5131,19 @@ function TJclExceptFrame.HandlerInfo(ExceptObj: TObject; var HandlerAt: Pointer): Boolean; var - I: Integer; + I, Count: Integer; VTable: Pointer; begin Result := FrameKind in [efkAnyException, efkAutoException]; if not Result and (FrameKind = efkOnException) then begin I := 0; + Count := Length(FExcTab); VTable := Pointer(INT_PTR(ExceptObj.ClassType) + vmtSelfPtr); - while (I < ExcFrame.Desc.Cnt) and not Result and (VTable <> nil) do + while (I < Count) and not Result and (VTable <> nil) do begin - Result := (ExcFrame.Desc.ExcTab[I].VTable = nil) or - (ExcFrame.Desc.ExcTab[I].VTable = VTable); + Result := (FExcTab[I].VTable = nil) or + (FExcTab[I].VTable = VTable); if not Result then begin Move(PAnsiChar(VTable)[vmtParent - vmtSelfPtr], VTable, 4); @@ -5126,35 +5155,15 @@ end; end; if Result then - HandlerAt := ExcFrame.Desc.ExcTab[I].Handler; + HandlerAt := FExcTab[I].Handler; end else if Result then - begin - HandlerAt := GetJmpDest(@ExcFrame.Desc.Instructions); - if HandlerAt = nil then - HandlerAt := @ExcFrame.Desc.Instructions; - end + HandlerAt := FCodeLocation else HandlerAt := nil; end; -function TJclExceptFrame.CodeLocation: Pointer; -begin - if FrameKind <> efkUnknown then - begin - Result := GetJmpDest(PJmpInstruction(DWORD(@ExcFrame.Desc.Instructions))); - if Result = nil then - Result := @ExcFrame.Desc.Instructions; - end - else - begin - Result := GetJmpDest(PJmpInstruction(DWORD(@ExcFrame.Desc))); - if Result = nil then - Result := @ExcFrame.Desc; - end; -end; - //=== { TJclExceptFrameList } ================================================ constructor TJclExceptFrameList.Create(AIgnoreLevels: Integer); @@ -5166,7 +5175,7 @@ function TJclExceptFrameList.AddFrame(AFrame: PExcFrame): TJclExceptFrame; begin - Result := TJclExceptFrame.Create(AFrame); + Result := TJclExceptFrame.Create(AFrame^.Desc); Add(Result); end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-28 08:56:36
|
Revision: 2885 http://jcl.svn.sourceforge.net/jcl/?rev=2885&view=rev Author: outchy Date: 2009-07-28 08:56:17 +0000 (Tue, 28 Jul 2009) Log Message: ----------- The procedure name is prefixed by the unit name in latest versions of Delphi. Modified Paths: -------------- trunk/jcl/source/windows/JclDebug.pas Modified: trunk/jcl/source/windows/JclDebug.pas =================================================================== --- trunk/jcl/source/windows/JclDebug.pas 2009-07-27 18:28:31 UTC (rev 2884) +++ trunk/jcl/source/windows/JclDebug.pas 2009-07-28 08:56:17 UTC (rev 2885) @@ -54,7 +54,7 @@ {$IFDEF MSWINDOWS} Windows, {$ENDIF MSWINDOWS} - Classes, SysUtils, Contnrs, + Classes, SysUtils, Contnrs, JclBase, JclFileUtils, JclPeImage, JclSynch, JclTD32; // Diagnostics @@ -108,13 +108,13 @@ // MAP file abstract parser type - PJclMapAddress = ^TJclMapAddress; + PJclMapAddress = ^TJclMapAddress; TJclMapAddress = packed record Segment: Word; Offset: Integer; end; - PJclMapString = PAnsiChar; + PJclMapString = PAnsiChar; TJclAbstractMapParser = class(TObject) private @@ -339,7 +339,7 @@ OffsetFromLineNumber: Integer; // Offset from Address to LineNumber symbol location SourceName: string; // Module file name DebugInfo: TJclDebugInfoSource; // Location object - BinaryFileName: string; // Name of the binary file containing the symbol + BinaryFileName: string; // Name of the binary file containing the symbol end; TJclLocationInfoExValues = set of (lievLocationInfo, lievProcedureStartLocationInfo, lievUnitVersionInfo); @@ -1635,7 +1635,7 @@ FSegmentClasses[C].GroupName := GroupName; if FModule <> 0 then - begin + begin { Fix the section addresses } SectionHeader := PeMapImgFindSectionFromModule(Pointer(FModule), MapStringToStr(SectionName)); if SectionHeader = nil then @@ -2005,12 +2005,12 @@ C := $3F; end; case I and $03 of - 0: + 0: begin Inc(P); P^ := C; end; - 1: + 1: begin P^ := P^ or (C and $03) shl 6; Inc(P); @@ -2159,7 +2159,7 @@ Inc(LastSection, NtHeaders32^.FileHeader.NumberOfSections - 1); JclDebugSection := LastSection; Inc(JclDebugSection); - + // Increase the number of sections Inc(NtHeaders32^.FileHeader.NumberOfSections); FillChar(JclDebugSection^, SizeOf(TImageSectionHeader), #0); @@ -2173,7 +2173,7 @@ StrPLCopy(PAnsiChar(@JclDebugSection^.Name), JclDbgDataResName, IMAGE_SIZEOF_SHORT_NAME); // JCLDEBUG Characteristics flags JclDebugSection^.Characteristics := IMAGE_SCN_MEM_READ or IMAGE_SCN_CNT_INITIALIZED_DATA; - + // Size of virtual data area JclDebugSection^.Misc.VirtualSize := JclDebugDataSize; VirtualAlignedSize := JclDebugDataSize; @@ -2185,10 +2185,10 @@ RoundUpToAlignment(JclDebugSection^.SizeOfRawData, NtHeaders32^.OptionalHeader.FileAlignment); // Update Initialized data size Inc(NtHeaders32^.OptionalHeader.SizeOfInitializedData, JclDebugSection^.SizeOfRawData); - + // Fill data to alignment NeedFill := INT_PTR(JclDebugSection^.SizeOfRawData) - JclDebugDataSize; - + // Note: Delphi linker seems to generate incorrect (unaligned) size of // the executable when adding TD32 debug data so the position could be // behind the size of the file then. @@ -2197,14 +2197,14 @@ X := 0; for I := 1 to NeedFill do ImageStream.WriteBuffer(X, 1); - + ImageStream.SaveToFile(ExecutableFileName); end else Result := False; except Result := False; - end; + end; finally ImageStream.Free; end; @@ -2482,7 +2482,7 @@ SecondWord := 0; CurrAddr := 0; C := 0; - Ln := 0; + Ln := 0; P := MakePtr(PJclDbgHeader(FStream.Memory)^.Symbols); while ReadValue(P, Value) do begin @@ -3152,7 +3152,7 @@ Result := TempItem; Break; end; - end; + end; if Result = nil then begin Result := CreateDebugInfo(Module); @@ -3616,7 +3616,7 @@ class function TJclDebugInfoSymbols.CleanupDebugSymbols: Boolean; begin Result := True; - + if DebugSymbolsInitialized then Result := SymCleanupFunc(GetCurrentProcess); @@ -5035,8 +5035,6 @@ end; function GetJmpDest(Jmp: PJmpInstruction): Pointer; -type - PDWORD_PTR = ^DWORD_PTR; begin // TODO : 64 bit version if Jmp.opCode = $E9 then @@ -5064,6 +5062,8 @@ var Dest: Pointer; LocInfo: TJclLocationInfo; + FixedProcedureName: string; + DotPos: Integer; begin FFrameKind := efkUnknown; if FExcFrame <> nil then @@ -5074,16 +5074,20 @@ LocInfo := GetLocationInfo(Dest); if CompareText(LocInfo.UnitName, 'system') = 0 then begin - if CompareText(LocInfo.ProcedureName, '@HandleAnyException') = 0 then + FixedProcedureName := LocInfo.ProcedureName; + DotPos := Pos('.', FixedProcedureName); + if DotPos > 0 then + FixedProcedureName := Copy(FixedProcedureName, DotPos + 1, Length(FixedProcedureName) - DotPos); + if CompareText(FixedProcedureName, '@HandleAnyException') = 0 then FFrameKind := efkAnyException else - if CompareText(LocInfo.ProcedureName, '@HandleOnException') = 0 then + if CompareText(FixedProcedureName, '@HandleOnException') = 0 then FFrameKind := efkOnException else - if CompareText(LocInfo.ProcedureName, '@HandleAutoException') = 0 then + if CompareText(FixedProcedureName, '@HandleAutoException') = 0 then FFrameKind := efkAutoException else - if CompareText(LocInfo.ProcedureName, '@HandleFinally') = 0 then + if CompareText(FixedProcedureName, '@HandleFinally') = 0 then FFrameKind := efkFinally; end; end; @@ -5519,7 +5523,7 @@ function TJclDebugThreadList.AddStackListToLocationInfoList(ThreadID: DWORD; AList: TJclLocationInfoList): Boolean; var I: Integer; - List: TJclStackInfoList; + List: TJclStackInfoList; begin Result := False; FReadLock.Enter; @@ -6165,7 +6169,7 @@ if IsWinNT then Result := GetHandleInformation(Handle, Flags) else - Result := False; + Result := False; if not Result then begin // DuplicateHandle is used as an additional check for those object types not This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-27 18:28:39
|
Revision: 2884 http://jcl.svn.sourceforge.net/jcl/?rev=2884&view=rev Author: outchy Date: 2009-07-27 18:28:31 +0000 (Mon, 27 Jul 2009) Log Message: ----------- This function is not required by the JVCL installer anymore. Modified Paths: -------------- trunk/jcl/source/windows/JclDebug.pas Modified: trunk/jcl/source/windows/JclDebug.pas =================================================================== --- trunk/jcl/source/windows/JclDebug.pas 2009-07-27 12:10:12 UTC (rev 2883) +++ trunk/jcl/source/windows/JclDebug.pas 2009-07-27 18:28:31 UTC (rev 2884) @@ -311,15 +311,6 @@ function ConvertMapFileToJdbgFile(const MapFileName: TFileName; var LinkerBugUnit: string; var LineNumberErrors, MapFileSize, JdbgFileSize: Integer): Boolean; overload; -// do not change this function, it is used by the JVCL installer using dynamic -// linking (to avoid dependencies in the installer), the signature and name are -// sensible -// AnsiString and String types cannot be used because they are managed in -// memory, the memory manager of the JVCL installer is different of the memory -// manager used by the JCL package; only pointers and direct values are acceptable -function InsertDebugDataIntoExecutableFile(ExecutableFileName, MapFileName: PChar; - var MapFileSize, JclDebugDataSize: Integer): Boolean; overload; - function InsertDebugDataIntoExecutableFile(const ExecutableFileName, MapFileName: TFileName; var LinkerBugUnit: string; var MapFileSize, JclDebugDataSize: Integer): Boolean; overload; @@ -2076,19 +2067,6 @@ end; end; -// do not change this function, it is used by the JVCL installer using dynamic -// linking (to avoid dependencies in the installer), the signature and name are -// sensible -function InsertDebugDataIntoExecutableFile(ExecutableFileName, MapFileName: PChar; - var MapFileSize, JclDebugDataSize: Integer): Boolean; -var - LinkerBugUnit: string; -begin - LinkerBugUnit := ''; - Result := InsertDebugDataIntoExecutableFile(ExecutableFileName, MapFileName, - LinkerBugUnit, MapFileSize, JclDebugDataSize); -end; - function InsertDebugDataIntoExecutableFile(const ExecutableFileName, MapFileName: TFileName; var LinkerBugUnit: string; var MapFileSize, JclDebugDataSize: Integer): Boolean; var This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-27 12:10:27
|
Revision: 2883 http://jcl.svn.sourceforge.net/jcl/?rev=2883&view=rev Author: outchy Date: 2009-07-27 12:10:12 +0000 (Mon, 27 Jul 2009) Log Message: ----------- this file is not included in JclWin32.pas. Removed Paths: ------------- trunk/jcl/source/prototypes/win32api/NTDef.int Deleted: trunk/jcl/source/prototypes/win32api/NTDef.int =================================================================== --- trunk/jcl/source/prototypes/win32api/NTDef.int 2009-07-24 12:51:15 UTC (rev 2882) +++ trunk/jcl/source/prototypes/win32api/NTDef.int 2009-07-27 12:10:12 UTC (rev 2883) @@ -1,27 +0,0 @@ -// ntdef.h - -type - -//typedef double DOUBLE; - - PQuad = ^TQuad; - _QUAD = record // QUAD is for those times we want - DoNotUseThisField: Double; // an 8 byte aligned 8 byte long structure - end; // which is NOT really a floating point - {$EXTERNALSYM _QUAD} // number. Use DOUBLE if you want an FP number. - QUAD = _QUAD; - {$EXTERNALSYM QUAD} - TQuad = _QUAD; - -// -// Unsigned Basics -// - - UCHAR = {$IFDEF USE_DELPHI_TYPES}Windows.UCHAR{$ELSE}AnsiChar{$ENDIF}; - {$EXTERNALSYM UCHAR} - USHORT = Word; - {$EXTERNALSYM USHORT} - ULONG = {$IFDEF USE_DELPHI_TYPES}Windows.ULONG{$ELSE}Longword{$ENDIF}; - {$EXTERNALSYM ULONG} - UQUAD = QUAD; - {$EXTERNALSYM UQUAD} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-24 12:51:22
|
Revision: 2882 http://jcl.svn.sourceforge.net/jcl/?rev=2882&view=rev Author: outchy Date: 2009-07-24 12:51:15 +0000 (Fri, 24 Jul 2009) Log Message: ----------- reworked target aliases. Modified Paths: -------------- trunk/jcl/devtools/pgEdit.xml trunk/jcl/packages/c5/JclStackTraceViewerExpertC50.bpk trunk/jcl/packages/c5/JclStackTraceViewerExpertC50.cpp trunk/jcl/packages/c5/JclStackTraceViewerExpertC50.dpk trunk/jcl/packages/c5/JclStackTraceViewerExpertDLLC50.bpf trunk/jcl/packages/c5/JclStackTraceViewerExpertDLLC50.bpr trunk/jcl/packages/c5/JclStackTraceViewerExpertDLLC50.cpp trunk/jcl/packages/c5/JclVclC50.bpk trunk/jcl/packages/c5/JclVclC50.cpp trunk/jcl/packages/c5/JclVclC50.dpk trunk/jcl/packages/c6/JclStackTraceViewerExpert.bpk trunk/jcl/packages/c6/JclStackTraceViewerExpert.cpp trunk/jcl/packages/c6/JclStackTraceViewerExpert.dpk trunk/jcl/packages/c6/JclStackTraceViewerExpertDLL.bpf trunk/jcl/packages/c6/JclStackTraceViewerExpertDLL.bpr trunk/jcl/packages/c6/JclStackTraceViewerExpertDLL.cpp trunk/jcl/packages/cs1/Jcl.dpk trunk/jcl/packages/d12/JclVcl.dpk trunk/jcl/packages/d12/JclVcl.dproj trunk/jcl/packages/d5/JclVclD50.dpk trunk/jcl/packages/d8/Jcl.dpk trunk/jcl/packages/xml/Jcl-R.xml trunk/jcl/packages/xml/JclBaseExpert-D.xml trunk/jcl/packages/xml/JclContainers-R.xml trunk/jcl/packages/xml/JclDebugExpert-D.xml trunk/jcl/packages/xml/JclDebugExpertDLL-L.xml trunk/jcl/packages/xml/JclFavoriteFoldersExpert-D.xml trunk/jcl/packages/xml/JclFavoriteFoldersExpertDLL-L.xml trunk/jcl/packages/xml/JclProjectAnalysisExpert-D.xml trunk/jcl/packages/xml/JclProjectAnalysisExpertDLL-L.xml trunk/jcl/packages/xml/JclRepositoryExpert-D.xml trunk/jcl/packages/xml/JclRepositoryExpertDLL-L.xml trunk/jcl/packages/xml/JclSIMDViewExpert-D.xml trunk/jcl/packages/xml/JclSIMDViewExpertDLL-L.xml trunk/jcl/packages/xml/JclStackTraceViewerExpert-D.xml trunk/jcl/packages/xml/JclStackTraceViewerExpertDLL-L.xml trunk/jcl/packages/xml/JclThreadNameExpert-D.xml trunk/jcl/packages/xml/JclThreadNameExpertDLL-L.xml trunk/jcl/packages/xml/JclUsesExpert-D.xml trunk/jcl/packages/xml/JclUsesExpertDLL-L.xml trunk/jcl/packages/xml/JclVcl-R.xml trunk/jcl/packages/xml/JclVersionControlExpert-D.xml trunk/jcl/packages/xml/JclVersionControlExpertDLL-L.xml Modified: trunk/jcl/devtools/pgEdit.xml =================================================================== --- trunk/jcl/devtools/pgEdit.xml 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/devtools/pgEdit.xml 2009-07-24 12:51:15 UTC (rev 2882) @@ -74,21 +74,26 @@ <target name="d12" defines="BCB" IsBds="1"/> </targets> <aliases> + <!-- language aliases --> <alias name="Delphi" value="d5,d6,d7,d9,d10,d11,d12"/> <alias name="Bcb" value="c5,c6,d10,d11,d12"/> + <alias name="Pascal" value="d5,d6,d7,d9,d10,d11,d12"/> + <!-- platform aliases --> <alias name="Windows" value="c5,c6,d5,d6,d7,d9,d10,d11,d12"/> <alias name="Linux" value=""/> - <alias name="WinDev" value="c5,c6,d5,d6,d7,d8,d9,d10,cs1,d11,d12"/> - <alias name="JclDev" value="c5,c6,d5,d6,d7,d8,d9,d10,cs1,d11,d12"/> - <alias name="DelphiDev" value="d5,d6,d7,d8,d9,d10,d11,d12"/> - <alias name="WinLibSuffix" value="c6,d6,d7,d8,d9,d10,cs1,d11,d12"/> + <!-- package aliases --> <alias name="allLibSuffix" value="c6,d6,d7,d8,d9,d10,cs1,d11,d12"/> <alias name="allv12up" value="d12"/> <alias name="noLibSuffix" value="c5,d5"/> + <!-- GUI aliases --> <alias name="Clx" value="c6,d6,d7"/> <alias name="Vcl" value="c5,d5,c6,d6,d7,d9,d10,d11,d12"/> - <alias name="Bds" value="cs1,d8,d9,d10,d11,d12"/> + <!-- IDE aliases --> + <alias name="BDS" value="cs1,d8,d9,d10,d11,d12"/> + <alias name="runtimeBDS" value="d9,d10,d11,d12"/> <alias name="OldStyleIDE" value="c5,c6,d5,d6,d7"/> + <alias name="runtimeIDE" value="c5,c6,d5,d6,d7,d9,d10,d11,d12"/> + <alias name="designtimeIDE" value="c5,c6,d5,d6,d7,d8,d9,d10,cs1,d11,d12"/> </aliases> <ProjectProperties> <ProjectProperty name="VersionMajorNumber" value="2"/> Modified: trunk/jcl/packages/c5/JclStackTraceViewerExpertC50.bpk =================================================================== --- trunk/jcl/packages/c5/JclStackTraceViewerExpertC50.bpk 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/c5/JclStackTraceViewerExpertC50.bpk 2009-07-24 12:51:15 UTC (rev 2882) @@ -5,7 +5,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclStackTraceViewerExpert-D.xml) - Last generated: 08-07-2009 13:15:12 UTC + Last generated: 24-07-2009 09:49:30 UTC ***************************************************************************** --> <PROJECT> @@ -14,14 +14,35 @@ <PROJECT value="JclStackTraceViewerExpertC50.bpl"/> <OBJFILES value=" ..\..\lib\c5\JclStackTraceViewerExpertC50.obj + ..\..\lib\c5\JclStackTraceViewerImpl.obj + ..\..\lib\c5\JclStackTraceViewerExceptInfoFrame.obj + ..\..\lib\c5\JclStackTraceViewerStackFrame.obj + ..\..\lib\c5\JclStackTraceViewerThreadFrame.obj + ..\..\lib\c5\JclStackTraceViewerModuleFrame.obj ..\..\lib\c5\JclStackTraceViewerMainFormDelphi.obj + ..\..\lib\c5\JclStackTraceViewerMainFrame.obj + ..\..\lib\c5\JclStackTraceViewerConfigFrame.obj + ..\..\lib\c5\JclStackTraceViewerClasses.obj + ..\..\lib\c5\JclStackTraceViewerStackCodeUtils.obj + ..\..\lib\c5\JclStackTraceViewerOptions.obj + ..\..\lib\c5\JclStackTraceViewerAPIImpl.obj + ..\..\lib\c5\JclStackTraceViewerAPI.obj + ..\..\lib\c5\JclStackTraceViewerStackUtils.obj + ..\..\lib\c5\JclDebugSerialization.obj + ..\..\lib\c5\JclDebugXMLDeserializer.obj "/> <RESFILES value="JclStackTraceViewerExpertC50.res"/> <IDLFILES value=""/> <IDLGENFILES value=""/> <DEFFILE value=""/> <RESDEPEN value="$(RESFILES) + ..\..\experts\stacktraceviewer\JclStackTraceViewerExceptInfoFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerStackFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerThreadFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerModuleFrame.dfm ..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerMainFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerConfigFrame.dfm "/> <LIBFILES value=" "/> @@ -44,7 +65,7 @@ <SYSDEFINES value="_RTLDLL;NO_STRICT;USEPACKAGES"/> <MAINSOURCE value="JclStackTraceViewerExpertC50.cpp"/> <INCLUDEPATH value="..\..\source\include;..\..\source\windows;..\..\source\vcl;..\..\source\common;..\..\experts\common;$(BCB)\include;$(BCB)\include\vcl"/> - <LIBPATH value="..\..\experts\stacktraceviewer;..\..\lib\c5;$(BCB)\Projects\Lib;$(BCB)\lib\obj;$(BCB)\lib;$(BCB)\lib\debug"/> + <LIBPATH value="..\..\experts\stacktraceviewer;..\..\experts\stacktraceviewer;..\..\lib\c5;$(BCB)\Projects\Lib;$(BCB)\lib\obj;$(BCB)\lib;$(BCB)\lib\debug"/> <WARNINGS value="-w-par"/> <OTHERFILES value=""/> </MACROS> Modified: trunk/jcl/packages/c5/JclStackTraceViewerExpertC50.cpp =================================================================== --- trunk/jcl/packages/c5/JclStackTraceViewerExpertC50.cpp 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/c5/JclStackTraceViewerExpertC50.cpp 2009-07-24 12:51:15 UTC (rev 2882) @@ -4,14 +4,29 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclStackTraceViewerExpert-D.xml) - Last generated: 08-07-2009 13:15:13 UTC + Last generated: 24-07-2009 09:49:30 UTC ----------------------------------------------------------------------------- */ #include <vcl.h> #pragma hdrstop USERES("JclStackTraceViewerExpertC50.res"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerImpl.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerExceptInfoFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerStackFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerThreadFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerModuleFrame.pas"); USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerMainFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerConfigFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerClasses.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerStackCodeUtils.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerOptions.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerAPIImpl.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerAPI.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerStackUtils.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclDebugSerialization.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclDebugXMLDeserializer.pas"); USEPACKAGE("vcl50.bpi"); USEPACKAGE("dsnide50.bpi"); USEPACKAGE("JclC50.bpi"); Modified: trunk/jcl/packages/c5/JclStackTraceViewerExpertC50.dpk =================================================================== --- trunk/jcl/packages/c5/JclStackTraceViewerExpertC50.dpk 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/c5/JclStackTraceViewerExpertC50.dpk 2009-07-24 12:51:15 UTC (rev 2882) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclStackTraceViewerExpert-D.xml) - Last generated: 08-07-2009 13:15:13 UTC + Last generated: 24-07-2009 09:49:30 UTC ----------------------------------------------------------------------------- } @@ -45,7 +45,22 @@ ; contains - JclStackTraceViewerMainFormDelphi in '..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.pas' {frmStackView} + JclStackTraceViewerImpl in '..\..\experts\stacktraceviewer\JclStackTraceViewerImpl.pas' , + JclStackTraceViewerExceptInfoFrame in '..\..\experts\stacktraceviewer\JclStackTraceViewerExceptInfoFrame.pas' {frmException: TFrame}, + JclStackTraceViewerStackFrame in '..\..\experts\stacktraceviewer\JclStackTraceViewerStackFrame.pas' {frmStack: TFrame}, + JclStackTraceViewerThreadFrame in '..\..\experts\stacktraceviewer\JclStackTraceViewerThreadFrame.pas' {frmThread: TFrame}, + JclStackTraceViewerModuleFrame in '..\..\experts\stacktraceviewer\JclStackTraceViewerModuleFrame.pas' {frmModule: TFrame}, + JclStackTraceViewerMainFormDelphi in '..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.pas' {frmStackView}, + JclStackTraceViewerMainFrame in '..\..\experts\stacktraceviewer\JclStackTraceViewerMainFrame.pas' {frmMain: TFrame}, + JclStackTraceViewerConfigFrame in '..\..\experts\stacktraceviewer\JclStackTraceViewerConfigFrame.pas' {JclStackTraceViewerConfigFrame: TFrame}, + JclStackTraceViewerClasses in '..\..\experts\stacktraceviewer\JclStackTraceViewerClasses.pas' , + JclStackTraceViewerStackCodeUtils in '..\..\experts\stacktraceviewer\JclStackTraceViewerStackCodeUtils.pas' , + JclStackTraceViewerOptions in '..\..\experts\stacktraceviewer\JclStackTraceViewerOptions.pas' , + JclStackTraceViewerAPIImpl in '..\..\experts\stacktraceviewer\JclStackTraceViewerAPIImpl.pas' , + JclStackTraceViewerAPI in '..\..\experts\stacktraceviewer\JclStackTraceViewerAPI.pas' , + JclStackTraceViewerStackUtils in '..\..\experts\stacktraceviewer\JclStackTraceViewerStackUtils.pas' , + JclDebugSerialization in '..\..\experts\stacktraceviewer\JclDebugSerialization.pas' , + JclDebugXMLDeserializer in '..\..\experts\stacktraceviewer\JclDebugXMLDeserializer.pas' ; end. Modified: trunk/jcl/packages/c5/JclStackTraceViewerExpertDLLC50.bpf =================================================================== --- trunk/jcl/packages/c5/JclStackTraceViewerExpertDLLC50.bpf 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/c5/JclStackTraceViewerExpertDLLC50.bpf 2009-07-24 12:51:15 UTC (rev 2882) @@ -1,4 +1,19 @@ +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerImpl.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerExceptInfoFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerStackFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerThreadFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerModuleFrame.pas"); USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerMainFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerConfigFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerClasses.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerStackCodeUtils.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerOptions.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerAPIImpl.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerAPI.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerStackUtils.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclDebugSerialization.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclDebugXMLDeserializer.pas"); USEDEF("JclStackTraceViewerExpertDLLC50.def"); Project file DllEntryPoint Modified: trunk/jcl/packages/c5/JclStackTraceViewerExpertDLLC50.bpr =================================================================== --- trunk/jcl/packages/c5/JclStackTraceViewerExpertDLLC50.bpr 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/c5/JclStackTraceViewerExpertDLLC50.bpr 2009-07-24 12:51:15 UTC (rev 2882) @@ -5,7 +5,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclStackTraceViewerExpertDLL-L.xml) - Last generated: 08-07-2009 13:15:13 UTC + Last generated: 24-07-2009 09:49:30 UTC ***************************************************************************** --> <PROJECT> @@ -14,14 +14,35 @@ <PROJECT value="JclStackTraceViewerExpertDLLC50.dll"/> <OBJFILES value=" ..\..\lib\c5\JclStackTraceViewerExpertDLLC50.obj + ..\..\lib\c5\JclStackTraceViewerImpl.obj + ..\..\lib\c5\JclStackTraceViewerExceptInfoFrame.obj + ..\..\lib\c5\JclStackTraceViewerStackFrame.obj + ..\..\lib\c5\JclStackTraceViewerThreadFrame.obj + ..\..\lib\c5\JclStackTraceViewerModuleFrame.obj ..\..\lib\c5\JclStackTraceViewerMainFormDelphi.obj + ..\..\lib\c5\JclStackTraceViewerMainFrame.obj + ..\..\lib\c5\JclStackTraceViewerConfigFrame.obj + ..\..\lib\c5\JclStackTraceViewerClasses.obj + ..\..\lib\c5\JclStackTraceViewerStackCodeUtils.obj + ..\..\lib\c5\JclStackTraceViewerOptions.obj + ..\..\lib\c5\JclStackTraceViewerAPIImpl.obj + ..\..\lib\c5\JclStackTraceViewerAPI.obj + ..\..\lib\c5\JclStackTraceViewerStackUtils.obj + ..\..\lib\c5\JclDebugSerialization.obj + ..\..\lib\c5\JclDebugXMLDeserializer.obj "/> <RESFILES value="JclStackTraceViewerExpertDLLC50.res"/> <IDLFILES value=""/> <IDLGENFILES value=""/> <DEFFILE value="JclStackTraceViewerExpertDLLC50.def"/> <RESDEPEN value="$(RESFILES) + ..\..\experts\stacktraceviewer\JclStackTraceViewerExceptInfoFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerStackFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerThreadFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerModuleFrame.dfm ..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerMainFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerConfigFrame.dfm "/> <LIBFILES value=" "/> @@ -44,7 +65,7 @@ <SYSDEFINES value="_RTLDLL;NO_STRICT;USEPACKAGES"/> <MAINSOURCE value="JclStackTraceViewerExpertDLLC50.cpp"/> <INCLUDEPATH value="..\..\source\include;..\..\source\windows;..\..\source\vcl;..\..\source\common;..\..\experts\common;$(BCB)\include;$(BCB)\include\vcl"/> - <LIBPATH value="..\..\experts\stacktraceviewer;..\..\lib\c5;$(BCB)\Projects\Lib;$(BCB)\lib\obj;$(BCB)\lib;$(BCB)\lib\debug"/> + <LIBPATH value="..\..\experts\stacktraceviewer;..\..\experts\stacktraceviewer;..\..\lib\c5;$(BCB)\Projects\Lib;$(BCB)\lib\obj;$(BCB)\lib;$(BCB)\lib\debug"/> <WARNINGS value="-w-par"/> <OTHERFILES value=""/> </MACROS> Modified: trunk/jcl/packages/c5/JclStackTraceViewerExpertDLLC50.cpp =================================================================== --- trunk/jcl/packages/c5/JclStackTraceViewerExpertDLLC50.cpp 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/c5/JclStackTraceViewerExpertDLLC50.cpp 2009-07-24 12:51:15 UTC (rev 2882) @@ -4,14 +4,29 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclStackTraceViewerExpertDLL-L.xml) - Last generated: 08-07-2009 13:15:13 UTC + Last generated: 24-07-2009 09:49:30 UTC ----------------------------------------------------------------------------- */ #include <vcl.h> #pragma hdrstop USERES("JclStackTraceViewerExpertDLLC50.res"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerImpl.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerExceptInfoFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerStackFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerThreadFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerModuleFrame.pas"); USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerMainFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerConfigFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerClasses.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerStackCodeUtils.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerOptions.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerAPIImpl.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerAPI.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerStackUtils.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclDebugSerialization.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclDebugXMLDeserializer.pas"); USEPACKAGE("vcl50.bpi"); USEPACKAGE("dsnide50.bpi"); USEPACKAGE("JclC50.bpi"); Modified: trunk/jcl/packages/c5/JclVclC50.bpk =================================================================== --- trunk/jcl/packages/c5/JclVclC50.bpk 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/c5/JclVclC50.bpk 2009-07-24 12:51:15 UTC (rev 2882) @@ -5,7 +5,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclVcl-R.xml) - Last generated: 14-03-2009 14:35:13 UTC + Last generated: 24-07-2009 09:49:30 UTC ***************************************************************************** --> <PROJECT> @@ -33,9 +33,9 @@ <LIBRARIES value=""/> <SPARELIBS value=""/> <PACKAGES value=" - JclC50.bpi vcl50.bpi vcljpg50.bpi + JclC50.bpi "/> <PATHCPP value=".;"/> <PATHPAS value=".;..\..\source\vcl;"/> Modified: trunk/jcl/packages/c5/JclVclC50.cpp =================================================================== --- trunk/jcl/packages/c5/JclVclC50.cpp 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/c5/JclVclC50.cpp 2009-07-24 12:51:15 UTC (rev 2882) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclVcl-R.xml) - Last generated: 15-09-2008 22:32:02 UTC + Last generated: 24-07-2009 09:49:30 UTC ----------------------------------------------------------------------------- */ @@ -18,9 +18,9 @@ USEUNIT("..\..\source\vcl\JclVersionControl.pas"); USEUNIT("..\..\source\vcl\JclVersionCtrlCVSImpl.pas"); USEUNIT("..\..\source\vcl\JclVersionCtrlSVNImpl.pas"); -USEPACKAGE("JclC50.bpi"); USEPACKAGE("vcl50.bpi"); USEPACKAGE("vcljpg50.bpi"); +USEPACKAGE("JclC50.bpi"); //--------------------------------------------------------------------------- #pragma package(smart_init) //--------------------------------------------------------------------------- Modified: trunk/jcl/packages/c5/JclVclC50.dpk =================================================================== --- trunk/jcl/packages/c5/JclVclC50.dpk 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/c5/JclVclC50.dpk 2009-07-24 12:51:15 UTC (rev 2882) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclVcl-R.xml) - Last generated: 14-03-2009 14:35:13 UTC + Last generated: 24-07-2009 09:49:30 UTC ----------------------------------------------------------------------------- } @@ -38,9 +38,9 @@ {$DEFINE RELEASE} requires - JclC50, vcl50, - vcljpg50 + vcljpg50, + JclC50 ; contains Modified: trunk/jcl/packages/c6/JclStackTraceViewerExpert.bpk =================================================================== --- trunk/jcl/packages/c6/JclStackTraceViewerExpert.bpk 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/c6/JclStackTraceViewerExpert.bpk 2009-07-24 12:51:15 UTC (rev 2882) @@ -5,7 +5,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclStackTraceViewerExpert-D.xml) - Last generated: 08-07-2009 13:15:14 UTC + Last generated: 24-07-2009 09:49:30 UTC ***************************************************************************** --> <PROJECT> @@ -14,14 +14,35 @@ <PROJECT value="JclStackTraceViewerExpertC60.bpl"/> <OBJFILES value=" ..\..\lib\c6\JclStackTraceViewerExpert.obj + ..\..\lib\c6\JclStackTraceViewerImpl.obj + ..\..\lib\c6\JclStackTraceViewerExceptInfoFrame.obj + ..\..\lib\c6\JclStackTraceViewerStackFrame.obj + ..\..\lib\c6\JclStackTraceViewerThreadFrame.obj + ..\..\lib\c6\JclStackTraceViewerModuleFrame.obj ..\..\lib\c6\JclStackTraceViewerMainFormDelphi.obj + ..\..\lib\c6\JclStackTraceViewerMainFrame.obj + ..\..\lib\c6\JclStackTraceViewerConfigFrame.obj + ..\..\lib\c6\JclStackTraceViewerClasses.obj + ..\..\lib\c6\JclStackTraceViewerStackCodeUtils.obj + ..\..\lib\c6\JclStackTraceViewerOptions.obj + ..\..\lib\c6\JclStackTraceViewerAPIImpl.obj + ..\..\lib\c6\JclStackTraceViewerAPI.obj + ..\..\lib\c6\JclStackTraceViewerStackUtils.obj + ..\..\lib\c6\JclDebugSerialization.obj + ..\..\lib\c6\JclDebugXMLDeserializer.obj "/> <RESFILES value="JclStackTraceViewerExpert.res"/> <IDLFILES value=""/> <IDLGENFILES value=""/> <DEFFILE value=""/> <RESDEPEN value="$(RESFILES) + ..\..\experts\stacktraceviewer\JclStackTraceViewerExceptInfoFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerStackFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerThreadFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerModuleFrame.dfm ..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerMainFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerConfigFrame.dfm "/> <LIBFILES value=" "/> @@ -45,7 +66,7 @@ <SYSDEFINES value="_RTLDLL;NO_STRICT;USEPACKAGES"/> <MAINSOURCE value="JclStackTraceViewerExpert.cpp"/> <INCLUDEPATH value="..\..\source\common;..\..\source\windows;..\..\source\vcl;..\..\experts\common;$(BCB)\include;$(BCB)\include\vcl"/> - <LIBPATH value="..\..\experts\stacktraceviewer;..\..\lib\c6;..\..\lib\c6;$(BCB)\Projects\Lib;$(BCB)\lib\obj;$(BCB)\lib;$(BCB)\lib\debug"/> + <LIBPATH value="..\..\experts\stacktraceviewer;..\..\experts\stacktraceviewer;..\..\lib\c6;..\..\lib\c6;$(BCB)\Projects\Lib;$(BCB)\lib\obj;$(BCB)\lib;$(BCB)\lib\debug"/> <WARNINGS value="-w-par"/> <OTHERFILES value=""/> </MACROS> @@ -74,7 +95,22 @@ <FILE FILENAME="designide.bpi" FORMNAME="" UNITNAME="designide" CONTAINERID="BPITool" DESIGNCLASS="" LOCALCOMMAND=""/> <FILE FILENAME="Jcl.bpi" FORMNAME="" UNITNAME="Jcl" CONTAINERID="BPITool" DESIGNCLASS="" LOCALCOMMAND=""/> <FILE FILENAME="JclBaseExpert.bpi" FORMNAME="" UNITNAME="JclBaseExpert" CONTAINERID="BPITool" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerImpl.pas" FORMNAME="" UNITNAME="JclStackTraceViewerImpl" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerExceptInfoFrame.pas" FORMNAME="frmException" UNITNAME="JclStackTraceViewerExceptInfoFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerStackFrame.pas" FORMNAME="frmStack" UNITNAME="JclStackTraceViewerStackFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerThreadFrame.pas" FORMNAME="frmThread" UNITNAME="JclStackTraceViewerThreadFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerModuleFrame.pas" FORMNAME="frmModule" UNITNAME="JclStackTraceViewerModuleFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.pas" FORMNAME="frmStackView" UNITNAME="JclStackTraceViewerMainFormDelphi" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerMainFrame.pas" FORMNAME="frmMain" UNITNAME="JclStackTraceViewerMainFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerConfigFrame.pas" FORMNAME="JclStackTraceViewerConfigFrame" UNITNAME="JclStackTraceViewerConfigFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerClasses.pas" FORMNAME="" UNITNAME="JclStackTraceViewerClasses" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerStackCodeUtils.pas" FORMNAME="" UNITNAME="JclStackTraceViewerStackCodeUtils" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerOptions.pas" FORMNAME="" UNITNAME="JclStackTraceViewerOptions" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerAPIImpl.pas" FORMNAME="" UNITNAME="JclStackTraceViewerAPIImpl" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerAPI.pas" FORMNAME="" UNITNAME="JclStackTraceViewerAPI" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerStackUtils.pas" FORMNAME="" UNITNAME="JclStackTraceViewerStackUtils" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclDebugSerialization.pas" FORMNAME="" UNITNAME="JclDebugSerialization" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclDebugXMLDeserializer.pas" FORMNAME="" UNITNAME="JclDebugXMLDeserializer" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> </FILELIST> <BUILDTOOLS> </BUILDTOOLS> Modified: trunk/jcl/packages/c6/JclStackTraceViewerExpert.cpp =================================================================== --- trunk/jcl/packages/c6/JclStackTraceViewerExpert.cpp 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/c6/JclStackTraceViewerExpert.cpp 2009-07-24 12:51:15 UTC (rev 2882) @@ -4,14 +4,20 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclStackTraceViewerExpert-D.xml) - Last generated: 08-07-2009 13:15:14 UTC + Last generated: 24-07-2009 09:49:30 UTC ----------------------------------------------------------------------------- */ #include <vcl.h> #include <windows.h> #pragma hdrstop +USEFORMNS("..\..\experts\stacktraceviewer\JclStackTraceViewerExceptInfoFrame.pas", Jclstacktraceviewerexceptinfoframe, frmException); /* TFrame: File Type */ +USEFORMNS("..\..\experts\stacktraceviewer\JclStackTraceViewerStackFrame.pas", Jclstacktraceviewerstackframe, frmStack); /* TFrame: File Type */ +USEFORMNS("..\..\experts\stacktraceviewer\JclStackTraceViewerThreadFrame.pas", Jclstacktraceviewerthreadframe, frmThread); /* TFrame: File Type */ +USEFORMNS("..\..\experts\stacktraceviewer\JclStackTraceViewerModuleFrame.pas", Jclstacktraceviewermoduleframe, frmModule); /* TFrame: File Type */ USEFORMNS("..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.pas", Jclstacktraceviewermainformdelphi, frmStackView); +USEFORMNS("..\..\experts\stacktraceviewer\JclStackTraceViewerMainFrame.pas", Jclstacktraceviewermainframe, frmMain); /* TFrame: File Type */ +USEFORMNS("..\..\experts\stacktraceviewer\JclStackTraceViewerConfigFrame.pas", Jclstacktraceviewerconfigframe, JclStackTraceViewerConfigFrame); /* TFrame: File Type */ //--------------------------------------------------------------------------- #pragma package(smart_init) //--------------------------------------------------------------------------- Modified: trunk/jcl/packages/c6/JclStackTraceViewerExpert.dpk =================================================================== --- trunk/jcl/packages/c6/JclStackTraceViewerExpert.dpk 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/c6/JclStackTraceViewerExpert.dpk 2009-07-24 12:51:15 UTC (rev 2882) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclStackTraceViewerExpert-D.xml) - Last generated: 08-07-2009 13:15:14 UTC + Last generated: 24-07-2009 09:49:30 UTC ----------------------------------------------------------------------------- } @@ -46,6 +46,21 @@ JclBaseExpert ; contains - JclStackTraceViewerMainFormDelphi in '..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.pas' {frmStackView} + JclStackTraceViewerImpl in '..\..\experts\stacktraceviewer\JclStackTraceViewerImpl.pas' , + JclStackTraceViewerExceptInfoFrame in '..\..\experts\stacktraceviewer\JclStackTraceViewerExceptInfoFrame.pas' {frmException: TFrame}, + JclStackTraceViewerStackFrame in '..\..\experts\stacktraceviewer\JclStackTraceViewerStackFrame.pas' {frmStack: TFrame}, + JclStackTraceViewerThreadFrame in '..\..\experts\stacktraceviewer\JclStackTraceViewerThreadFrame.pas' {frmThread: TFrame}, + JclStackTraceViewerModuleFrame in '..\..\experts\stacktraceviewer\JclStackTraceViewerModuleFrame.pas' {frmModule: TFrame}, + JclStackTraceViewerMainFormDelphi in '..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.pas' {frmStackView}, + JclStackTraceViewerMainFrame in '..\..\experts\stacktraceviewer\JclStackTraceViewerMainFrame.pas' {frmMain: TFrame}, + JclStackTraceViewerConfigFrame in '..\..\experts\stacktraceviewer\JclStackTraceViewerConfigFrame.pas' {JclStackTraceViewerConfigFrame: TFrame}, + JclStackTraceViewerClasses in '..\..\experts\stacktraceviewer\JclStackTraceViewerClasses.pas' , + JclStackTraceViewerStackCodeUtils in '..\..\experts\stacktraceviewer\JclStackTraceViewerStackCodeUtils.pas' , + JclStackTraceViewerOptions in '..\..\experts\stacktraceviewer\JclStackTraceViewerOptions.pas' , + JclStackTraceViewerAPIImpl in '..\..\experts\stacktraceviewer\JclStackTraceViewerAPIImpl.pas' , + JclStackTraceViewerAPI in '..\..\experts\stacktraceviewer\JclStackTraceViewerAPI.pas' , + JclStackTraceViewerStackUtils in '..\..\experts\stacktraceviewer\JclStackTraceViewerStackUtils.pas' , + JclDebugSerialization in '..\..\experts\stacktraceviewer\JclDebugSerialization.pas' , + JclDebugXMLDeserializer in '..\..\experts\stacktraceviewer\JclDebugXMLDeserializer.pas' ; end. Modified: trunk/jcl/packages/c6/JclStackTraceViewerExpertDLL.bpf =================================================================== --- trunk/jcl/packages/c6/JclStackTraceViewerExpertDLL.bpf 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/c6/JclStackTraceViewerExpertDLL.bpf 2009-07-24 12:51:15 UTC (rev 2882) @@ -1,4 +1,19 @@ +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerImpl.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerExceptInfoFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerStackFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerThreadFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerModuleFrame.pas"); USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerMainFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerConfigFrame.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerClasses.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerStackCodeUtils.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerOptions.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerAPIImpl.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerAPI.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclStackTraceViewerStackUtils.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclDebugSerialization.pas"); +USEUNIT("..\..\experts\stacktraceviewer\JclDebugXMLDeserializer.pas"); USEDEF("JclStackTraceViewerExpertDLL.def"); Project file DllEntryPoint Modified: trunk/jcl/packages/c6/JclStackTraceViewerExpertDLL.bpr =================================================================== --- trunk/jcl/packages/c6/JclStackTraceViewerExpertDLL.bpr 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/c6/JclStackTraceViewerExpertDLL.bpr 2009-07-24 12:51:15 UTC (rev 2882) @@ -5,7 +5,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclStackTraceViewerExpertDLL-L.xml) - Last generated: 08-07-2009 13:15:14 UTC + Last generated: 24-07-2009 09:49:30 UTC ***************************************************************************** --> <PROJECT> @@ -14,14 +14,35 @@ <PROJECT value="JclStackTraceViewerExpertDLLC60.dll"/> <OBJFILES value=" ..\..\lib\c6\JclStackTraceViewerExpertDLL.obj + ..\..\lib\c6\JclStackTraceViewerImpl.obj + ..\..\lib\c6\JclStackTraceViewerExceptInfoFrame.obj + ..\..\lib\c6\JclStackTraceViewerStackFrame.obj + ..\..\lib\c6\JclStackTraceViewerThreadFrame.obj + ..\..\lib\c6\JclStackTraceViewerModuleFrame.obj ..\..\lib\c6\JclStackTraceViewerMainFormDelphi.obj + ..\..\lib\c6\JclStackTraceViewerMainFrame.obj + ..\..\lib\c6\JclStackTraceViewerConfigFrame.obj + ..\..\lib\c6\JclStackTraceViewerClasses.obj + ..\..\lib\c6\JclStackTraceViewerStackCodeUtils.obj + ..\..\lib\c6\JclStackTraceViewerOptions.obj + ..\..\lib\c6\JclStackTraceViewerAPIImpl.obj + ..\..\lib\c6\JclStackTraceViewerAPI.obj + ..\..\lib\c6\JclStackTraceViewerStackUtils.obj + ..\..\lib\c6\JclDebugSerialization.obj + ..\..\lib\c6\JclDebugXMLDeserializer.obj "/> <RESFILES value=""/> <IDLFILES value=""/> <IDLGENFILES value=""/> <DEFFILE value="JclStackTraceViewerExpertDLL.def"/> <RESDEPEN value="$(RESFILES) + ..\..\experts\stacktraceviewer\JclStackTraceViewerExceptInfoFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerStackFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerThreadFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerModuleFrame.dfm ..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerMainFrame.dfm + ..\..\experts\stacktraceviewer\JclStackTraceViewerConfigFrame.dfm "/> <LIBFILES value=" "/> @@ -45,7 +66,7 @@ <SYSDEFINES value="NO_STRICT;_RTLDLL;USEPACKAGES"/> <MAINSOURCE value="JclStackTraceViewerExpertDLL.cpp"/> <INCLUDEPATH value="..\..\source\common;..\..\source\windows;..\..\source\vcl;$(BCB)\include;$(BCB)\include\vcl"/> - <LIBPATH value="..\..\experts\stacktraceviewer;..\..\lib\c6;..\..\lib\c6;$(BCB)\Projects\Lib;$(BCB)\lib\obj;$(BCB)\lib;$(BCB)\lib\debug"/> + <LIBPATH value="..\..\experts\stacktraceviewer;..\..\experts\stacktraceviewer;..\..\lib\c6;..\..\lib\c6;$(BCB)\Projects\Lib;$(BCB)\lib\obj;$(BCB)\lib;$(BCB)\lib\debug"/> <WARNINGS value="-w-par"/> <OTHERFILES value=""/> </MACROS> @@ -73,7 +94,22 @@ <FILE FILENAME="designide.bpi" FORMNAME="" UNITNAME="designide" CONTAINERID="BPITool" DESIGNCLASS="" LOCALCOMMAND=""/> <FILE FILENAME="Jcl.bpi" FORMNAME="" UNITNAME="Jcl" CONTAINERID="BPITool" DESIGNCLASS="" LOCALCOMMAND=""/> <FILE FILENAME="JclBaseExpert.bpi" FORMNAME="" UNITNAME="JclBaseExpert" CONTAINERID="BPITool" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerImpl.pas" FORMNAME="" UNITNAME="JclStackTraceViewerImpl" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerExceptInfoFrame.pas" FORMNAME="frmException" UNITNAME="JclStackTraceViewerExceptInfoFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerStackFrame.pas" FORMNAME="frmStack" UNITNAME="JclStackTraceViewerStackFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerThreadFrame.pas" FORMNAME="frmThread" UNITNAME="JclStackTraceViewerThreadFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerModuleFrame.pas" FORMNAME="frmModule" UNITNAME="JclStackTraceViewerModuleFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.pas" FORMNAME="frmStackView" UNITNAME="JclStackTraceViewerMainFormDelphi" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerMainFrame.pas" FORMNAME="frmMain" UNITNAME="JclStackTraceViewerMainFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerConfigFrame.pas" FORMNAME="JclStackTraceViewerConfigFrame" UNITNAME="JclStackTraceViewerConfigFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerClasses.pas" FORMNAME="" UNITNAME="JclStackTraceViewerClasses" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerStackCodeUtils.pas" FORMNAME="" UNITNAME="JclStackTraceViewerStackCodeUtils" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerOptions.pas" FORMNAME="" UNITNAME="JclStackTraceViewerOptions" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerAPIImpl.pas" FORMNAME="" UNITNAME="JclStackTraceViewerAPIImpl" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerAPI.pas" FORMNAME="" UNITNAME="JclStackTraceViewerAPI" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclStackTraceViewerStackUtils.pas" FORMNAME="" UNITNAME="JclStackTraceViewerStackUtils" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclDebugSerialization.pas" FORMNAME="" UNITNAME="JclDebugSerialization" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\stacktraceviewer\JclDebugXMLDeserializer.pas" FORMNAME="" UNITNAME="JclDebugXMLDeserializer" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> </FILELIST> <BUILDTOOLS> </BUILDTOOLS> Modified: trunk/jcl/packages/c6/JclStackTraceViewerExpertDLL.cpp =================================================================== --- trunk/jcl/packages/c6/JclStackTraceViewerExpertDLL.cpp 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/c6/JclStackTraceViewerExpertDLL.cpp 2009-07-24 12:51:15 UTC (rev 2882) @@ -4,14 +4,20 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclStackTraceViewerExpertDLL-L.xml) - Last generated: 08-07-2009 13:15:14 UTC + Last generated: 24-07-2009 09:49:30 UTC ----------------------------------------------------------------------------- */ #include <vcl.h> #include <windows.h> #pragma hdrstop +USEFORMNS("..\..\experts\stacktraceviewer\JclStackTraceViewerExceptInfoFrame.pas", Jclstacktraceviewerexceptinfoframe, frmException); /* TFrame: File Type */ +USEFORMNS("..\..\experts\stacktraceviewer\JclStackTraceViewerStackFrame.pas", Jclstacktraceviewerstackframe, frmStack); /* TFrame: File Type */ +USEFORMNS("..\..\experts\stacktraceviewer\JclStackTraceViewerThreadFrame.pas", Jclstacktraceviewerthreadframe, frmThread); /* TFrame: File Type */ +USEFORMNS("..\..\experts\stacktraceviewer\JclStackTraceViewerModuleFrame.pas", Jclstacktraceviewermoduleframe, frmModule); /* TFrame: File Type */ USEFORMNS("..\..\experts\stacktraceviewer\JclStackTraceViewerMainFormDelphi.pas", Jclstacktraceviewermainformdelphi, frmStackView); +USEFORMNS("..\..\experts\stacktraceviewer\JclStackTraceViewerMainFrame.pas", Jclstacktraceviewermainframe, frmMain); /* TFrame: File Type */ +USEFORMNS("..\..\experts\stacktraceviewer\JclStackTraceViewerConfigFrame.pas", Jclstacktraceviewerconfigframe, JclStackTraceViewerConfigFrame); /* TFrame: File Type */ //--------------------------------------------------------------------------- #pragma package(smart_init) //--------------------------------------------------------------------------- Modified: trunk/jcl/packages/cs1/Jcl.dpk =================================================================== --- trunk/jcl/packages/cs1/Jcl.dpk 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/cs1/Jcl.dpk 2009-07-24 12:51:15 UTC (rev 2882) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (Jcl-R.xml) - Last generated: 08-06-2009 21:07:42 UTC + Last generated: 24-07-2009 09:49:30 UTC ----------------------------------------------------------------------------- } @@ -89,38 +89,7 @@ JclValidation in '..\..\source\common\JclValidation.pas' , JclWideStrings in '..\..\source\common\JclWideStrings.pas' , pcre in '..\..\source\common\pcre.pas' , - zlibh in '..\..\source\common\zlibh.pas' , - Hardlinks in '..\..\source\windows\Hardlinks.pas' , - JclAppInst in '..\..\source\windows\JclAppInst.pas' , - JclCIL in '..\..\source\windows\JclCIL.pas' , - JclCLR in '..\..\source\windows\JclCLR.pas' , - JclCOM in '..\..\source\windows\JclCOM.pas' , - JclConsole in '..\..\source\windows\JclConsole.pas' , - JclDebug in '..\..\source\windows\JclDebug.pas' , - JclHookExcept in '..\..\source\windows\JclHookExcept.pas' , - JclLANMan in '..\..\source\windows\JclLANMan.pas' , - JclLocales in '..\..\source\windows\JclLocales.pas' , - JclMapi in '..\..\source\windows\JclMapi.pas' , - JclMetadata in '..\..\source\windows\JclMetadata.pas' , - JclMiscel in '..\..\source\windows\JclMiscel.pas' , - JclMsdosSys in '..\..\source\windows\JclMsdosSys.pas' , - JclMultimedia in '..\..\source\windows\JclMultimedia.pas' , - JclNTFS in '..\..\source\windows\JclNTFS.pas' , - JclPeImage in '..\..\source\windows\JclPeImage.pas' , - JclRegistry in '..\..\source\windows\JclRegistry.pas' , - JclSecurity in '..\..\source\windows\JclSecurity.pas' , - JclShell in '..\..\source\windows\JclShell.pas' , - JclStructStorage in '..\..\source\windows\JclStructStorage.pas' , - JclSvcCtrl in '..\..\source\windows\JclSvcCtrl.pas' , - JclTask in '..\..\source\windows\JclTask.pas' , - JclTD32 in '..\..\source\windows\JclTD32.pas' , - JclWin32 in '..\..\source\windows\JclWin32.pas' , - JclWin32Ex in '..\..\source\windows\JclWin32Ex.pas' , - JclWinMIDI in '..\..\source\windows\JclWinMIDI.pas' , - MSHelpServices_TLB in '..\..\source\windows\MSHelpServices_TLB.pas' , - MSTask in '..\..\source\windows\MSTask.pas' , - sevenzip in '..\..\source\windows\sevenzip.pas' , - Snmp in '..\..\source\windows\Snmp.pas' + zlibh in '..\..\source\common\zlibh.pas' ; end. Modified: trunk/jcl/packages/d12/JclVcl.dpk =================================================================== --- trunk/jcl/packages/d12/JclVcl.dpk 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/d12/JclVcl.dpk 2009-07-24 12:51:15 UTC (rev 2882) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclVcl-R.xml) - Last generated: 14-03-2009 14:35:14 UTC + Last generated: 24-07-2009 09:49:30 UTC ----------------------------------------------------------------------------- } @@ -41,8 +41,8 @@ requires rtl, vcl, - Jcl, - vclimg + vclimg, + Jcl ; contains Modified: trunk/jcl/packages/d12/JclVcl.dproj =================================================================== --- trunk/jcl/packages/d12/JclVcl.dproj 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/d12/JclVcl.dproj 2009-07-24 12:51:15 UTC (rev 2882) @@ -27,7 +27,7 @@ <GenDll>true</GenDll> <GenPackage>true</GenPackage> <DCC_ImageBase>$48400000</DCC_ImageBase> - <DCC_UsePackage>rtl;vcl;Jcl;vclimg</DCC_UsePackage> + <DCC_UsePackage>rtl;vcl;vclimg;Jcl</DCC_UsePackage> </PropertyGroup> <PropertyGroup Condition="'$(Cfg_Release)'!=''"> <DCC_AssertionsAtRuntime>false</DCC_AssertionsAtRuntime> @@ -62,8 +62,8 @@ </DelphiCompile> <DCCReference Include="rtl.dcp" /> <DCCReference Include="vcl.dcp" /> + <DCCReference Include="vclimg.dcp" /> <DCCReference Include="Jcl.dcp" /> - <DCCReference Include="vclimg.dcp" /> <DCCReference Include="..\..\source\vcl\JclPrint.pas" /> <DCCReference Include="..\..\source\vcl\JclGraphUtils.pas" /> <DCCReference Include="..\..\source\vcl\JclGraphics.pas" /> Modified: trunk/jcl/packages/d5/JclVclD50.dpk =================================================================== --- trunk/jcl/packages/d5/JclVclD50.dpk 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/d5/JclVclD50.dpk 2009-07-24 12:51:15 UTC (rev 2882) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclVcl-R.xml) - Last generated: 14-03-2009 14:35:13 UTC + Last generated: 24-07-2009 09:49:30 UTC ----------------------------------------------------------------------------- } @@ -37,9 +37,9 @@ {$DEFINE RELEASE} requires - JclD50, vcl50, - vcljpg50 + vcljpg50, + JclD50 ; contains Modified: trunk/jcl/packages/d8/Jcl.dpk =================================================================== --- trunk/jcl/packages/d8/Jcl.dpk 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/d8/Jcl.dpk 2009-07-24 12:51:15 UTC (rev 2882) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (Jcl-R.xml) - Last generated: 08-06-2009 21:07:42 UTC + Last generated: 24-07-2009 09:49:30 UTC ----------------------------------------------------------------------------- } @@ -89,42 +89,7 @@ JclValidation in '..\..\source\common\JclValidation.pas' , JclWideStrings in '..\..\source\common\JclWideStrings.pas' , pcre in '..\..\source\common\pcre.pas' , - zlibh in '..\..\source\common\zlibh.pas' , - Hardlinks in '..\..\source\windows\Hardlinks.pas' , - JclAppInst in '..\..\source\windows\JclAppInst.pas' , - JclCIL in '..\..\source\windows\JclCIL.pas' , - JclCLR in '..\..\source\windows\JclCLR.pas' , - JclCOM in '..\..\source\windows\JclCOM.pas' , - JclConsole in '..\..\source\windows\JclConsole.pas' , - JclDebug in '..\..\source\windows\JclDebug.pas' , - JclDotNet in '..\..\source\windows\JclDotNet.pas' , - JclHookExcept in '..\..\source\windows\JclHookExcept.pas' , - JclLANMan in '..\..\source\windows\JclLANMan.pas' , - JclLocales in '..\..\source\windows\JclLocales.pas' , - JclMapi in '..\..\source\windows\JclMapi.pas' , - JclMetadata in '..\..\source\windows\JclMetadata.pas' , - JclMiscel in '..\..\source\windows\JclMiscel.pas' , - JclMsdosSys in '..\..\source\windows\JclMsdosSys.pas' , - JclMultimedia in '..\..\source\windows\JclMultimedia.pas' , - JclNTFS in '..\..\source\windows\JclNTFS.pas' , - JclPeImage in '..\..\source\windows\JclPeImage.pas' , - JclRegistry in '..\..\source\windows\JclRegistry.pas' , - JclSecurity in '..\..\source\windows\JclSecurity.pas' , - JclShell in '..\..\source\windows\JclShell.pas' , - JclStructStorage in '..\..\source\windows\JclStructStorage.pas' , - JclSvcCtrl in '..\..\source\windows\JclSvcCtrl.pas' , - JclTask in '..\..\source\windows\JclTask.pas' , - JclTD32 in '..\..\source\windows\JclTD32.pas' , - JclWideFormat in '..\..\source\windows\JclWideFormat.pas' , - JclWin32 in '..\..\source\windows\JclWin32.pas' , - JclWin32Ex in '..\..\source\windows\JclWin32Ex.pas' , - JclWinMIDI in '..\..\source\windows\JclWinMIDI.pas' , - mscoree_TLB in '..\..\source\windows\mscoree_TLB.pas' , - mscorlib_TLB in '..\..\source\windows\mscorlib_TLB.pas' , - MSHelpServices_TLB in '..\..\source\windows\MSHelpServices_TLB.pas' , - MSTask in '..\..\source\windows\MSTask.pas' , - sevenzip in '..\..\source\windows\sevenzip.pas' , - Snmp in '..\..\source\windows\Snmp.pas' + zlibh in '..\..\source\common\zlibh.pas' ; end. Modified: trunk/jcl/packages/xml/Jcl-R.xml =================================================================== --- trunk/jcl/packages/xml/Jcl-R.xml 2009-07-24 12:48:00 UTC (rev 2881) +++ trunk/jcl/packages/xml/Jcl-R.xml 2009-07-24 12:51:15 UTC (rev 2882) @@ -13,88 +13,88 @@ <Package Name="vcl50" Targets="noLibSuffix" Condition=""/> </Requires> <Contains> - <File Name="..\..\source\common\bzip2.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\Jcl8087.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclAnsiStrings.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclBase.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclBorlandTools.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclCharsets.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclComplex.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclCompression.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclCounter.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclDateTime.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclEDI.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclEDISEF.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclEDITranslators.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclEDIXML.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclEDI_ANSIX12.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclEDI_ANSIX12_Ext.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclEDI_UNEDIFACT.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclEDI_UNEDIFACT_Ext.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclExprEval.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclFileUtils.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclIniFiles.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclLogic.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclMath.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclMIDI.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclMime.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclNotify.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclPCRE.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclResources.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclRTTI.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclSimpleXml.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclSchedule.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclStatistics.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclStreams.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclStrHashMap.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclStringConversions.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclStringLists.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclStrings.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\Common\JclSynch.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclSysInfo.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclSysUtils.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\Common\JclUnicode.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclUnitConv.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclUnitVersioning.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclUnitVersioningProviders.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclValidation.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\JclWideStrings.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\pcre.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\common\zlibh.pas" Targets="JclDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\Hardlinks.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclAppInst.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclCIL.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclCLR.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclCOM.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclConsole.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclDebug.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclDotNet.pas" Targets="DelphiDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclHookExcept.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclLANMan.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclLocales.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclMapi.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclMetadata.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclMiscel.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclMsdosSys.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclMultimedia.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclNTFS.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclPeImage.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclRegistry.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclSecurity.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclShell.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclStructStorage.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclSvcCtrl.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclTask.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclTD32.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclWideFormat.pas" Targets="DelphiDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclWin32.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclWin32Ex.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\JclWinMIDI.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\mscoree_TLB.pas" Targets="DelphiDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\mscorlib_TLB.pas" Targets="DelphiDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\MSHelpServices_TLB.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\MSTask.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\sevenzip.pas" Targets="WinDev" Formname="" Condition=""/> - <File Name="..\..\source\windows\Snmp.pas" Targets="WinDev" Formname="" Condition=""/> + <File Name="..\..\source\common\bzip2.pas" Targets="all" Formname="" Condition=""/> + <File Name="..\..\source\common\Jcl8087.pas" Targets="all" Formname="" Condition=""/> + <File Name="..\..\source\common\JclAnsiStrings.pas" Targets="all" Formname="" Condition=""/> + <File Name="..\..\source\common\JclBase.pas" Targets="all" Formname="" Condition=""/> + <File Name="..\..\source\common\JclBorlandTools.pas" Targets="all" Formname="" Condition=""/> + <File Name="..\..\source\common\JclCharsets.pas" Targets="all" Formname="" Condition=""/> + <File Name="..\..\source\common\JclComplex.pas" Targets="all" Formname="" Condition=""/> + <File Name="..\..\source\common\JclCompression.pas" Targets="all" Formname="" Condition=""/> + <F... [truncated message content] |
From: <ou...@us...> - 2009-07-24 12:48:10
|
Revision: 2881 http://jcl.svn.sourceforge.net/jcl/?rev=2881&view=rev Author: outchy Date: 2009-07-24 12:48:00 +0000 (Fri, 24 Jul 2009) Log Message: ----------- regenerated with JVCL revision 12409. Revision Links: -------------- http://jcl.svn.sourceforge.net/jcl/?rev=12409&view=rev Modified Paths: -------------- trunk/jcl/devtools/pgEdit.exe Modified: trunk/jcl/devtools/pgEdit.exe =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-23 19:22:01
|
Revision: 2880 http://jcl.svn.sourceforge.net/jcl/?rev=2880&view=rev Author: outchy Date: 2009-07-23 19:21:54 +0000 (Thu, 23 Jul 2009) Log Message: ----------- Move of EJclWin32Error from JclBase.pas to JclWin32.pas. Modified Paths: -------------- trunk/jcl/source/common/JclBase.pas trunk/jcl/source/common/JclFileUtils.pas trunk/jcl/source/common/JclSynch.pas trunk/jcl/source/prototypes/JclWin32.pas trunk/jcl/source/prototypes/_Graphics.pas trunk/jcl/source/vcl/JclGraphics.pas trunk/jcl/source/windows/JclMiscel.pas trunk/jcl/source/windows/JclWin32.pas Modified: trunk/jcl/source/common/JclBase.pas =================================================================== --- trunk/jcl/source/common/JclBase.pas 2009-07-23 18:09:18 UTC (rev 2879) +++ trunk/jcl/source/common/JclBase.pas 2009-07-23 19:21:54 UTC (rev 2880) @@ -64,23 +64,6 @@ type EJclError = class(Exception); -// EJclWin32Error -{$IFDEF MSWINDOWS} -type - EJclWin32Error = class(EJclError) - private - FLastError: DWORD; - FLastErrorMsg: string; - public - constructor Create(const Msg: string); - constructor CreateFmt(const Msg: string; const Args: array of const); - constructor CreateRes(Ident: Integer); overload; - constructor CreateRes(ResStringRec: PResStringRec); overload; - property LastError: DWORD read FLastError; - property LastErrorMsg: string read FLastErrorMsg; - end; -{$ENDIF MSWINDOWS} - // EJclInternalError type EJclInternalError = class(EJclError); @@ -827,44 +810,6 @@ Result := ''; end; -//== { EJclWin32Error } ====================================================== - -{$IFDEF MSWINDOWS} - -constructor EJclWin32Error.Create(const Msg: string); -begin - FLastError := GetLastError; - FLastErrorMsg := SysErrorMessage(FLastError); - inherited CreateFmt(Msg + NativeLineBreak + RsWin32Prefix, [FLastErrorMsg, FLastError]); -end; - -constructor EJclWin32Error.CreateFmt(const Msg: string; const Args: array of const); -begin - FLastError := GetLastError; - FLastErrorMsg := SysErrorMessage(FLastError); - inherited CreateFmt(Msg + NativeLineBreak + Format(RsWin32Prefix, [FLastErrorMsg, FLastError]), Args); -end; - -constructor EJclWin32Error.CreateRes(Ident: Integer); -begin - FLastError := GetLastError; - FLastErrorMsg := SysErrorMessage(FLastError); - inherited CreateFmt(LoadStr(Ident) + NativeLineBreak + RsWin32Prefix, [FLastErrorMsg, FLastError]); -end; - -constructor EJclWin32Error.CreateRes(ResStringRec: PResStringRec); -begin - FLastError := GetLastError; - FLastErrorMsg := SysErrorMessage(FLastError); - {$IFDEF FPC} - inherited CreateFmt(ResStringRec^ + AnsiLineBreak + RsWin32Prefix, [FLastErrorMsg, FLastError]); - {$ELSE ~FPC} - inherited CreateFmt(LoadResString(ResStringRec) + NativeLineBreak + RsWin32Prefix, [FLastErrorMsg, FLastError]); - {$ENDIF ~FPC} -end; - -{$ENDIF MSWINDOWS} - // Int64 support procedure I64ToCardinals(I: Int64; var LowPart, HighPart: Cardinal); Modified: trunk/jcl/source/common/JclFileUtils.pas =================================================================== --- trunk/jcl/source/common/JclFileUtils.pas 2009-07-23 18:09:18 UTC (rev 2879) +++ trunk/jcl/source/common/JclFileUtils.pas 2009-07-23 19:21:54 UTC (rev 2880) @@ -75,7 +75,7 @@ Libc, {$ENDIF HAS_UNIT_LIBC} {$IFDEF Win32API} - Windows, + Windows, JclWin32, {$ENDIF Win32API} Classes, SysUtils, JclBase; @@ -1051,7 +1051,7 @@ {$ELSE ~FPC} ActiveX, ComObj, ShlObj, JclShell, {$ENDIF ~FPC} - JclSysInfo, JclWin32, JclSecurity, + JclSysInfo, JclSecurity, {$ENDIF Win32API} JclSysUtils, JclDateTime, JclResources, JclStrings; Modified: trunk/jcl/source/common/JclSynch.pas =================================================================== --- trunk/jcl/source/common/JclSynch.pas 2009-07-23 18:09:18 UTC (rev 2879) +++ trunk/jcl/source/common/JclSynch.pas 2009-07-23 19:21:54 UTC (rev 2880) @@ -48,7 +48,7 @@ JclUnitVersioning, {$ENDIF UNITVERSIONING} {$IFDEF MSWINDOWS} - Windows, + Windows, JclWin32, {$ENDIF MSWINDOWS} JclBase; @@ -331,7 +331,7 @@ uses SysUtils, - JclLogic, JclWin32, JclRegistry, JclResources, + JclLogic, JclRegistry, JclResources, JclSysInfo, JclStrings; const Modified: trunk/jcl/source/prototypes/JclWin32.pas =================================================================== --- trunk/jcl/source/prototypes/JclWin32.pas 2009-07-23 18:09:18 UTC (rev 2879) +++ trunk/jcl/source/prototypes/JclWin32.pas 2009-07-23 19:21:54 UTC (rev 2880) @@ -99,6 +99,23 @@ {$HPPEMIT '#include <ntsecapi.h>'} {$HPPEMIT ''} +// EJclWin32Error +{$IFDEF MSWINDOWS} +type + EJclWin32Error = class(EJclError) + private + FLastError: DWORD; + FLastErrorMsg: string; + public + constructor Create(const Msg: string); + constructor CreateFmt(const Msg: string; const Args: array of const); + constructor CreateRes(Ident: Integer); overload; + constructor CreateRes(ResStringRec: PResStringRec); overload; + property LastError: DWORD read FLastError; + property LastErrorMsg: string read FLastErrorMsg; + end; +{$ENDIF MSWINDOWS} + {$I win32api\WinDef.int} {$I win32api\WinNT.int} {$I win32api\WinBase.int} @@ -228,6 +245,44 @@ end; end; +//== { EJclWin32Error } ====================================================== + +{$IFDEF MSWINDOWS} + +constructor EJclWin32Error.Create(const Msg: string); +begin + FLastError := GetLastError; + FLastErrorMsg := SysErrorMessage(FLastError); + inherited CreateFmt(Msg + NativeLineBreak + RsWin32Prefix, [FLastErrorMsg, FLastError]); +end; + +constructor EJclWin32Error.CreateFmt(const Msg: string; const Args: array of const); +begin + FLastError := GetLastError; + FLastErrorMsg := SysErrorMessage(FLastError); + inherited CreateFmt(Msg + NativeLineBreak + Format(RsWin32Prefix, [FLastErrorMsg, FLastError]), Args); +end; + +constructor EJclWin32Error.CreateRes(Ident: Integer); +begin + FLastError := GetLastError; + FLastErrorMsg := SysErrorMessage(FLastError); + inherited CreateFmt(LoadStr(Ident) + NativeLineBreak + RsWin32Prefix, [FLastErrorMsg, FLastError]); +end; + +constructor EJclWin32Error.CreateRes(ResStringRec: PResStringRec); +begin + FLastError := GetLastError; + FLastErrorMsg := SysErrorMessage(FLastError); + {$IFDEF FPC} + inherited CreateFmt(ResStringRec^ + AnsiLineBreak + RsWin32Prefix, [FLastErrorMsg, FLastError]); + {$ELSE ~FPC} + inherited CreateFmt(LoadResString(ResStringRec) + NativeLineBreak + RsWin32Prefix, [FLastErrorMsg, FLastError]); + {$ENDIF ~FPC} +end; + +{$ENDIF MSWINDOWS} + {$I win32api\AclApi.imp} {$I win32api\ImageHlp.imp} {$I win32api\LmAccess.imp} Modified: trunk/jcl/source/prototypes/_Graphics.pas =================================================================== --- trunk/jcl/source/prototypes/_Graphics.pas 2009-07-23 18:09:18 UTC (rev 2879) +++ trunk/jcl/source/prototypes/_Graphics.pas 2009-07-23 19:21:54 UTC (rev 2880) @@ -2388,7 +2388,7 @@ if FHandle = 0 then begin if FOwnsHandle then - raise EJclWin32Error.CreateRes(@RsRegionCouldNotCreated) + raise EJclGraphicsError.CreateRes(@RsRegionCouldNotCreated) else raise EJclGraphicsError.CreateRes(@RsInvalidHandleForRegion); end; Modified: trunk/jcl/source/vcl/JclGraphics.pas =================================================================== --- trunk/jcl/source/vcl/JclGraphics.pas 2009-07-23 18:09:18 UTC (rev 2879) +++ trunk/jcl/source/vcl/JclGraphics.pas 2009-07-23 19:21:54 UTC (rev 2880) @@ -46,19 +46,27 @@ { } {**************************************************************************************************} + + unit JclGraphics; + + {$I jcl.inc} interface uses + Windows, + Classes, SysUtils, {$IFDEF UNITVERSIONING} JclUnitVersioning, {$ENDIF UNITVERSIONING} + Graphics, JclGraphUtils, Controls, + JclBase; type @@ -128,6 +136,7 @@ // Classes type + TJclDesktopCanvas = class(TCanvas) private FDesktop: HDC; @@ -203,13 +212,17 @@ property Handle: HRGN read GetHandle; property RegionType: TJclRegionKind read GetRegionType; end; + + { TJclThreadPersistent } { TJclThreadPersistent is an ancestor for TJclBitmap32 object. In addition to TPersistent methods, it provides thread-safe locking and change notification } TJclThreadPersistent = class(TPersistent) private + FLock: TRTLCriticalSection; + FLockCount: Integer; FUpdateCount: Integer; FOnChanging: TNotifyEvent; @@ -427,6 +440,7 @@ property ValPtr[X, Y: Integer]: PByte read GetValPtr; property Value[X, Y: Integer]: Byte read GetValue write SetValue; default; end; + TJclTransformation = class(TObject) public @@ -466,6 +480,7 @@ procedure Stretch(NewWidth, NewHeight: Cardinal; Filter: TResamplingFilter; Radius: Single; Bitmap: TBitmap); overload; + procedure DrawBitmap(DC: HDC; Bitmap: HBITMAP; X, Y, Width, Height: Integer); function ExtractIconCount(const FileName: string): Integer; @@ -473,6 +488,8 @@ function BitmapToIcon(Bitmap, Mask: HBITMAP; cx, cy: Integer): HICON; overload; function IconToBitmap(Icon: HICON): HBITMAP; + + procedure BitmapToJPeg(const FileName: string); procedure JPegToBitmap(const FileName: string); @@ -484,6 +501,8 @@ function GetAntialiasedBitmap(const Bitmap: TBitmap): TBitmap; + + procedure BlockTransfer(Dst: TJclBitmap32; DstX: Integer; DstY: Integer; Src: TJclBitmap32; SrcRect: TRect; CombineOp: TDrawMode); @@ -493,15 +512,21 @@ procedure Transform(Dst, Src: TJclBitmap32; SrcRect: TRect; Transformation: TJclTransformation); procedure SetBorderTransparent(ABitmap: TJclBitmap32; ARect: TRect); + + function FillGradient(DC: HDC; ARect: TRect; ColorCount: Integer; StartColor, EndColor: TColor; ADirection: TGradientDirection): Boolean; overload; + + function CreateRegionFromBitmap(Bitmap: TBitmap; RegionColor: TColor; RegionBitmapMode: TJclRegionBitmapMode): HRGN; procedure ScreenShot(bm: TBitmap; Left, Top, Width, Height: Integer; Window: THandle = HWND_DESKTOP); overload; procedure ScreenShot(bm: TBitmap; IncludeTaskBar: Boolean = True); overload; function MapWindowRect(hWndFrom, hWndTo: THandle; ARect: TRect):TRect; + + // PolyLines and Polygons procedure PolyLineTS(Bitmap: TJclBitmap32; const Points: TDynPointArray; Color: TColor32); procedure PolyLineAS(Bitmap: TJclBitmap32; const Points: TDynPointArray; Color: TColor32); @@ -527,13 +552,16 @@ procedure ApplyLUT(Dst, Src: TJclBitmap32; const LUT: TLUT8); procedure SetGamma(Gamma: Single = 0.7); + {$IFDEF UNITVERSIONING} const UnitVersioning: TUnitVersionInfo = ( RCSfile: '$URL$'; Revision: '$Revision$'; Date: '$Date$'; + LogPath: 'JCL\source\vcl' + ); {$ENDIF UNITVERSIONING} @@ -541,9 +569,13 @@ uses Math, + CommCtrl, ShellApi, + ClipBrd, JPeg, TypInfo, JclResources, + + JclLogic; type @@ -605,6 +637,7 @@ Result := Math.Max(0, Math.Min(255, Value)); end; + procedure CheckBitmaps(Dst, Src: TJclBitmap32); begin if (Dst = nil) or Dst.Empty then @@ -624,6 +657,7 @@ Result := True; end; + //=== Internal low level routines ============================================ procedure FillLongword(var X; Count: Integer; Value: Longword); @@ -1320,6 +1354,7 @@ Stretch(NewWidth, NewHeight, Filter, Radius, Bitmap, Bitmap); end; + procedure StretchNearest(Dst: TJclBitmap32; DstRect: TRect; Src: TJclBitmap32; SrcRect: TRect; CombineOp: TDrawMode); var @@ -1579,6 +1614,8 @@ end; end; + + procedure DrawBitmap(DC: HDC; Bitmap: HBITMAP; X, Y, Width, Height: Integer); var MemDC: HDC; @@ -1591,6 +1628,8 @@ DeleteObject(MemDC); end; + + { TODO : remove VCL-dependency by replacing pf24bit by pf32bit } function GetAntialiasedBitmap(const Bitmap: TBitmap): TBitmap; @@ -1665,6 +1704,8 @@ end; end; + + function ExtractIconCount(const FileName: string): Integer; begin Result := ExtractIcon(HInstance, PChar(FileName), $FFFFFFFF); @@ -1710,6 +1751,8 @@ end; end; + + procedure GetIconFromBitmap(Icon: TIcon; Bitmap: TBitmap); var IconInfo: TIconInfo; @@ -1837,6 +1880,8 @@ end; end; + + procedure Transform(Dst, Src: TJclBitmap32; SrcRect: TRect; Transformation: TJclTransformation); var @@ -1963,6 +2008,8 @@ end; end; + + function CreateRegionFromBitmap(Bitmap: TBitmap; RegionColor: TColor; RegionBitmapMode: TJclRegionBitmapMode): HRGN; var @@ -2339,7 +2386,7 @@ if FHandle = 0 then begin if FOwnsHandle then - raise EJclWin32Error.CreateRes(@RsRegionCouldNotCreated) + raise EJclGraphicsError.CreateRes(@RsRegionCouldNotCreated) else raise EJclGraphicsError.CreateRes(@RsInvalidHandleForRegion); end; @@ -4864,7 +4911,6 @@ //=== PolyLines and Polygons ================================================= - procedure PolylineTS(Bitmap: TJclBitmap32; const Points: TDynPointArray; Color: TColor32); var Modified: trunk/jcl/source/windows/JclMiscel.pas =================================================================== --- trunk/jcl/source/windows/JclMiscel.pas 2009-07-23 18:09:18 UTC (rev 2879) +++ trunk/jcl/source/windows/JclMiscel.pas 2009-07-23 19:21:54 UTC (rev 2880) @@ -46,7 +46,9 @@ {$IFDEF UNITVERSIONING} JclUnitVersioning, {$ENDIF UNITVERSIONING} - Windows, + {$IFDEF MSWINDOWS} + Windows, JclWin32, + {$ENDIF MSWINDOWS} JclBase; // StrLstLoadSave @@ -111,7 +113,7 @@ uses SysUtils, - JclResources, JclSecurity, JclStrings, JclSysUtils, JclWin32, JclSysInfo; + JclResources, JclSecurity, JclStrings, JclSysUtils, JclSysInfo; function SetDisplayResolution(const XRes, YRes: DWORD): Longint; var Modified: trunk/jcl/source/windows/JclWin32.pas =================================================================== --- trunk/jcl/source/windows/JclWin32.pas 2009-07-23 18:09:18 UTC (rev 2879) +++ trunk/jcl/source/windows/JclWin32.pas 2009-07-23 19:21:54 UTC (rev 2880) @@ -103,8 +103,23 @@ {$HPPEMIT '#include <ntsecapi.h>'} {$HPPEMIT ''} +// EJclWin32Error type + EJclWin32Error = class(EJclError) + private + FLastError: DWORD; + FLastErrorMsg: string; + public + constructor Create(const Msg: string); + constructor CreateFmt(const Msg: string; const Args: array of const); + constructor CreateRes(Ident: Integer); overload; + constructor CreateRes(ResStringRec: PResStringRec); overload; + property LastError: DWORD read FLastError; + property LastErrorMsg: string read FLastErrorMsg; + end; +type + // // Unsigned Basics // @@ -7419,7 +7434,43 @@ end; end; +//== { EJclWin32Error } ====================================================== + +constructor EJclWin32Error.Create(const Msg: string); +begin + FLastError := GetLastError; + FLastErrorMsg := SysErrorMessage(FLastError); + inherited CreateFmt(Msg + NativeLineBreak + RsWin32Prefix, [FLastErrorMsg, FLastError]); +end; + +constructor EJclWin32Error.CreateFmt(const Msg: string; const Args: array of const); +begin + FLastError := GetLastError; + FLastErrorMsg := SysErrorMessage(FLastError); + inherited CreateFmt(Msg + NativeLineBreak + Format(RsWin32Prefix, [FLastErrorMsg, FLastError]), Args); +end; + +constructor EJclWin32Error.CreateRes(Ident: Integer); +begin + FLastError := GetLastError; + FLastErrorMsg := SysErrorMessage(FLastError); + inherited CreateFmt(LoadStr(Ident) + NativeLineBreak + RsWin32Prefix, [FLastErrorMsg, FLastError]); +end; + +constructor EJclWin32Error.CreateRes(ResStringRec: PResStringRec); +begin + FLastError := GetLastError; + FLastErrorMsg := SysErrorMessage(FLastError); + {$IFDEF FPC} + inherited CreateFmt(ResStringRec^ + AnsiLineBreak + RsWin32Prefix, [FLastErrorMsg, FLastError]); + {$ELSE ~FPC} + inherited CreateFmt(LoadResString(ResStringRec) + NativeLineBreak + RsWin32Prefix, [FLastErrorMsg, FLastError]); + {$ENDIF ~FPC} +end; + + + const aclapilib = 'advapi32.dll'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-23 18:09:21
|
Revision: 2879 http://jcl.svn.sourceforge.net/jcl/?rev=2879&view=rev Author: outchy Date: 2009-07-23 18:09:18 +0000 (Thu, 23 Jul 2009) Log Message: ----------- These files describe functionalities that were dropped a long time ago, they are no more relevant. The subversion history can be used to get them back. Removed Paths: ------------- trunk/jcl/source/common/JclDITs-1.92.int trunk/jcl/source/common/JclIniFiles-1.92.int trunk/jcl/source/common/JclZLib.int Deleted: trunk/jcl/source/common/JclDITs-1.92.int =================================================================== --- trunk/jcl/source/common/JclDITs-1.92.int 2009-07-23 16:14:42 UTC (rev 2878) +++ trunk/jcl/source/common/JclDITs-1.92.int 2009-07-23 18:09:18 UTC (rev 2879) @@ -1,114 +0,0 @@ -unit JclDITs; - -{$I jcl.inc} - -interface - -uses - SysUtils; - -//-------------------------------------------------------------------------------------------------- -// Date and Time Data Interchange (ISO 8601) -//-------------------------------------------------------------------------------------------------- - -type - TISODateTimeOption = (dtoDate, dtoTime, dtoMilliseconds, dtoBasic); - TISODateTimeOptions = set of TISODateTimeOption; - TISODateTimeSeparator = (dtsT, dtsSpace); - TISOFloatDecimalSeparator = (fdsComma, fdsPoint); - -const - // basic formats - ISOBasicDateFormat = 'YYYYMMDD'; - ISOBasicTimeFormat = 'hhnnss'; - // extended formats - ISODateFormat = 'YYYY"-"MM"-"DD'; - ISOTimeFormat = 'hh":"nn":"ss'; - // milliseconds - ISOTimeMSec = '","zzz'; - // date time separator - ISODateTimeSeparatorT = 'T'; - ISODateTimeSeparatorSpace = ' '; - ISODateTimeSeparators: array [TISODateTimeSeparator] of Char = - (ISODateTimeSeparatorT, ISODateTimeSeparatorSpace); - // date time format - ISOBasicDateTimeFormat = ISOBasicDateFormat + '"' + ISODateTimeSeparatorT + '"' + ISOBasicTimeFormat; - ISODateTimeFormat = ISODateFormat + ISODateTimeSeparatorT + ISOTimeFormat; - // float decimal separator - ISOFloatDecimalSeparatorComma = ','; - ISOFloatDecimalSeparatorPoint = '.'; - ISOFloatDecimalSeparators: array [TISOFloatDecimalSeparator] of Char = - (ISOFloatDecimalSeparatorComma, ISOFloatDecimalSeparatorPoint); - -// Convert TDateTime to string -function ISODateTimeToStrCustom(const Value: TDateTime; - Options: TISODateTimeOptions; - DateTimeSeparator: TISODateTimeSeparator = dtsT): string; -// Converts TDateTime to date string 'YYYY-MM-DD' -function ISODateToStr(const Value: TDateTime): string; -// Converts TDateTime to time string 'hh:mm:ss' -function ISOTimeToStr(const Value: TDateTime): string; -// Converts TDateTime to date time string 'YYYY-MM-DDThh:mm:ss' -function ISODateTimeToStr(const Value: TDateTime): string; -// Converts TDateTime to date string 'YYYYMMDD' -function ISOBasicDateToStr(const Value: TDateTime): string; -// Converts TDateTime to time string 'hhmmss' -function ISOBasicTimeToStr(const Value: TDateTime): string; -// Converts TDateTime to date time string 'YYYYMMDDThhmmss' -function ISOBasicDateTimeToStr(const Value: TDateTime): string; -// Converts an ISO date string to TDateTime and replaces the date part of Date -// Valid strings are -// 'YYYY-MM-DD' and 'YYYYMMDD' -function TryISOStrToDate(const Value: string; var Date: TDateTime): Boolean; -// Converts an ISO time string to TDateTime and replace the time part of Time -// Valid strings are -// 'hh:mm:ss,zzz', 'hh:mm:ss.zzz', 'hhmmss,zzz', 'hhmmss.zzz', -// 'hh:mm:ss', 'hhmmss', 'hh:mm' and 'hhmm' -function TryISOStrToTime(const Value: string; var Time: TDateTime): Boolean; -// Converts an ISO time stamp to a TDateTime, -// date and time are separated with 'T' or ' ' -function TryISOStrToDateTime(const Value: string; out DateTime: TDateTime): Boolean; -// Converts an ISO date string to TDateTime -// Valid strings: -// 'YYYY-MM-DD' and 'YYYYMMDD' -function ISOStrToDate(const Value: string): TDateTime; -function ISOStrToDateDef(const Value: string; const Default: TDateTime): TDateTime; -// Converts an ISO time string to TDateTime -// Valid strings: -// 'hh:mm:ss,zzz', 'hh:mm:ss.zzz', 'hhmmss,zzz', 'hhmmss.zzz', -// 'hh:mm:ss', 'hhmmss', 'hh:mm' and 'hhmm' -function ISOStrToTime(const Value: string): TDateTime; -function ISOStrToTimeDef(const Value: string; const Default: TDateTime): TDateTime; -// Converts an ISO time stamp to a TDateTime, -// date and time are separated with 'T' or ' ' -function ISOStrToDateTime(const Value: string): TDateTime; -function ISOStrToDateTimeDef(const Value: string; const Default: TDateTime): TDateTime; - -//-------------------------------------------------------------------------------------------------- -// Float Data Interchange (ISO 31-0) -//-------------------------------------------------------------------------------------------------- - -// Converts a float value to a string -// DecimalSeparator is decimal separator, no thousand separator -// Value: the value to convert -// Precision: precision of the result, 1..18, default: 15 digits -// DecimalSeparator: used separator -// if Abs(Value) < 10^-4 or >= 10^15 the function returns a string in the -// 'Scientific' format -// if Value is NAN, INF or -INF the function return 'NAN', 'INF' or '-INF' -function ISOFloatToStr(const Value: Extended; - Precision: Integer = 15 ; - DecimalSeparator: TISOFloatDecimalSeparator = fdsComma): string; -// Converts a string to a float value -// Decimal separators are ',' or '.' -// Thousands separator ' ' -// The string can be a number in the 'Scientific' format -// 'NAN', 'INF', '-INF' are allowed -function ISOTextToFloat(Value: string; out Float: Extended): Boolean; -// Converts a string to a float value -// Decimal separators are ',' or '.' -// Thousands separator ' ' or '' -// The string can be a number in the 'Scientific' format -// 'NAN', 'INF', '-INF' are allowed -function ISOStrToFloat(const Value: string): Extended; -function ISOStrToFloatDef(const Value: string; const Default: Extended): Extended; Deleted: trunk/jcl/source/common/JclIniFiles-1.92.int =================================================================== --- trunk/jcl/source/common/JclIniFiles-1.92.int 2009-07-23 16:14:42 UTC (rev 2878) +++ trunk/jcl/source/common/JclIniFiles-1.92.int 2009-07-23 18:09:18 UTC (rev 2879) @@ -1,55 +0,0 @@ -unit JclIniFiles; - -{$I jcl.inc} - -interface -uses - Classes, IniFiles, SysUtils; - -//-------------------------------------------------------------------------------------------------- -// Initialization (ini) Files -//-------------------------------------------------------------------------------------------------- - -function IniReadBool(const FileName, Section, Line: string): Boolean; // John C Molyneux -function IniReadInteger(const FileName, Section, Line: string): Integer; // John C Molyneux -function IniReadString(const FileName, Section, Line: string): string; // John C Molyneux -procedure IniWriteBool(const FileName, Section, Line: string; Value: Boolean); // John C Molyneux -procedure IniWriteInteger(const FileName, Section, Line: string; Value: Integer); // John C Molyneux -procedure IniWriteString(const FileName, Section, Line, Value: string); // John C Molyneux - -//-------------------------------------------------------------------------------------------------- -// Initialization (ini) Files helper routines -//-------------------------------------------------------------------------------------------------- - -procedure IniReadStrings(IniFile: TCustomIniFile; const Section: string; Strings: TStrings); -procedure IniWriteStrings(IniFile: TCustomIniFile; const Section: string; Strings: TStrings); - -//-------------------------------------------------------------------------------------------------- -// IniFile interface without localized texts -//-------------------------------------------------------------------------------------------------- - -type - TJclISOMemIniFile = class(TMemIniFile) - public - function ReadDate(const Section, Name: string; Default: TDateTime): TDateTime; override; - function ReadDateTime(const Section, Name: string; Default: TDateTime): TDateTime; override; - function ReadFloat(const Section, Name: string; Default: Double): Double; override; - function ReadTime(const Section, Name: string; Default: TDateTime): TDateTime; override; - procedure WriteDate(const Section, Name: string; Value: TDateTime); override; - procedure WriteDateTime(const Section, Name: string; Value: TDateTime); override; - procedure WriteFloat(const Section, Name: string; Value: Double); override; - procedure WriteTime(const Section, Name: string; Value: TDateTime); override; - end; - - TJclISOIniFile = class(TIniFile) - public - function ReadDate(const Section, Name: string; Default: TDateTime): TDateTime; override; - function ReadDateTime(const Section, Name: string; Default: TDateTime): TDateTime; override; - function ReadFloat(const Section, Name: string; Default: Double): Double; override; - function ReadTime(const Section, Name: string; Default: TDateTime): TDateTime; override; - procedure WriteDate(const Section, Name: string; Value: TDateTime); override; - procedure WriteDateTime(const Section, Name: string; Value: TDateTime); override; - procedure WriteFloat(const Section, Name: string; Value: Double); override; - procedure WriteTime(const Section, Name: string; Value: TDateTime); override; - end; - Deleted: trunk/jcl/source/common/JclZLib.int =================================================================== --- trunk/jcl/source/common/JclZLib.int 2009-07-23 16:14:42 UTC (rev 2878) +++ trunk/jcl/source/common/JclZLib.int 2009-07-23 18:09:18 UTC (rev 2879) @@ -1,349 +0,0 @@ -unit JclZLib; - -const - JclZLibStreamDefaultBufferSize = 32 * 1024; - -const - {$IFDEF MSWINDOWS} - JclZLibDefaultLineSeparator = #$0D#$0A; - {$ENDIF MSWINDOWS} - {$IFDEF UNIX} - JclZLibDefaultLineSeparator = #$0A; - {$ENDIF UNIX} - -const - WindowsPathDelimiter = '\'; - UnixPathDelimiter = '/'; - {$IFNDEF RTL140_UP} - {$IFDEF MSWINDOWS} - PathDelim = WindowsPathDelimiter; - {$ENDIF MSWINDOWS} - {$IFDEF UNIX} - PathDelim = UnixPathDelimiter; - {$ENDIF UNIX} - {$ENDIF ~RTL140_UP} - -//-------------------------------------------------------------------------------------------------- -// zlib format support -//-------------------------------------------------------------------------------------------------- - -type - TJclZLibStream = class(TStream) - protected - FStream: TStream; - FBufferSize: Integer; - FBuffer: Pointer; - FZLibStream: TZStreamRec; - procedure SetSize(NewSize: Longint); override; - public - constructor Create(const Stream: TStream; const BufferSize: Integer); - destructor Destroy; override; - function Seek(Offset: Longint; Origin: Word): Longint; override; - end; - - TJclZLibReader = class(TJclZLibStream) - protected - FEndOfStream: Boolean; - procedure ReadNextBlock; - procedure FinishZLibStream; - public - constructor Create(const Stream: TStream; - const BufferSize: Integer = JclZLibStreamDefaultBufferSize; - const WindowBits: Integer = DEF_WBITS); - - destructor Destroy; override; - - function Read(var Buffer; Count: Longint): Longint; override; - function Write(const Buffer; Count: Longint): Longint; override; - function Seek(Offset: Longint; Origin: Word): Longint; override; - - procedure Reset; - procedure SyncZLibStream; - - property EndOfStream: Boolean read FEndOfStream; - end; - - TJclZLibWriter = class(TJclZLibStream) - protected - procedure WriteNextBlock; - procedure FlushZLibStream(const Flush: Integer); - public - constructor Create(const Stream: TStream; - const BufferSize: Integer = JclZLibStreamDefaultBufferSize; - const Level: Integer = Z_DEFAULT_COMPRESSION; - const Strategy: Integer = Z_DEFAULT_STRATEGY; - const WindowBits: Integer = DEF_WBITS); - - destructor Destroy; override; - - function Read(var Buffer; Count: Longint): Longint; override; - function Write(const Buffer; Count: Longint): Longint; override; - function Seek(Offset: Longint; Origin: Word): Longint; override; - - procedure Reset; - end; - - EJclZLibError = class(EJclError); - -// zlib error texts -function GetZLibErrorText(const ErrorCode: Integer): PResStringRec; - -function ZLibCompressMem(const Src: Pointer; SrcLen: Integer; - out Dst: Pointer; out DstLen: Integer; out DstCapacity: Integer; - const Level: Integer = Z_DEFAULT_COMPRESSION): Boolean; - -// Flush: -// Z_SYNC_FLUSH: DstCapacity can be 0 -// Z_FINISH: decompress with faster routine in a single step -// DstCapacity must be >= uncompressed size -function ZLibDecompressMem(const Src: Pointer; SrcLen: Integer; - out Dst: Pointer; out DstLen: Integer; var DstCapacity: Integer; - const Flush: Integer = Z_SYNC_FLUSH): Boolean; - -type - TJclGZipStream = class(TStream) - protected - FStream: TStream; - FCRC32: LongWord; - FUncompressedSize: LongWord; - procedure SetSize(NewSize: Longint); override; - public - constructor Create(const Stream: TStream); - destructor Destroy; override; - function Seek(Offset: Longint; Origin: Word): Longint; override; - end; - - TJclGZipReader = class(TJclGZipStream) - private - FZLibReader: TJclZLibReader; - FTextMode: Boolean; - FFilename: string; - FComment: string; - FTimeStamp: TJclUnixTime32; - FLevel: Integer; - FOperatingSystem: Byte; - FMultipartNumber: Word; - FExtraField: Pointer; - FExtraFieldSize: Integer; - FEndOfStream: Boolean; - public - constructor Create(const Stream: TStream; - const BufferSize: Integer = JclZLibStreamDefaultBufferSize; - const LineSeparator: string = JclZLibDefaultLineSeparator); - - destructor Destroy; override; - - function Read(var Buffer; Count: Longint): Longint; override; - function Write(const Buffer; Count: Longint): Longint; override; - - property TextMode: Boolean read FTextMode; - property Filename: string read FFilename; - property Comment: string read FComment; - property TimeStamp: TJclUnixTime32 read FTimeStamp; - property Level: Integer read FLevel; - property OperatingSystem: Byte read FOperatingSystem; - property MultipartNumber: Word read FMultipartNumber; // 0 = first part - property ExtraField: Pointer read FExtraField; - property ExtraFieldSize: Integer read FExtraFieldSize; - - property EndOfStream: Boolean read FEndOfStream; - end; - - TJclGZipWriter = class(TJclGZipStream) - private - FTextMode: Boolean; - FZLibWriter: TJclZLibWriter; - public - constructor Create(const Stream: TStream; - const BufferSize: Integer = JclZLibStreamDefaultBufferSize; - const Level: Integer = Z_DEFAULT_COMPRESSION; - const Strategie: Integer = Z_DEFAULT_STRATEGY; - const Filename: string = ''; - const TimeStamp: TJclUnixTime32 = 0; - const Comment: string = ''; - const TextMode: Boolean = False; - const ExtraField: Pointer = nil; - const ExtraFieldSize: Integer = 0); - - destructor Destroy; override; - - function Read(var Buffer; Count: Longint): Longint; override; - function Write(const Buffer; Count: Longint): Longint; override; - end; - - EJclGZipError = class(EJclError); - -// gzip file extension -const - JclGZipDefaultFileExtension = '.gz'; - -// if DstFilename = '' -> DstFilename := SrcFilename + JclGZipDefaultFileExtension -procedure GZipCompressFile(const SrcFilename: string; DstFilename: string; - const Level: Integer = Z_DEFAULT_COMPRESSION); -procedure GZipDecompressFile(const SrcFilename: string; DstFilename: string); - -const - TarBlockSize = 512; - -type - TTarArchiveFormat = ( - tafDefaultFormat, // format to be decided later - tafV7Format, // old V7 tar format - tafOldGnuFormat, // GNU format as per before tar 1.12 - tafPosixFormat, // restricted, pure POSIX format - tafGnuFormat); // POSIX format with GNU extensions - -type - PSparse = ^TSparse; - TSparse = packed record // offset - Offset: array [0..11] of AnsiChar; // $00 - NumBytes: array [0..11] of AnsiChar; // $0C - end; // $18 - - PTarHeader = ^TTarHeader; - TTarHeader = packed record // offset - case Integer of - 0: (Buffer: array [0..TarBlockSize - 1] of Byte); - 1: ( - // Old UNIX TAR format - Name: array [0..99] of AnsiChar; // $000 Char + #0 / mit 0 gef\xFCllt - Mode: array [0..7] of AnsiChar; // $064 Octal + ' '#0 9 + 3 bits 20 34 30 37 35 35 20 00 - UID: array [0..7] of AnsiChar; // $06C Octal + ' '#0 ignore on DOS 20 20 31 37 35 36 20 00 - GID: array [0..7] of AnsiChar; // $074 Octal + ' '#0 ignore on DOS 20 20 20 31 34 34 20 00 - Size: array [0..11] of AnsiChar; // $07C Octal + ' ' size in bytes 20 20 20 20 20 20 20 20 20 20 30 20 - MTime: array [0..11] of AnsiChar; // $088 Octal + ' ' last modify Unix 20 36 37 32 32 34 34 36 31 30 37 20 - Chksum: array [0..7] of AnsiChar; // $094 Octal + ' '#0 >= 17 bit, init 0, add 20 20 37 35 37 32 00 20 - TypeFlag: AnsiChar; // $09C Octal + ' '#0 ?? 35 - Linkname: array [0..99] of AnsiChar; // $09D Char + #0 - // Extension of POSIX P1003.1 - Magic: array [0..5] of AnsiChar; // $101 Char + #0 75 73 74 61 72 20 - Version: array [0..1] of AnsiChar; // $107 Octal + ' ' 20 00 - UName: array [0..31] of AnsiChar; // $109 Char + #0 72 63 64 00 ... - GName: array [0..31] of AnsiChar; // $129 Char + #0 75 73 65 72 73 00 ... - DevMajor: array [0..7] of AnsiChar; // $149 Octal + ' '#0 - DevMinor: array [0..7] of AnsiChar; // $151 Octal + ' '#0 - case TTarArchiveFormat of - tafV7Format: ( - FillV7: array [0..166] of AnsiChar); // $159 - tafPosixFormat: ( - Prefix: array [0..154] of AnsiChar; // $159 Prefix for name - FillPosix: array [0..11] of AnsiChar); // $1F4 - tafOldGnuFormat: ( - ATime: array [0..11] of AnsiChar; // $159 - CTime: array [0..11] of AnsiChar; // $165 - Offset: array [0..11] of AnsiChar; // $171 - Longnames: array [0..3] of AnsiChar; // $17D - Pad: AnsiChar; // $181 - Sparses: array [0..3] of TSparse; // $182 - IsExtended: AnsiChar; // $1E2 - RealSize: array [0..11] of AnsiChar; // $1E3 - FillGnu: array [0..16] of AnsiChar)); // $1EF - end; // $200 - -// ModeFlag Flags -type - TTarMode = ( - tmOtherExec, // execute/search by other - tmOtherWrite, // write by other - tmOtherRead, // read by other - tmGroupExec, // execute/search by group - tmGroupWrite, // write by group - tmGroupRead, // read by group - tmOwnerExec, // execute/search by owner - tmOwnerWrite, // write by owner - tmOwnerRead, // read by owner - tmSaveText, // reserved - tmSetGID, // set GID on execution - tmSetUID); // set UID on execution - TTarModes = set of TTarMode; - -// TypeFlag -type - TTarTypeFlag = AnsiChar; - -const // V7 Posix - ttfRegFile = '0'; // regular file x x - ttfARegFile = #0; // regular file x x - ttfLink = '1'; // link x x - ttfSymbolicLink = '2'; // symbolic link x - ttfCharacter = '3'; // character special x - ttfBlock = '4'; // block special x - ttfDirectory = '5'; // directory x - ttfFIFO = '6'; // FIFO special x - ttfContiguous = '7'; // contiguous file - - // GNU extensions - ttfGnuDumpDir = 'D'; - ttfGnuLongLink = 'K'; // next file have a long link name - ttfGnuLongName = 'L'; // next file have a long name - ttfGnuMultiVol = 'M'; // file began on another volume - ttfGnuNames = 'N'; // long filename - ttfGnuSparse = 'S'; // sparse files - ttfGnuVolHeader = 'V'; // Volume label (must be the first file) - -const - TarOldGnuMagic = 'ustar '#0; // old GNU Magic + Version - TarPosixMagic = 'ustar'#0; // Posix or GNU - TarGnuVersion = '00'; - - // other version for GNU-Magic: 'GNUtar '#0 - -type - TJclTarFileType = (tftUnknown, tftEof, tftFile, tftDirectory); - - TJclTarFileSize = Int64; - - - TJclTarReader = class(TObject) - private - function GetFileDateTime: TDateTime; - protected - FTarStream: TStream; - FHeader: TTarHeader; - FArchiveFormat: TTarArchiveFormat; - FFileType: TJclTarFileType; - FFilename: string; - FFileSize: TJclTarFileSize; - FFileTime: TJclUnixTime32; - function ReadHeader: Boolean; // False if Eof - procedure ScanHeader; - public - constructor Create(const TarStream: TStream); - procedure CopyToStream(const FileStream: TStream; CanSeek: Boolean = False); - procedure CopyToFile(const FilePath: string); - procedure SkipFile; - procedure SkipFileSeek; - property FileType: TJclTarFileType read FFileType; - property Filename: string read FFilename; - property FileSize: TJclTarFileSize read FFileSize; - property FileTime: TJclUnixTime32 read FFileTime; - property FileDateTime: TDateTime read GetFileDateTime; - end; - - TJclTarWriter = class(TObject) - protected - FTarStream: TStream; - procedure AddEof; - public - constructor Create(const TarStream: TStream); - destructor Destroy; override; - procedure AddFile(FileRoot, Filename: string); - procedure AddStream(const Stream: TStream; Filename: string; - FileSize: TJclTarFileSize; FileTime: TJclUnixTime32); - procedure AddDirectory(DirName: string); - end; - - EJclTarError = class(EJclError); - -procedure TarAllFiles(const TarFilename, FileRoot: string); -procedure TarFileList(const TarFilename, FileRoot: string; List: TStrings); -procedure TarFileArray(const TarFilename, FileRoot: string; const Filenames: array of string); -procedure TarGZipAllFiles(const TgzFilename, FileRoot: string); -procedure TarGZipFileList(const TgzFilename, FileRoot: string; List: TStrings); -procedure TarGZipFileArray(const TgzFilename, FileRoot: string; const Filenames: array of string); - -procedure UnTarAllFiles(const TarFilename: string; DstDir: string); -procedure UnGZipTarAllFiles(const TgzFilename: string; DstDir: string); - -procedure GetFileList(RootDir: string; List: TStrings); - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-23 16:14:46
|
Revision: 2878 http://jcl.svn.sourceforge.net/jcl/?rev=2878&view=rev Author: outchy Date: 2009-07-23 16:14:42 +0000 (Thu, 23 Jul 2009) Log Message: ----------- test of bucket arrays, the performance gain is not significant compared to array lists. Added Paths: ----------- trunk/donations/dcl/bucket_arrays/ trunk/donations/dcl/bucket_arrays/JclBucketArrayLists.imp trunk/donations/dcl/bucket_arrays/JclBucketArrayLists.int trunk/donations/dcl/bucket_arrays/JclBucketArrayLists.pas trunk/donations/dcl/bucket_arrays/JclBucketArraySets.imp trunk/donations/dcl/bucket_arrays/JclBucketArraySets.int trunk/donations/dcl/bucket_arrays/JclBucketArraySets.pas Property changes on: trunk/donations/dcl/bucket_arrays ___________________________________________________________________ Added: tsvn:projectlanguage + 1033 Added: bugtraq:url + http://issuetracker.delphi-jedi.org/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Added: trunk/donations/dcl/bucket_arrays/JclBucketArrayLists.imp =================================================================== --- trunk/donations/dcl/bucket_arrays/JclBucketArrayLists.imp (rev 0) +++ trunk/donations/dcl/bucket_arrays/JclBucketArrayLists.imp 2009-07-23 16:14:42 UTC (rev 2878) @@ -0,0 +1,1050 @@ +(*$JPPDEFINEMACRO JCLBUCKETARRAYLISTITRIMP(SELFCLASSNAME, ITRINTERFACENAME, BUCKETLISTTYPENAME, + BUCKETTYPENAME,CONSTKEYWORD, PARAMETERNAME, TYPENAME, GETTERNAME, SETTERNAME) +//=== { SELFCLASSNAME } =============================================================== + +constructor SELFCLASSNAME.Create(AOwnList: BUCKETLISTTYPENAME; ABucketCursor, AItemCursor: Integer; AValid: Boolean; AStart: TItrStart); +begin + inherited Create(AValid); + FOwnList := AOwnList; + FStart := AStart; + FBucketCursor := ABucketCursor; + FItemCursor := ABucketCursor; +end; + +function SELFCLASSNAME.Add(CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean; +begin + Result := FOwnList.Add(PARAMETERNAME); +end; + +procedure SELFCLASSNAME.AssignPropertiesTo(Dest: TJclAbstractIterator); +var + ADest: SELFCLASSNAME; +begin + inherited AssignPropertiesTo(Dest); + if Dest is SELFCLASSNAME then + begin + ADest := SELFCLASSNAME(Dest); + ADest.FOwnList := FOwnList; + ADest.FBucketCursor := FBucketCursor; + ADest.FItemCursor := FItemCursor; + ADest.FStart := FStart; + end; +end; + +function SELFCLASSNAME.CreateEmptyIterator: TJclAbstractIterator; +begin + Result := SELFCLASSNAME.Create(FOwnList, FBucketCursor, FItemCursor, Valid, FStart); +end; + +procedure SELFCLASSNAME.Extract; +var + Bucket: BUCKETTYPENAME; +begin + {$JPPEXPANDMACRO DELEGATEWRITEBEGIN(FOwnList)} + CheckValid; + Valid := False; + Bucket := FOwnList.FBuckets[FBucketCursor]; + FOwnList.ExtractIndex(Bucket,FItemCursor); + {$JPPEXPANDMACRO DELEGATEWRITEEND(FOwnList)} +end; + +function SELFCLASSNAME.GETTERNAME: TYPENAME; +var + Bucket: BUCKETTYPENAME; +begin + {$JPPEXPANDMACRO DELEGATEREADBEGIN(FOwnList)} + CheckValid; + Bucket := FOwnList.FBuckets[FBucketCursor]; + Result := Bucket.BucketElements[FItemCursor]; + {$JPPEXPANDMACRO DELEGATEREADEND(FOwnList)} +end; + +function SELFCLASSNAME.HasNext: Boolean; +var + Bucket: BUCKETTYPENAME; + I: Integer; +begin + {$JPPEXPANDMACRO DELEGATEREADBEGIN(FOwnList)} + Bucket := FOwnList.FBuckets[FBucketCursor]; + if Valid then + begin + Result := Assigned(Bucket) and (FItemCursor < (Bucket.BucketSize - 1)); + if not Result then + for I := FBucketCursor + 1 to FOwnList.FCapacity - 1 do + begin + Bucket := FOwnList.FBuckets[I]; + Result := Assigned(Bucket) and (Bucket.BucketSize > 0); + if Result then + Break; + end; + end + else + Result := Assigned(Bucket) and (FItemCursor < Bucket.BucketSize); + {$JPPEXPANDMACRO DELEGATEREADEND(FOwnList)} +end; + +function SELFCLASSNAME.HasPrevious: Boolean; +var + Bucket: BUCKETTYPENAME; + I: Integer; +begin + {$JPPEXPANDMACRO DELEGATEREADBEGIN(FOwnList)} + Bucket := FOwnList.FBuckets[FBucketCursor]; + if Valid then + begin + Result := Assigned(Bucket) and (FItemCursor > 0); + if not Result then + for I := FBucketCursor - 1 downto 0 do + begin + Bucket := FOwnList.FBuckets[I]; + Result := Assigned(Bucket) and (Bucket.BucketSize > 0); + if Result then + Break; + end; + end + else + Result := Assigned(Bucket) and (FItemCursor >= 0); + {$JPPEXPANDMACRO DELEGATEREADEND(FOwnList)} +end; + +function SELFCLASSNAME.Insert(CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean; +var + Bucket: BUCKETTYPENAME; +begin + {$JPPEXPANDMACRO DELEGATEWRITEBEGIN(FOwnList)} + CheckValid; + Bucket := FOwnList.FBuckets[FBucketCursor]; + Result := FOwnList.Insert(Bucket, FItemCursor, PARAMETERNAME); + {$JPPEXPANDMACRO DELEGATEWRITEEND(FOwnList)} +end; + +function SELFCLASSNAME.IteratorEquals(const AIterator: ITRINTERFACENAME): Boolean; +var + Obj: TObject; + ItrObj: SELFCLASSNAME; +begin + Result := False; + if AIterator = nil then + Exit; + Obj := AIterator.GetIteratorReference; + if Obj is SELFCLASSNAME then + begin + ItrObj := SELFCLASSNAME(Obj); + Result := (FOwnList = ItrObj.FOwnList) and (FBucketCursor = ItrObj.FBucketCursor) and (FItemCursor = ItrObj.FItemCursor) and (Valid = ItrObj.Valid); + end; +end; + +{$IFDEF SUPPORTS_FOR_IN} +function SELFCLASSNAME.MoveNext: Boolean; +var + Bucket: BUCKETTYPENAME; +begin + {$JPPEXPANDMACRO DELEGATEREADBEGIN(FOwnList)} + if Valid then + begin + Bucket := FOwnList.FBuckets[FBucketCursor]; + while Assigned(Bucket) do + begin + // the next item is inside the same bucket + if FItemCursor < (Bucket.BucketSize - 1) then + begin + Inc(FItemCursor); + Break; + end; + // move to the next bucket + FItemCursor := -1; + Bucket := nil; + while (FBucketCursor < (FOwnList.FCapacity - 1)) and not Assigned(Bucket) do + begin + Inc(FBucketCursor); + Bucket := FOwnList.FBuckets[FBucketCursor]; + end; + end; + Result := FItemCursor >= 0; + end + else + begin + Valid := True; + Bucket := FOwnList.FBuckets[FBucketCursor]; + Result := Assigned(Bucket) and (FItemCursor >= 0) and (FItemCursor < Bucket.BucketSize); + end; + {$JPPEXPANDMACRO DELEGATEREADEND(FOwnList)} +end; +{$ENDIF SUPPORTS_FOR_IN} + +function SELFCLASSNAME.Next: TYPENAME; +var + Bucket: BUCKETTYPENAME; +begin + {$JPPEXPANDMACRO DELEGATEREADBEGIN(FOwnList)} + if Valid then + begin + Bucket := FOwnList.FBuckets[FBucketCursor]; + while Assigned(Bucket) do + begin + // the next item is inside the same bucket + if FItemCursor < (Bucket.BucketSize - 1) then + begin + Inc(FItemCursor); + Break; + end; + // move to the next bucket + FItemCursor := -1; + Bucket := nil; + while (FBucketCursor < (FOWnList.FCapacity - 1)) and not Assigned(Bucket) do + begin + Inc(FBucketCursor); + Bucket := FOwnList.FBuckets[FBucketCursor]; + end; + end; + end + else + begin + Valid := True; + Bucket := FOwnList.FBuckets[FBucketCursor]; + end; + if Assigned(Bucket) and (FItemCursor >= 0) and (FItemCursor < Bucket.BucketSize) then + Result := Bucket.BucketElements[FItemCursor] + else + Result := FOwnList.RaiseOutOfBoundsError; + {$JPPEXPANDMACRO DELEGATEREADEND(FOwnList)} +end; + +function SELFCLASSNAME.NextIndex: Integer; +begin + // No Index + raise EJclOperationNotSupportedError.Create; +end; + +function SELFCLASSNAME.Previous: TYPENAME; +var + Bucket: BUCKETTYPENAME; +begin + {$JPPEXPANDMACRO DELEGATEREADBEGIN(FOwnList)} + if Valid then + begin + Bucket := FOwnList.FBuckets[FBucketCursor]; + while Assigned(Bucket) do + begin + // the previous item is inside the same bucket + if FItemCursor > 0 then + begin + Dec(FItemCursor); + Break; + end; + // move to the previous bucket + FItemCursor := -1; + Bucket := nil; + while (FBucketCursor > 0) and not Assigned(Bucket) do + begin + Dec(FBucketCursor); + Bucket := FOwnList.FBuckets[FBucketCursor]; + end; + end; + end + else + begin + Valid := True; + Bucket := FOwnList.FBuckets[FBucketCursor]; + end; + if Assigned(Bucket) and (FItemCursor >= 0) and (FItemCursor < Bucket.BucketSize) then + Result := Bucket.BucketElements[FItemCursor] + else + Result := FOwnList.RaiseOutOfBoundsError; + {$JPPEXPANDMACRO DELEGATEREADEND(FOwnList)} +end; + +function SELFCLASSNAME.PreviousIndex: Integer; +begin + // No Index + raise EJclOperationNotSupportedError.Create; +end; + +procedure SELFCLASSNAME.Remove; +var + Bucket: BUCKETTYPENAME; +begin + {$JPPEXPANDMACRO DELEGATEWRITEBEGIN(FOwnList)} + CheckValid; + Valid := False; + Bucket := FOwnList.FBuckets[FBucketCursor]; + FOwnList.Delete(Bucket, FItemCursor); + {$JPPEXPANDMACRO DELEGATEWRITEEND(FOwnList)} +end; + +procedure SELFCLASSNAME.Reset; +var + Bucket: BUCKETTYPENAME; +begin + {$JPPEXPANDMACRO DELEGATEREADBEGIN(FOwnList)} + Valid := False; + case FStart of + isFirst: + begin + FBucketCursor := 0; + FItemCursor := 0; + while FBucketCursor < FOwnList.FCapacity do + begin + Bucket := FOwnList.FBuckets[FBucketCursor]; + if Assigned(Bucket) and (Bucket.BucketSize > 0) then + Break; + end; + if FBucketCursor = FOwnList.FCapacity then + FBucketCursor := 0; + end; + isLast: + begin + FBucketCursor := FOwnList.FCapacity - 1; + FItemCursor := 0; + while FBucketCursor >= 0 do + begin + Bucket := FOwnList.FBuckets[FBucketCursor]; + if Assigned(Bucket) and (Bucket.BucketSize > 0) then + begin + FItemCursor := Bucket.BucketSize - 1; + Break; + end; + end; + if FBucketCursor = FOwnList.FCapacity then + FBucketCursor := 0; + end; + end; + {$JPPEXPANDMACRO DELEGATEREADEND(FOwnList)} +end; + +procedure SELFCLASSNAME.SETTERNAME(CONSTKEYWORDPARAMETERNAME: TYPENAME); +var + Bucket: BUCKETTYPENAME; +begin + {$JPPEXPANDMACRO DELEGATEWRITEBEGIN(FOwnList)} + CheckValid; + Bucket := FOwnList.FBuckets[FBucketCursor]; + FOwnList.SETTERNAME(Bucket, FItemCursor, PARAMETERNAME); + {$JPPEXPANDMACRO DELEGATEWRITEEND(FOwnList)} +end;*) +(*$JPPDEFINEMACRO JCLBUCKETARRAYLISTIMP(SELFCLASSNAME, + OWNERSHIPDECLARATION, OWNERSHIPPARAMETER, COLLECTIONINTERFACENAME, ITRINTERFACENAME, ITRCLASSNAME, LISTINTERFACENAME, + BUCKETTYPENAME, CONSTKEYWORD, PARAMETERNAME, GETTERNAME, SETTERNAME, RELEASERNAME, TYPENAME, DEFAULTVALUE) +//=== { SELFCLASSNAME } ====================================================== + +constructor SELFCLASSNAME.Create(ACapacity: IntegerOWNERSHIPDECLARATION); +begin + inherited Create(OWNERSHIPPARAMETER); + SetCapacity(ACapacity); +end; + +constructor SELFCLASSNAME.Create(const ACollection: COLLECTIONINTERFACENAMEOWNERSHIPDECLARATION); +begin + inherited Create(OWNERSHIPPARAMETER); + if ACollection = nil then + raise EJclNoCollectionError.Create; + SetCapacity(ACollection.Size); + AddAll(ACollection); +end; + +destructor SELFCLASSNAME.Destroy; +begin + FReadOnly := False; + Clear; + inherited Destroy; +end; + +function SELFCLASSNAME.Add(CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean; +var + Bucket: BUCKETTYPENAME; + BucketIndex, ItemIndex, BucketCapacity, ThresholdBucketCapacity: Integer; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + Result := FAllowDefaultElements or not ItemsEqual(PARAMETERNAME, DEFAULTVALUE); + if Result then + begin + if FDuplicates <> dupAccept then + for BucketIndex := 0 to FCapacity - 1 do + begin + Bucket := FBuckets[BucketIndex]; + if Assigned(Bucket) then + for ItemIndex := 0 to Bucket.BucketSize - 1 do + if ItemsEqual(PARAMETERNAME, Bucket.BucketElements[ItemIndex]) then + begin + Result := CheckDuplicate; + Break; + end; + end; + + if Result then + begin + ItemIndex := 0; + Bucket := nil; + // locate the last non empty bucket + for BucketIndex := FCapacity - 1 downto 0 do + begin + Bucket := FBuckets[BucketIndex]; + if Assigned(Bucket) then + begin + ItemIndex := Bucket.BucketSize; + Break; + end; + end; + // when no buckets are initialized yet, create one + if not Assigned(Bucket) then + begin + BucketIndex := 0; + Bucket := BUCKETTYPENAME.Create; + FBuckets[0] := Bucket; + end; + BucketCapacity := Length(Bucket.BucketElements); + // if the bucket is too small, allocate more space + if (ItemIndex >= BucketCapacity) then + begin + ThresholdBucketCapacity := (FSize div FCapacity) + 1; + // allocate the next bucket to average bucket sizes + if (BucketCapacity >= ThresholdBucketCapacity) and (BucketIndex < (FCapacity - 1)) then + begin + Inc(BucketIndex); + ItemIndex := 0; + Bucket := BUCKETTYPENAME.Create; + BucketCapacity := 0; + FBuckets[BucketIndex] := Bucket; + end; + // grow the bucket + BucketCapacity := CalcGrowCapacity(BucketCapacity, Bucket.BucketSize); + SetLength(Bucket.BucketElements, BucketCapacity); + end; + Result := ItemIndex < BucketCapacity; + // store the value + if Result then + begin + Bucket.BucketElements[ItemIndex] := PARAMETERNAME; + Inc(Bucket.BucketSize); + Inc(FSize); + end; + end; + end; + {$JPPEXPANDMACRO WRITEEND} +end; + +function SELFCLASSNAME.AddAll(const ACollection: COLLECTIONINTERFACENAME): Boolean; +var + It: ITRINTERFACENAME; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + Result := False; + if ACollection = nil then + Exit; + Result := True; + It := ACollection.First; + while It.HasNext do + Result := Add(It.Next) and Result; + {$JPPEXPANDMACRO WRITEEND} +end; + +procedure SELFCLASSNAME.AssignDataTo(Dest: TJclAbstractContainerBase); +var + ADest: SELFCLASSNAME; + ACollection: COLLECTIONINTERFACENAME; +begin + inherited AssignDataTo(Dest); + if Dest is SELFCLASSNAME then + begin + ADest := SELFCLASSNAME(Dest); + ADest.Clear; + ADest.AddAll(Self); + end + else + if Supports(IInterface(Dest), COLLECTIONINTERFACENAME, ACollection) then + begin + ACollection.Clear; + ACollection.AddAll(Self); + end; +end; + +procedure SELFCLASSNAME.Clear; +var + Bucket: BUCKETTYPENAME; + BucketIndex, ItemIndex: Integer; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + for BucketIndex := 0 to FCapacity - 1 do + begin + Bucket := FBuckets[BucketIndex]; + if Assigned(Bucket) then + begin + for ItemIndex := 0 to Bucket.BucketSize - 1 do + RELEASERNAME(Bucket.BucketElements[ItemIndex]); + FreeAndNil(FBuckets[BucketIndex]); + end; + end; + FSize := 0; + {$JPPEXPANDMACRO WRITEEND} +end; + +function SELFCLASSNAME.CollectionEquals(const ACollection: COLLECTIONINTERFACENAME): Boolean; +var + Bucket: BUCKETTYPENAME; + BucketIndex, ItemIndex: Integer; + It: ITRINTERFACENAME; +begin + {$JPPEXPANDMACRO READBEGIN} + Result := False; + if ACollection = nil then + Exit; + if FSize <> ACollection.Size then + Exit; + It := ACollection.First; + for BucketIndex := 0 to FCapacity - 1 do + begin + Bucket := FBuckets[BucketIndex]; + if Assigned(Bucket) then + for ItemIndex := 0 to Bucket.BucketSize - 1 do + if not ItemsEqual(Bucket.BucketElements[ItemIndex], It.Next) then + Exit; + end; + Result := True; + {$JPPEXPANDMACRO READEND} +end; + +function SELFCLASSNAME.Contains(CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean; +var + Bucket: BUCKETTYPENAME; + BucketIndex, ItemIndex: Integer; +begin + {$JPPEXPANDMACRO READBEGIN} + Result := False; + for BucketIndex := 0 to FCapacity - 1 do + begin + Bucket := FBuckets[BucketIndex]; + if Assigned(Bucket) then + for ItemIndex := 0 to Bucket.BucketSize - 1 do + if ItemsEqual(PARAMETERNAME, Bucket.BucketElements[ItemIndex]) then + begin + Result := True; + Break; + end; + end; + {$JPPEXPANDMACRO READEND} +end; + +function SELFCLASSNAME.ContainsAll(const ACollection: COLLECTIONINTERFACENAME): Boolean; +var + It: ITRINTERFACENAME; +begin + {$JPPEXPANDMACRO READBEGIN} + Result := True; + if ACollection = nil then + Exit; + It := ACollection.First; + while Result and It.HasNext do + Result := Contains(It.Next); + {$JPPEXPANDMACRO READEND} +end; + +function SELFCLASSNAME.Delete(Bucket: BUCKETTYPENAME; ItemIndex: Integer): TYPENAME; +var + Extracted: TYPENAME; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + Extracted := ExtractIndex(Bucket, ItemIndex); + Result := RELEASERNAME(Extracted); + {$JPPEXPANDMACRO WRITEEND} +end; + +function SELFCLASSNAME.Delete(Index: Integer): TYPENAME; +var + Extracted: TYPENAME; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + Extracted := ExtractIndex(Index); + Result := RELEASERNAME(Extracted); + {$JPPEXPANDMACRO WRITEEND} +end; + +function SELFCLASSNAME.Extract(CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean; +var + Bucket: BUCKETTYPENAME; + BucketIndex, ItemIndex: Integer; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + Result := False; + for BucketIndex := 0 to FCapacity - 1 do + begin + Bucket := FBuckets[BucketIndex]; + if Assigned(Bucket) then + for ItemIndex := Bucket.BucketSize - 1 downto 0 do + if ItemsEqual(Bucket.BucketElements[ItemIndex], PARAMETERNAME) then + begin + Bucket.BucketElements[ItemIndex] := DEFAULTVALUE; + if ItemIndex < (Bucket.BucketSize - 1) then + MoveArray(Bucket.BucketElements, ItemIndex + 1, ItemIndex, Bucket.BucketSize - ItemIndex); + Dec(Bucket.BucketSize); + Dec(FSize); + Result := True; + if FRemoveSingleElement then + Break; + end; + end; + {$JPPEXPANDMACRO WRITEEND} +end; + +function SELFCLASSNAME.ExtractAll(const ACollection: COLLECTIONINTERFACENAME): Boolean; +var + It: ITRINTERFACENAME; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + Result := False; + if ACollection = nil then + Exit; + Result := True; + It := ACollection.First; + while It.HasNext do + Result := Extract(It.Next) and Result; + {$JPPEXPANDMACRO WRITEEND} +end; + +function SELFCLASSNAME.ExtractIndex(Index: Integer): TYPENAME; +var + Bucket: BUCKETTYPENAME; + ItemIndex: Integer; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + TranslateIndex(Index, Bucket, ItemIndex); + // the item is inside this bucket + Result := ExtractIndex(Bucket, ItemIndex); + {$JPPEXPANDMACRO WRITEEND} +end; + +function SELFCLASSNAME.ExtractIndex(Bucket: BUCKETTYPENAME; ItemIndex: Integer): TYPENAME; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + Result := Bucket.BucketElements[ItemIndex]; + if ItemIndex < (Bucket.BucketSize - 1) then + MoveArray(Bucket.BucketElements, ItemIndex + 1, ItemIndex, Bucket.BucketSize - ItemIndex); + Dec(Bucket.BucketSize); + Dec(FSize); + {$JPPEXPANDMACRO WRITEEND} +end; + +function SELFCLASSNAME.First: ITRINTERFACENAME; +var + Bucket: BUCKETTYPENAME; + BucketIndex: Integer; +begin + {$JPPEXPANDMACRO READBEGIN} + for BucketIndex := 0 to FCapacity - 1 do + begin + Bucket := FBuckets[BucketIndex]; + if Assigned(Bucket) and (Bucket.BucketSize > 0) then + Result := ITRCLASSNAME.Create(Self, BucketIndex, 0, False, isFirst); + end; + if not Assigned(Result) then + Result := ITRCLASSNAME.Create(Self, 0, 0, False, isFirst); + {$JPPEXPANDMACRO READEND} +end; + +{$IFDEF SUPPORTS_FOR_IN} +function SELFCLASSNAME.GetEnumerator: ITRINTERFACENAME; +begin + Result := First; +end; +{$ENDIF SUPPORTS_FOR_IN} + +function SELFCLASSNAME.GETTERNAME(Index: Integer): TYPENAME; +var + Bucket: BUCKETTYPENAME; + ItemIndex: Integer; +begin + {$JPPEXPANDMACRO READBEGIN} + Result := DEFAULTVALUE; + if (Index >= 0) and (Index < FSize) then + begin + TranslateIndex(Index, Bucket, ItemIndex); + Result := Bucket.BucketElements[ItemIndex]; + end + else + if not FReturnDefaultElements then + raise EJclNoSuchElementError.Create(IntToStr(Index)); + {$JPPEXPANDMACRO READEND} +end; + +function SELFCLASSNAME.IndexOf(CONSTKEYWORDPARAMETERNAME: TYPENAME): Integer; +var + Bucket: BUCKETTYPENAME; + BucketIndex, ItemIndex: Integer; +begin + {$JPPEXPANDMACRO READBEGIN} + Result := -1; + for BucketIndex := 0 to FCapacity - 1 do + begin + Bucket := FBuckets[BucketIndex]; + if Assigned(Bucket) then + for ItemIndex := 0 to Bucket.BucketSize - 1 do + begin + Inc(Result); + if ItemsEqual(PARAMETERNAME, Bucket.BucketElements[ItemIndex]) then + Exit; + end; + end; + Result := -1; + {$JPPEXPANDMACRO READEND} +end; + +function SELFCLASSNAME.Insert(Index: Integer; CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean; +var + Bucket: BUCKETTYPENAME; + BucketIndex, BucketCapacity, ThresholdBucketCapacity: Integer; +begin + Result := False; + {$JPPEXPANDMACRO WRITEBEGIN} + if (Index < 0) or (Index > FSize) then + raise EJclOutOfBoundsError.Create; + + // locate the bucket + Bucket := nil; + for BucketIndex := 0 to FCapacity - 1 do + begin + Bucket := FBuckets[BucketIndex]; + if Assigned(Bucket) then + begin + if Index <= Bucket.BucketSize then + Break + else + Dec(Index, Bucket.BucketSize); + end; + end; + // when no buckets are initialized yet, create one + if not Assigned(Bucket) then + begin + BucketIndex := 0; + Bucket := BUCKETTYPENAME.Create; + FBuckets[0] := Bucket; + end; + BucketCapacity := Length(Bucket.BucketElements); + if Index >= BucketCapacity then + begin + ThresholdBucketCapacity := (FSize div FCapacity) + 1; + // use the next bucket to average bucket sizes + if (BucketCapacity >= ThresholdBucketCapacity) and (BucketIndex < (FCapacity - 1)) then + begin + Inc(BucketIndex); + Dec(Index, Bucket.BucketSize); + Bucket := FBuckets[BucketIndex]; + if not Assigned(Bucket) then + begin + Bucket := BUCKETTYPENAME.Create; + FBuckets[BucketIndex] := Bucket; + end; + end; + end; + Result := Insert(Bucket, Index, PARAMETERNAME); + {$JPPEXPANDMACRO WRITEEND} +end; + +function SELFCLASSNAME.Insert(Bucket: BUCKETTYPENAME; Index: Integer; CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean; +var + BucketTest: BUCKETTYPENAME; + BucketIndex, ItemIndex, BucketCapacity: Integer; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + Result := FAllowDefaultElements or not ItemsEqual(PARAMETERNAME, DEFAULTVALUE); + + if Result then + begin + if FDuplicates <> dupAccept then + for BucketIndex := 0 to FCapacity - 1 do + begin + BucketTest := FBuckets[Index]; + if Assigned(BucketTest) then + for ItemIndex := 0 to BucketTest.BucketSize - 1 do + if ItemsEqual(PARAMETERNAME, BucketTest.BucketElements[ItemIndex]) then + begin + Result := CheckDuplicate; + Break; + end; + end; + + if Result then + begin + BucketCapacity := Length(Bucket.BucketElements); + // grow the bucket + if Index >= BucketCapacity then + begin + BucketCapacity := CalcGrowCapacity(BucketCapacity, Bucket.BucketSize); + SetLength(Bucket.BucketElements, BucketCapacity); + end; + Result := Index < BucketCapacity; + if Result then + begin + if Index < Bucket.BucketSize then + MoveArray(Bucket.BucketElements, Index, Index + 1, Bucket.BucketSize - Index); + Bucket.BucketElements[Index] := PARAMETERNAME; + Inc(Bucket.BucketSize); + Inc(FSize); + end; + end; + end; + {$JPPEXPANDMACRO WRITEEND} +end; + +function SELFCLASSNAME.InsertAll(Index: Integer; const ACollection: COLLECTIONINTERFACENAME): Boolean; +var + It: ITRINTERFACENAME; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + Result := False; + if (Index < 0) or (Index > FSize) then + raise EJclOutOfBoundsError.Create; + if ACollection = nil then + Exit; + + Result := True; + It := ACollection.Last; + while It.HasPrevious do + Result := Insert(Index, It.Previous) and Result; + {$JPPEXPANDMACRO WRITEEND} +end; + +function SELFCLASSNAME.IsEmpty: Boolean; +begin + Result := FSize = 0; +end; + +function SELFCLASSNAME.Last: ITRINTERFACENAME; +var + Bucket: BUCKETTYPENAME; + BucketIndex: Integer; +begin + {$JPPEXPANDMACRO READBEGIN} + for BucketIndex := FCapacity - 1 downto 0 do + begin + Bucket := FBuckets[BucketIndex]; + if Assigned(Bucket) then + if Bucket.BucketSize > 0 then + begin + Result := ITRCLASSNAME.Create(Self, BucketIndex, Bucket.BucketSize - 1, False, isLast); + Exit; + end; + end; + Result := ITRCLASSNAME.Create(Self, 0, 0, False, isLast); + {$JPPEXPANDMACRO READEND} +end; + +function SELFCLASSNAME.LastIndexOf(CONSTKEYWORDPARAMETERNAME: TYPENAME): Integer; +var + Bucket: BUCKETTYPENAME; + BucketIndex, ItemIndex: Integer; +begin + {$JPPEXPANDMACRO READBEGIN} + Result := -1; + for BucketIndex := FCapacity - 1 downto 0 do + begin + Bucket := FBuckets[BucketIndex]; + if Assigned(Bucket) then + for ItemIndex := Bucket.BucketSize - 1 downto 0 do + begin + Inc(Result); + if ItemsEqual(PARAMETERNAME, Bucket.BucketElements[ItemIndex]) then + Exit; + end; + end; + Result := -1; + {$JPPEXPANDMACRO READEND} +end; + +procedure SELFCLASSNAME.Pack; +begin + // TODO +end; + +function SELFCLASSNAME.RaiseOutOfBoundsError: TYPENAME; +begin + raise EJclOutOfBoundsError.Create; +end; + +function SELFCLASSNAME.Remove(CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean; +var + Extracted: TYPENAME; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + Result := Extract(PARAMETERNAME); + if Result then + begin + Extracted := PARAMETERNAME; + RELEASERNAME(Extracted); + end; + {$JPPEXPANDMACRO WRITEEND} +end; + +function SELFCLASSNAME.RemoveAll(const ACollection: COLLECTIONINTERFACENAME): Boolean; +var + It: ITRINTERFACENAME; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + Result := False; + if ACollection = nil then + Exit; + Result := True; + It := ACollection.First; + while It.HasNext do + Result := Remove(It.Next) and Result; + {$JPPEXPANDMACRO WRITEEND} +end; + +function SELFCLASSNAME.RetainAll(const ACollection: COLLECTIONINTERFACENAME): Boolean; +var + Bucket: BUCKETTYPENAME; + BucketIndex, ItemIndex: Integer; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + Result := False; + if ACollection = nil then + Exit; + Result := True; + for BucketIndex := 0 to FCapacity - 1 do + begin + Bucket := FBuckets[BucketIndex]; + if Assigned(Bucket) then + for ItemIndex := Bucket.BucketSize - 1 downto 0 do + if not ACollection.Contains(Bucket.BucketElements[ItemIndex]) then + begin + RELEASERNAME(Bucket.BucketElements[ItemIndex]); + if ItemIndex < Bucket.BucketSize - 1 then + MoveArray(Bucket.BucketElements, ItemIndex + 1, ItemIndex, Bucket.BucketSize - ItemIndex - 1); + Dec(Bucket.BucketSize); + Dec(FSize); + end; + end; + {$JPPEXPANDMACRO WRITEEND} +end; + +procedure SELFCLASSNAME.SetCapacity(Value: Integer); +begin + {$JPPEXPANDMACRO WRITEBEGIN} + if FSize = 0 then + begin + SetLength(FBuckets, Value); + inherited SetCapacity(Value); + end + else + raise EJclOperationNotSupportedError.Create; + {$JPPEXPANDMACRO WRITEEND} +end; + +procedure SELFCLASSNAME.SETTERNAME(Index: Integer; CONSTKEYWORDPARAMETERNAME: TYPENAME); +var + Bucket: BUCKETTYPENAME; + ItemIndex: Integer; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + if (Index < 0) or (Index >= FSize) then + raise EJclOutOfBoundsError.Create; + TranslateIndex(Index, Bucket, ItemIndex); + SETTERNAME(Bucket, ItemIndex, PARAMETERNAME); + {$JPPEXPANDMACRO WRITEEND} +end; + +procedure SELFCLASSNAME.SETTERNAME(Bucket: BUCKETTYPENAME; Index: Integer; CONSTKEYWORDPARAMETERNAME: TYPENAME); +var + ReplaceItem: Boolean; + BucketTest: BUCKETTYPENAME; + BucketIndex, ItemIndex: Integer; +begin + {$JPPEXPANDMACRO WRITEBEGIN} + if (Index < 0) or (Index >= FSize) then + raise EJclOutOfBoundsError.Create; + ReplaceItem := FAllowDefaultElements or not ItemsEqual(PARAMETERNAME, DEFAULTVALUE); + if ReplaceItem then + begin + if FDuplicates <> dupAccept then + for BucketIndex := 0 to FCapacity - 1 do + begin + BucketTest := FBuckets[BucketIndex]; + if Assigned(BucketTest) then + for ItemIndex := 0 to BucketTest.BucketSize - 1 do + if ItemsEqual(PARAMETERNAME, BucketTest.BucketElements[ItemIndex]) then + begin + ReplaceItem := CheckDuplicate; + Break; + end; + end; + if (Index >= 0) and (Index < Bucket.BucketSize) then + begin + RELEASERNAME(Bucket.BucketElements[Index]); + if ReplaceItem then + Bucket.BucketElements[Index] := PARAMETERNAME + else + begin + // delete item + if Index < (Bucket.BucketSize - 1) then + MoveArray(Bucket.BucketElements, Index + 1, Index, Bucket.BucketSize - Index); + Dec(Bucket.BucketSize); + Dec(FSize); + end; + end; + end; + {$JPPEXPANDMACRO WRITEEND} +end; + +function SELFCLASSNAME.Size: Integer; +begin + Result := FSize; +end; + +function SELFCLASSNAME.SubList(First, Count: Integer): LISTINTERFACENAME; +var + Bucket: BUCKETTYPENAME; + BucketIndex, ItemIndex, I, Last: Integer; +begin + {$JPPEXPANDMACRO READBEGIN} + Last := First + Count - 1; + if Last >= FSize then + Last := FSize - 1; + Result := CreateEmptyContainer as LISTINTERFACENAME; + I := -1; + for BucketIndex := 0 to FCapacity - 1 do + begin + Bucket := FBuckets[BucketIndex]; + if Assigned(Bucket) then + begin + if First < (I + Bucket.BucketSize) then + begin + // this bucket contains data to copy + for ItemIndex := 0 to Bucket.BucketSize - 1 do + begin + Inc(I); + if I > Last then + // everything was added + Break + else + if I >= First {and (I <= Last)} then + Result.Add(Bucket.BucketElements[ItemIndex]); + end; + end + else + Inc(I, Bucket.BucketSize); + end; + if I > Last then + // everything was added + Break; + end; + {$JPPEXPANDMACRO READEND} +end; + +procedure SELFCLASSNAME.TranslateIndex(Index: Integer; out Bucket: BUCKETTYPENAME; out ItemIndex: Integer); +var + BucketIndex: Integer; +begin + Bucket := nil; + for BucketIndex := 0 to FCapacity - 1 do + begin + Bucket := FBuckets[BucketIndex]; + if Assigned(Bucket) then + begin + if Index < Bucket.BucketSize then + Break + else + Dec(Index, Bucket.BucketSize); + end; + end; + ItemIndex := Index; + if (not Assigned(Bucket)) or (Index < 0) or (Index >= Bucket.BucketSize) then + raise EJclOutOfBoundsError.Create; +end;*) \ No newline at end of file Property changes on: trunk/donations/dcl/bucket_arrays/JclBucketArrayLists.imp ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/donations/dcl/bucket_arrays/JclBucketArrayLists.int =================================================================== --- trunk/donations/dcl/bucket_arrays/JclBucketArrayLists.int (rev 0) +++ trunk/donations/dcl/bucket_arrays/JclBucketArrayLists.int 2009-07-23 16:14:42 UTC (rev 2878) @@ -0,0 +1,96 @@ +(*$JPPDEFINEMACRO JCLBUCKETARRAYTYPESINT(BUCKETTYPENAME, ITEMDYNARRAYTYPENAME, SECTIONADDITIONAL, BUCKETDYNARRAYTYPENAME) + BUCKETTYPENAME = classSECTIONADDITIONAL + public + BucketSize: Integer; + BucketElements: ITEMDYNARRAYTYPENAME; + end; + + BUCKETDYNARRAYTYPENAME = array of BUCKETTYPENAME;*) +(*$JPPDEFINEMACRO JCLBUCKETARRAYLISTINT(SELFCLASSNAME, ANCESTORCLASSNAME, COLLECTIONINTERFACENAME, LISTINTERFACENAME, ARRAYINTERFACENAME, ITRINTERFACENAME, + BUCKETTYPENAME, BUCKETDYNARRAYTYPENAME, INTERFACEADDITIONAL, SECTIONADDITIONAL, COLLECTIONFLAGS, OWNERSHIPDECLARATION, CONSTKEYWORD, PARAMETERNAME, TYPENAME, GETTERNAME, SETTERNAME) + SELFCLASSNAME = class(ANCESTORCLASSNAME, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} + IJclIntfCloneable, IJclCloneable, IJclPackable, IJclContainer,INTERFACEADDITIONAL + COLLECTIONINTERFACENAME, LISTINTERFACENAME, ARRAYINTERFACENAME)SECTIONADDITIONAL + private + FBuckets: BUCKETDYNARRAYTYPENAME; + // fix ambiguous warnings when compiled on Delphi.net and earlier versions of Delphi.win32 + // complaining about possible unaffected result. + function RaiseOutOfBoundsError: TYPENAME; + protected + procedure AssignDataTo(Dest: TJclAbstractContainerBase); override; + procedure Pack; override; + procedure TranslateIndex(Index: Integer; out Bucket: BUCKETTYPENAME; out ItemIndex: Integer); + function Delete(Bucket: BUCKETTYPENAME; ItemIndex: Integer): TYPENAME; overload; + function ExtractIndex(Bucket: BUCKETTYPENAME; ItemIndex: Integer): TYPENAME; overload; + function Insert(Bucket: BUCKETTYPENAME; Index: Integer; CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean; overload; + procedure SETTERNAME(Bucket: BUCKETTYPENAME; Index: Integer; CONSTKEYWORDPARAMETERNAME: TYPENAME); overload; + { IJclPackable } + procedure SetCapacity(Value: Integer); override; + { COLLECTIONINTERFACENAME } + function Add(CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean;COLLECTIONFLAGS + function AddAll(const ACollection: COLLECTIONINTERFACENAME): Boolean;COLLECTIONFLAGS + procedure Clear;COLLECTIONFLAGS + function Contains(CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean;COLLECTIONFLAGS + function ContainsAll(const ACollection: COLLECTIONINTERFACENAME): Boolean;COLLECTIONFLAGS + function CollectionEquals(const ACollection: COLLECTIONINTERFACENAME): Boolean;COLLECTIONFLAGS + function Extract(CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean;COLLECTIONFLAGS + function ExtractAll(const ACollection: COLLECTIONINTERFACENAME): Boolean;COLLECTIONFLAGS + function First: ITRINTERFACENAME;COLLECTIONFLAGS + function IsEmpty: Boolean;COLLECTIONFLAGS + function Last: ITRINTERFACENAME;COLLECTIONFLAGS + function Remove(CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean;COLLECTIONFLAGS + function RemoveAll(const ACollection: COLLECTIONINTERFACENAME): Boolean;COLLECTIONFLAGS + function RetainAll(const ACollection: COLLECTIONINTERFACENAME): Boolean;COLLECTIONFLAGS + function Size: Integer;COLLECTIONFLAGS + {$IFDEF SUPPORTS_FOR_IN} + function GetEnumerator: ITRINTERFACENAME;COLLECTIONFLAGS + {$ENDIF SUPPORTS_FOR_IN} + { LISTINTERFACENAME } + function Delete(Index: Integer): TYPENAME; overload; + function ExtractIndex(Index: Integer): TYPENAME; overload; + function GETTERNAME(Index: Integer): TYPENAME; + function IndexOf(CONSTKEYWORDPARAMETERNAME: TYPENAME): Integer; + function Insert(Index: Integer; CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean; overload; + function InsertAll(Index: Integer; const ACollection: COLLECTIONINTERFACENAME): Boolean; + function LastIndexOf(CONSTKEYWORDPARAMETERNAME: TYPENAME): Integer; + procedure SETTERNAME(Index: Integer; CONSTKEYWORDPARAMETERNAME: TYPENAME); overload; + function SubList(First, Count: Integer): LISTINTERFACENAME; + public + constructor Create(ACapacity: IntegerOWNERSHIPDECLARATION); overload; + constructor Create(const ACollection: COLLECTIONINTERFACENAMEOWNERSHIPDECLARATION); overload; + destructor Destroy; override; + end;*) +(*$JPPDEFINEMACRO JCLBUCKETARRAYLISTITRINT(SELFCLASSNAME, ITRINTERFACENAME, BUCKETARRAYLISTTYPENAME, + CONSTKEYWORD, PARAMETERNAME, TYPENAME, GETTERNAME, SETTERNAME) + SELFCLASSNAME = class(TJclAbstractIterator, ITRINTERFACENAME, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} + IJclIntfCloneable, IJclCloneable) + private + FBucketCursor: Integer; + FItemCursor: Integer; + FStart: TItrStart; + FOwnList: BUCKETARRAYLISTTYPENAME; + protected + procedure AssignPropertiesTo(Dest: TJclAbstractIterator); override; + function CreateEmptyIterator: TJclAbstractIterator; override; + { ITRINTERFACENAME } + function Add(CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean; + procedure Extract; + function GETTERNAME: TYPENAME; + function HasNext: Boolean; + function HasPrevious: Boolean; + function Insert(CONSTKEYWORDPARAMETERNAME: TYPENAME): Boolean; + function IteratorEquals(const AIterator: ITRINTERFACENAME): Boolean; + function Next: TYPENAME; + function NextIndex: Integer; + function Previous: TYPENAME; + function PreviousIndex: Integer; + procedure Remove; + procedure Reset; + procedure SETTERNAME(CONSTKEYWORDPARAMETERNAME: TYPENAME); + {$IFDEF SUPPORTS_FOR_IN} + function MoveNext: Boolean; + property Current: TYPENAME read GETTERNAME; + {$ENDIF SUPPORTS_FOR_IN} + public + constructor Create(AOwnList: BUCKETARRAYLISTTYPENAME; ABucketCursor, AItemCursor: Integer; AValid: Boolean; AStart: TItrStart); + end;*) Property changes on: trunk/donations/dcl/bucket_arrays/JclBucketArrayLists.int ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/donations/dcl/bucket_arrays/JclBucketArrayLists.pas =================================================================== --- trunk/donations/dcl/bucket_arrays/JclBucketArrayLists.pas (rev 0) +++ trunk/donations/dcl/bucket_arrays/JclBucketArrayLists.pas 2009-07-23 16:14:42 UTC (rev 2878) @@ -0,0 +1,495 @@ +{**************************************************************************************************} +{ } +{ Project JEDI Code Library (JCL) } +{ } +{ The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); } +{ you may not use this file except in compliance with the License. You may obtain a copy of the } +{ License at http://www.mozilla.org/MPL/ } +{ } +{ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF } +{ ANY KIND, either express or implied. See the License for the specific language governing rights } +{ and limitations under the License. } +{ } +{ The Original Code is JclBucketArrayLists.pas. } +{ } +{ The Initial Developer of the Original Code is Florent Ouchet. Portions created by } +{ Florent Ouchet are Copyright (C) Florent Ouchet (ouchet dott florent att laposte dott net) } +{ All rights reserved. } +{ } +{ Contributors: } +{ } +{**************************************************************************************************} +{ } +{ The Delphi Container Library } +{ } +{**************************************************************************************************} +{ } +{ Last modified: $Date:: $ } +{ Revision: $Rev:: $ } +{ Author: $Author:: $ } +{ } +{**************************************************************************************************} + +unit JclBucketArrayLists; + +{$I jcl.inc} + +interface + +uses + Classes, + {$IFDEF UNITVERSIONING} + JclUnitVersioning, + {$ENDIF UNITVERSIONING} + {$IFDEF SUPPORTS_GENERICS} + JclAlgorithms, + {$ENDIF SUPPORTS_GENERICS} + JclBase, JclAbstractContainers, JclContainerIntf, JclSynch; +{$I containers\JclContainerCommon.imp} +{$I containers\JclBucketArrayLists.int} +{$I containers\JclBucketArrayLists.imp} +type + TItrStart = (isFirst, isLast); + +{$JPPEXPANDMACRO JCLBUCKETARRAYTYPESINT(TJclIntfBucket,TDynIInterfaceArray,,TDynIntfBucketArray)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTINT(TJclIntfBucketArrayList,TJclIntfAbstractContainer,IJclIntfCollection,IJclIntfList,IJclIntfArray,IJclIntfIterator,TJclIntfBucket,TDynIntfBucketArray, IJclIntfEqualityComparer\,, + protected + function CreateEmptyContainer: TJclAbstractContainerBase; override;,,,const ,AInterface,IInterface,GetObject,SetObject)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRINT(TJclIntfBucketArrayIterator,IJclIntfIterator,TJclIntfBucketArrayList,const ,AInterface,IInterface,GetObject,SetObject)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYTYPESINT(TJclAnsiStrBucket,TDynAnsiStringArray,,TDynAnsiStrBucketArray)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTINT(TJclAnsiStrBucketArrayList,TJclAnsiStrAbstractCollection,IJclAnsiStrCollection,IJclAnsiStrList,IJclAnsiStrArray,IJclAnsiStrIterator,TJclAnsiStrBucket,TDynAnsiStrBucketArray, IJclStrContainer\, IJclAnsiStrContainer\, IJclAnsiStrFlatContainer\, IJclAnsiStrEqualityComparer\,, + protected + function CreateEmptyContainer: TJclAbstractContainerBase; override;, override;,,const ,AString,AnsiString,GetString,SetString)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRINT(TJclAnsiStrBucketArrayIterator,IJclAnsiStrIterator,TJclAnsiStrBucketArrayList,const ,AString,AnsiString,GetString,SetString)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYTYPESINT(TJclWideStrBucket,TDynWideStringArray,,TDynWideStrBucketArray)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTINT(TJclWideStrBucketArrayList,TJclWideStrAbstractCollection,IJclWideStrCollection,IJclWideStrList,IJclWideStrArray,IJclWideStrIterator,TJclWideStrBucket,TDynWideStrBucketArray, IJclStrContainer\, IJclWideStrContainer\, IJclWideStrFlatContainer\, IJclWideStrEqualityComparer\,, + protected + function CreateEmptyContainer: TJclAbstractContainerBase; override;, override;,,const ,AString,WideString,GetString,SetString)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRINT(TJclWideStrBucketArrayIterator,IJclWideStrIterator,TJclWideStrBucketArrayList,const ,AString,WideString,GetString,SetString)} + +{$IFDEF SUPPORTS_UNICODE_STRING} +{$JPPEXPANDMACRO JCLBUCKETARRAYTYPESINT(TJclUnicodeStrBucket,TDynUnicodeStringArray,,TDynUnicodeStrBucketArray)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTINT(TJclUnicodeStrBucketArrayList,TJclUnicodeStrAbstractCollection,IJclUnicodeStrCollection,IJclUnicodeStrList,IJclUnicodeStrArray,IJclUnicodeStrIterator,TJclUnicodeStrBucket,TDynUnicodeStrBucketArray, IJclStrContainer\, IJclUnicodeStrContainer\, IJclUnicodeStrFlatContainer\, IJclUnicodeStrEqualityComparer\,, + protected + function CreateEmptyContainer: TJclAbstractContainerBase; override;, override;,,const ,AString,UnicodeString,GetString,SetString)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRINT(TJclUnicodeStrBucketArrayIterator,IJclUnicodeStrIterator,TJclUnicodeStrBucketArrayList,const ,AString,UnicodeString,GetString,SetString)} +{$ENDIF SUPPORTS_UNICODE_STRING} + + {$IFDEF CONTAINER_ANSISTR} + TJclStrBucketArrayList = TJclAnsiStrBucketArrayList; + {$ENDIF CONTAINER_ANSISTR} + {$IFDEF CONTAINER_WIDESTR} + TJclStrBucketArrayList = TJclWideStrBucketArrayList; + {$ENDIF CONTAINER_WIDESTR} + {$IFDEF CONTAINER_UNICODESTR} + TJclStrBucketArrayList = TJclUnicodeStrBucketArrayList; + {$ENDIF CONTAINER_UNICODESTR} + +{$JPPEXPANDMACRO JCLBUCKETARRAYTYPESINT(TJclSingleBucket,TDynSingleArray,,TDynSingleBucketArray)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTINT(TJclSingleBucketArrayList,TJclSingleAbstractContainer,IJclSingleCollection,IJclSingleList,IJclSingleArray,IJclSingleIterator,TJclSingleBucket,TDynSingleBucketArray, IJclSingleContainer\, IJclSingleEqualityComparer\,, + protected + function CreateEmptyContainer: TJclAbstractContainerBase; override;,,,const ,AValue,Single,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRINT(TJclSingleBucketArrayIterator,IJclSingleIterator,TJclSingleBucketArrayList,const ,AValue,Single,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYTYPESINT(TJclDoubleBucket,TDynDoubleArray,,TDynDoubleBucketArray)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTINT(TJclDoubleBucketArrayList,TJclDoubleAbstractContainer,IJclDoubleCollection,IJclDoubleList,IJclDoubleArray,IJclDoubleIterator,TJclDoubleBucket,TDynDoubleBucketArray, IJclDoubleContainer\, IJclDoubleEqualityComparer\,, + protected + function CreateEmptyContainer: TJclAbstractContainerBase; override;,,,const ,AValue,Double,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRINT(TJclDoubleBucketArrayIterator,IJclDoubleIterator,TJclDoubleBucketArrayList,const ,AValue,Double,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYTYPESINT(TJclExtendedBucket,TDynExtendedArray,,TDynExtendedBucketArray)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTINT(TJclExtendedBucketArrayList,TJclExtendedAbstractContainer,IJclExtendedCollection,IJclExtendedList,IJclExtendedArray,IJclExtendedIterator,TJclExtendedBucket,TDynExtendedBucketArray, IJclExtendedContainer\, IJclExtendedEqualityComparer\,, + protected + function CreateEmptyContainer: TJclAbstractContainerBase; override;,,,const ,AValue,Extended,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRINT(TJclExtendedBucketArrayIterator,IJclExtendedIterator,TJclExtendedBucketArrayList,const ,AValue,Extended,GetValue,SetValue)} + + {$IFDEF MATH_EXTENDED_PRECISION} + TJclFloatBucketArrayList = TJclExtendedBucketArrayList; + {$ENDIF MATH_EXTENDED_PRECISION} + {$IFDEF MATH_DOUBLE_PRECISION} + TJclFloatBucketArrayList = TJclDoubleBucketArrayList; + {$ENDIF MATH_DOUBLE_PRECISION} + {$IFDEF MATH_SINGLE_PRECISION} + TJclFloatBucketArrayList = TJclSingleBucketArrayList; + {$ENDIF MATH_SINGLE_PRECISION} + +{$JPPEXPANDMACRO JCLBUCKETARRAYTYPESINT(TJclIntegerBucket,TDynIntegerArray,,TDynIntegerBucketArray)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTINT(TJclIntegerBucketArrayList,TJclIntegerAbstractContainer,IJclIntegerCollection,IJclIntegerList,IJclIntegerArray,IJclIntegerIterator,TJclIntegerBucket,TDynIntegerBucketArray, IJclIntegerEqualityComparer\,, + protected + function CreateEmptyContainer: TJclAbstractContainerBase; override;,,,,AValue,Integer,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRINT(TJclIntegerBucketArrayIterator,IJclIntegerIterator,TJclIntegerBucketArrayList,,AValue,Integer,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYTYPESINT(TJclCardinalBucket,TDynCardinalArray,,TDynCardinalBucketArray)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTINT(TJclCardinalBucketArrayList,TJclCardinalAbstractContainer,IJclCardinalCollection,IJclCardinalList,IJclCardinalArray,IJclCardinalIterator,TJclCardinalBucket,TDynCardinalBucketArray, IJclCardinalEqualityComparer\,, + protected + function CreateEmptyContainer: TJclAbstractContainerBase; override;,,,,AValue,Cardinal,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRINT(TJclCardinalBucketArrayIterator,IJclCardinalIterator,TJclCardinalBucketArrayList,,AValue,Cardinal,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYTYPESINT(TJclInt64Bucket,TDynInt64Array,,TDynInt64BucketArray)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTINT(TJclInt64BucketArrayList,TJclInt64AbstractContainer,IJclInt64Collection,IJclInt64List,IJclInt64Array,IJclInt64Iterator,TJclInt64Bucket,TDynInt64BucketArray, IJclInt64EqualityComparer\,, + protected + function CreateEmptyContainer: TJclAbstractContainerBase; override;,,,const ,AValue,Int64,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRINT(TJclInt64BucketArrayIterator,IJclInt64Iterator,TJclInt64BucketArrayList,const ,AValue,Int64,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYTYPESINT(TJclPtrBucket,TDynPointerArray,,TDynPtrBucketArray)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTINT(TJclPtrBucketArrayList,TJclPtrAbstractContainer,IJclPtrCollection,IJclPtrList,IJclPtrArray,IJclPtrIterator,TJclPtrBucket,TDynPtrBucketArray, IJclPtrEqualityComparer\,, + protected + function CreateEmptyContainer: TJclAbstractContainerBase; override;,,,,APtr,Pointer,GetPointer,SetPointer)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRINT(TJclPtrBucketArrayIterator,IJclPtrIterator,TJclPtrBucketArrayList,,APtr,Pointer,GetPointer,SetPointer)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYTYPESINT(TJclBucket,TDynObjectArray,,TDynBucketArray)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTINT(TJclBucketArrayList,TJclAbstractContainer,IJclCollection,IJclList,IJclArray,IJclIterator,TJclBucket,TDynBucketArray, IJclObjectOwner\, IJclEqualityComparer\,, + protected + function CreateEmptyContainer: TJclAbstractContainerBase; override;,,; AOwnsObjects: Boolean,,AObject,TObject,GetObject,SetObject)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRINT(TJclBucketArrayIterator,IJclIterator,TJclBucketArrayList,,AObject,TObject,GetObject,SetObject)} + + {$IFDEF _SUPPORTS_GENERICS} +{$JPPEXPANDMACRO JCLBUCKETARRAYTYPESINT(TJclBucket<T>,TDynArray, + protected + type + TDynArray = array of T;,TDynBucketArray<T>)} + + TJclBucketArrayIterator<T> = class; + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTINT(TJclBucketArrayList<T>,TJclAbstractContainer<T>,IJclCollection<T>,IJclList<T>,IJclArray<T>,IJclIterator<T>,TJclBucket<T>,TDynBucketArray<T>, IJclItemOwner<T>\, IJclEqualityComparer<T>\,, + protected + type + TBucketArrayIterator = TJclBucketArrayIterator<T>; + procedure MoveArray(var List: TJclBucket<T>.TDynArray; FromIndex, ToIndex, Count: Integer);,,; AOwnsItems: Boolean,const ,AItem,T,GetItem,SetItem)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRINT(TJclBucketArrayIterator<T>,IJclIterator<T>,TJclBucketArrayList<T>,const ,AItem,T,GetItem,SetItem)} + + // E = External helper to compare items for equality + // GetHashCode is not used + TJclBucketArrayListE<T> = class(TJclBucketArrayList<T>, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} + IJclIntfCloneable, IJclCloneable, IJclPackable, IJclGrowable, IJclContainer, IJclItemOwner<T>, IJclEqualityComparer<T>, + IJclCollection<T>, IJclList<T>, IJclArray<T>) + private + FEqualityComparer: IJclEqualityComparer<T>; + protected + procedure AssignPropertiesTo(Dest: TJclAbstractContainerBase); override; + function ItemsEqual(const A, B: T): Boolean; override; + function CreateEmptyContainer: TJclAbstractContainerBase; override; + public + constructor Create(const AEqualityComparer: IJclEqualityComparer<T>; ACapacity: Integer; AOwnsItems: Boolean); overload; + constructor Create(const AEqualityComparer: IJclEqualityComparer<T>; const ACollection: IJclCollection<T>; AOwnsItems: Boolean); overload; + + property EqualityComparer: IJclEqualityComparer<T> read FEqualityComparer write FEqualityComparer; + end; + + // F = Function to compare items for equality + TJclBucketArrayListF<T> = class(TJclBucketArrayList<T>, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} + IJclIntfCloneable, IJclCloneable, IJclPackable, IJclGrowable, IJclContainer, IJclItemOwner<T>, IJclEqualityComparer<T>, + IJclCollection<T>, IJclList<T>, IJclArray<T>) + protected + function CreateEmptyContainer: TJclAbstractContainerBase; override; + public + constructor Create(const AEqualityCompare: TEqualityCompare<T>; ACapacity: Integer; AOwnsItems: Boolean); overload; + constructor Create(const AEqualityCompare: TEqualityCompare<T>; const ACollection: IJclCollection<T>; AOwnsItems: Boolean); overload; + end; + + // I = Items can compare themselves to others + TJclBucketArrayListI<T: IEquatable<T>> = class(TJclBucketArrayList<T>, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} + IJclIntfCloneable, IJclCloneable, IJclPackable, IJclGrowable, IJclContainer, IJclItemOwner<T>, IJclEqualityComparer<T>, + IJclCollection<T>, IJclList<T>, IJclArray<T>) + protected + function ItemsEqual(const A, B: T): Boolean; override; + function CreateEmptyContainer: TJclAbstractContainerBase; override; + end; + + {$ENDIF SUPPORTS_GENERICS} + +{$IFDEF UNITVERSIONING} +const + UnitVersioning: TUnitVersionInfo = ( + RCSfile: '$URL$'; + Revision: '$Revision$'; + Date: '$Date$'; + LogPath: 'JCL\source\common' + ); +{$ENDIF UNITVERSIONING} + +implementation + +uses + SysUtils; + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTIMP(TJclIntfBucketArrayList,,,IJclIntfCollection,IJclIntfIterator,TJclIntfBucketArrayIterator,IJclIntfList,TJclIntfBucket,const ,AInterface,GetObject,SetObject,FreeObject,IInterface,nil)} + +function TJclIntfBucketArrayList.CreateEmptyContainer: TJclAbstractContainerBase; +begin + Result := TJclIntfBucketArrayList.Create(FSize); + AssignPropertiesTo(Result); +end; + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRIMP(TJclIntfBucketArrayIterator,IJclIntfIterator,TJclIntfBucketArrayList,TJclIntfBucket,const ,AInterface,IInterface,GetObject,SetObject)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTIMP(TJclAnsiStrBucketArrayList,,,IJclAnsiStrCollection,IJclAnsiStrIterator,TJclAnsiStrBucketArrayIterator,IJclAnsiStrList,TJclAnsiStrBucket,const ,AString,GetString,SetString,FreeString,AnsiString,'')} + +function TJclAnsiStrBucketArrayList.CreateEmptyContainer: TJclAbstractContainerBase; +begin + Result := TJclAnsiStrBucketArrayList.Create(FSize); + AssignPropertiesTo(Result); +end; + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRIMP(TJclAnsiStrBucketArrayIterator,IJclAnsiStrIterator,TJclAnsiStrBucketArrayList,TJclAnsiStrBucket,const ,AString,AnsiString,GetString,SetString)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTIMP(TJclWideStrBucketArrayList,,,IJclWideStrCollection,IJclWideStrIterator,TJclWideStrBucketArrayIterator,IJclWideStrList,TJclWideStrBucket,const ,AString,GetString,SetString,FreeString,WideString,'')} + +function TJclWideStrBucketArrayList.CreateEmptyContainer: TJclAbstractContainerBase; +begin + Result := TJclWideStrBucketArrayList.Create(FSize); + AssignPropertiesTo(Result); +end; + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRIMP(TJclWideStrBucketArrayIterator,IJclWideStrIterator,TJclWideStrBucketArrayList,TJclWideStrBucket,const ,AString,WideString,GetString,SetString)} + +{$IFDEF SUPPORTS_UNICODE_STRING} +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTIMP(TJclUnicodeStrBucketArrayList,,,IJclUnicodeStrCollection,IJclUnicodeStrIterator,TJclUnicodeStrBucketArrayIterator,IJclUnicodeStrList,TJclUnicodeStrBucket,const ,AString,GetString,SetString,FreeString,UnicodeString,'')} + +function TJclUnicodeStrBucketArrayList.CreateEmptyContainer: TJclAbstractContainerBase; +begin + Result := TJclUnicodeStrBucketArrayList.Create(FSize); + AssignPropertiesTo(Result); +end; + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRIMP(TJclUnicodeStrBucketArrayIterator,IJclUnicodeStrIterator,TJclUnicodeStrBucketArrayList,TJclUnicodeStrBucket,const ,AString,UnicodeString,GetString,SetString)} +{$ENDIF SUPPORTS_UNICODE_STRING} + + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTIMP(TJclSingleBucketArrayList,,,IJclSingleCollection,IJclSingleIterator,TJclSingleBucketArrayIterator,IJclSingleList,TJclSingleBucket,const ,AValue,GetValue,SetValue,FreeSingle,Single,0.0)} + +function TJclSingleBucketArrayList.CreateEmptyContainer: TJclAbstractContainerBase; +begin + Result := TJclSingleBucketArrayList.Create(FSize); + AssignPropertiesTo(Result); +end; + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRIMP(TJclSingleBucketArrayIterator,IJclSingleIterator,TJclSingleBucketArrayList,TJclSingleBucket,const ,AValue,Single,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTIMP(TJclDoubleBucketArrayList,,,IJclDoubleCollection,IJclDoubleIterator,TJclDoubleBucketArrayIterator,IJclDoubleList,TJclDoubleBucket,const ,AValue,GetValue,SetValue,FreeDouble,Double,0.0)} + +function TJclDoubleBucketArrayList.CreateEmptyContainer: TJclAbstractContainerBase; +begin + Result := TJclDoubleBucketArrayList.Create(FSize); + AssignPropertiesTo(Result); +end; + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRIMP(TJclDoubleBucketArrayIterator,IJclDoubleIterator,TJclDoubleBucketArrayList,TJclDoubleBucket,const ,AValue,Double,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTIMP(TJclExtendedBucketArrayList,,,IJclExtendedCollection,IJclExtendedIterator,TJclExtendedBucketArrayIterator,IJclExtendedList,TJclExtendedBucket,const ,AValue,GetValue,SetValue,FreeExtended,Extended,0.0)} + +function TJclExtendedBucketArrayList.CreateEmptyContainer: TJclAbstractContainerBase; +begin + Result := TJclExtendedBucketArrayList.Create(FSize); + AssignPropertiesTo(Result); +end; + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRIMP(TJclExtendedBucketArrayIterator,IJclExtendedIterator,TJclExtendedBucketArrayList,TJclExtendedBucket,const ,AValue,Extended,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTIMP(TJclIntegerBucketArrayList,,,IJclIntegerCollection,IJclIntegerIterator,TJclIntegerBucketArrayIterator,IJclIntegerList,TJclIntegerBucket,,AValue,GetValue,SetValue,FreeInteger,Integer,0)} + +function TJclIntegerBucketArrayList.CreateEmptyContainer: TJclAbstractContainerBase; +begin + Result := TJclIntegerBucketArrayList.Create(FSize); + AssignPropertiesTo(Result); +end; + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRIMP(TJclIntegerBucketArrayIterator,IJclIntegerIterator,TJclIntegerBucketArrayList,TJclIntegerBucket,,AValue,Integer,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTIMP(TJclCardinalBucketArrayList,,,IJclCardinalCollection,IJclCardinalIterator,TJclCardinalBucketArrayIterator,IJclCardinalList,TJclCardinalBucket,,AValue,GetValue,SetValue,FreeCardinal,Cardinal,0)} + +function TJclCardinalBucketArrayList.CreateEmptyContainer: TJclAbstractContainerBase; +begin + Result := TJclCardinalBucketArrayList.Create(FSize); + AssignPropertiesTo(Result); +end; + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRIMP(TJclCardinalBucketArrayIterator,IJclCardinalIterator,TJclCardinalBucketArrayList,TJclCardinalBucket,,AValue,Cardinal,GetValue,SetValue)} + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTIMP(TJclInt64BucketArrayList,,,IJclInt64Collection,IJclInt64Iterator,TJclInt64BucketArrayIterator,IJclInt64List,TJclInt64Bucket,const ,AValue,GetValue,SetValue,FreeInt64,Int64,0)} + +function TJclInt64BucketArrayList.CreateEmptyContainer: TJclAbstractContainerBase; +begin + Result := TJclInt64BucketArrayList.Create(FSize); + AssignPropertiesTo(Result); +end; + +{$JPPEXPANDMACRO JCLBUCKETARRAYLISTITRIMP(TJclInt64BucketArrayIterator,IJclInt64Iterator,TJclInt64BucketArrayList,TJclInt64Bucket,const ,AValue,Int64,GetValue,SetValue)} + +{$JPPEXPANDMACRO ... [truncated message content] |
From: <ou...@us...> - 2009-07-23 15:49:57
|
Revision: 2877 http://jcl.svn.sourceforge.net/jcl/?rev=2877&view=rev Author: outchy Date: 2009-07-23 15:49:55 +0000 (Thu, 23 Jul 2009) Log Message: ----------- missing file in revision 2870. Revision Links: -------------- http://jcl.svn.sourceforge.net/jcl/?rev=2870&view=rev Modified Paths: -------------- trunk/jcl/source/prototypes/containers/JclVectors.int Modified: trunk/jcl/source/prototypes/containers/JclVectors.int =================================================================== --- trunk/jcl/source/prototypes/containers/JclVectors.int 2009-07-23 13:08:15 UTC (rev 2876) +++ trunk/jcl/source/prototypes/containers/JclVectors.int 2009-07-23 15:49:55 UTC (rev 2877) @@ -43,7 +43,8 @@ procedure SETTERNAME(Index: Integer; CONSTKEYWORDPARAMETERNAME: TYPENAME); function SubList(First, Count: Integer): LISTINTERFACENAME; public - constructor Create(ACapacity: IntegerOWNERSHIPDECLARATION); + constructor Create(ACapacity: IntegerOWNERSHIPDECLARATION); overload; + constructor Create(const ACollection: COLLECTIONINTERFACENAMEOWNERSHIPDECLARATION); overload; destructor Destroy; override; property Items: DYNARRAYTYPE read FItems; end;*) @@ -78,5 +79,5 @@ property Current: TYPENAME read GETTERNAME; {$ENDIF SUPPORTS_FOR_IN} public - constructor Create(const OwnList: LISTINTERFACENAME; ACursor: Integer; AValid: Boolean; AStart: TItrStart); + constructor Create(const AOwnList: LISTINTERFACENAME; ACursor: Integer; AValid: Boolean; AStart: TItrStart); end;*) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-23 13:08:21
|
Revision: 2876 http://jcl.svn.sourceforge.net/jcl/?rev=2876&view=rev Author: outchy Date: 2009-07-23 13:08:15 +0000 (Thu, 23 Jul 2009) Log Message: ----------- new exception dialog option to report the call stack for either: - all threads, - all registered threads, - main thread and exception threads, - exception thread - main thread. Modified Paths: -------------- trunk/jcl/experts/common/JclOtaResources.pas trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas trunk/jcl/experts/repository/JclOtaExcDlgTraceFrame.dfm trunk/jcl/experts/repository/JclOtaExcDlgTraceFrame.pas trunk/jcl/experts/repository/JclOtaExcDlgWizard.pas trunk/jcl/packages/c5/JclRepositoryExpertC50.bpk trunk/jcl/packages/c5/JclRepositoryExpertC50.cpp trunk/jcl/packages/c5/JclRepositoryExpertC50.dpk trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpf trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpr trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.cpp trunk/jcl/packages/c6/JclRepositoryExpert.bpk trunk/jcl/packages/c6/JclRepositoryExpert.cpp trunk/jcl/packages/c6/JclRepositoryExpert.dpk trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpf trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpr trunk/jcl/packages/c6/JclRepositoryExpertDLL.cpp trunk/jcl/packages/d10/JclRepositoryExpert.dpk trunk/jcl/packages/d10/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d11/JclRepositoryExpert.dpk trunk/jcl/packages/d11/JclRepositoryExpert.dproj trunk/jcl/packages/d11/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d11/JclRepositoryExpertDLL.dproj trunk/jcl/packages/d12/JclRepositoryExpert.dpk trunk/jcl/packages/d12/JclRepositoryExpert.dproj trunk/jcl/packages/d12/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj trunk/jcl/packages/d5/JclRepositoryExpertD50.dpk trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.dpr trunk/jcl/packages/d6/JclRepositoryExpert.dpk trunk/jcl/packages/d6/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d7/JclRepositoryExpert.dpk trunk/jcl/packages/d7/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d9/JclRepositoryExpert.dpk trunk/jcl/packages/d9/JclRepositoryExpertDLL.dpr trunk/jcl/packages/xml/JclRepositoryExpert-D.xml trunk/jcl/packages/xml/JclRepositoryExpertDLL-L.xml Added Paths: ----------- trunk/jcl/experts/repository/JclOtaExcDlgThreadFrame.dfm trunk/jcl/experts/repository/JclOtaExcDlgThreadFrame.pas Modified: trunk/jcl/experts/common/JclOtaResources.pas =================================================================== --- trunk/jcl/experts/common/JclOtaResources.pas 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/experts/common/JclOtaResources.pas 2009-07-23 13:08:15 UTC (rev 2876) @@ -180,8 +180,16 @@ RsVirtualAddress = '&Virtual address'; RsModuleOffset = 'Module &offset'; RsPreview = '&Preview:'; - RsAllThreads = 'Include traces for registered &threads'; +//=== JclOtaExcDlgThreadFrame.pas ============================================ +resourcestring + RsExcDlgThreadOptions = 'thread options'; + RsAllThreads = 'Traces for &all threads'; + RsAllRegisteredThreads = 'Traces for ®istered threads'; + RsMainExceptionThreads = 'Traces for main a&nd exception threads'; + RsExceptionThread = 'Trace for &exception thread'; + RsMainThread = 'Trace for &main thread'; + //=== JclOtaExcDlgIgnoreFrame.pas ============================================ resourcestring RsExcDlgIgnoreOptions = 'ignored exceptions'; Modified: trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas 2009-07-23 13:08:15 UTC (rev 2876) @@ -110,8 +110,12 @@ RsActiveControl = 'Active Controls hierarchy:'; RsThread = 'Thread: %s'; RsMissingVersionInfo = '(no module version info)'; -%if AllThreads RsMainThreadCallStack = 'Call stack for main thread'; - RsThreadCallStack = 'Call stack for thread %s';%endif + RsExceptionStack = 'Exception stack'; + RsMainThreadID = 'Main thread ID = %d'; + RsExceptionThreadID = 'Exception thread ID = %d'; + RsMainThreadCallStack = 'Call stack for main thread'; + RsThreadCallStack = 'Call stack for thread %d %s "%s"'; + RsExceptionThreadCallStack = 'Call stack for exception thread %s'; RsErrorMessage = 'There was an error during the execution of this program.' + NativeLineBreak + 'The application might become unstable and even useless.' + NativeLineBreak + 'It''s recommended that you save your work and close this application.' + NativeLineBreak + NativeLineBreak; @@ -334,7 +338,7 @@ %if OSInfo CpuInfo: TCpuInfo; ProcessorDetails: string;%endif %if StackList StackList: TJclStackInfoList; -%if AllThreads ThreadList: TJclDebugThreadList; +%if ReportAllThreads ThreadList: TJclDebugThreadList; AThreadID: DWORD;%endif %endif PETarget: TJclPeTarget; %if UnitVersioning UnitVersioning: TUnitVersioning; @@ -342,29 +346,44 @@ UnitVersion: TUnitVersion; ModuleIndex, UnitIndex: Integer;%endif begin + DetailsMemo.Lines.Add(Format(RsMainThreadID, [MainThreadID])); + DetailsMemo.Lines.Add(Format(RsExceptionThreadID, [MainThreadID])); + NextDetailBlock; + SL := TStringList.Create; try -%if StackList // Stack list +%if StackList // Except stack list StackList := JclGetExceptStackList(FThreadID); if Assigned(StackList) then begin + DetailsMemo.Lines.Add(RsExceptionStack); DetailsMemo.Lines.Add(Format(RsStackList, [DateTimeToStr(StackList.TimeStamp)])); StackList.AddToStrings(DetailsMemo.Lines, %BoolValue ModuleName, %BoolValue ModuleOffset, %BoolValue CodeDetails, %BoolValue VirtualAddress); NextDetailBlock; end; -%if AllThreads // Main thread - if FThreadID <> MainThreadID then + +%if ReportMainThread // Main thread + StackList := JclCreateThreadStackTraceFromID(%BoolValue RawData, MainThreadID); + if Assigned(StackList) then begin - StackList := JclCreateThreadStackTraceFromID(%BoolValue RawData, MainThreadID); + DetailsMemo.Lines.Add(RsMainThreadCallStack); + DetailsMemo.Lines.Add(Format(RsStackList, [DateTimeToStr(StackList.TimeStamp)])); + StackList.AddToStrings(DetailsMemo.Lines, %BoolValue ModuleName, %BoolValue ModuleOffset, %BoolValue CodeDetails, %BoolValue VirtualAddress); + NextDetailBlock; + end;%endif +%if ReportExceptionThread // Exception thread + if MainThreadID <> FThreadID then + begin + StackList := JclCreateThreadStackTraceFromID(%BoolValue RawData, FThreadID); if Assigned(StackList) then begin - DetailsMemo.Lines.Add(RsMainThreadCallStack); + DetailsMemo.Lines.Add(Format(RsExceptionThreadCallStack, [FThreadID])); DetailsMemo.Lines.Add(Format(RsStackList, [DateTimeToStr(StackList.TimeStamp)])); StackList.AddToStrings(DetailsMemo.Lines, %BoolValue ModuleName, %BoolValue ModuleOffset, %BoolValue CodeDetails, %BoolValue VirtualAddress); NextDetailBlock; end; - end; - // All threads + end;%endif +%if ReportAllThreads // All threads ThreadList := JclDebugThreadList; ThreadList.Lock.Enter; // avoid modifications try @@ -376,7 +395,7 @@ StackList := JclCreateThreadStackTrace(%BoolValue RawData, ThreadList.ThreadHandles[I]); if Assigned(StackList) then begin - DetailsMemo.Lines.Add(Format(RsThreadCallStack, [ThreadList.ThreadInfos[AThreadID]])); + DetailsMemo.Lines.Add(Format(RsThreadCallStack, [AThreadID, ThreadList.ThreadInfos[AThreadID], ThreadList.ThreadNames[AThreadID]])); DetailsMemo.Lines.Add(Format(RsStackList, [DateTimeToStr(StackList.TimeStamp)])); StackList.AddToStrings(DetailsMemo.Lines, %BoolValue ModuleName, %BoolValue ModuleOffset, %BoolValue CodeDetails, %BoolValue VirtualAddress); NextDetailBlock; @@ -385,9 +404,8 @@ end; finally ThreadList.Lock.Leave; - end; + end;%endif %endif -%endif %if OSInfo // System and OS information DetailsMemo.Lines.Add(Format(RsOSVersion, [GetWindowsVersionString, NtProductTypeString, @@ -761,6 +779,7 @@ %if HookDll JclStackTrackingOptions := JclStackTrackingOptions + [stStaticModuleList];%endif %if DelayedTrace JclStackTrackingOptions := JclStackTrackingOptions + [stDelayedTrace];%endif JclDebugThreadList.OnSyncException := T%FORMNAME%.ExceptionThreadHandler; +%if AllThreads JclHookThreads;%endif JclStartExceptionTracking; %if CatchMainThread JclStackTrackingOptions := JclStackTrackingOptions + [stMainThreadOnly];%endif %if DisableIfDebuggerAttached JclStackTrackingOptions := JclStackTrackingOptions + [stDisableIfDebuggerAttached];%endif @@ -779,6 +798,7 @@ JclDebugThreadList.OnSyncException := nil; JclUnhookExceptions; JclStopExceptionTracking; +%if AllThreads JclUnhookThreads;%endif end; end; Modified: trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas 2009-07-23 13:08:15 UTC (rev 2876) @@ -77,10 +77,17 @@ FAutoScrollBars: Boolean; FCatchMainThread: Boolean; FAllThreads: Boolean; + FAllRegisteredThreads: Boolean; + FMainExceptionThreads: Boolean; + FExceptionThread: Boolean; + FMainThread: Boolean; FTraceEAbort: Boolean; FIgnoredExceptions: TStrings; FTraceAllExceptions: Boolean; function GetIgnoredExceptionsCount: Integer; + function GetReportAllThreads: Boolean; + function GetReportExceptionThread: Boolean; + function GetReportMainThread: Boolean; public constructor Create; reintroduce; destructor Destroy; override; @@ -127,7 +134,16 @@ property RawData: Boolean read FRawData write FRawData; property ModuleName: Boolean read FModuleName write FModuleName; property ModuleOffset: Boolean read FModuleOffset write FModuleOffset; + // thread options (mutually exclusives) property AllThreads: Boolean read FAllThreads write FAllThreads; + property AllRegisterThreads: Boolean read FAllRegisteredThreads write FAllRegisteredThreads; + property MainExceptionThreads: Boolean read FMainExceptionThreads write FMainExceptionThreads; + property ExceptionThread: Boolean read FExceptionThread write FExceptionThread; + property MainThread: Boolean read FMainThread write FMainThread; + // composite properties + property ReportMainThread: Boolean read GetReportMainThread; + property ReportAllThreads: Boolean read GetReportAllThreads; + property ReportExceptionThread: Boolean read GetReportExceptionThread; //property AddressOffset: Boolean read FAddressOffset write FAddressOffset; property CodeDetails: Boolean read FCodeDetails write FCodeDetails; property VirtualAddress: Boolean read FVirtualAddress write FVirtualAddress; @@ -190,6 +206,11 @@ FTraceEAbort := False; FTraceAllExceptions := False; FIgnoredExceptions := TStringList.Create; + FAllThreads := True; + FAllRegisteredThreads := False; + FMainExceptionThreads := False; + FExceptionThread := False; + FMainThread := False; end; destructor TJclOtaExcDlgParams.Destroy; @@ -203,6 +224,21 @@ Result := FIgnoredExceptions.Count; end; +function TJclOtaExcDlgParams.GetReportAllThreads: Boolean; +begin + Result := FAllThreads or FAllRegisteredThreads; +end; + +function TJclOtaExcDlgParams.GetReportExceptionThread: Boolean; +begin + Result := FExceptionThread or FMainExceptionThreads; +end; + +function TJclOtaExcDlgParams.GetReportMainThread: Boolean; +begin + Result := FMainThread or FMainExceptionThreads or FAllThreads or FAllRegisteredThreads; +end; + {$IFDEF UNITVERSIONING} initialization RegisterUnitVersion(HInstance, UnitVersioning); Copied: trunk/jcl/experts/repository/JclOtaExcDlgThreadFrame.dfm (from rev 2871, trunk/jcl/experts/repository/JclOtaExcDlgTraceFrame.dfm) =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgThreadFrame.dfm (rev 0) +++ trunk/jcl/experts/repository/JclOtaExcDlgThreadFrame.dfm 2009-07-23 13:08:15 UTC (rev 2876) @@ -0,0 +1,74 @@ +inherited JclOtaExcDlgThreadPage: TJclOtaExcDlgThreadPage + object LabelPreview: TLabel + Left = 303 + Top = 7 + Width = 50 + Height = 13 + Caption = 'RsPreview' + end + object MemoStack: TMemo + Left = 303 + Top = 26 + Width = 313 + Height = 263 + ParentColor = True + ReadOnly = True + ScrollBars = ssBoth + TabOrder = 1 + WordWrap = False + end + object CheckBoxStackList: TCheckBox + Left = 32 + Top = 26 + Width = 257 + Height = 17 + Caption = 'RsStackList' + TabOrder = 0 + OnClick = CheckBoxStackListClick + end + object RadioButtonAllThreads: TRadioButton + Left = 56 + Top = 57 + Width = 233 + Height = 17 + Caption = 'RsAllThreads' + TabOrder = 2 + OnClick = RadioButtonClick + end + object RadioButtonAllRegisteredThreads: TRadioButton + Left = 56 + Top = 87 + Width = 233 + Height = 17 + Caption = 'RsAllRegisteredThreads' + TabOrder = 3 + OnClick = RadioButtonClick + end + object RadioButtonMainExceptionThreads: TRadioButton + Left = 56 + Top = 117 + Width = 233 + Height = 17 + Caption = 'RsMainExceptionThreads' + TabOrder = 4 + OnClick = RadioButtonClick + end + object RadioButtonExceptionThread: TRadioButton + Left = 56 + Top = 147 + Width = 233 + Height = 17 + Caption = 'RsExceptionThread' + TabOrder = 5 + OnClick = RadioButtonClick + end + object RadioButtonMainThread: TRadioButton + Left = 56 + Top = 177 + Width = 233 + Height = 17 + Caption = 'RsMainThread' + TabOrder = 6 + OnClick = RadioButtonClick + end +end Copied: trunk/jcl/experts/repository/JclOtaExcDlgThreadFrame.pas (from rev 2871, trunk/jcl/experts/repository/JclOtaExcDlgTraceFrame.pas) =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgThreadFrame.pas (rev 0) +++ trunk/jcl/experts/repository/JclOtaExcDlgThreadFrame.pas 2009-07-23 13:08:15 UTC (rev 2876) @@ -0,0 +1,235 @@ +{**************************************************************************************************} +{ } +{ Project JEDI Code Library (JCL) } +{ } +{ The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); } +{ you may not use this file except in compliance with the License. You may obtain a copy of the } +{ License at http://www.mozilla.org/MPL/ } +{ } +{ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF } +{ ANY KIND, either express or implied. See the License for the specific language governing rights } +{ and limitations under the License. } +{ } +{ The Original Code is JclOtaExcDlgThreadFrame.pas. } +{ } +{ The Initial Developer of the Original Code is Florent Ouchet } +{ <outchy att users dott sourceforge dott net> } +{ Portions created by Florent Ouchet are Copyright (C) of Florent Ouchet. All rights reserved. } +{ } +{ Contributors: } +{ } +{**************************************************************************************************} +{ } +{ Last modified: $Date:: $ } +{ Revision: $Rev:: $ } +{ Author: $Author:: $ } +{ } +{**************************************************************************************************} + +unit JclOtaExcDlgThreadFrame; + +interface + +{$I jcl.inc} + +uses + Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, JclDebug, + {$IFDEF UNITVERSIONING} + JclUnitVersioning, + {$ENDIF UNITVERSIONING} + JclOtaExcDlgRepository, JclOtaWizardFrame; + +type + TJclOtaExcDlgThreadPage = class(TJclWizardFrame) + MemoStack: TMemo; + LabelPreview: TLabel; + CheckBoxStackList: TCheckBox; + RadioButtonAllThreads: TRadioButton; + RadioButtonAllRegisteredThreads: TRadioButton; + RadioButtonMainExceptionThreads: TRadioButton; + RadioButtonExceptionThread: TRadioButton; + RadioButtonMainThread: TRadioButton; + procedure RadioButtonClick(Sender: TObject); + procedure CheckBoxStackListClick(Sender: TObject); + private + FParams: TJclOtaExcDlgParams; + FTestThread: TJclDebugThread; + procedure UpdatePreview; + procedure UpdateCheckBoxes; + public + constructor Create(AOwner: TComponent; AParams: TJclOtaExcDlgParams); reintroduce; + destructor Destroy; override; + + procedure PageActivated(Direction: TJclWizardDirection); override; + procedure PageDesactivated(Direction: TJclWizardDirection); override; + + property Params: TJclOtaExcDlgParams read FParams write FParams; + end; + + // in interface to be exported and have basic debug informations based on exports + TTestThread = class(TJclDebugThread) + private + procedure ExecuteTask; + procedure ExecuteSubTask; + protected + procedure Execute; override; + end; + +{$IFDEF UNITVERSIONING} +const + UnitVersioning: TUnitVersionInfo = ( + RCSfile: '$URL$'; + Revision: '$Revision$'; + Date: '$Date$'; + LogPath: 'JCL\experts\repository' + ); +{$ENDIF UNITVERSIONING} + +implementation + +{$R *.dfm} + +uses + JclOtaResources; + +//=== { TTestThread } ======================================================== + +{$W+} + +procedure TTestThread.Execute; +begin + ExecuteTask; +end; + +{$IFNDEF STACKFRAMES_ON} +{$W-} +{$ENDIF ~STACKFRAMES_ON} + +procedure TTestThread.ExecuteTask; +begin + ExecuteSubTask; +end; + +procedure TTestThread.ExecuteSubTask; +begin + while not Terminated do + Sleep(100); +end; + +//=== { TJclOtaExcDlgThreadPage } ============================================ + +procedure TJclOtaExcDlgThreadPage.RadioButtonClick(Sender: TObject); +begin + UpdatePreview; +end; + +procedure TJclOtaExcDlgThreadPage.CheckBoxStackListClick(Sender: TObject); +begin + UpdateCheckBoxes; +end; + +constructor TJclOtaExcDlgThreadPage.Create(AOwner: TComponent; + AParams: TJclOtaExcDlgParams); +begin + FParams := AParams; + inherited Create(AOwner); + FTestThread := TTestThread.Create(False, 'MyTaskThread'); + + Caption := RsExcDlgThreadOptions; + CheckBoxStackList.Caption := RsStackList; + LabelPreview.Caption := RsPreview; + RadioButtonAllThreads.Caption := RsAllThreads; + RadioButtonAllRegisteredThreads.Caption := RsAllRegisteredThreads; + RadioButtonMainExceptionThreads.Caption := RsMainExceptionThreads; + RadioButtonExceptionThread.Caption := RsExceptionThread; + RadioButtonMainThread.Caption := RsMainThread; +end; + +destructor TJclOtaExcDlgThreadPage.Destroy; +begin + FTestThread.Free; + inherited Destroy; +end; + +procedure TJclOtaExcDlgThreadPage.PageActivated(Direction: TJclWizardDirection); +begin + inherited PageActivated(Direction); + + CheckBoxStackList.Checked := Params.StackList; + RadioButtonAllThreads.Checked := Params.AllThreads; + RadioButtonAllRegisteredThreads.Checked := Params.AllRegisterThreads; + RadioButtonMainExceptionThreads.Checked := Params.MainExceptionThreads; + RadioButtonExceptionThread.Checked := Params.ExceptionThread; + RadioButtonMainThread.Checked := Params.MainThread; + + UpdateCheckBoxes; +end; + +procedure TJclOtaExcDlgThreadPage.PageDesactivated( + Direction: TJclWizardDirection); +begin + inherited PageDesactivated(Direction); + + Params.StackList := CheckBoxStackList.Checked; + Params.AllThreads := RadioButtonAllThreads.Checked; + Params.AllRegisterThreads := RadioButtonAllRegisteredThreads.Checked; + Params.MainExceptionThreads := RadioButtonMainExceptionThreads.Checked; + Params.ExceptionThread := RadioButtonExceptionThread.Checked; + Params.MainThread := RadioButtonMainThread.Checked; +end; + +procedure TJclOtaExcDlgThreadPage.UpdateCheckBoxes; +var + AEnabled: Boolean; +begin + AEnabled := CheckBoxStackList.Enabled; + + RadioButtonAllThreads.Enabled := AEnabled; +end; + +procedure TJclOtaExcDlgThreadPage.UpdatePreview; +var + AStack: TJclStackInfoList; + Index: Integer; + ThreadID: DWORD; +begin + MemoStack.Lines.Clear; + + if RadioButtonAllThreads.Checked or RadioButtonAllRegisteredThreads.Checked or RadioButtonMainExceptionThreads.Checked then + MemoStack.Lines.Add('Main thread stack trace'); + + if RadioButtonAllThreads.Checked or RadioButtonAllRegisteredThreads.Checked or RadioButtonMainExceptionThreads.Checked or RadioButtonMainThread.Checked then + begin + AStack := TJclStackInfoList.Create(Params.RawData, 0, nil, False); + try + AStack.AddToStrings(MemoStack.Lines, Params.ModuleName, Params.ModuleOffset, Params.CodeDetails, Params.VirtualAddress); + finally + AStack.Free; + end; + end; + + if RadioButtonAllThreads.Checked or RadioButtonAllRegisteredThreads.Checked or RadioButtonMainExceptionThreads.Checked or RadioButtonExceptionThread.Checked then + for Index := 0 to JclDebugThreadList.ThreadIDCount - 1 do + begin + ThreadID := JclDebugThreadList.ThreadIDs[Index]; + MemoStack.Lines.Add(''); + MemoStack.Lines.Add(Format('Stack trace for thread: "%s"', [JclDebugThreadList.ThreadNames[ThreadID]])); + AStack := JclCreateThreadStackTrace(Params.RawData, JclDebugThreadList.ThreadHandles[Index]); + try + AStack.AddToStrings(MemoStack.Lines, Params.ModuleName, Params.ModuleOffset, Params.CodeDetails, Params.VirtualAddress); + finally + AStack.Free; + end; + end; +end; + +{$IFDEF UNITVERSIONING} +initialization + RegisterUnitVersion(HInstance, UnitVersioning); + +finalization + UnregisterUnitVersion(HInstance); +{$ENDIF UNITVERSIONING} + +end. Modified: trunk/jcl/experts/repository/JclOtaExcDlgTraceFrame.dfm =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgTraceFrame.dfm 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/experts/repository/JclOtaExcDlgTraceFrame.dfm 2009-07-23 13:08:15 UTC (rev 2876) @@ -2,7 +2,7 @@ object LabelPreview: TLabel Left = 303 Top = 7 - Width = 51 + Width = 50 Height = 13 Caption = 'RsPreview' end @@ -17,7 +17,7 @@ end object CheckBoxModuleName: TCheckBox Left = 56 - Top = 95 + Top = 87 Width = 233 Height = 17 Caption = 'RsModuleName' @@ -26,7 +26,7 @@ end object CheckBoxCodeDetails: TCheckBox Left = 56 - Top = 175 + Top = 147 Width = 233 Height = 17 Caption = 'RsCodeDetails' @@ -35,7 +35,7 @@ end object CheckBoxVirtualAddress: TCheckBox Left = 56 - Top = 214 + Top = 177 Width = 233 Height = 17 Caption = 'RsVirtualAddress' @@ -44,7 +44,7 @@ end object CheckBoxModuleOffset: TCheckBox Left = 56 - Top = 136 + Top = 117 Width = 233 Height = 17 Caption = 'RsModuleOffset' @@ -59,7 +59,7 @@ ParentColor = True ReadOnly = True ScrollBars = ssBoth - TabOrder = 7 + TabOrder = 6 WordWrap = False end object CheckBoxStackList: TCheckBox @@ -71,13 +71,4 @@ TabOrder = 0 OnClick = CheckBoxStackListClick end - object CheckBoxAllThreads: TCheckBox - Left = 56 - Top = 248 - Width = 233 - Height = 17 - Caption = 'RsAllThreads' - TabOrder = 6 - OnClick = CheckBoxClick - end end Modified: trunk/jcl/experts/repository/JclOtaExcDlgTraceFrame.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgTraceFrame.pas 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/experts/repository/JclOtaExcDlgTraceFrame.pas 2009-07-23 13:08:15 UTC (rev 2876) @@ -50,17 +50,14 @@ MemoStack: TMemo; LabelPreview: TLabel; CheckBoxStackList: TCheckBox; - CheckBoxAllThreads: TCheckBox; procedure CheckBoxClick(Sender: TObject); procedure CheckBoxStackListClick(Sender: TObject); private FParams: TJclOtaExcDlgParams; - FTestThread: TJclDebugThread; procedure UpdatePreview; procedure UpdateCheckBoxes; public constructor Create(AOwner: TComponent; AParams: TJclOtaExcDlgParams); reintroduce; - destructor Destroy; override; procedure PageActivated(Direction: TJclWizardDirection); override; procedure PageDesactivated(Direction: TJclWizardDirection); override; @@ -68,15 +65,6 @@ property Params: TJclOtaExcDlgParams read FParams write FParams; end; - // in interface to be exported and have basic debug informations based on exports - TTestThread = class(TJclDebugThread) - private - procedure ExecuteTask; - procedure ExecuteSubTask; - protected - procedure Execute; override; - end; - {$IFDEF UNITVERSIONING} const UnitVersioning: TUnitVersionInfo = ( @@ -94,30 +82,6 @@ uses JclOtaResources; -//=== { TTestThread } ======================================================== - -{$W+} - -procedure TTestThread.Execute; -begin - ExecuteTask; -end; - -{$IFNDEF STACKFRAMES_ON} -{$W-} -{$ENDIF ~STACKFRAMES_ON} - -procedure TTestThread.ExecuteTask; -begin - ExecuteSubTask; -end; - -procedure TTestThread.ExecuteSubTask; -begin - while not Terminated do - Sleep(100); -end; - //=== { TJclOtaExcDlgTracePage } ============================================= procedure TJclOtaExcDlgTracePage.CheckBoxClick(Sender: TObject); @@ -135,7 +99,6 @@ begin FParams := AParams; inherited Create(AOwner); - FTestThread := TTestThread.Create(False, 'MyTaskThread'); Caption := RsExcDlgTraceOptions; CheckBoxStackList.Caption := RsStackList; @@ -146,15 +109,8 @@ CheckBoxVirtualAddress.Caption := RsVirtualAddress; CheckBoxModuleOffset.Caption := RsModuleOffset; LabelPreview.Caption := RsPreview; - CheckBoxAllThreads.Caption := RsAllThreads; end; -destructor TJclOtaExcDlgTracePage.Destroy; -begin - FTestThread.Free; - inherited Destroy; -end; - procedure TJclOtaExcDlgTracePage.PageActivated(Direction: TJclWizardDirection); begin inherited PageActivated(Direction); @@ -166,7 +122,6 @@ CheckBoxCodeDetails.Checked := Params.CodeDetails; CheckBoxVirtualAddress.Checked := Params.VirtualAddress; CheckBoxModuleOffset.Checked := Params.ModuleOffset; - CheckBoxAllThreads.Checked := Params.AllThreads; UpdateCheckBoxes; end; @@ -183,7 +138,6 @@ Params.CodeDetails := CheckBoxCodeDetails.Checked; Params.VirtualAddress := CheckBoxVirtualAddress.Checked; Params.ModuleOffset := CheckBoxModuleOffset.Checked; - Params.AllThreads := CheckBoxAllThreads.Checked; end; procedure TJclOtaExcDlgTracePage.UpdateCheckBoxes; @@ -205,9 +159,6 @@ begin MemoStack.Lines.Clear; - if CheckBoxAllThreads.Checked then - MemoStack.Lines.Add('Main thread stack trace'); - AStack := TJclStackInfoList.Create(CheckBoxRawData.Checked, 0, nil, False); try AStack.AddToStrings(MemoStack.Lines, CheckBoxModuleName.Checked, @@ -215,19 +166,6 @@ finally AStack.Free; end; - - if CheckBoxAllThreads.Checked then - begin - MemoStack.Lines.Add(''); - MemoStack.Lines.Add(Format('Stack trace for thread: "%s" (%s)', [FTestThread.ThreadName, FTestThread.ClassName])); - AStack := JclCreateThreadStackTrace(CheckBoxRawData.Checked, FTestThread.Handle); - try - AStack.AddToStrings(MemoStack.Lines, CheckBoxModuleName.Checked, - CheckBoxModuleOffset.Checked, CheckBoxCodeDetails.Checked, CheckBoxVirtualAddress.Checked); - finally - AStack.Free; - end; - end; end; {$IFDEF UNITVERSIONING} Modified: trunk/jcl/experts/repository/JclOtaExcDlgWizard.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgWizard.pas 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/experts/repository/JclOtaExcDlgWizard.pas 2009-07-23 13:08:15 UTC (rev 2876) @@ -71,7 +71,8 @@ JclOtaResources, JclOtaExcDlgFileFrame, JclOtaExcDlgFormFrame, JclOtaExcDlgSystemFrame, JclOtaExcDlgLogFrame, - JclOtaExcDlgTraceFrame, JclOtaExcDlgIgnoreFrame; + JclOtaExcDlgTraceFrame, JclOtaExcDlgThreadFrame, + JclOtaExcDlgIgnoreFrame; function ExcDlgWizard(var AParams: TJclOtaExcDlgParams): Boolean; var @@ -119,6 +120,7 @@ AddPage(TJclOtaExcDlgLogPage.Create(Self, Params)); AddPage(TJclOtaExcDlgIgnorePage.Create(Self, Params)); AddPage(TJclOtaExcDlgTracePage.Create(Self, Params)); + AddPage(TJclOtaExcDlgThreadPage.Create(Self, Params)); end; {$IFDEF UNITVERSIONING} Modified: trunk/jcl/packages/c5/JclRepositoryExpertC50.bpk =================================================================== --- trunk/jcl/packages/c5/JclRepositoryExpertC50.bpk 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/c5/JclRepositoryExpertC50.bpk 2009-07-23 13:08:15 UTC (rev 2876) @@ -5,7 +5,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 23-07-2009 11:30:29 UTC + Last generated: 23-07-2009 12:59:37 UTC ***************************************************************************** --> <PROJECT> @@ -23,6 +23,7 @@ ..\..\lib\c5\JclOtaExcDlgSystemFrame.obj ..\..\lib\c5\JclOtaExcDlgLogFrame.obj ..\..\lib\c5\JclOtaExcDlgTraceFrame.obj + ..\..\lib\c5\JclOtaExcDlgThreadFrame.obj ..\..\lib\c5\JclOtaExcDlgIgnoreFrame.obj ..\..\lib\c5\JclOtaRepositoryReg.obj "/> @@ -37,6 +38,7 @@ ..\..\experts\repository\JclOtaExcDlgSystemFrame.dfm ..\..\experts\repository\JclOtaExcDlgLogFrame.dfm ..\..\experts\repository\JclOtaExcDlgTraceFrame.dfm + ..\..\experts\repository\JclOtaExcDlgThreadFrame.dfm ..\..\experts\repository\JclOtaExcDlgIgnoreFrame.dfm "/> <LIBFILES value=" Modified: trunk/jcl/packages/c5/JclRepositoryExpertC50.cpp =================================================================== --- trunk/jcl/packages/c5/JclRepositoryExpertC50.cpp 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/c5/JclRepositoryExpertC50.cpp 2009-07-23 13:08:15 UTC (rev 2876) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 23-07-2009 11:30:30 UTC + Last generated: 23-07-2009 12:59:37 UTC ----------------------------------------------------------------------------- */ @@ -20,6 +20,7 @@ USEUNIT("..\..\experts\repository\JclOtaExcDlgSystemFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgLogFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgTraceFrame.pas"); +USEUNIT("..\..\experts\repository\JclOtaExcDlgThreadFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaRepositoryReg.pas"); USEPACKAGE("vcl50.bpi"); Modified: trunk/jcl/packages/c5/JclRepositoryExpertC50.dpk =================================================================== --- trunk/jcl/packages/c5/JclRepositoryExpertC50.dpk 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/c5/JclRepositoryExpertC50.dpk 2009-07-23 13:08:15 UTC (rev 2876) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 23-07-2009 11:30:31 UTC + Last generated: 23-07-2009 12:59:38 UTC ----------------------------------------------------------------------------- } @@ -54,6 +54,7 @@ JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, + JclOtaExcDlgThreadFrame in '..\..\experts\repository\JclOtaExcDlgThreadFrame.pas' {JclOtaExcDlgThreadPage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnoredPage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' ; Modified: trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpf =================================================================== --- trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpf 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpf 2009-07-23 13:08:15 UTC (rev 2876) @@ -7,6 +7,7 @@ USEUNIT("..\..\experts\repository\JclOtaExcDlgSystemFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgLogFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgTraceFrame.pas"); +USEUNIT("..\..\experts\repository\JclOtaExcDlgThreadFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaRepositoryReg.pas"); USEDEF("JclRepositoryExpertDLLC50.def"); Modified: trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpr =================================================================== --- trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpr 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpr 2009-07-23 13:08:15 UTC (rev 2876) @@ -5,7 +5,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpertDLL-L.xml) - Last generated: 23-07-2009 11:30:30 UTC + Last generated: 23-07-2009 12:59:37 UTC ***************************************************************************** --> <PROJECT> @@ -23,6 +23,7 @@ ..\..\lib\c5\JclOtaExcDlgSystemFrame.obj ..\..\lib\c5\JclOtaExcDlgLogFrame.obj ..\..\lib\c5\JclOtaExcDlgTraceFrame.obj + ..\..\lib\c5\JclOtaExcDlgThreadFrame.obj ..\..\lib\c5\JclOtaExcDlgIgnoreFrame.obj ..\..\lib\c5\JclOtaRepositoryReg.obj "/> @@ -37,6 +38,7 @@ ..\..\experts\repository\JclOtaExcDlgSystemFrame.dfm ..\..\experts\repository\JclOtaExcDlgLogFrame.dfm ..\..\experts\repository\JclOtaExcDlgTraceFrame.dfm + ..\..\experts\repository\JclOtaExcDlgThreadFrame.dfm ..\..\experts\repository\JclOtaExcDlgIgnoreFrame.dfm "/> <LIBFILES value=" Modified: trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.cpp =================================================================== --- trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.cpp 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.cpp 2009-07-23 13:08:15 UTC (rev 2876) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpertDLL-L.xml) - Last generated: 23-07-2009 11:30:30 UTC + Last generated: 23-07-2009 12:59:37 UTC ----------------------------------------------------------------------------- */ @@ -20,6 +20,7 @@ USEUNIT("..\..\experts\repository\JclOtaExcDlgSystemFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgLogFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgTraceFrame.pas"); +USEUNIT("..\..\experts\repository\JclOtaExcDlgThreadFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaRepositoryReg.pas"); USEPACKAGE("vcl50.bpi"); Modified: trunk/jcl/packages/c6/JclRepositoryExpert.bpk =================================================================== --- trunk/jcl/packages/c6/JclRepositoryExpert.bpk 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/c6/JclRepositoryExpert.bpk 2009-07-23 13:08:15 UTC (rev 2876) @@ -5,7 +5,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 23-07-2009 11:30:32 UTC + Last generated: 23-07-2009 12:59:38 UTC ***************************************************************************** --> <PROJECT> @@ -23,6 +23,7 @@ ..\..\lib\c6\JclOtaExcDlgSystemFrame.obj ..\..\lib\c6\JclOtaExcDlgLogFrame.obj ..\..\lib\c6\JclOtaExcDlgTraceFrame.obj + ..\..\lib\c6\JclOtaExcDlgThreadFrame.obj ..\..\lib\c6\JclOtaExcDlgIgnoreFrame.obj ..\..\lib\c6\JclOtaRepositoryReg.obj "/> @@ -37,6 +38,7 @@ ..\..\experts\repository\JclOtaExcDlgSystemFrame.dfm ..\..\experts\repository\JclOtaExcDlgLogFrame.dfm ..\..\experts\repository\JclOtaExcDlgTraceFrame.dfm + ..\..\experts\repository\JclOtaExcDlgThreadFrame.dfm ..\..\experts\repository\JclOtaExcDlgIgnoreFrame.dfm "/> <LIBFILES value=" @@ -99,6 +101,7 @@ <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgSystemFrame.pas" FORMNAME="JclOtaExcDlgSystemPage" UNITNAME="JclOtaExcDlgSystemFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgLogFrame.pas" FORMNAME="JclOtaExcDlgLogPage" UNITNAME="JclOtaExcDlgLogFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgTraceFrame.pas" FORMNAME="JclOtaExcDlgTracePage" UNITNAME="JclOtaExcDlgTraceFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgThreadFrame.pas" FORMNAME="JclOtaExcDlgThreadPage" UNITNAME="JclOtaExcDlgThreadFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas" FORMNAME="JclOtaExcDlgIgnoredPage" UNITNAME="JclOtaExcDlgIgnoreFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaRepositoryReg.pas" FORMNAME="" UNITNAME="JclOtaRepositoryReg" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> </FILELIST> Modified: trunk/jcl/packages/c6/JclRepositoryExpert.cpp =================================================================== --- trunk/jcl/packages/c6/JclRepositoryExpert.cpp 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/c6/JclRepositoryExpert.cpp 2009-07-23 13:08:15 UTC (rev 2876) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 23-07-2009 11:30:33 UTC + Last generated: 23-07-2009 12:59:40 UTC ----------------------------------------------------------------------------- */ @@ -17,6 +17,7 @@ USEFORMNS("..\..\experts\repository\JclOtaExcDlgSystemFrame.pas", Jclotaexcdlgsystemframe, JclOtaExcDlgSystemPage); /* TFrame: File Type */ USEFORMNS("..\..\experts\repository\JclOtaExcDlgLogFrame.pas", Jclotaexcdlglogframe, JclOtaExcDlgLogPage); /* TFrame: File Type */ USEFORMNS("..\..\experts\repository\JclOtaExcDlgTraceFrame.pas", Jclotaexcdlgtraceframe, JclOtaExcDlgTracePage); /* TFrame: File Type */ +USEFORMNS("..\..\experts\repository\JclOtaExcDlgThreadFrame.pas", Jclotaexcdlgthreadframe, JclOtaExcDlgThreadPage); /* TFrame: File Type */ USEFORMNS("..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas", Jclotaexcdlgignoreframe, JclOtaExcDlgIgnoredPage); /* TFrame: File Type */ //--------------------------------------------------------------------------- #pragma package(smart_init) Modified: trunk/jcl/packages/c6/JclRepositoryExpert.dpk =================================================================== --- trunk/jcl/packages/c6/JclRepositoryExpert.dpk 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/c6/JclRepositoryExpert.dpk 2009-07-23 13:08:15 UTC (rev 2876) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 23-07-2009 11:30:33 UTC + Last generated: 23-07-2009 12:59:40 UTC ----------------------------------------------------------------------------- } @@ -55,6 +55,7 @@ JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, + JclOtaExcDlgThreadFrame in '..\..\experts\repository\JclOtaExcDlgThreadFrame.pas' {JclOtaExcDlgThreadPage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnoredPage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' ; Modified: trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpf =================================================================== --- trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpf 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpf 2009-07-23 13:08:15 UTC (rev 2876) @@ -7,6 +7,7 @@ USEUNIT("..\..\experts\repository\JclOtaExcDlgSystemFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgLogFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgTraceFrame.pas"); +USEUNIT("..\..\experts\repository\JclOtaExcDlgThreadFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaRepositoryReg.pas"); USEDEF("JclRepositoryExpertDLL.def"); Modified: trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpr =================================================================== --- trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpr 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpr 2009-07-23 13:08:15 UTC (rev 2876) @@ -5,7 +5,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpertDLL-L.xml) - Last generated: 23-07-2009 11:30:32 UTC + Last generated: 23-07-2009 12:59:39 UTC ***************************************************************************** --> <PROJECT> @@ -23,6 +23,7 @@ ..\..\lib\c6\JclOtaExcDlgSystemFrame.obj ..\..\lib\c6\JclOtaExcDlgLogFrame.obj ..\..\lib\c6\JclOtaExcDlgTraceFrame.obj + ..\..\lib\c6\JclOtaExcDlgThreadFrame.obj ..\..\lib\c6\JclOtaExcDlgIgnoreFrame.obj ..\..\lib\c6\JclOtaRepositoryReg.obj "/> @@ -37,6 +38,7 @@ ..\..\experts\repository\JclOtaExcDlgSystemFrame.dfm ..\..\experts\repository\JclOtaExcDlgLogFrame.dfm ..\..\experts\repository\JclOtaExcDlgTraceFrame.dfm + ..\..\experts\repository\JclOtaExcDlgThreadFrame.dfm ..\..\experts\repository\JclOtaExcDlgIgnoreFrame.dfm "/> <LIBFILES value=" @@ -98,6 +100,7 @@ <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgSystemFrame.pas" FORMNAME="JclOtaExcDlgSystemPage" UNITNAME="JclOtaExcDlgSystemFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgLogFrame.pas" FORMNAME="JclOtaExcDlgLogPage" UNITNAME="JclOtaExcDlgLogFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgTraceFrame.pas" FORMNAME="JclOtaExcDlgTracePage" UNITNAME="JclOtaExcDlgTraceFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgThreadFrame.pas" FORMNAME="JclOtaExcDlgThreadPage" UNITNAME="JclOtaExcDlgThreadFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas" FORMNAME="JclOtaExcDlgIgnorePage" UNITNAME="JclOtaExcDlgIgnoreFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaRepositoryReg.pas" FORMNAME="" UNITNAME="JclOtaRepositoryReg" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> </FILELIST> Modified: trunk/jcl/packages/c6/JclRepositoryExpertDLL.cpp =================================================================== --- trunk/jcl/packages/c6/JclRepositoryExpertDLL.cpp 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/c6/JclRepositoryExpertDLL.cpp 2009-07-23 13:08:15 UTC (rev 2876) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpertDLL-L.xml) - Last generated: 23-07-2009 11:30:33 UTC + Last generated: 23-07-2009 12:59:40 UTC ----------------------------------------------------------------------------- */ @@ -17,6 +17,7 @@ USEFORMNS("..\..\experts\repository\JclOtaExcDlgSystemFrame.pas", Jclotaexcdlgsystemframe, JclOtaExcDlgSystemPage); /* TFrame: File Type */ USEFORMNS("..\..\experts\repository\JclOtaExcDlgLogFrame.pas", Jclotaexcdlglogframe, JclOtaExcDlgLogPage); /* TFrame: File Type */ USEFORMNS("..\..\experts\repository\JclOtaExcDlgTraceFrame.pas", Jclotaexcdlgtraceframe, JclOtaExcDlgTracePage); /* TFrame: File Type */ +USEFORMNS("..\..\experts\repository\JclOtaExcDlgThreadFrame.pas", Jclotaexcdlgthreadframe, JclOtaExcDlgThreadPage); /* TFrame: File Type */ USEFORMNS("..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas", Jclotaexcdlgignoreframe, JclOtaExcDlgIgnorePage); /* TFrame: File Type */ //--------------------------------------------------------------------------- #pragma package(smart_init) Modified: trunk/jcl/packages/d10/JclRepositoryExpert.dpk =================================================================== --- trunk/jcl/packages/d10/JclRepositoryExpert.dpk 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/d10/JclRepositoryExpert.dpk 2009-07-23 13:08:15 UTC (rev 2876) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 23-07-2009 11:30:40 UTC + Last generated: 23-07-2009 12:59:51 UTC ----------------------------------------------------------------------------- } @@ -56,6 +56,7 @@ JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, + JclOtaExcDlgThreadFrame in '..\..\experts\repository\JclOtaExcDlgThreadFrame.pas' {JclOtaExcDlgThreadPage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnoredPage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' ; Modified: trunk/jcl/packages/d10/JclRepositoryExpertDLL.dpr =================================================================== --- trunk/jcl/packages/d10/JclRepositoryExpertDLL.dpr 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/d10/JclRepositoryExpertDLL.dpr 2009-07-23 13:08:15 UTC (rev 2876) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpertDLL-L.xml) - Last generated: 23-07-2009 11:30:40 UTC + Last generated: 23-07-2009 12:59:52 UTC ----------------------------------------------------------------------------- } @@ -48,6 +48,7 @@ JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, + JclOtaExcDlgThreadFrame in '..\..\experts\repository\JclOtaExcDlgThreadFrame.pas' {JclOtaExcDlgThreadPage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnorePage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' ; Modified: trunk/jcl/packages/d11/JclRepositoryExpert.dpk =================================================================== --- trunk/jcl/packages/d11/JclRepositoryExpert.dpk 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/d11/JclRepositoryExpert.dpk 2009-07-23 13:08:15 UTC (rev 2876) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 23-07-2009 11:30:41 UTC + Last generated: 23-07-2009 12:59:53 UTC ----------------------------------------------------------------------------- } @@ -56,6 +56,7 @@ JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, + JclOtaExcDlgThreadFrame in '..\..\experts\repository\JclOtaExcDlgThreadFrame.pas' {JclOtaExcDlgThreadPage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnoredPage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' ; Modified: trunk/jcl/packages/d11/JclRepositoryExpert.dproj =================================================================== --- trunk/jcl/packages/d11/JclRepositoryExpert.dproj 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/d11/JclRepositoryExpert.dproj 2009-07-23 13:08:15 UTC (rev 2876) @@ -99,6 +99,7 @@ <DCCReference Include="..\..\experts\repository\JclOtaExcDlgSystemFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgLogFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgTraceFrame.pas" /> + <DCCReference Include="..\..\experts\repository\JclOtaExcDlgThreadFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaRepositoryReg.pas" /> </ItemGroup> Modified: trunk/jcl/packages/d11/JclRepositoryExpertDLL.dpr =================================================================== --- trunk/jcl/packages/d11/JclRepositoryExpertDLL.dpr 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/d11/JclRepositoryExpertDLL.dpr 2009-07-23 13:08:15 UTC (rev 2876) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpertDLL-L.xml) - Last generated: 23-07-2009 11:30:41 UTC + Last generated: 23-07-2009 12:59:54 UTC ----------------------------------------------------------------------------- } @@ -48,6 +48,7 @@ JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, + JclOtaExcDlgThreadFrame in '..\..\experts\repository\JclOtaExcDlgThreadFrame.pas' {JclOtaExcDlgThreadPage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnorePage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' ; Modified: trunk/jcl/packages/d11/JclRepositoryExpertDLL.dproj =================================================================== --- trunk/jcl/packages/d11/JclRepositoryExpertDLL.dproj 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/d11/JclRepositoryExpertDLL.dproj 2009-07-23 13:08:15 UTC (rev 2876) @@ -99,6 +99,7 @@ <DCCReference Include="..\..\experts\repository\JclOtaExcDlgSystemFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgLogFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgTraceFrame.pas" /> + <DCCReference Include="..\..\experts\repository\JclOtaExcDlgThreadFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaRepositoryReg.pas" /> </ItemGroup> Modified: trunk/jcl/packages/d12/JclRepositoryExpert.dpk =================================================================== --- trunk/jcl/packages/d12/JclRepositoryExpert.dpk 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/d12/JclRepositoryExpert.dpk 2009-07-23 13:08:15 UTC (rev 2876) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 23-07-2009 11:30:42 UTC + Last generated: 23-07-2009 12:59:57 UTC ----------------------------------------------------------------------------- } @@ -56,6 +56,7 @@ JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, + JclOtaExcDlgThreadFrame in '..\..\experts\repository\JclOtaExcDlgThreadFrame.pas' {JclOtaExcDlgThreadPage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnoredPage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' ; Modified: trunk/jcl/packages/d12/JclRepositoryExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclRepositoryExpert.dproj 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/d12/JclRepositoryExpert.dproj 2009-07-23 13:08:15 UTC (rev 2876) @@ -74,6 +74,7 @@ <DCCReference Include="..\..\experts\repository\JclOtaExcDlgSystemFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgLogFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgTraceFrame.pas" /> + <DCCReference Include="..\..\experts\repository\JclOtaExcDlgThreadFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaRepositoryReg.pas" /> <BuildConfiguration Include="Base"> Modified: trunk/jcl/packages/d12/JclRepositoryExpertDLL.dpr =================================================================== --- trunk/jcl/packages/d12/JclRepositoryExpertDLL.dpr 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/d12/JclRepositoryExpertDLL.dpr 2009-07-23 13:08:15 UTC (rev 2876) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpertDLL-L.xml) - Last generated: 23-07-2009 11:30:42 UTC + Last generated: 23-07-2009 12:59:58 UTC ----------------------------------------------------------------------------- } @@ -48,6 +48,7 @@ JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, + JclOtaExcDlgThreadFrame in '..\..\experts\repository\JclOtaExcDlgThreadFrame.pas' {JclOtaExcDlgThreadPage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnorePage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' ; Modified: trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj =================================================================== --- trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj 2009-07-23 13:08:15 UTC (rev 2876) @@ -74,6 +74,7 @@ <DCCReference Include="..\..\experts\repository\JclOtaExcDlgSystemFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgLogFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgTraceFrame.pas" /> + <DCCReference Include="..\..\experts\repository\JclOtaExcDlgThreadFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaRepositoryReg.pas" /> <BuildConfiguration Include="Base"> Modified: trunk/jcl/packages/d5/JclRepositoryExpertD50.dpk =================================================================== --- trunk/jcl/packages/d5/JclRepositoryExpertD50.dpk 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/d5/JclRepositoryExpertD50.dpk 2009-07-23 13:08:15 UTC (rev 2876) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 23-07-2009 11:30:34 UTC + Last generated: 23-07-2009 12:59:41 UTC ----------------------------------------------------------------------------- } @@ -53,6 +53,7 @@ JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, + JclOtaExcDlgThreadFrame in '..\..\experts\repository\JclOtaExcDlgThreadFrame.pas' {JclOtaExcDlgThreadPage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnoredPage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' ; Modified: trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.dpr =================================================================== --- trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.dpr 2009-07-23 12:03:21 UTC (rev 2875) +++ trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.dpr 2009-07-23 13:08:15 UTC (rev 2876) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpertDLL-L.xml) - Last generated: 23-07-2009 11:30:34 UTC + Last generated: 23... [truncated message content] |
From: <ou...@us...> - 2009-07-23 12:03:24
|
Revision: 2875 http://jcl.svn.sourceforge.net/jcl/?rev=2875&view=rev Author: outchy Date: 2009-07-23 12:03:21 +0000 (Thu, 23 Jul 2009) Log Message: ----------- new exception dialog repository option to disable exception tracking when a debugger is attached. Modified Paths: -------------- trunk/jcl/experts/common/JclOtaResources.pas trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.dfm trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas Modified: trunk/jcl/experts/common/JclOtaResources.pas =================================================================== --- trunk/jcl/experts/common/JclOtaResources.pas 2009-07-23 11:51:31 UTC (rev 2874) +++ trunk/jcl/experts/common/JclOtaResources.pas 2009-07-23 12:03:21 UTC (rev 2875) @@ -158,6 +158,7 @@ RsOSInfo = '&Operating system informations'; RsActiveControls = '&List of active controls'; RsCatchMainThread = '&Catch only exceptions of main thread'; + RsDisableIfDebuggerAttached = 'Disable if the debu&gger is attached'; //=== JclOtaExcDlgLogFrame.pas =============================================== resourcestring Modified: trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas 2009-07-23 11:51:31 UTC (rev 2874) +++ trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas 2009-07-23 12:03:21 UTC (rev 2875) @@ -763,6 +763,7 @@ JclDebugThreadList.OnSyncException := T%FORMNAME%.ExceptionThreadHandler; JclStartExceptionTracking; %if CatchMainThread JclStackTrackingOptions := JclStackTrackingOptions + [stMainThreadOnly];%endif +%if DisableIfDebuggerAttached JclStackTrackingOptions := JclStackTrackingOptions + [stDisableIfDebuggerAttached];%endif %if HookDll if HookTApplicationHandleException then JclTrackExceptionsFromLibraries;%endif end; Modified: trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas 2009-07-23 11:51:31 UTC (rev 2874) +++ trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas 2009-07-23 12:03:21 UTC (rev 2875) @@ -72,6 +72,7 @@ FUnitVersioning: Boolean; FOSInfo: Boolean; FActiveControls: Boolean; + FDisableIfDebuggerAttached: Boolean; FStackList: Boolean; FAutoScrollBars: Boolean; FCatchMainThread: Boolean; @@ -107,6 +108,7 @@ property UnitVersioning: Boolean read FUnitVersioning write FUnitVersioning; property ActiveControls: Boolean read FActiveControls write FActiveControls; property CatchMainThread: Boolean read FCatchMainThread write FCatchMainThread; + property DisableIfDebuggerAttached: Boolean read FDisableIfDebuggerAttached write FDisableIfDebuggerAttached; // log options property LogFile: Boolean read FLogFile write FLogFile; property LogFileName: string read FLogFileName write FLogFileName; @@ -181,6 +183,7 @@ FUnitVersioning := True; FOSInfo := True; FActiveControls := True; + FDisableIfDebuggerAttached := False; FStackList := True; FAutoScrollBars := True; FCatchMainThread := False; Modified: trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.dfm =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.dfm 2009-07-23 11:51:31 UTC (rev 2874) +++ trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.dfm 2009-07-23 12:03:21 UTC (rev 2875) @@ -56,4 +56,12 @@ Caption = 'RsUnitVersioning' TabOrder = 4 end + object CheckBoxDisableIfDebuggerAttached: TCheckBox + Left = 120 + Top = 242 + Width = 265 + Height = 17 + Caption = 'RsDisableIfDebuggerAttached' + TabOrder = 7 + end end Modified: trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas 2009-07-23 11:51:31 UTC (rev 2874) +++ trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas 2009-07-23 12:03:21 UTC (rev 2875) @@ -49,6 +49,7 @@ CheckBoxActiveControls: TCheckBox; CheckBoxCatchMainThread: TCheckBox; CheckBoxUnitVersioning: TCheckBox; + CheckBoxDisableIfDebuggerAttached: TCheckBox; procedure CheckBoxModuleListClick(Sender: TObject); private FParams: TJclOtaExcDlgParams; @@ -99,6 +100,7 @@ CheckBoxOSInfo.Caption := RsOSInfo; CheckBoxActiveControls.Caption := RsActiveControls; CheckBoxCatchMainThread.Caption := RsCatchMainThread; + CheckBoxDisableIfDebuggerAttached.Caption := RsDisableIfDebuggerAttached; end; procedure TJclOtaExcDlgSystemPage.PageActivated(Direction: TJclWizardDirection); @@ -112,6 +114,7 @@ CheckBoxOSInfo.Checked := Params.OSInfo; CheckBoxActiveControls.Checked := Params.ActiveControls; CheckBoxCatchMainThread.Checked := Params.CatchMainThread; + CheckBoxDisableIfDebuggerAttached.Checked := Params.DisableIfDebuggerAttached; end; procedure TJclOtaExcDlgSystemPage.PageDesactivated( @@ -126,6 +129,7 @@ Params.OSInfo := CheckBoxOSInfo.Checked; Params.ActiveControls := CheckBoxActiveControls.Checked; Params.CatchMainThread := CheckBoxCatchMainThread.Checked; + Params.DisableIfDebuggerAttached := CheckBoxDisableIfDebuggerAttached.Checked; end; {$IFDEF UNITVERSIONING} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-23 11:51:37
|
Revision: 2874 http://jcl.svn.sourceforge.net/jcl/?rev=2874&view=rev Author: outchy Date: 2009-07-23 11:51:31 +0000 (Thu, 23 Jul 2009) Log Message: ----------- new log file options for the exception dialog and its creation wizard: the log file can now be automatically saved to some predefined directories or to any custom log file. Modified Paths: -------------- trunk/jcl/experts/common/JclOtaResources.pas trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.dfm trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.dfm trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas trunk/jcl/experts/repository/JclOtaExcDlgWizard.pas trunk/jcl/experts/repository/JclOtaTemplates.pas trunk/jcl/packages/c5/JclRepositoryExpertC50.bpk trunk/jcl/packages/c5/JclRepositoryExpertC50.cpp trunk/jcl/packages/c5/JclRepositoryExpertC50.dpk trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpf trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpr trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.cpp trunk/jcl/packages/c6/JclRepositoryExpert.bpk trunk/jcl/packages/c6/JclRepositoryExpert.cpp trunk/jcl/packages/c6/JclRepositoryExpert.dpk trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpf trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpr trunk/jcl/packages/c6/JclRepositoryExpertDLL.cpp trunk/jcl/packages/d10/JclRepositoryExpert.dpk trunk/jcl/packages/d10/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d11/JclRepositoryExpert.dpk trunk/jcl/packages/d11/JclRepositoryExpert.dproj trunk/jcl/packages/d11/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d11/JclRepositoryExpertDLL.dproj trunk/jcl/packages/d12/JclRepositoryExpert.dpk trunk/jcl/packages/d12/JclRepositoryExpert.dproj trunk/jcl/packages/d12/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj trunk/jcl/packages/d5/JclRepositoryExpertD50.dpk trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.dpr trunk/jcl/packages/d6/JclRepositoryExpert.dpk trunk/jcl/packages/d6/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d7/JclRepositoryExpert.dpk trunk/jcl/packages/d7/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d9/JclRepositoryExpert.dpk trunk/jcl/packages/d9/JclRepositoryExpertDLL.dpr trunk/jcl/packages/xml/JclRepositoryExpert-D.xml trunk/jcl/packages/xml/JclRepositoryExpertDLL-L.xml Added Paths: ----------- trunk/jcl/experts/repository/JclOtaExcDlgLogFrame.dfm trunk/jcl/experts/repository/JclOtaExcDlgLogFrame.pas Modified: trunk/jcl/experts/common/JclOtaResources.pas =================================================================== --- trunk/jcl/experts/common/JclOtaResources.pas 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/experts/common/JclOtaResources.pas 2009-07-23 11:51:31 UTC (rev 2874) @@ -152,7 +152,6 @@ resourcestring RsExcDlgSystemOptions = 'system options'; RsDelayedStackTrace = '&Delayed stack traces (faster)'; - RsLogTrace = '&Add crash data to log file'; RsHookDll = '&Hook DLL'; RsModuleList = '&Module list'; RsUnitVersioning = '&Unit versioning'; @@ -160,6 +159,15 @@ RsActiveControls = '&List of active controls'; RsCatchMainThread = '&Catch only exceptions of main thread'; +//=== JclOtaExcDlgLogFrame.pas =============================================== +resourcestring + RsExcDlgLogOptions = 'log options'; + RsLogTrace = '&Add crash data to log file'; + RsLogInWorkingDirectory = 'Autosave in &working directory'; + RsLogInApplicationDirectory = 'Autosave in &application directory (not recommended)'; + RsLogInDesktopDirectory = 'Autosave in &desktop directory'; + RsLogSaveDialog = 'Add a save &button on dialog'; + //=== JclOtaExcDlgTraceFrame.pas ============================================= resourcestring RsExcDlgTraceOptions = 'trace options'; Modified: trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.dfm =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.dfm 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.dfm 2009-07-23 11:51:31 UTC (rev 2874) @@ -5,7 +5,7 @@ BorderIcons = [biSystemMenu] %ifnot SizeableDialog BorderStyle = bsDialog%endif Caption = '%FORMNAME%' - ClientHeight = 255 + ClientHeight = 283 ClientWidth = 483 Color = clBtnFace Constraints.MinWidth = 200 @@ -28,7 +28,7 @@ TextHeight = 13 object BevelDetails: TBevel Left = 3 - Top = 91 + Top = 119 Width = 473 Height = 9 Anchors = [akLeft, akTop, akRight] @@ -46,11 +46,23 @@ TabOrder = 0 OnClick = SendBtnClick end%endif +%if LogSaveDialog + object SaveBtn: TButton + Left = 403 + Top = 60 + Width = 75 + Height = 25 + Hint = 'Save bug report' + Anchors = [akTop, akRight] + Caption = '&Save' + TabOrder = 0 + OnClick = SaveBtnClick + end%endif object TextMemo: TMemo Left = 56 Top = 8 Width = 332 - Height = 75 + Height = 105 Hint = 'Use Ctrl+C to copy the report to the clipboard' Anchors = [akLeft, akTop, akRight] BorderStyle = bsNone @@ -74,7 +86,7 @@ end object DetailsBtn: TButton Left = 403 - Top = 60 + Top = 88 Width = 75 Height = 25 Hint = 'Show or hide additional information|' @@ -86,7 +98,7 @@ end object DetailsMemo: TMemo Left = 4 - Top = 101 + Top = 129 Width = 472 Height = 147 Anchors = [akLeft, akTop, akRight, akBottom] Modified: trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas 2009-07-23 11:51:31 UTC (rev 2874) @@ -38,12 +38,14 @@ type T%FORMNAME% = class(%ANCESTORNAME%) %if SendEMail SendBtn: TButton;%endif +%if LogSaveDialog SaveBtn: TButton;%endif TextMemo: TMemo; OkBtn: TButton; DetailsBtn: TButton; BevelDetails: TBevel; DetailsMemo: TMemo; %if SendEMail procedure SendBtnClick(Sender: TObject);%endif +%if LogSaveDialog procedure SaveBtnClick(Sender: TObject);%endif procedure FormPaint(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormShow(Sender: TObject); @@ -58,8 +60,7 @@ %if ActiveControls FLastActiveControl: TWinControl;%endif FNonDetailsHeight: Integer; FFullHeight: Integer; -%if LogFile FSimpleLog: TJclSimpleLog; - procedure ReportToLog;%endif +%if LogFile procedure SaveToLogFile(const FileName: TFileName);%endif function GetReportAsText: string; procedure SetDetailsVisible(const Value: Boolean); procedure UMCreateDetails(var Message: TMessage); message UM_CREATEDETAILS; @@ -80,7 +81,6 @@ property DetailsVisible: Boolean read FDetailsVisible write SetDetailsVisible; property ReportAsText: string read GetReportAsText; -%if LogFile property SimpleLog: TJclSimpleLog read FSimpleLog;%endif end; T%FORMNAME%Class = class of T%FORMNAME%; @@ -217,7 +217,7 @@ end; //============================================================================ -// Exception dialog with Send +// Exception dialog //============================================================================ var @@ -228,6 +228,7 @@ procedure T%FORMNAME%.AfterCreateDetails; begin %if SendEMail SendBtn.Enabled := True;%endif +%if LogSaveDialog SaveBtn.Enabled := True;%endif end; //---------------------------------------------------------------------------- @@ -235,6 +236,7 @@ procedure T%FORMNAME%.BeforeCreateDetails; begin %if SendEMail SendBtn.Enabled := False;%endif +%if LogSaveDialog SaveBtn.Enabled := False;%endif end; //---------------------------------------------------------------------------- @@ -251,8 +253,8 @@ with TJclEmail.Create do try ParentWnd := Application.Handle; - Recipients.Add(%StrValue EMailAddress); - Subject := %StrValue EMailSubject; + Recipients.Add('%StrValue EMailAddress'); + Subject := '%StrValue EMailSubject'; Body := AnsiString(ReportAsText); SaveTaskWindows; try @@ -265,6 +267,26 @@ end; end; %endif + +%if LogSaveDialog//---------------------------------------------------------------------------- + +procedure T%FORMNAME%.SaveBtnClick(Sender: TObject); +begin + with TSaveDialog.Create(Self) do + try + DefaultExt := '.log'; + FileName := %StrValue LogFileName; + Filter := 'Log Files (*.log)|*.log|All files (*.*)|*.*'; + Title := 'Save log as...'; + Options := [ofHideReadOnly,ofPathMustExist,ofNoReadOnlyReturn,ofEnableSizing,ofDontAddToRecent]; + if Execute then + SaveToLogFile(FileName); + finally + Free; + end; +end; +%endif + //---------------------------------------------------------------------------- procedure T%FORMNAME%.CopyReportToClipboard; @@ -280,7 +302,11 @@ DetailsMemo.Lines.BeginUpdate; try CreateReport; -%if LogFile ReportToLog;%endif +%if LogFile +%if AutoSaveWorkingDirectory SaveToLogFile(%StrValue LogFileName);%endif +%if AutoSaveApplicationDirectory SaveToLogFile(PathAddSeparator(ExtractFilePath(Application.ExeName)) + %StrValue LogFileName);%endif +%if AutoSaveDesktopDirectory SaveToLogFile(PathAddSeparator(GetDesktopFolder) + %StrValue LogFileName);%endif +%endif DetailsMemo.SelStart := 0; SendMessage(DetailsMemo.Handle, EM_SCROLLCARET, 0, 0); AfterCreateDetails; @@ -535,7 +561,6 @@ procedure T%FORMNAME%.FormCreate(Sender: TObject); begin -%if LogFile FSimpleLog := TJclSimpleLog.Create(%StrValue LogFileName);%endif FFullHeight := ClientHeight; DetailsVisible := False; Caption := Format(RsAppError, [Application.Title]); @@ -545,7 +570,7 @@ procedure T%FORMNAME%.FormDestroy(Sender: TObject); begin -%if LogFile FreeAndNil(FSimpleLog);%endif + end; //-------------------------------------------------------------------------------------------------- @@ -609,13 +634,17 @@ %if LogFile//-------------------------------------------------------------------------------------------------- -procedure T%FORMNAME%.ReportToLog; +procedure T%FORMNAME%.SaveToLogFile(const FileName: TFileName); +var + SimpleLog: TJclSimpleLog; begin - FSimpleLog.WriteStamp(ReportMaxColumns); + SimpleLog := TJclSimpleLog.Create(FileName); try - FSimpleLog.Write(ReportAsText); + SimpleLog.WriteStamp(ReportMaxColumns); + SimpleLog.Write(ReportAsText); + SimpleLog.CloseLog; finally - FSimpleLog.CloseLog; + SimpleLog.Free; end; end; %endif Copied: trunk/jcl/experts/repository/JclOtaExcDlgLogFrame.dfm (from rev 2872, trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.dfm) =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgLogFrame.dfm (rev 0) +++ trunk/jcl/experts/repository/JclOtaExcDlgLogFrame.dfm 2009-07-23 11:51:31 UTC (rev 2874) @@ -0,0 +1,57 @@ +inherited JclOtaExcDlgLogPage: TJclOtaExcDlgLogPage + object LabelLogFileName: TLabel + Left = 170 + Top = 59 + Width = 55 + Height = 13 + Caption = 'RsFileName' + end + object CheckBoxLogFile: TCheckBox + Left = 120 + Top = 25 + Width = 361 + Height = 17 + Caption = 'RsLogFile' + TabOrder = 0 + OnClick = CheckBoxLogFileClick + end + object EditLogFileName: TEdit + Left = 240 + Top = 56 + Width = 241 + Height = 21 + TabOrder = 1 + end + object CheckBoxLogInWorkingDirectory: TCheckBox + Left = 144 + Top = 96 + Width = 337 + Height = 17 + Caption = 'RsLogInWorkingDirectory' + TabOrder = 2 + end + object CheckBoxLogInApplicationDirectory: TCheckBox + Left = 144 + Top = 128 + Width = 337 + Height = 17 + Caption = 'RsLogInApplicationDirectory' + TabOrder = 3 + end + object CheckBoxLogInDesktopDirectory: TCheckBox + Left = 144 + Top = 160 + Width = 337 + Height = 17 + Caption = 'RsLogInDesktopDirectory' + TabOrder = 4 + end + object CheckBoxSaveDialog: TCheckBox + Left = 144 + Top = 192 + Width = 337 + Height = 17 + Caption = 'RsLogSaveDialog' + TabOrder = 5 + end +end Copied: trunk/jcl/experts/repository/JclOtaExcDlgLogFrame.pas (from rev 2872, trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas) =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgLogFrame.pas (rev 0) +++ trunk/jcl/experts/repository/JclOtaExcDlgLogFrame.pas 2009-07-23 11:51:31 UTC (rev 2874) @@ -0,0 +1,162 @@ +{**************************************************************************************************} +{ } +{ Project JEDI Code Library (JCL) } +{ } +{ The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); } +{ you may not use this file except in compliance with the License. You may obtain a copy of the } +{ License at http://www.mozilla.org/MPL/ } +{ } +{ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF } +{ ANY KIND, either express or implied. See the License for the specific language governing rights } +{ and limitations under the License. } +{ } +{ The Original Code is JclOtaExcDlgLogFrame.pas. } +{ } +{ The Initial Developer of the Original Code is Florent Ouchet } +{ <outchy att users dott sourceforge dott net> } +{ Portions created by Florent Ouchet are Copyright (C) of Florent Ouchet. All rights reserved. } +{ } +{ Contributors: } +{ } +{**************************************************************************************************} +{ } +{ Last modified: $Date:: $ } +{ Revision: $Rev:: $ } +{ Author: $Author:: $ } +{ } +{**************************************************************************************************} + +unit JclOtaExcDlgLogFrame; + +interface + +{$I jcl.inc} + +uses + Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, + {$IFDEF UNITVERSIONING} + JclUnitVersioning, + {$ENDIF UNITVERSIONING} + JclOtaExcDlgRepository, JclOtaWizardFrame; + +type + TJclOtaExcDlgLogPage = class(TJclWizardFrame) + CheckBoxLogFile: TCheckBox; + LabelLogFileName: TLabel; + EditLogFileName: TEdit; + CheckBoxLogInWorkingDirectory: TCheckBox; + CheckBoxLogInApplicationDirectory: TCheckBox; + CheckBoxLogInDesktopDirectory: TCheckBox; + CheckBoxSaveDialog: TCheckBox; + procedure CheckBoxLogFileClick(Sender: TObject); + private + FParams: TJclOtaExcDlgParams; + procedure UpdateLogControls; + protected + function GetSupportsNext: Boolean; override; + public + constructor Create(AOwner: TComponent; AParams: TJclOtaExcDlgParams); reintroduce; + + procedure PageActivated(Direction: TJclWizardDirection); override; + procedure PageDesactivated(Direction: TJclWizardDirection); override; + + property Params: TJclOtaExcDlgParams read FParams write FParams; + end; + +{$IFDEF UNITVERSIONING} +const + UnitVersioning: TUnitVersionInfo = ( + RCSfile: '$URL$'; + Revision: '$Revision$'; + Date: '$Date$'; + LogPath: 'JCL\experts\repository' + ); +{$ENDIF UNITVERSIONING} + +implementation + +{$R *.dfm} + +uses + JclOtaResources; + +//=== { TJclOtaExcDlgLogPage } =============================================== + +procedure TJclOtaExcDlgLogPage.CheckBoxLogFileClick(Sender: TObject); +begin + UpdateLogControls; +end; + +constructor TJclOtaExcDlgLogPage.Create(AOwner: TComponent; + AParams: TJclOtaExcDlgParams); +begin + FParams := AParams; + inherited Create(AOwner); + + Caption := RsExcDlgLogOptions; + CheckBoxLogFile.Caption := RsLogTrace; + LabelLogFileName.Caption := RsFileName; + CheckBoxLogInWorkingDirectory.Caption := RsLogInWorkingDirectory; + CheckBoxLogInApplicationDirectory.Caption := RsLogInApplicationDirectory; + CheckBoxLogInDesktopDirectory.Caption := RsLogInDesktopDirectory; + CheckBoxSaveDialog.Caption := RsLogSaveDialog; +end; + +function TJclOtaExcDlgLogPage.GetSupportsNext: Boolean; +begin + Result := (not CheckBoxLogFile.Checked) or (EditLogFileName.Text <> ''); +end; + +procedure TJclOtaExcDlgLogPage.PageActivated(Direction: TJclWizardDirection); +begin + inherited PageActivated(Direction); + + CheckBoxLogFile.Checked := Params.LogFile; + EditLogFileName.Text := Params.LogFileName; + CheckBoxLogInWorkingDirectory.Checked := Params.AutoSaveWorkingDirectory; + CheckBoxLogInApplicationDirectory.Checked := Params.AutoSaveApplicationDirectory; + CheckBoxLogInDesktopDirectory.Checked := Params.AutoSaveDesktopDirectory; + CheckBoxSaveDialog.Checked := Params.LogSaveDialog; + + UpdateLogControls; +end; + +procedure TJclOtaExcDlgLogPage.PageDesactivated( + Direction: TJclWizardDirection); +begin + inherited PageDesactivated(Direction); + + Params.LogFile := CheckBoxLogFile.Checked; + Params.LogFileName := EditLogFileName.Text; + Params.AutoSaveWorkingDirectory := CheckBoxLogInWorkingDirectory.Checked; + Params.AutoSaveApplicationDirectory := CheckBoxLogInApplicationDirectory.Checked; + Params.AutoSaveDesktopDirectory := CheckBoxLogInDesktopDirectory.Checked; + Params.LogSaveDialog := CheckBoxSaveDialog.Checked; +end; + +procedure TJclOtaExcDlgLogPage.UpdateLogControls; +var + AEnabled: Boolean; +begin + AEnabled := CheckBoxLogFile.Checked; + EditLogFileName.Enabled := AEnabled; + if AEnabled then + EditLogFileName.Color := clWindow + else + EditLogFileName.ParentColor := True; + CheckBoxLogInWorkingDirectory.Enabled := AEnabled; + CheckBoxLogInApplicationDirectory.Enabled := AEnabled; + CheckBoxLogInDesktopDirectory.Enabled := AEnabled; + CheckBoxSaveDialog.Enabled := AEnabled; +end; + +{$IFDEF UNITVERSIONING} +initialization + RegisterUnitVersion(HInstance, UnitVersioning); + +finalization + UnregisterUnitVersion(HInstance); +{$ENDIF UNITVERSIONING} + +end. Modified: trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas 2009-07-23 11:51:31 UTC (rev 2874) @@ -52,6 +52,10 @@ FFormName: string; FLogFile: Boolean; FLogFileName: string; + FAutoSaveWorkingDirectory: Boolean; + FAutoSaveApplicationDirectory: Boolean; + FAutoSaveDesktopDirectory: Boolean; + FLogSaveDialog: Boolean; FAddressOffset: Boolean; FVirtualAddress: Boolean; FActivePersonality: TJclBorPersonality; @@ -98,13 +102,18 @@ // system options property DelayedTrace: Boolean read FDelayedTrace write FDelayedTrace; property HookDll: Boolean read FHookDll write FHookDll; - property LogFile: Boolean read FLogFile write FLogFile; - property LogFileName: string read FLogFileName write FLogFileName; property OSInfo: Boolean read FOSInfo write FOSInfo; property ModuleList: Boolean read FModuleList write FModuleList; property UnitVersioning: Boolean read FUnitVersioning write FUnitVersioning; property ActiveControls: Boolean read FActiveControls write FActiveControls; property CatchMainThread: Boolean read FCatchMainThread write FCatchMainThread; + // log options + property LogFile: Boolean read FLogFile write FLogFile; + property LogFileName: string read FLogFileName write FLogFileName; + property AutoSaveWorkingDirectory: Boolean read FAutoSaveWorkingDirectory write FAutoSaveWorkingDirectory; + property AutoSaveApplicationDirectory: Boolean read FAutoSaveApplicationDirectory write FAutoSaveApplicationDirectory; + property AutoSaveDesktopDirectory: Boolean read FAutoSaveDesktopDirectory write FAutoSaveDesktopDirectory; + property LogSaveDialog: Boolean read FLogSaveDialog write FLogSaveDialog; // ignored exceptions property TraceAllExceptions: Boolean read FTraceAllExceptions write FTraceAllExceptions; @@ -153,7 +162,11 @@ FFormName := 'ExceptionDialog'; FFormAncestor := TForm.ClassName; FLogFile := False; - FLogFileName := ''; + FLogFileName := 'ExtractFileName(Application.ExeName) + ''-exception-'' + FormatDateTime(''yyyy-mm-dd'', Date) + ''.log'''; + FAutoSaveWorkingDirectory := False; + FAutoSaveApplicationDirectory := False; + FAutoSaveDesktopDirectory := False; + FLogSaveDialog := False; FAddressOffset := True; FVirtualAddress := False; FActivePersonality := bpUnknown; Modified: trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.dfm =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.dfm 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.dfm 2009-07-23 11:51:31 UTC (rev 2874) @@ -1,11 +1,4 @@ inherited JclOtaExcDlgSystemPage: TJclOtaExcDlgSystemPage - object LabelLogFileName: TLabel - Left = 170 - Top = 139 - Width = 55 - Height = 13 - Caption = 'RsFileName' - end object CheckBoxDelayed: TCheckBox Left = 120 Top = 18 @@ -16,56 +9,40 @@ end object CheckBoxHookDll: TCheckBox Left = 120 - Top = 49 + Top = 50 Width = 265 Height = 17 Caption = 'RsHookDll' TabOrder = 1 end - object CheckBoxLogFile: TCheckBox - Left = 120 - Top = 113 - Width = 265 - Height = 17 - Caption = 'RsLogFile' - TabOrder = 3 - OnClick = CheckBoxLogFileClick - end - object EditLogFileName: TEdit - Left = 240 - Top = 136 - Width = 145 - Height = 21 - TabOrder = 4 - end object CheckBoxModuleList: TCheckBox Left = 120 - Top = 176 + Top = 114 Width = 265 Height = 17 Caption = 'RsModuleList' - TabOrder = 5 + TabOrder = 3 OnClick = CheckBoxModuleListClick end object CheckBoxOSInfo: TCheckBox Left = 120 - Top = 232 + Top = 178 Width = 265 Height = 17 Caption = 'RsOSInfo' - TabOrder = 7 + TabOrder = 5 end object CheckBoxActiveControls: TCheckBox Left = 120 - Top = 264 + Top = 210 Width = 265 Height = 17 Caption = 'RsActiveControls' - TabOrder = 8 + TabOrder = 6 end object CheckBoxCatchMainThread: TCheckBox Left = 120 - Top = 81 + Top = 82 Width = 265 Height = 17 Caption = 'RsCatchMainThread' @@ -73,10 +50,10 @@ end object CheckBoxUnitVersioning: TCheckBox Left = 152 - Top = 199 + Top = 146 Width = 233 Height = 17 Caption = 'RsUnitVersioning' - TabOrder = 6 + TabOrder = 4 end end Modified: trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas 2009-07-23 11:51:31 UTC (rev 2874) @@ -44,21 +44,14 @@ TJclOtaExcDlgSystemPage = class(TJclWizardFrame) CheckBoxDelayed: TCheckBox; CheckBoxHookDll: TCheckBox; - CheckBoxLogFile: TCheckBox; - LabelLogFileName: TLabel; - EditLogFileName: TEdit; CheckBoxModuleList: TCheckBox; CheckBoxOSInfo: TCheckBox; CheckBoxActiveControls: TCheckBox; CheckBoxCatchMainThread: TCheckBox; CheckBoxUnitVersioning: TCheckBox; - procedure CheckBoxLogFileClick(Sender: TObject); procedure CheckBoxModuleListClick(Sender: TObject); private FParams: TJclOtaExcDlgParams; - procedure UpdateLogEdits; - protected - function GetSupportsNext: Boolean; override; public constructor Create(AOwner: TComponent; AParams: TJclOtaExcDlgParams); reintroduce; @@ -87,11 +80,6 @@ //=== { TJclOtaExcDlgSystemPage } ============================================ -procedure TJclOtaExcDlgSystemPage.CheckBoxLogFileClick(Sender: TObject); -begin - UpdateLogEdits; -end; - procedure TJclOtaExcDlgSystemPage.CheckBoxModuleListClick(Sender: TObject); begin CheckBoxUnitVersioning.Enabled := CheckBoxModuleList.Checked; @@ -106,8 +94,6 @@ Caption := RsExcDlgSystemOptions; CheckBoxDelayed.Caption := RsDelayedStackTrace; CheckBoxHookDll.Caption := RsHookDll; - CheckBoxLogFile.Caption := RsLogTrace; - LabelLogFileName.Caption := RsFileName; CheckBoxModuleList.Caption := RsModuleList; CheckBoxUnitVersioning.Caption := RsUnitVersioning; CheckBoxOSInfo.Caption := RsOSInfo; @@ -115,26 +101,17 @@ CheckBoxCatchMainThread.Caption := RsCatchMainThread; end; -function TJclOtaExcDlgSystemPage.GetSupportsNext: Boolean; -begin - Result := (not CheckBoxLogFile.Checked) or (EditLogFileName.Text <> ''); -end; - procedure TJclOtaExcDlgSystemPage.PageActivated(Direction: TJclWizardDirection); begin inherited PageActivated(Direction); CheckBoxDelayed.Checked := Params.DelayedTrace; CheckBoxHookDll.Checked := Params.HookDll; - CheckBoxLogFile.Checked := Params.LogFile; - EditLogFileName.Text := Params.LogFileName; CheckBoxModuleList.Checked := Params.ModuleList; CheckBoxUnitVersioning.Checked := Params.UnitVersioning; CheckBoxOSInfo.Checked := Params.OSInfo; CheckBoxActiveControls.Checked := Params.ActiveControls; CheckBoxCatchMainThread.Checked := Params.CatchMainThread; - - UpdateLogEdits; end; procedure TJclOtaExcDlgSystemPage.PageDesactivated( @@ -144,8 +121,6 @@ Params.DelayedTrace := CheckBoxDelayed.Checked; Params.HookDll := CheckBoxHookDll.Checked; - Params.LogFile := CheckBoxLogFile.Checked; - Params.LogFileName := EditLogFileName.Text; Params.ModuleList := CheckBoxModuleList.Checked; Params.UnitVersioning := CheckBoxUnitVersioning.Checked; Params.OSInfo := CheckBoxOSInfo.Checked; @@ -153,20 +128,6 @@ Params.CatchMainThread := CheckBoxCatchMainThread.Checked; end; -procedure TJclOtaExcDlgSystemPage.UpdateLogEdits; -begin - if CheckBoxLogFile.Checked then - begin - EditLogFileName.Enabled := True; - EditLogFileName.Color := clWindow; - end - else - begin - EditLogFileName.Enabled := False; - EditLogFileName.ParentColor := True; - end; -end; - {$IFDEF UNITVERSIONING} initialization RegisterUnitVersion(HInstance, UnitVersioning); Modified: trunk/jcl/experts/repository/JclOtaExcDlgWizard.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgWizard.pas 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/experts/repository/JclOtaExcDlgWizard.pas 2009-07-23 11:51:31 UTC (rev 2874) @@ -70,7 +70,8 @@ uses JclOtaResources, JclOtaExcDlgFileFrame, JclOtaExcDlgFormFrame, - JclOtaExcDlgSystemFrame, JclOtaExcDlgTraceFrame, JclOtaExcDlgIgnoreFrame; + JclOtaExcDlgSystemFrame, JclOtaExcDlgLogFrame, + JclOtaExcDlgTraceFrame, JclOtaExcDlgIgnoreFrame; function ExcDlgWizard(var AParams: TJclOtaExcDlgParams): Boolean; var @@ -115,6 +116,7 @@ AddPage(TJclOtaExcDlgFilePage.Create(Self, Params)); AddPage(TJclOtaExcDlgFormPage.Create(Self, Params)); AddPage(TJclOtaExcDlgSystemPage.Create(Self, Params)); + AddPage(TJclOtaExcDlgLogPage.Create(Self, Params)); AddPage(TJclOtaExcDlgIgnorePage.Create(Self, Params)); AddPage(TJclOtaExcDlgTracePage.Create(Self, Params)); end; Modified: trunk/jcl/experts/repository/JclOtaTemplates.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaTemplates.pas 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/experts/repository/JclOtaTemplates.pas 2009-07-23 11:51:31 UTC (rev 2874) @@ -212,18 +212,6 @@ if IfCount = 0 then begin StrValue := Params.GetStrValue(Symbol); - case Params.Language of - bpDelphi32: - begin - StrValue := StringReplace(StrValue, NativeSingleQuote, NativeSingleQuote + NativeSingleQuote, [rfReplaceAll]); - StrValue := NativeSingleQuote + StrValue + NativeSingleQuote; - end; - bpBCBuilder32: - begin - StrValue := StringReplace(StrValue, NativeDoubleQuote, NativeBackslash + NativeDoubleQuote, [rfReplaceAll]); - StrValue := NativeDoubleQuote + StrValue + NativeDoubleQuote; - end; - end; CopyStr(Result, IndexOutput, CharCountOut, StrValue, 1, Length(StrValue)); end; end Modified: trunk/jcl/packages/c5/JclRepositoryExpertC50.bpk =================================================================== --- trunk/jcl/packages/c5/JclRepositoryExpertC50.bpk 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/c5/JclRepositoryExpertC50.bpk 2009-07-23 11:51:31 UTC (rev 2874) @@ -5,7 +5,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 14-03-2009 14:35:13 UTC + Last generated: 23-07-2009 11:30:29 UTC ***************************************************************************** --> <PROJECT> @@ -21,6 +21,7 @@ ..\..\lib\c5\JclOtaExcDlgFileFrame.obj ..\..\lib\c5\JclOtaExcDlgFormFrame.obj ..\..\lib\c5\JclOtaExcDlgSystemFrame.obj + ..\..\lib\c5\JclOtaExcDlgLogFrame.obj ..\..\lib\c5\JclOtaExcDlgTraceFrame.obj ..\..\lib\c5\JclOtaExcDlgIgnoreFrame.obj ..\..\lib\c5\JclOtaRepositoryReg.obj @@ -34,6 +35,7 @@ ..\..\experts\repository\JclOtaExcDlgFileFrame.dfm ..\..\experts\repository\JclOtaExcDlgFormFrame.dfm ..\..\experts\repository\JclOtaExcDlgSystemFrame.dfm + ..\..\experts\repository\JclOtaExcDlgLogFrame.dfm ..\..\experts\repository\JclOtaExcDlgTraceFrame.dfm ..\..\experts\repository\JclOtaExcDlgIgnoreFrame.dfm "/> Modified: trunk/jcl/packages/c5/JclRepositoryExpertC50.cpp =================================================================== --- trunk/jcl/packages/c5/JclRepositoryExpertC50.cpp 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/c5/JclRepositoryExpertC50.cpp 2009-07-23 11:51:31 UTC (rev 2874) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 26-01-2008 11:13:07 UTC + Last generated: 23-07-2009 11:30:30 UTC ----------------------------------------------------------------------------- */ @@ -18,6 +18,7 @@ USEUNIT("..\..\experts\repository\JclOtaExcDlgFileFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgFormFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgSystemFrame.pas"); +USEUNIT("..\..\experts\repository\JclOtaExcDlgLogFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgTraceFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaRepositoryReg.pas"); Modified: trunk/jcl/packages/c5/JclRepositoryExpertC50.dpk =================================================================== --- trunk/jcl/packages/c5/JclRepositoryExpertC50.dpk 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/c5/JclRepositoryExpertC50.dpk 2009-07-23 11:51:31 UTC (rev 2874) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 14-03-2009 14:35:13 UTC + Last generated: 23-07-2009 11:30:31 UTC ----------------------------------------------------------------------------- } @@ -52,6 +52,7 @@ JclOtaExcDlgFileFrame in '..\..\experts\repository\JclOtaExcDlgFileFrame.pas' {JclOtaExcDlgFilePage: TFrame}, JclOtaExcDlgFormFrame in '..\..\experts\repository\JclOtaExcDlgFormFrame.pas' {JclOtaExcDlgFormPage: TFrame}, JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, + JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnoredPage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' Modified: trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpf =================================================================== --- trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpf 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpf 2009-07-23 11:51:31 UTC (rev 2874) @@ -5,6 +5,7 @@ USEUNIT("..\..\experts\repository\JclOtaExcDlgFileFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgFormFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgSystemFrame.pas"); +USEUNIT("..\..\experts\repository\JclOtaExcDlgLogFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgTraceFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaRepositoryReg.pas"); Modified: trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpr =================================================================== --- trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpr 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpr 2009-07-23 11:51:31 UTC (rev 2874) @@ -5,7 +5,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpertDLL-L.xml) - Last generated: 14-03-2009 14:35:13 UTC + Last generated: 23-07-2009 11:30:30 UTC ***************************************************************************** --> <PROJECT> @@ -21,6 +21,7 @@ ..\..\lib\c5\JclOtaExcDlgFileFrame.obj ..\..\lib\c5\JclOtaExcDlgFormFrame.obj ..\..\lib\c5\JclOtaExcDlgSystemFrame.obj + ..\..\lib\c5\JclOtaExcDlgLogFrame.obj ..\..\lib\c5\JclOtaExcDlgTraceFrame.obj ..\..\lib\c5\JclOtaExcDlgIgnoreFrame.obj ..\..\lib\c5\JclOtaRepositoryReg.obj @@ -34,6 +35,7 @@ ..\..\experts\repository\JclOtaExcDlgFileFrame.dfm ..\..\experts\repository\JclOtaExcDlgFormFrame.dfm ..\..\experts\repository\JclOtaExcDlgSystemFrame.dfm + ..\..\experts\repository\JclOtaExcDlgLogFrame.dfm ..\..\experts\repository\JclOtaExcDlgTraceFrame.dfm ..\..\experts\repository\JclOtaExcDlgIgnoreFrame.dfm "/> Modified: trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.cpp =================================================================== --- trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.cpp 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.cpp 2009-07-23 11:51:31 UTC (rev 2874) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpertDLL-L.xml) - Last generated: 26-01-2008 11:13:07 UTC + Last generated: 23-07-2009 11:30:30 UTC ----------------------------------------------------------------------------- */ @@ -18,6 +18,7 @@ USEUNIT("..\..\experts\repository\JclOtaExcDlgFileFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgFormFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgSystemFrame.pas"); +USEUNIT("..\..\experts\repository\JclOtaExcDlgLogFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgTraceFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaRepositoryReg.pas"); Modified: trunk/jcl/packages/c6/JclRepositoryExpert.bpk =================================================================== --- trunk/jcl/packages/c6/JclRepositoryExpert.bpk 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/c6/JclRepositoryExpert.bpk 2009-07-23 11:51:31 UTC (rev 2874) @@ -5,7 +5,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 28-06-2009 20:45:12 UTC + Last generated: 23-07-2009 11:30:32 UTC ***************************************************************************** --> <PROJECT> @@ -21,6 +21,7 @@ ..\..\lib\c6\JclOtaExcDlgFileFrame.obj ..\..\lib\c6\JclOtaExcDlgFormFrame.obj ..\..\lib\c6\JclOtaExcDlgSystemFrame.obj + ..\..\lib\c6\JclOtaExcDlgLogFrame.obj ..\..\lib\c6\JclOtaExcDlgTraceFrame.obj ..\..\lib\c6\JclOtaExcDlgIgnoreFrame.obj ..\..\lib\c6\JclOtaRepositoryReg.obj @@ -34,6 +35,7 @@ ..\..\experts\repository\JclOtaExcDlgFileFrame.dfm ..\..\experts\repository\JclOtaExcDlgFormFrame.dfm ..\..\experts\repository\JclOtaExcDlgSystemFrame.dfm + ..\..\experts\repository\JclOtaExcDlgLogFrame.dfm ..\..\experts\repository\JclOtaExcDlgTraceFrame.dfm ..\..\experts\repository\JclOtaExcDlgIgnoreFrame.dfm "/> @@ -95,6 +97,7 @@ <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgFileFrame.pas" FORMNAME="JclOtaExcDlgFilePage" UNITNAME="JclOtaExcDlgFileFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgFormFrame.pas" FORMNAME="JclOtaExcDlgFormPage" UNITNAME="JclOtaExcDlgFormFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgSystemFrame.pas" FORMNAME="JclOtaExcDlgSystemPage" UNITNAME="JclOtaExcDlgSystemFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgLogFrame.pas" FORMNAME="JclOtaExcDlgLogPage" UNITNAME="JclOtaExcDlgLogFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgTraceFrame.pas" FORMNAME="JclOtaExcDlgTracePage" UNITNAME="JclOtaExcDlgTraceFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas" FORMNAME="JclOtaExcDlgIgnoredPage" UNITNAME="JclOtaExcDlgIgnoreFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaRepositoryReg.pas" FORMNAME="" UNITNAME="JclOtaRepositoryReg" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> Modified: trunk/jcl/packages/c6/JclRepositoryExpert.cpp =================================================================== --- trunk/jcl/packages/c6/JclRepositoryExpert.cpp 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/c6/JclRepositoryExpert.cpp 2009-07-23 11:51:31 UTC (rev 2874) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 26-01-2008 11:13:10 UTC + Last generated: 23-07-2009 11:30:33 UTC ----------------------------------------------------------------------------- */ @@ -15,6 +15,7 @@ USEFORMNS("..\..\experts\repository\JclOtaExcDlgFileFrame.pas", Jclotaexcdlgfileframe, JclOtaExcDlgFilePage); /* TFrame: File Type */ USEFORMNS("..\..\experts\repository\JclOtaExcDlgFormFrame.pas", Jclotaexcdlgformframe, JclOtaExcDlgFormPage); /* TFrame: File Type */ USEFORMNS("..\..\experts\repository\JclOtaExcDlgSystemFrame.pas", Jclotaexcdlgsystemframe, JclOtaExcDlgSystemPage); /* TFrame: File Type */ +USEFORMNS("..\..\experts\repository\JclOtaExcDlgLogFrame.pas", Jclotaexcdlglogframe, JclOtaExcDlgLogPage); /* TFrame: File Type */ USEFORMNS("..\..\experts\repository\JclOtaExcDlgTraceFrame.pas", Jclotaexcdlgtraceframe, JclOtaExcDlgTracePage); /* TFrame: File Type */ USEFORMNS("..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas", Jclotaexcdlgignoreframe, JclOtaExcDlgIgnoredPage); /* TFrame: File Type */ //--------------------------------------------------------------------------- Modified: trunk/jcl/packages/c6/JclRepositoryExpert.dpk =================================================================== --- trunk/jcl/packages/c6/JclRepositoryExpert.dpk 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/c6/JclRepositoryExpert.dpk 2009-07-23 11:51:31 UTC (rev 2874) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 14-03-2009 14:35:13 UTC + Last generated: 23-07-2009 11:30:33 UTC ----------------------------------------------------------------------------- } @@ -53,6 +53,7 @@ JclOtaExcDlgFileFrame in '..\..\experts\repository\JclOtaExcDlgFileFrame.pas' {JclOtaExcDlgFilePage: TFrame}, JclOtaExcDlgFormFrame in '..\..\experts\repository\JclOtaExcDlgFormFrame.pas' {JclOtaExcDlgFormPage: TFrame}, JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, + JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnoredPage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' Modified: trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpf =================================================================== --- trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpf 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpf 2009-07-23 11:51:31 UTC (rev 2874) @@ -5,6 +5,7 @@ USEUNIT("..\..\experts\repository\JclOtaExcDlgFileFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgFormFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgSystemFrame.pas"); +USEUNIT("..\..\experts\repository\JclOtaExcDlgLogFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgTraceFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas"); USEUNIT("..\..\experts\repository\JclOtaRepositoryReg.pas"); Modified: trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpr =================================================================== --- trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpr 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpr 2009-07-23 11:51:31 UTC (rev 2874) @@ -5,7 +5,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpertDLL-L.xml) - Last generated: 28-06-2009 20:45:12 UTC + Last generated: 23-07-2009 11:30:32 UTC ***************************************************************************** --> <PROJECT> @@ -21,6 +21,7 @@ ..\..\lib\c6\JclOtaExcDlgFileFrame.obj ..\..\lib\c6\JclOtaExcDlgFormFrame.obj ..\..\lib\c6\JclOtaExcDlgSystemFrame.obj + ..\..\lib\c6\JclOtaExcDlgLogFrame.obj ..\..\lib\c6\JclOtaExcDlgTraceFrame.obj ..\..\lib\c6\JclOtaExcDlgIgnoreFrame.obj ..\..\lib\c6\JclOtaRepositoryReg.obj @@ -34,6 +35,7 @@ ..\..\experts\repository\JclOtaExcDlgFileFrame.dfm ..\..\experts\repository\JclOtaExcDlgFormFrame.dfm ..\..\experts\repository\JclOtaExcDlgSystemFrame.dfm + ..\..\experts\repository\JclOtaExcDlgLogFrame.dfm ..\..\experts\repository\JclOtaExcDlgTraceFrame.dfm ..\..\experts\repository\JclOtaExcDlgIgnoreFrame.dfm "/> @@ -94,6 +96,7 @@ <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgFileFrame.pas" FORMNAME="JclOtaExcDlgFilePage" UNITNAME="JclOtaExcDlgFileFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgFormFrame.pas" FORMNAME="JclOtaExcDlgFormPage" UNITNAME="JclOtaExcDlgFormFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgSystemFrame.pas" FORMNAME="JclOtaExcDlgSystemPage" UNITNAME="JclOtaExcDlgSystemFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> + <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgLogFrame.pas" FORMNAME="JclOtaExcDlgLogPage" UNITNAME="JclOtaExcDlgLogFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgTraceFrame.pas" FORMNAME="JclOtaExcDlgTracePage" UNITNAME="JclOtaExcDlgTraceFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas" FORMNAME="JclOtaExcDlgIgnorePage" UNITNAME="JclOtaExcDlgIgnoreFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/> <FILE FILENAME="..\..\experts\repository\JclOtaRepositoryReg.pas" FORMNAME="" UNITNAME="JclOtaRepositoryReg" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> Modified: trunk/jcl/packages/c6/JclRepositoryExpertDLL.cpp =================================================================== --- trunk/jcl/packages/c6/JclRepositoryExpertDLL.cpp 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/c6/JclRepositoryExpertDLL.cpp 2009-07-23 11:51:31 UTC (rev 2874) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpertDLL-L.xml) - Last generated: 26-01-2008 11:13:10 UTC + Last generated: 23-07-2009 11:30:33 UTC ----------------------------------------------------------------------------- */ @@ -15,6 +15,7 @@ USEFORMNS("..\..\experts\repository\JclOtaExcDlgFileFrame.pas", Jclotaexcdlgfileframe, JclOtaExcDlgFilePage); /* TFrame: File Type */ USEFORMNS("..\..\experts\repository\JclOtaExcDlgFormFrame.pas", Jclotaexcdlgformframe, JclOtaExcDlgFormPage); /* TFrame: File Type */ USEFORMNS("..\..\experts\repository\JclOtaExcDlgSystemFrame.pas", Jclotaexcdlgsystemframe, JclOtaExcDlgSystemPage); /* TFrame: File Type */ +USEFORMNS("..\..\experts\repository\JclOtaExcDlgLogFrame.pas", Jclotaexcdlglogframe, JclOtaExcDlgLogPage); /* TFrame: File Type */ USEFORMNS("..\..\experts\repository\JclOtaExcDlgTraceFrame.pas", Jclotaexcdlgtraceframe, JclOtaExcDlgTracePage); /* TFrame: File Type */ USEFORMNS("..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas", Jclotaexcdlgignoreframe, JclOtaExcDlgIgnorePage); /* TFrame: File Type */ //--------------------------------------------------------------------------- Modified: trunk/jcl/packages/d10/JclRepositoryExpert.dpk =================================================================== --- trunk/jcl/packages/d10/JclRepositoryExpert.dpk 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/d10/JclRepositoryExpert.dpk 2009-07-23 11:51:31 UTC (rev 2874) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 14-03-2009 14:35:14 UTC + Last generated: 23-07-2009 11:30:40 UTC ----------------------------------------------------------------------------- } @@ -54,6 +54,7 @@ JclOtaExcDlgFileFrame in '..\..\experts\repository\JclOtaExcDlgFileFrame.pas' {JclOtaExcDlgFilePage: TFrame}, JclOtaExcDlgFormFrame in '..\..\experts\repository\JclOtaExcDlgFormFrame.pas' {JclOtaExcDlgFormPage: TFrame}, JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, + JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnoredPage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' Modified: trunk/jcl/packages/d10/JclRepositoryExpertDLL.dpr =================================================================== --- trunk/jcl/packages/d10/JclRepositoryExpertDLL.dpr 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/d10/JclRepositoryExpertDLL.dpr 2009-07-23 11:51:31 UTC (rev 2874) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpertDLL-L.xml) - Last generated: 14-03-2009 14:35:14 UTC + Last generated: 23-07-2009 11:30:40 UTC ----------------------------------------------------------------------------- } @@ -46,6 +46,7 @@ JclOtaExcDlgFileFrame in '..\..\experts\repository\JclOtaExcDlgFileFrame.pas' {JclOtaExcDlgFilePage: TFrame}, JclOtaExcDlgFormFrame in '..\..\experts\repository\JclOtaExcDlgFormFrame.pas' {JclOtaExcDlgFormPage: TFrame}, JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, + JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnorePage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' Modified: trunk/jcl/packages/d11/JclRepositoryExpert.dpk =================================================================== --- trunk/jcl/packages/d11/JclRepositoryExpert.dpk 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/d11/JclRepositoryExpert.dpk 2009-07-23 11:51:31 UTC (rev 2874) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 14-03-2009 14:35:14 UTC + Last generated: 23-07-2009 11:30:41 UTC ----------------------------------------------------------------------------- } @@ -54,6 +54,7 @@ JclOtaExcDlgFileFrame in '..\..\experts\repository\JclOtaExcDlgFileFrame.pas' {JclOtaExcDlgFilePage: TFrame}, JclOtaExcDlgFormFrame in '..\..\experts\repository\JclOtaExcDlgFormFrame.pas' {JclOtaExcDlgFormPage: TFrame}, JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, + JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnoredPage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' Modified: trunk/jcl/packages/d11/JclRepositoryExpert.dproj =================================================================== --- trunk/jcl/packages/d11/JclRepositoryExpert.dproj 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/d11/JclRepositoryExpert.dproj 2009-07-23 11:51:31 UTC (rev 2874) @@ -97,6 +97,7 @@ <DCCReference Include="..\..\experts\repository\JclOtaExcDlgFileFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgFormFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgSystemFrame.pas" /> + <DCCReference Include="..\..\experts\repository\JclOtaExcDlgLogFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgTraceFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaRepositoryReg.pas" /> Modified: trunk/jcl/packages/d11/JclRepositoryExpertDLL.dpr =================================================================== --- trunk/jcl/packages/d11/JclRepositoryExpertDLL.dpr 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/d11/JclRepositoryExpertDLL.dpr 2009-07-23 11:51:31 UTC (rev 2874) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpertDLL-L.xml) - Last generated: 14-03-2009 14:35:14 UTC + Last generated: 23-07-2009 11:30:41 UTC ----------------------------------------------------------------------------- } @@ -46,6 +46,7 @@ JclOtaExcDlgFileFrame in '..\..\experts\repository\JclOtaExcDlgFileFrame.pas' {JclOtaExcDlgFilePage: TFrame}, JclOtaExcDlgFormFrame in '..\..\experts\repository\JclOtaExcDlgFormFrame.pas' {JclOtaExcDlgFormPage: TFrame}, JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, + JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnorePage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' Modified: trunk/jcl/packages/d11/JclRepositoryExpertDLL.dproj =================================================================== --- trunk/jcl/packages/d11/JclRepositoryExpertDLL.dproj 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/d11/JclRepositoryExpertDLL.dproj 2009-07-23 11:51:31 UTC (rev 2874) @@ -97,6 +97,7 @@ <DCCReference Include="..\..\experts\repository\JclOtaExcDlgFileFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgFormFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgSystemFrame.pas" /> + <DCCReference Include="..\..\experts\repository\JclOtaExcDlgLogFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgTraceFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaRepositoryReg.pas" /> Modified: trunk/jcl/packages/d12/JclRepositoryExpert.dpk =================================================================== --- trunk/jcl/packages/d12/JclRepositoryExpert.dpk 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/d12/JclRepositoryExpert.dpk 2009-07-23 11:51:31 UTC (rev 2874) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpert-D.xml) - Last generated: 14-03-2009 14:35:14 UTC + Last generated: 23-07-2009 11:30:42 UTC ----------------------------------------------------------------------------- } @@ -54,6 +54,7 @@ JclOtaExcDlgFileFrame in '..\..\experts\repository\JclOtaExcDlgFileFrame.pas' {JclOtaExcDlgFilePage: TFrame}, JclOtaExcDlgFormFrame in '..\..\experts\repository\JclOtaExcDlgFormFrame.pas' {JclOtaExcDlgFormPage: TFrame}, JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, + JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnoredPage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' Modified: trunk/jcl/packages/d12/JclRepositoryExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclRepositoryExpert.dproj 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/d12/JclRepositoryExpert.dproj 2009-07-23 11:51:31 UTC (rev 2874) @@ -72,6 +72,7 @@ <DCCReference Include="..\..\experts\repository\JclOtaExcDlgFileFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgFormFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgSystemFrame.pas" /> + <DCCReference Include="..\..\experts\repository\JclOtaExcDlgLogFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgTraceFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaRepositoryReg.pas" /> Modified: trunk/jcl/packages/d12/JclRepositoryExpertDLL.dpr =================================================================== --- trunk/jcl/packages/d12/JclRepositoryExpertDLL.dpr 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/d12/JclRepositoryExpertDLL.dpr 2009-07-23 11:51:31 UTC (rev 2874) @@ -4,7 +4,7 @@ DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR ALWAYS EDIT THE RELATED XML FILE (JclRepositoryExpertDLL-L.xml) - Last generated: 14-03-2009 14:35:14 UTC + Last generated: 23-07-2009 11:30:42 UTC ----------------------------------------------------------------------------- } @@ -46,6 +46,7 @@ JclOtaExcDlgFileFrame in '..\..\experts\repository\JclOtaExcDlgFileFrame.pas' {JclOtaExcDlgFilePage: TFrame}, JclOtaExcDlgFormFrame in '..\..\experts\repository\JclOtaExcDlgFormFrame.pas' {JclOtaExcDlgFormPage: TFrame}, JclOtaExcDlgSystemFrame in '..\..\experts\repository\JclOtaExcDlgSystemFrame.pas' {JclOtaExcDlgSystemPage: TFrame}, + JclOtaExcDlgLogFrame in '..\..\experts\repository\JclOtaExcDlgLogFrame.pas' {JclOtaExcDlgLogPage: TFrame}, JclOtaExcDlgTraceFrame in '..\..\experts\repository\JclOtaExcDlgTraceFrame.pas' {JclOtaExcDlgTracePage: TFrame}, JclOtaExcDlgIgnoreFrame in '..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas' {JclOtaExcDlgIgnorePage: TFrame}, JclOtaRepositoryReg in '..\..\experts\repository\JclOtaRepositoryReg.pas' Modified: trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj =================================================================== --- trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj 2009-07-23 11:36:39 UTC (rev 2873) +++ trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj 2009-07-23 11:51:31 UTC (rev 2874) @@ -72,6 +72,7 @@ <DCCReference Include="..\..\experts\repository\JclOtaExcDlgFileFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgFormFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgSystemFrame.pas" /> + <DCCReference Include="..\..\experts\repository\JclOtaExcDlgLogFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgTraceFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaExcDlgIgnoreFrame.pas" /> <DCCReference Include="..\..\experts\repository\JclOtaRepositoryReg.pas" /> Modified: trunk/jcl/packages/d5/JclRepositoryExpertD50.dpk =================================================================== --- trunk/jcl/packages/d5/JclRepositoryExpe... [truncated message content] |
From: <ou...@us...> - 2009-07-23 11:36:43
|
Revision: 2873 http://jcl.svn.sourceforge.net/jcl/?rev=2873&view=rev Author: outchy Date: 2009-07-23 11:36:39 +0000 (Thu, 23 Jul 2009) Log Message: ----------- BCB is not defined for C++Builder 3. Modified Paths: -------------- trunk/jcl/source/include/jedi.inc Modified: trunk/jcl/source/include/jedi.inc =================================================================== --- trunk/jcl/source/include/jedi.inc 2009-07-23 10:09:22 UTC (rev 2872) +++ trunk/jcl/source/include/jedi.inc 2009-07-23 11:36:39 UTC (rev 2873) @@ -505,6 +505,7 @@ {$IFDEF VER110} {$DEFINE COMPILER35} {$DEFINE BCB3} + {$DEFINE BCB} {$DEFINE RTL110_UP} {$UNDEF UNKNOWN_COMPILER_VERSION} {$ENDIF} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-23 10:09:24
|
Revision: 2872 http://jcl.svn.sourceforge.net/jcl/?rev=2872&view=rev Author: outchy Date: 2009-07-23 10:09:22 +0000 (Thu, 23 Jul 2009) Log Message: ----------- the option to catch exceptions in the main thread is now active. Modified Paths: -------------- trunk/jcl/experts/common/JclOtaResources.pas trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.dfm trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas Modified: trunk/jcl/experts/common/JclOtaResources.pas =================================================================== --- trunk/jcl/experts/common/JclOtaResources.pas 2009-07-21 10:17:17 UTC (rev 2871) +++ trunk/jcl/experts/common/JclOtaResources.pas 2009-07-23 10:09:22 UTC (rev 2872) @@ -158,7 +158,7 @@ RsUnitVersioning = '&Unit versioning'; RsOSInfo = '&Operating system informations'; RsActiveControls = '&List of active controls'; - RsMainThreadOnly = '&Catch only exceptions of main thread'; + RsCatchMainThread = '&Catch only exceptions of main thread'; //=== JclOtaExcDlgTraceFrame.pas ============================================= resourcestring Modified: trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas 2009-07-21 10:17:17 UTC (rev 2871) +++ trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas 2009-07-23 10:09:22 UTC (rev 2872) @@ -17,7 +17,7 @@ { } {**************************************************************************************************} { } -{ Last modified: $Date:: $ } +{ Last modified: $Date:: $ } { Revision: $Rev:: $ } { Author: $Author:: $ } { } @@ -733,6 +733,7 @@ %if DelayedTrace JclStackTrackingOptions := JclStackTrackingOptions + [stDelayedTrace];%endif JclDebugThreadList.OnSyncException := T%FORMNAME%.ExceptionThreadHandler; JclStartExceptionTracking; +%if CatchMainThread JclStackTrackingOptions := JclStackTrackingOptions + [stMainThreadOnly];%endif %if HookDll if HookTApplicationHandleException then JclTrackExceptionsFromLibraries;%endif end; Modified: trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas 2009-07-21 10:17:17 UTC (rev 2871) +++ trunk/jcl/experts/repository/JclOtaExcDlgRepository.pas 2009-07-23 10:09:22 UTC (rev 2872) @@ -70,7 +70,7 @@ FActiveControls: Boolean; FStackList: Boolean; FAutoScrollBars: Boolean; - FMainThreadOnly: Boolean; + FCatchMainThread: Boolean; FAllThreads: Boolean; FTraceEAbort: Boolean; FIgnoredExceptions: TStrings; @@ -104,7 +104,7 @@ property ModuleList: Boolean read FModuleList write FModuleList; property UnitVersioning: Boolean read FUnitVersioning write FUnitVersioning; property ActiveControls: Boolean read FActiveControls write FActiveControls; - property MainThreadOnly: Boolean read FMainThreadOnly write FMainThreadOnly; + property CatchMainThread: Boolean read FCatchMainThread write FCatchMainThread; // ignored exceptions property TraceAllExceptions: Boolean read FTraceAllExceptions write FTraceAllExceptions; @@ -170,7 +170,7 @@ FActiveControls := True; FStackList := True; FAutoScrollBars := True; - FMainThreadOnly := False; + FCatchMainThread := False; FTraceEAbort := False; FTraceAllExceptions := False; FIgnoredExceptions := TStringList.Create; Modified: trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.dfm =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.dfm 2009-07-21 10:17:17 UTC (rev 2871) +++ trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.dfm 2009-07-23 10:09:22 UTC (rev 2872) @@ -2,7 +2,7 @@ object LabelLogFileName: TLabel Left = 170 Top = 139 - Width = 57 + Width = 55 Height = 13 Caption = 'RsFileName' end @@ -63,12 +63,12 @@ Caption = 'RsActiveControls' TabOrder = 8 end - object CheckBoxMainThreadOnly: TCheckBox + object CheckBoxCatchMainThread: TCheckBox Left = 120 Top = 81 Width = 265 Height = 17 - Caption = 'RsMainThreadOnly' + Caption = 'RsCatchMainThread' TabOrder = 2 end object CheckBoxUnitVersioning: TCheckBox Modified: trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas =================================================================== --- trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas 2009-07-21 10:17:17 UTC (rev 2871) +++ trunk/jcl/experts/repository/JclOtaExcDlgSystemFrame.pas 2009-07-23 10:09:22 UTC (rev 2872) @@ -50,7 +50,7 @@ CheckBoxModuleList: TCheckBox; CheckBoxOSInfo: TCheckBox; CheckBoxActiveControls: TCheckBox; - CheckBoxMainThreadOnly: TCheckBox; + CheckBoxCatchMainThread: TCheckBox; CheckBoxUnitVersioning: TCheckBox; procedure CheckBoxLogFileClick(Sender: TObject); procedure CheckBoxModuleListClick(Sender: TObject); @@ -112,7 +112,7 @@ CheckBoxUnitVersioning.Caption := RsUnitVersioning; CheckBoxOSInfo.Caption := RsOSInfo; CheckBoxActiveControls.Caption := RsActiveControls; - CheckBoxMainThreadOnly.Caption := RsMainThreadOnly; + CheckBoxCatchMainThread.Caption := RsCatchMainThread; end; function TJclOtaExcDlgSystemPage.GetSupportsNext: Boolean; @@ -132,7 +132,7 @@ CheckBoxUnitVersioning.Checked := Params.UnitVersioning; CheckBoxOSInfo.Checked := Params.OSInfo; CheckBoxActiveControls.Checked := Params.ActiveControls; - CheckBoxMainThreadOnly.Checked := Params.MainThreadOnly; + CheckBoxCatchMainThread.Checked := Params.CatchMainThread; UpdateLogEdits; end; @@ -150,7 +150,7 @@ Params.UnitVersioning := CheckBoxUnitVersioning.Checked; Params.OSInfo := CheckBoxOSInfo.Checked; Params.ActiveControls := CheckBoxActiveControls.Checked; - Params.MainThreadOnly := CheckBoxMainThreadOnly.Checked; + Params.CatchMainThread := CheckBoxCatchMainThread.Checked; end; procedure TJclOtaExcDlgSystemPage.UpdateLogEdits; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-21 10:17:21
|
Revision: 2871 http://jcl.svn.sourceforge.net/jcl/?rev=2871&view=rev Author: outchy Date: 2009-07-21 10:17:17 +0000 (Tue, 21 Jul 2009) Log Message: ----------- new template to prevent automatic updates when projects are opened in the IDE. Modified Paths: -------------- trunk/jcl/packages/d12/Jcl.dproj trunk/jcl/packages/d12/JclBaseExpert.dproj trunk/jcl/packages/d12/JclContainers.dproj trunk/jcl/packages/d12/JclDebugExpert.dproj trunk/jcl/packages/d12/JclDebugExpertDLL.dproj trunk/jcl/packages/d12/JclFavoriteFoldersExpert.dproj trunk/jcl/packages/d12/JclFavoriteFoldersExpertDLL.dproj trunk/jcl/packages/d12/JclProjectAnalysisExpert.dproj trunk/jcl/packages/d12/JclProjectAnalysisExpertDLL.dproj trunk/jcl/packages/d12/JclRepositoryExpert.dproj trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj trunk/jcl/packages/d12/JclSIMDViewExpert.dproj trunk/jcl/packages/d12/JclSIMDViewExpertDLL.dproj trunk/jcl/packages/d12/JclStackTraceViewerExpert.dproj trunk/jcl/packages/d12/JclStackTraceViewerExpertDLL.dproj trunk/jcl/packages/d12/JclVcl.dproj trunk/jcl/packages/d12/JclVersionControlExpert.dproj trunk/jcl/packages/d12/JclVersionControlExpertDLL.dproj trunk/jcl/packages/d12/template.dproj Modified: trunk/jcl/packages/d12/Jcl.dproj =================================================================== --- trunk/jcl/packages/d12/Jcl.dproj 2009-07-21 09:40:52 UTC (rev 2870) +++ trunk/jcl/packages/d12/Jcl.dproj 2009-07-21 10:17:17 UTC (rev 2871) @@ -2,7 +2,7 @@ <PropertyGroup> <ProjectGuid>{44DB645B-C167-410D-9334-38AF9F0C7913}</ProjectGuid> <MainSource>Jcl.dpk</MainSource> - <ProjectVersion>12</ProjectVersion> + <ProjectVersion>12.0</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> @@ -158,49 +158,48 @@ </ItemGroup> <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> <ProjectExtensions> - <Borland.Personality>Delphi.Personality</Borland.Personality> + <Borland.Personality>Delphi.Personality.12</Borland.Personality> <Borland.ProjectType>Package</Borland.ProjectType> <Borland.PersonalityVersion>1.0</Borland.PersonalityVersion> <BorlandProject> - <BorlandProject> - <Delphi.Personality> - <Parameters> - <Parameters Name="UseLauncher">False</Parameters> - <Parameters Name="LoadAllSymbols">True</Parameters> - <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> - </Parameters> - <VersionInfo> - <VersionInfo Name="IncludeVerInfo">True</VersionInfo> - <VersionInfo Name="AutoIncBuild">False</VersionInfo> - <VersionInfo Name="MajorVer">2</VersionInfo> - <VersionInfo Name="MinorVer">0</VersionInfo> - <VersionInfo Name="Release">0</VersionInfo> - <VersionInfo Name="Build">3401</VersionInfo> - <VersionInfo Name="Debug">False</VersionInfo> - <VersionInfo Name="PreRelease">False</VersionInfo> - <VersionInfo Name="Special">False</VersionInfo> - <VersionInfo Name="Private">False</VersionInfo> - <VersionInfo Name="DLL">False</VersionInfo> - <VersionInfo Name="Locale">1031</VersionInfo> - <VersionInfo Name="CodePage">1252</VersionInfo> - </VersionInfo> - <VersionInfoKeys> - <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="FileDescription">JEDI Code Library RTL package</VersionInfoKeys> - <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> - <VersionInfoKeys Name="InternalName">Jcl</VersionInfoKeys> - <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> - <VersionInfoKeys Name="OriginalFilename">Jcl120.bpl</VersionInfoKeys> - <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> - <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> - </VersionInfoKeys> - <Source> - <Source Name="MainSource">Jcl.dpk</Source> - </Source> - <Excluded_Packages/> - </Delphi.Personality> - </BorlandProject> + <Delphi.Personality> + <Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="LoadAllSymbols">True</Parameters> + <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> + </Parameters> + <VersionInfo> + <VersionInfo Name="IncludeVerInfo">True</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">2</VersionInfo> + <VersionInfo Name="MinorVer">0</VersionInfo> + <VersionInfo Name="Release">0</VersionInfo> + <VersionInfo Name="Build">3401</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">False</VersionInfo> + <VersionInfo Name="Locale">1031</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="FileDescription">JEDI Code Library RTL package</VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> + <VersionInfoKeys Name="InternalName">Jcl</VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename">Jcl120.bpl</VersionInfoKeys> + <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> + </VersionInfoKeys> + <Source> + <Source Name="MainSource">Jcl.dpk</Source> + </Source> + <Excluded_Packages/> + </Delphi.Personality> </BorlandProject> + <ProjectFileVersion>12</ProjectFileVersion> </ProjectExtensions> </Project> Modified: trunk/jcl/packages/d12/JclBaseExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclBaseExpert.dproj 2009-07-21 09:40:52 UTC (rev 2870) +++ trunk/jcl/packages/d12/JclBaseExpert.dproj 2009-07-21 10:17:17 UTC (rev 2871) @@ -2,7 +2,7 @@ <PropertyGroup> <ProjectGuid>{587944EE-7D27-4950-95F5-430FFBFC465C}</ProjectGuid> <MainSource>JclBaseExpert.dpk</MainSource> - <ProjectVersion>12</ProjectVersion> + <ProjectVersion>12.0</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> @@ -87,49 +87,48 @@ </ItemGroup> <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> <ProjectExtensions> - <Borland.Personality>Delphi.Personality</Borland.Personality> + <Borland.Personality>Delphi.Personality.12</Borland.Personality> <Borland.ProjectType>Package</Borland.ProjectType> <Borland.PersonalityVersion>1.0</Borland.PersonalityVersion> <BorlandProject> - <BorlandProject> - <Delphi.Personality> - <Parameters> - <Parameters Name="UseLauncher">False</Parameters> - <Parameters Name="LoadAllSymbols">True</Parameters> - <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> - </Parameters> - <VersionInfo> - <VersionInfo Name="IncludeVerInfo">True</VersionInfo> - <VersionInfo Name="AutoIncBuild">False</VersionInfo> - <VersionInfo Name="MajorVer">2</VersionInfo> - <VersionInfo Name="MinorVer">0</VersionInfo> - <VersionInfo Name="Release">0</VersionInfo> - <VersionInfo Name="Build">3401</VersionInfo> - <VersionInfo Name="Debug">False</VersionInfo> - <VersionInfo Name="PreRelease">False</VersionInfo> - <VersionInfo Name="Special">False</VersionInfo> - <VersionInfo Name="Private">False</VersionInfo> - <VersionInfo Name="DLL">False</VersionInfo> - <VersionInfo Name="Locale">1031</VersionInfo> - <VersionInfo Name="CodePage">1252</VersionInfo> - </VersionInfo> - <VersionInfoKeys> - <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="FileDescription">JCL Package containing common units for JCL Experts</VersionInfoKeys> - <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> - <VersionInfoKeys Name="InternalName">JclBaseExpert</VersionInfoKeys> - <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> - <VersionInfoKeys Name="OriginalFilename">JclBaseExpert120.bpl</VersionInfoKeys> - <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> - <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> - </VersionInfoKeys> - <Source> - <Source Name="MainSource">JclBaseExpert.dpk</Source> - </Source> - <Excluded_Packages/> - </Delphi.Personality> - </BorlandProject> + <Delphi.Personality> + <Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="LoadAllSymbols">True</Parameters> + <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> + </Parameters> + <VersionInfo> + <VersionInfo Name="IncludeVerInfo">True</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">2</VersionInfo> + <VersionInfo Name="MinorVer">0</VersionInfo> + <VersionInfo Name="Release">0</VersionInfo> + <VersionInfo Name="Build">3401</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">False</VersionInfo> + <VersionInfo Name="Locale">1031</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="FileDescription">JCL Package containing common units for JCL Experts</VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> + <VersionInfoKeys Name="InternalName">JclBaseExpert</VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename">JclBaseExpert120.bpl</VersionInfoKeys> + <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> + </VersionInfoKeys> + <Source> + <Source Name="MainSource">JclBaseExpert.dpk</Source> + </Source> + <Excluded_Packages/> + </Delphi.Personality> </BorlandProject> + <ProjectFileVersion>12</ProjectFileVersion> </ProjectExtensions> </Project> Modified: trunk/jcl/packages/d12/JclContainers.dproj =================================================================== --- trunk/jcl/packages/d12/JclContainers.dproj 2009-07-21 09:40:52 UTC (rev 2870) +++ trunk/jcl/packages/d12/JclContainers.dproj 2009-07-21 10:17:17 UTC (rev 2871) @@ -2,7 +2,7 @@ <PropertyGroup> <ProjectGuid>{71D14CDC-6386-44FD-B861-4C4213CFFF08}</ProjectGuid> <MainSource>JclContainers.dpk</MainSource> - <ProjectVersion>12</ProjectVersion> + <ProjectVersion>12.0</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> @@ -90,49 +90,48 @@ </ItemGroup> <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> <ProjectExtensions> - <Borland.Personality>Delphi.Personality</Borland.Personality> + <Borland.Personality>Delphi.Personality.12</Borland.Personality> <Borland.ProjectType>Package</Borland.ProjectType> <Borland.PersonalityVersion>1.0</Borland.PersonalityVersion> <BorlandProject> - <BorlandProject> - <Delphi.Personality> - <Parameters> - <Parameters Name="UseLauncher">False</Parameters> - <Parameters Name="LoadAllSymbols">True</Parameters> - <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> - </Parameters> - <VersionInfo> - <VersionInfo Name="IncludeVerInfo">True</VersionInfo> - <VersionInfo Name="AutoIncBuild">False</VersionInfo> - <VersionInfo Name="MajorVer">2</VersionInfo> - <VersionInfo Name="MinorVer">0</VersionInfo> - <VersionInfo Name="Release">0</VersionInfo> - <VersionInfo Name="Build">3401</VersionInfo> - <VersionInfo Name="Debug">False</VersionInfo> - <VersionInfo Name="PreRelease">False</VersionInfo> - <VersionInfo Name="Special">False</VersionInfo> - <VersionInfo Name="Private">False</VersionInfo> - <VersionInfo Name="DLL">False</VersionInfo> - <VersionInfo Name="Locale">1031</VersionInfo> - <VersionInfo Name="CodePage">1252</VersionInfo> - </VersionInfo> - <VersionInfoKeys> - <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="FileDescription">JEDI Code Library Containers package</VersionInfoKeys> - <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> - <VersionInfoKeys Name="InternalName">JclContainers</VersionInfoKeys> - <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> - <VersionInfoKeys Name="OriginalFilename">JclContainers120.bpl</VersionInfoKeys> - <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> - <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> - </VersionInfoKeys> - <Source> - <Source Name="MainSource">JclContainers.dpk</Source> - </Source> - <Excluded_Packages/> - </Delphi.Personality> - </BorlandProject> + <Delphi.Personality> + <Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="LoadAllSymbols">True</Parameters> + <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> + </Parameters> + <VersionInfo> + <VersionInfo Name="IncludeVerInfo">True</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">2</VersionInfo> + <VersionInfo Name="MinorVer">0</VersionInfo> + <VersionInfo Name="Release">0</VersionInfo> + <VersionInfo Name="Build">3401</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">False</VersionInfo> + <VersionInfo Name="Locale">1031</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="FileDescription">JEDI Code Library Containers package</VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> + <VersionInfoKeys Name="InternalName">JclContainers</VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename">JclContainers120.bpl</VersionInfoKeys> + <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> + </VersionInfoKeys> + <Source> + <Source Name="MainSource">JclContainers.dpk</Source> + </Source> + <Excluded_Packages/> + </Delphi.Personality> </BorlandProject> + <ProjectFileVersion>12</ProjectFileVersion> </ProjectExtensions> </Project> Modified: trunk/jcl/packages/d12/JclDebugExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclDebugExpert.dproj 2009-07-21 09:40:52 UTC (rev 2870) +++ trunk/jcl/packages/d12/JclDebugExpert.dproj 2009-07-21 10:17:17 UTC (rev 2871) @@ -2,7 +2,7 @@ <PropertyGroup> <ProjectGuid>{FC16FA9B-0429-42EB-9B53-30D19AAB3EE4}</ProjectGuid> <MainSource>JclDebugExpert.dpk</MainSource> - <ProjectVersion>12</ProjectVersion> + <ProjectVersion>12.0</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> @@ -82,49 +82,48 @@ </ItemGroup> <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> <ProjectExtensions> - <Borland.Personality>Delphi.Personality</Borland.Personality> + <Borland.Personality>Delphi.Personality.12</Borland.Personality> <Borland.ProjectType>Package</Borland.ProjectType> <Borland.PersonalityVersion>1.0</Borland.PersonalityVersion> <BorlandProject> - <BorlandProject> - <Delphi.Personality> - <Parameters> - <Parameters Name="UseLauncher">False</Parameters> - <Parameters Name="LoadAllSymbols">True</Parameters> - <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> - </Parameters> - <VersionInfo> - <VersionInfo Name="IncludeVerInfo">True</VersionInfo> - <VersionInfo Name="AutoIncBuild">False</VersionInfo> - <VersionInfo Name="MajorVer">2</VersionInfo> - <VersionInfo Name="MinorVer">0</VersionInfo> - <VersionInfo Name="Release">0</VersionInfo> - <VersionInfo Name="Build">3401</VersionInfo> - <VersionInfo Name="Debug">False</VersionInfo> - <VersionInfo Name="PreRelease">False</VersionInfo> - <VersionInfo Name="Special">False</VersionInfo> - <VersionInfo Name="Private">False</VersionInfo> - <VersionInfo Name="DLL">False</VersionInfo> - <VersionInfo Name="Locale">1031</VersionInfo> - <VersionInfo Name="CodePage">1252</VersionInfo> - </VersionInfo> - <VersionInfoKeys> - <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="FileDescription">JCL Debug IDE extension</VersionInfoKeys> - <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> - <VersionInfoKeys Name="InternalName">JclDebugExpert</VersionInfoKeys> - <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> - <VersionInfoKeys Name="OriginalFilename">JclDebugExpert120.bpl</VersionInfoKeys> - <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> - <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> - </VersionInfoKeys> - <Source> - <Source Name="MainSource">JclDebugExpert.dpk</Source> - </Source> - <Excluded_Packages/> - </Delphi.Personality> - </BorlandProject> + <Delphi.Personality> + <Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="LoadAllSymbols">True</Parameters> + <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> + </Parameters> + <VersionInfo> + <VersionInfo Name="IncludeVerInfo">True</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">2</VersionInfo> + <VersionInfo Name="MinorVer">0</VersionInfo> + <VersionInfo Name="Release">0</VersionInfo> + <VersionInfo Name="Build">3401</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">False</VersionInfo> + <VersionInfo Name="Locale">1031</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="FileDescription">JCL Debug IDE extension</VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> + <VersionInfoKeys Name="InternalName">JclDebugExpert</VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename">JclDebugExpert120.bpl</VersionInfoKeys> + <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> + </VersionInfoKeys> + <Source> + <Source Name="MainSource">JclDebugExpert.dpk</Source> + </Source> + <Excluded_Packages/> + </Delphi.Personality> </BorlandProject> + <ProjectFileVersion>12</ProjectFileVersion> </ProjectExtensions> </Project> Modified: trunk/jcl/packages/d12/JclDebugExpertDLL.dproj =================================================================== --- trunk/jcl/packages/d12/JclDebugExpertDLL.dproj 2009-07-21 09:40:52 UTC (rev 2870) +++ trunk/jcl/packages/d12/JclDebugExpertDLL.dproj 2009-07-21 10:17:17 UTC (rev 2871) @@ -2,7 +2,7 @@ <PropertyGroup> <ProjectGuid>{36195812-0F7A-45E7-BE07-04EABA463169}</ProjectGuid> <MainSource>JclDebugExpertDLL.dpr</MainSource> - <ProjectVersion>12</ProjectVersion> + <ProjectVersion>12.0</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> @@ -82,49 +82,48 @@ </ItemGroup> <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> <ProjectExtensions> - <Borland.Personality>Delphi.Personality</Borland.Personality> + <Borland.Personality>Delphi.Personality.12</Borland.Personality> <Borland.ProjectType>Package</Borland.ProjectType> <Borland.PersonalityVersion>1.0</Borland.PersonalityVersion> <BorlandProject> - <BorlandProject> - <Delphi.Personality> - <Parameters> - <Parameters Name="UseLauncher">False</Parameters> - <Parameters Name="LoadAllSymbols">True</Parameters> - <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> - </Parameters> - <VersionInfo> - <VersionInfo Name="IncludeVerInfo">True</VersionInfo> - <VersionInfo Name="AutoIncBuild">False</VersionInfo> - <VersionInfo Name="MajorVer">2</VersionInfo> - <VersionInfo Name="MinorVer">0</VersionInfo> - <VersionInfo Name="Release">0</VersionInfo> - <VersionInfo Name="Build">3401</VersionInfo> - <VersionInfo Name="Debug">False</VersionInfo> - <VersionInfo Name="PreRelease">False</VersionInfo> - <VersionInfo Name="Special">False</VersionInfo> - <VersionInfo Name="Private">False</VersionInfo> - <VersionInfo Name="DLL">False</VersionInfo> - <VersionInfo Name="Locale">1031</VersionInfo> - <VersionInfo Name="CodePage">1252</VersionInfo> - </VersionInfo> - <VersionInfoKeys> - <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="FileDescription">JCL Debug IDE extension</VersionInfoKeys> - <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> - <VersionInfoKeys Name="InternalName">JclDebugExpertDLL</VersionInfoKeys> - <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> - <VersionInfoKeys Name="OriginalFilename">JclDebugExpertDLL120.dll</VersionInfoKeys> - <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> - <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> - </VersionInfoKeys> - <Source> - <Source Name="MainSource">JclDebugExpertDLL.dpr</Source> - </Source> - <Excluded_Packages/> - </Delphi.Personality> - </BorlandProject> + <Delphi.Personality> + <Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="LoadAllSymbols">True</Parameters> + <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> + </Parameters> + <VersionInfo> + <VersionInfo Name="IncludeVerInfo">True</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">2</VersionInfo> + <VersionInfo Name="MinorVer">0</VersionInfo> + <VersionInfo Name="Release">0</VersionInfo> + <VersionInfo Name="Build">3401</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">False</VersionInfo> + <VersionInfo Name="Locale">1031</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="FileDescription">JCL Debug IDE extension</VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> + <VersionInfoKeys Name="InternalName">JclDebugExpertDLL</VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename">JclDebugExpertDLL120.dll</VersionInfoKeys> + <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> + </VersionInfoKeys> + <Source> + <Source Name="MainSource">JclDebugExpertDLL.dpr</Source> + </Source> + <Excluded_Packages/> + </Delphi.Personality> </BorlandProject> + <ProjectFileVersion>12</ProjectFileVersion> </ProjectExtensions> </Project> Modified: trunk/jcl/packages/d12/JclFavoriteFoldersExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclFavoriteFoldersExpert.dproj 2009-07-21 09:40:52 UTC (rev 2870) +++ trunk/jcl/packages/d12/JclFavoriteFoldersExpert.dproj 2009-07-21 10:17:17 UTC (rev 2871) @@ -2,7 +2,7 @@ <PropertyGroup> <ProjectGuid>{3BF49751-D079-4734-9AB6-F333FA52FDBA}</ProjectGuid> <MainSource>JclFavoriteFoldersExpert.dpk</MainSource> - <ProjectVersion>12</ProjectVersion> + <ProjectVersion>12.0</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> @@ -81,49 +81,48 @@ </ItemGroup> <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> <ProjectExtensions> - <Borland.Personality>Delphi.Personality</Borland.Personality> + <Borland.Personality>Delphi.Personality.12</Borland.Personality> <Borland.ProjectType>Package</Borland.ProjectType> <Borland.PersonalityVersion>1.0</Borland.PersonalityVersion> <BorlandProject> - <BorlandProject> - <Delphi.Personality> - <Parameters> - <Parameters Name="UseLauncher">False</Parameters> - <Parameters Name="LoadAllSymbols">True</Parameters> - <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> - </Parameters> - <VersionInfo> - <VersionInfo Name="IncludeVerInfo">True</VersionInfo> - <VersionInfo Name="AutoIncBuild">False</VersionInfo> - <VersionInfo Name="MajorVer">2</VersionInfo> - <VersionInfo Name="MinorVer">0</VersionInfo> - <VersionInfo Name="Release">0</VersionInfo> - <VersionInfo Name="Build">3401</VersionInfo> - <VersionInfo Name="Debug">False</VersionInfo> - <VersionInfo Name="PreRelease">False</VersionInfo> - <VersionInfo Name="Special">False</VersionInfo> - <VersionInfo Name="Private">False</VersionInfo> - <VersionInfo Name="DLL">False</VersionInfo> - <VersionInfo Name="Locale">1031</VersionInfo> - <VersionInfo Name="CodePage">1252</VersionInfo> - </VersionInfo> - <VersionInfoKeys> - <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="FileDescription">JCL Open and Save IDE dialogs with favorite folders</VersionInfoKeys> - <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> - <VersionInfoKeys Name="InternalName">JclFavoriteFoldersExpert</VersionInfoKeys> - <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> - <VersionInfoKeys Name="OriginalFilename">JclFavoriteFoldersExpert120.bpl</VersionInfoKeys> - <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> - <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> - </VersionInfoKeys> - <Source> - <Source Name="MainSource">JclFavoriteFoldersExpert.dpk</Source> - </Source> - <Excluded_Packages/> - </Delphi.Personality> - </BorlandProject> + <Delphi.Personality> + <Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="LoadAllSymbols">True</Parameters> + <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> + </Parameters> + <VersionInfo> + <VersionInfo Name="IncludeVerInfo">True</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">2</VersionInfo> + <VersionInfo Name="MinorVer">0</VersionInfo> + <VersionInfo Name="Release">0</VersionInfo> + <VersionInfo Name="Build">3401</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">False</VersionInfo> + <VersionInfo Name="Locale">1031</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="FileDescription">JCL Open and Save IDE dialogs with favorite folders</VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> + <VersionInfoKeys Name="InternalName">JclFavoriteFoldersExpert</VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename">JclFavoriteFoldersExpert120.bpl</VersionInfoKeys> + <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> + </VersionInfoKeys> + <Source> + <Source Name="MainSource">JclFavoriteFoldersExpert.dpk</Source> + </Source> + <Excluded_Packages/> + </Delphi.Personality> </BorlandProject> + <ProjectFileVersion>12</ProjectFileVersion> </ProjectExtensions> </Project> Modified: trunk/jcl/packages/d12/JclFavoriteFoldersExpertDLL.dproj =================================================================== --- trunk/jcl/packages/d12/JclFavoriteFoldersExpertDLL.dproj 2009-07-21 09:40:52 UTC (rev 2870) +++ trunk/jcl/packages/d12/JclFavoriteFoldersExpertDLL.dproj 2009-07-21 10:17:17 UTC (rev 2871) @@ -2,7 +2,7 @@ <PropertyGroup> <ProjectGuid>{DCDB1939-E79B-4AF6-855E-78310CAF8467}</ProjectGuid> <MainSource>JclFavoriteFoldersExpertDLL.dpr</MainSource> - <ProjectVersion>12</ProjectVersion> + <ProjectVersion>12.0</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> @@ -81,49 +81,48 @@ </ItemGroup> <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> <ProjectExtensions> - <Borland.Personality>Delphi.Personality</Borland.Personality> + <Borland.Personality>Delphi.Personality.12</Borland.Personality> <Borland.ProjectType>Package</Borland.ProjectType> <Borland.PersonalityVersion>1.0</Borland.PersonalityVersion> <BorlandProject> - <BorlandProject> - <Delphi.Personality> - <Parameters> - <Parameters Name="UseLauncher">False</Parameters> - <Parameters Name="LoadAllSymbols">True</Parameters> - <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> - </Parameters> - <VersionInfo> - <VersionInfo Name="IncludeVerInfo">True</VersionInfo> - <VersionInfo Name="AutoIncBuild">False</VersionInfo> - <VersionInfo Name="MajorVer">2</VersionInfo> - <VersionInfo Name="MinorVer">0</VersionInfo> - <VersionInfo Name="Release">0</VersionInfo> - <VersionInfo Name="Build">3401</VersionInfo> - <VersionInfo Name="Debug">False</VersionInfo> - <VersionInfo Name="PreRelease">False</VersionInfo> - <VersionInfo Name="Special">False</VersionInfo> - <VersionInfo Name="Private">False</VersionInfo> - <VersionInfo Name="DLL">False</VersionInfo> - <VersionInfo Name="Locale">1031</VersionInfo> - <VersionInfo Name="CodePage">1252</VersionInfo> - </VersionInfo> - <VersionInfoKeys> - <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="FileDescription">JCL Open and Save IDE dialogs with favorite folders</VersionInfoKeys> - <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> - <VersionInfoKeys Name="InternalName">JclFavoriteFoldersExpertDLL</VersionInfoKeys> - <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> - <VersionInfoKeys Name="OriginalFilename">JclFavoriteFoldersExpertDLL120.dll</VersionInfoKeys> - <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> - <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> - </VersionInfoKeys> - <Source> - <Source Name="MainSource">JclFavoriteFoldersExpertDLL.dpr</Source> - </Source> - <Excluded_Packages/> - </Delphi.Personality> - </BorlandProject> + <Delphi.Personality> + <Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="LoadAllSymbols">True</Parameters> + <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> + </Parameters> + <VersionInfo> + <VersionInfo Name="IncludeVerInfo">True</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">2</VersionInfo> + <VersionInfo Name="MinorVer">0</VersionInfo> + <VersionInfo Name="Release">0</VersionInfo> + <VersionInfo Name="Build">3401</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">False</VersionInfo> + <VersionInfo Name="Locale">1031</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="FileDescription">JCL Open and Save IDE dialogs with favorite folders</VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> + <VersionInfoKeys Name="InternalName">JclFavoriteFoldersExpertDLL</VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename">JclFavoriteFoldersExpertDLL120.dll</VersionInfoKeys> + <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> + </VersionInfoKeys> + <Source> + <Source Name="MainSource">JclFavoriteFoldersExpertDLL.dpr</Source> + </Source> + <Excluded_Packages/> + </Delphi.Personality> </BorlandProject> + <ProjectFileVersion>12</ProjectFileVersion> </ProjectExtensions> </Project> Modified: trunk/jcl/packages/d12/JclProjectAnalysisExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclProjectAnalysisExpert.dproj 2009-07-21 09:40:52 UTC (rev 2870) +++ trunk/jcl/packages/d12/JclProjectAnalysisExpert.dproj 2009-07-21 10:17:17 UTC (rev 2871) @@ -2,7 +2,7 @@ <PropertyGroup> <ProjectGuid>{518D9A98-4B3B-40B4-83EE-BD9D8CED6181}</ProjectGuid> <MainSource>JclProjectAnalysisExpert.dpk</MainSource> - <ProjectVersion>12</ProjectVersion> + <ProjectVersion>12.0</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> @@ -81,49 +81,48 @@ </ItemGroup> <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> <ProjectExtensions> - <Borland.Personality>Delphi.Personality</Borland.Personality> + <Borland.Personality>Delphi.Personality.12</Borland.Personality> <Borland.ProjectType>Package</Borland.ProjectType> <Borland.PersonalityVersion>1.0</Borland.PersonalityVersion> <BorlandProject> - <BorlandProject> - <Delphi.Personality> - <Parameters> - <Parameters Name="UseLauncher">False</Parameters> - <Parameters Name="LoadAllSymbols">True</Parameters> - <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> - </Parameters> - <VersionInfo> - <VersionInfo Name="IncludeVerInfo">True</VersionInfo> - <VersionInfo Name="AutoIncBuild">False</VersionInfo> - <VersionInfo Name="MajorVer">2</VersionInfo> - <VersionInfo Name="MinorVer">0</VersionInfo> - <VersionInfo Name="Release">0</VersionInfo> - <VersionInfo Name="Build">3401</VersionInfo> - <VersionInfo Name="Debug">False</VersionInfo> - <VersionInfo Name="PreRelease">False</VersionInfo> - <VersionInfo Name="Special">False</VersionInfo> - <VersionInfo Name="Private">False</VersionInfo> - <VersionInfo Name="DLL">False</VersionInfo> - <VersionInfo Name="Locale">1031</VersionInfo> - <VersionInfo Name="CodePage">1252</VersionInfo> - </VersionInfo> - <VersionInfoKeys> - <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="FileDescription">JCL Project Analyzer</VersionInfoKeys> - <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> - <VersionInfoKeys Name="InternalName">JclProjectAnalysisExpert</VersionInfoKeys> - <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> - <VersionInfoKeys Name="OriginalFilename">JclProjectAnalysisExpert120.bpl</VersionInfoKeys> - <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> - <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> - </VersionInfoKeys> - <Source> - <Source Name="MainSource">JclProjectAnalysisExpert.dpk</Source> - </Source> - <Excluded_Packages/> - </Delphi.Personality> - </BorlandProject> + <Delphi.Personality> + <Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="LoadAllSymbols">True</Parameters> + <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> + </Parameters> + <VersionInfo> + <VersionInfo Name="IncludeVerInfo">True</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">2</VersionInfo> + <VersionInfo Name="MinorVer">0</VersionInfo> + <VersionInfo Name="Release">0</VersionInfo> + <VersionInfo Name="Build">3401</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">False</VersionInfo> + <VersionInfo Name="Locale">1031</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="FileDescription">JCL Project Analyzer</VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> + <VersionInfoKeys Name="InternalName">JclProjectAnalysisExpert</VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename">JclProjectAnalysisExpert120.bpl</VersionInfoKeys> + <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> + </VersionInfoKeys> + <Source> + <Source Name="MainSource">JclProjectAnalysisExpert.dpk</Source> + </Source> + <Excluded_Packages/> + </Delphi.Personality> </BorlandProject> + <ProjectFileVersion>12</ProjectFileVersion> </ProjectExtensions> </Project> Modified: trunk/jcl/packages/d12/JclProjectAnalysisExpertDLL.dproj =================================================================== --- trunk/jcl/packages/d12/JclProjectAnalysisExpertDLL.dproj 2009-07-21 09:40:52 UTC (rev 2870) +++ trunk/jcl/packages/d12/JclProjectAnalysisExpertDLL.dproj 2009-07-21 10:17:17 UTC (rev 2871) @@ -2,7 +2,7 @@ <PropertyGroup> <ProjectGuid>{6E22E269-A58C-41B6-BB1C-57670E460887}</ProjectGuid> <MainSource>JclProjectAnalysisExpertDLL.dpr</MainSource> - <ProjectVersion>12</ProjectVersion> + <ProjectVersion>12.0</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> @@ -81,49 +81,48 @@ </ItemGroup> <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> <ProjectExtensions> - <Borland.Personality>Delphi.Personality</Borland.Personality> + <Borland.Personality>Delphi.Personality.12</Borland.Personality> <Borland.ProjectType>Package</Borland.ProjectType> <Borland.PersonalityVersion>1.0</Borland.PersonalityVersion> <BorlandProject> - <BorlandProject> - <Delphi.Personality> - <Parameters> - <Parameters Name="UseLauncher">False</Parameters> - <Parameters Name="LoadAllSymbols">True</Parameters> - <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> - </Parameters> - <VersionInfo> - <VersionInfo Name="IncludeVerInfo">True</VersionInfo> - <VersionInfo Name="AutoIncBuild">False</VersionInfo> - <VersionInfo Name="MajorVer">2</VersionInfo> - <VersionInfo Name="MinorVer">0</VersionInfo> - <VersionInfo Name="Release">0</VersionInfo> - <VersionInfo Name="Build">3401</VersionInfo> - <VersionInfo Name="Debug">False</VersionInfo> - <VersionInfo Name="PreRelease">False</VersionInfo> - <VersionInfo Name="Special">False</VersionInfo> - <VersionInfo Name="Private">False</VersionInfo> - <VersionInfo Name="DLL">False</VersionInfo> - <VersionInfo Name="Locale">1031</VersionInfo> - <VersionInfo Name="CodePage">1252</VersionInfo> - </VersionInfo> - <VersionInfoKeys> - <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="FileDescription">JCL Project Analyzer</VersionInfoKeys> - <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> - <VersionInfoKeys Name="InternalName">JclProjectAnalysisExpertDLL</VersionInfoKeys> - <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> - <VersionInfoKeys Name="OriginalFilename">JclProjectAnalysisExpertDLL120.dll</VersionInfoKeys> - <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> - <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> - </VersionInfoKeys> - <Source> - <Source Name="MainSource">JclProjectAnalysisExpertDLL.dpr</Source> - </Source> - <Excluded_Packages/> - </Delphi.Personality> - </BorlandProject> + <Delphi.Personality> + <Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="LoadAllSymbols">True</Parameters> + <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> + </Parameters> + <VersionInfo> + <VersionInfo Name="IncludeVerInfo">True</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">2</VersionInfo> + <VersionInfo Name="MinorVer">0</VersionInfo> + <VersionInfo Name="Release">0</VersionInfo> + <VersionInfo Name="Build">3401</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">False</VersionInfo> + <VersionInfo Name="Locale">1031</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="FileDescription">JCL Project Analyzer</VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> + <VersionInfoKeys Name="InternalName">JclProjectAnalysisExpertDLL</VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename">JclProjectAnalysisExpertDLL120.dll</VersionInfoKeys> + <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> + </VersionInfoKeys> + <Source> + <Source Name="MainSource">JclProjectAnalysisExpertDLL.dpr</Source> + </Source> + <Excluded_Packages/> + </Delphi.Personality> </BorlandProject> + <ProjectFileVersion>12</ProjectFileVersion> </ProjectExtensions> </Project> Modified: trunk/jcl/packages/d12/JclRepositoryExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclRepositoryExpert.dproj 2009-07-21 09:40:52 UTC (rev 2870) +++ trunk/jcl/packages/d12/JclRepositoryExpert.dproj 2009-07-21 10:17:17 UTC (rev 2871) @@ -2,7 +2,7 @@ <PropertyGroup> <ProjectGuid>{2B548932-6654-4E44-8B06-3288D7A884C4}</ProjectGuid> <MainSource>JclRepositoryExpert.dpk</MainSource> - <ProjectVersion>12</ProjectVersion> + <ProjectVersion>12.0</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> @@ -89,49 +89,48 @@ </ItemGroup> <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> <ProjectExtensions> - <Borland.Personality>Delphi.Personality</Borland.Personality> + <Borland.Personality>Delphi.Personality.12</Borland.Personality> <Borland.ProjectType>Package</Borland.ProjectType> <Borland.PersonalityVersion>1.0</Borland.PersonalityVersion> <BorlandProject> - <BorlandProject> - <Delphi.Personality> - <Parameters> - <Parameters Name="UseLauncher">False</Parameters> - <Parameters Name="LoadAllSymbols">True</Parameters> - <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> - </Parameters> - <VersionInfo> - <VersionInfo Name="IncludeVerInfo">True</VersionInfo> - <VersionInfo Name="AutoIncBuild">False</VersionInfo> - <VersionInfo Name="MajorVer">2</VersionInfo> - <VersionInfo Name="MinorVer">0</VersionInfo> - <VersionInfo Name="Release">0</VersionInfo> - <VersionInfo Name="Build">3401</VersionInfo> - <VersionInfo Name="Debug">False</VersionInfo> - <VersionInfo Name="PreRelease">False</VersionInfo> - <VersionInfo Name="Special">False</VersionInfo> - <VersionInfo Name="Private">False</VersionInfo> - <VersionInfo Name="DLL">False</VersionInfo> - <VersionInfo Name="Locale">1031</VersionInfo> - <VersionInfo Name="CodePage">1252</VersionInfo> - </VersionInfo> - <VersionInfoKeys> - <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="FileDescription">JCL Package containing repository wizards</VersionInfoKeys> - <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> - <VersionInfoKeys Name="InternalName">JclRepositoryExpert</VersionInfoKeys> - <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> - <VersionInfoKeys Name="OriginalFilename">JclRepositoryExpert120.bpl</VersionInfoKeys> - <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> - <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> - </VersionInfoKeys> - <Source> - <Source Name="MainSource">JclRepositoryExpert.dpk</Source> - </Source> - <Excluded_Packages/> - </Delphi.Personality> - </BorlandProject> + <Delphi.Personality> + <Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="LoadAllSymbols">True</Parameters> + <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> + </Parameters> + <VersionInfo> + <VersionInfo Name="IncludeVerInfo">True</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">2</VersionInfo> + <VersionInfo Name="MinorVer">0</VersionInfo> + <VersionInfo Name="Release">0</VersionInfo> + <VersionInfo Name="Build">3401</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">False</VersionInfo> + <VersionInfo Name="Locale">1031</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="FileDescription">JCL Package containing repository wizards</VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> + <VersionInfoKeys Name="InternalName">JclRepositoryExpert</VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename">JclRepositoryExpert120.bpl</VersionInfoKeys> + <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> + </VersionInfoKeys> + <Source> + <Source Name="MainSource">JclRepositoryExpert.dpk</Source> + </Source> + <Excluded_Packages/> + </Delphi.Personality> </BorlandProject> + <ProjectFileVersion>12</ProjectFileVersion> </ProjectExtensions> </Project> Modified: trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj =================================================================== --- trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj 2009-07-21 09:40:52 UTC (rev 2870) +++ trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj 2009-07-21 10:17:17 UTC (rev 2871) @@ -2,7 +2,7 @@ <PropertyGroup> <ProjectGuid>{D93FF823-44C6-49D4-B9B3-30F1F60082F5}</ProjectGuid> <MainSource>JclRepositoryExpertDLL.dpr</MainSource> - <ProjectVersion>12</ProjectVersion> + <ProjectVersion>12.0</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> @@ -89,49 +89,48 @@ </ItemGroup> <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> <ProjectExtensions> - <Borland.Personality>Delphi.Personality</Borland.Personality> + <Borland.Personality>Delphi.Personality.12</Borland.Personality> <Borland.ProjectType>Package</Borland.ProjectType> <Borland.PersonalityVersion>1.0</Borland.PersonalityVersion> <BorlandProject> - <BorlandProject> - <Delphi.Personality> - <Parameters> - <Parameters Name="UseLauncher">False</Parameters> - <Parameters Name="LoadAllSymbols">True</Parameters> - <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> - </Parameters> - <VersionInfo> - <VersionInfo Name="IncludeVerInfo">True</VersionInfo> - <VersionInfo Name="AutoIncBuild">False</VersionInfo> - <VersionInfo Name="MajorVer">2</VersionInfo> - <VersionInfo Name="MinorVer">0</VersionInfo> - <VersionInfo Name="Release">0</VersionInfo> - <VersionInfo Name="Build">3401</VersionInfo> - <VersionInfo Name="Debug">False</VersionInfo> - <VersionInfo Name="PreRelease">False</VersionInfo> - <VersionInfo Name="Special">False</VersionInfo> - <VersionInfo Name="Private">False</VersionInfo> - <VersionInfo Name="DLL">False</VersionInfo> - <VersionInfo Name="Locale">1031</VersionInfo> - <VersionInfo Name="CodePage">1252</VersionInfo> - </VersionInfo> - <VersionInfoKeys> - <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="FileDescription">JCL Package containing repository wizards</VersionInfoKeys> - <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> - <VersionInfoKeys Name="InternalName">JclRepositoryExpertDLL</VersionInfoKeys> - <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> - <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> - <VersionInfoKeys Name="OriginalFilename">JclRepositoryExpertDLL120.dll</VersionInfoKeys> - <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> - <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> - </VersionInfoKeys> - <Source> - <Source Name="MainSource">JclRepositoryExpertDLL.dpr</Source> - </Source> - <Excluded_Packages/> - </Delphi.Personality> - </BorlandProject> + <Delphi.Personality> + <Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="LoadAllSymbols">True</Parameters> + <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> + </Parameters> + <VersionInfo> + <VersionInfo Name="IncludeVerInfo">True</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">2</VersionInfo> + <VersionInfo Name="MinorVer">0</VersionInfo> + <VersionInfo Name="Release">0</VersionInfo> + <VersionInfo Name="Build">3401</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">False</VersionInfo> + <VersionInfo Name="Locale">1031</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName">Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="FileDescription">JCL Package containing repository wizards</VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">2.0.0.3401</VersionInfoKeys> + <VersionInfoKeys Name="InternalName">JclRepositoryExpertDLL</VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2009 Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename">JclRepositoryExpertDLL120.dll</VersionInfoKeys> + <VersionInfoKeys Name="ProductName">JEDI Code Library</VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">2.0 Build 3401</VersionInfoKeys> + </VersionInfoKeys> + <Source> + <Source Name="MainSource">JclRepositoryExpertDLL.dpr</Source> + </Source> + <Excluded_Packages/> + </Delphi.Personality> </BorlandProject> + <ProjectFileVersion>12</ProjectFileVersion> </ProjectExtensions> </Project> Modified: trunk/jcl/packages/d12/JclSIMDViewExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclSIMDViewExpert.dproj 2009-07-21 09:40:52 UTC (rev 2870) +++ trunk/jcl/packages/d12/JclSIMDViewExpert.dproj 2009-07-21 10:17:17 UTC (rev 2871) @@ -2,7 +2,7 @@ <PropertyGroup> <ProjectGuid>{2F16B01B-57C8-4EB1-A0C4-421B3008A4F6}</ProjectGuid> <MainSource>JclSIMDViewExpert.dpk</MainSource> - <ProjectVersion>12</ProjectVersion> + <ProjectVersion>12.0</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> @@ -84,49 +84,48 @@ </ItemGroup> <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> <ProjectExtensions> - <Borland.Personality>Delphi.Personality</Borland.Personality> + <Borland.Personality>Delphi.Personality.12</Borland.Personality> <Borland.ProjectType>Package</Borland.ProjectType> <Borland.PersonalityVersion>1.0</Borland.PersonalityVersion> <BorlandProject> - <BorlandProject> - <Delphi.Personality> - <Parameters> - <Parameters Name="UseLauncher">False</Parameters> - <Parameters Name="LoadAllSymbols">True</Parameters> - <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> - </Parameters> - <VersionInfo> - <VersionInfo Name="IncludeVerInfo">True</VersionInfo> - <VersionInfo Name="AutoIncBuild">False</VersionInfo> - <VersionInfo Name="MajorVer">2</VersionInfo> - <VersionInfo Name="MinorVer">0</VersionInfo> - <VersionInfo Name="Release">0</VersionInfo> - <VersionInfo Name="Build">3401</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</VersionIn... [truncated message content] |
From: <ou...@us...> - 2009-07-21 09:40:56
|
Revision: 2870 http://jcl.svn.sourceforge.net/jcl/?rev=2870&view=rev Author: outchy Date: 2009-07-21 09:40:52 +0000 (Tue, 21 Jul 2009) Log Message: ----------- reduce the differences between array lists and vectors. fix possible loss of data in TJcl*ArrayList.Extract and TJcl*ArrayList.ExtractIndex when the last item is extracted. fix total failure of TJcl*ArrayList.Insert that always inserted to the last position. added collection support to TJcl*Vector. Modified Paths: -------------- trunk/jcl/source/common/JclArrayLists.pas trunk/jcl/source/common/JclVectors.pas trunk/jcl/source/prototypes/containers/JclArrayLists.imp trunk/jcl/source/prototypes/containers/JclVectors.imp Modified: trunk/jcl/source/common/JclArrayLists.pas =================================================================== --- trunk/jcl/source/common/JclArrayLists.pas 2009-07-20 20:51:16 UTC (rev 2869) +++ trunk/jcl/source/common/JclArrayLists.pas 2009-07-21 09:40:52 UTC (rev 2870) @@ -1195,24 +1195,15 @@ constructor TJclIntfArrayList.Create(ACapacity: Integer); begin inherited Create(); - FSize := 0; - if ACapacity < 0 then - FCapacity := 0 - else - FCapacity := ACapacity; - SetLength(FElementData, FCapacity); + SetCapacity(ACapacity); end; constructor TJclIntfArrayList.Create(const ACollection: IJclIntfCollection); begin - // (rom) disabled because the following Create already calls inherited - // inherited Create; + inherited Create(); if ACollection = nil then raise EJclNoCollectionError.Create; - Create(); - FSize := 0; - FCapacity := ACollection.Size; - SetLength(FElementData, FCapacity); + SetCapacity(ACollection.Size); AddAll(ACollection); end; @@ -1268,9 +1259,6 @@ function TJclIntfArrayList.AddAll(const ACollection: IJclIntfCollection): Boolean; var It: IJclIntfIterator; - Item: IInterface; - AddItem: Boolean; - Index: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -1285,33 +1273,7 @@ Result := True; It := ACollection.First; while It.HasNext do - begin - Item := It.Next; - // (rom) inlining Add() gives about 5 percent performance increase - AddItem := FAllowDefaultElements or not ItemsEqual(Item, nil); - if AddItem then - begin - if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(Item, FElementData[Index]) then - begin - AddItem := CheckDuplicate; - Break; - end; - if AddItem then - begin - if FSize = FCapacity then - AutoGrow; - AddItem := FSize < FCapacity; - if AddItem then - begin - FElementData[FSize] := Item; - Inc(FSize); - end; - end; - end; - Result := Result and AddItem; - end; + Result := Add(It.Next) and Result; {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -1424,10 +1386,9 @@ SyncReaderWriter.BeginRead; try {$ENDIF THREADSAFE} - Result := False; + Result := True; if ACollection = nil then Exit; - Result := True; It := ACollection.First; while Result and It.HasNext do Result := Contains(It.Next); @@ -1477,7 +1438,7 @@ begin FElementData[I] := nil; if I < (FSize - 1) then - MoveArray(FElementData, I + 1, I, FSize - I - 1); + MoveArray(FElementData, I + 1, I, FSize - I); Dec(FSize); Result := True; if FRemoveSingleElement then @@ -1531,7 +1492,7 @@ begin Result := FElementData[Index]; if Index < (FSize - 1) then - MoveArray(FElementData, Index + 1, Index, FSize - Index - 1); + MoveArray(FElementData, Index + 1, Index, FSize - Index); Dec(FSize); AutoPack; end @@ -1603,6 +1564,8 @@ end; function TJclIntfArrayList.Insert(Index: Integer; const AInterface: IInterface): Boolean; +var + I: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -1619,8 +1582,8 @@ if Result then begin if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(AInterface, FElementData[Index]) then + for I := 0 to FSize - 1 do + if ItemsEqual(AInterface, FElementData[I]) then begin Result := CheckDuplicate; Break; @@ -2051,24 +2014,15 @@ constructor TJclAnsiStrArrayList.Create(ACapacity: Integer); begin inherited Create(); - FSize := 0; - if ACapacity < 0 then - FCapacity := 0 - else - FCapacity := ACapacity; - SetLength(FElementData, FCapacity); + SetCapacity(ACapacity); end; constructor TJclAnsiStrArrayList.Create(const ACollection: IJclAnsiStrCollection); begin - // (rom) disabled because the following Create already calls inherited - // inherited Create; + inherited Create(); if ACollection = nil then raise EJclNoCollectionError.Create; - Create(); - FSize := 0; - FCapacity := ACollection.Size; - SetLength(FElementData, FCapacity); + SetCapacity(ACollection.Size); AddAll(ACollection); end; @@ -2124,9 +2078,6 @@ function TJclAnsiStrArrayList.AddAll(const ACollection: IJclAnsiStrCollection): Boolean; var It: IJclAnsiStrIterator; - Item: AnsiString; - AddItem: Boolean; - Index: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -2141,33 +2092,7 @@ Result := True; It := ACollection.First; while It.HasNext do - begin - Item := It.Next; - // (rom) inlining Add() gives about 5 percent performance increase - AddItem := FAllowDefaultElements or not ItemsEqual(Item, ''); - if AddItem then - begin - if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(Item, FElementData[Index]) then - begin - AddItem := CheckDuplicate; - Break; - end; - if AddItem then - begin - if FSize = FCapacity then - AutoGrow; - AddItem := FSize < FCapacity; - if AddItem then - begin - FElementData[FSize] := Item; - Inc(FSize); - end; - end; - end; - Result := Result and AddItem; - end; + Result := Add(It.Next) and Result; {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -2280,10 +2205,9 @@ SyncReaderWriter.BeginRead; try {$ENDIF THREADSAFE} - Result := False; + Result := True; if ACollection = nil then Exit; - Result := True; It := ACollection.First; while Result and It.HasNext do Result := Contains(It.Next); @@ -2333,7 +2257,7 @@ begin FElementData[I] := ''; if I < (FSize - 1) then - MoveArray(FElementData, I + 1, I, FSize - I - 1); + MoveArray(FElementData, I + 1, I, FSize - I); Dec(FSize); Result := True; if FRemoveSingleElement then @@ -2387,7 +2311,7 @@ begin Result := FElementData[Index]; if Index < (FSize - 1) then - MoveArray(FElementData, Index + 1, Index, FSize - Index - 1); + MoveArray(FElementData, Index + 1, Index, FSize - Index); Dec(FSize); AutoPack; end @@ -2459,6 +2383,8 @@ end; function TJclAnsiStrArrayList.Insert(Index: Integer; const AString: AnsiString): Boolean; +var + I: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -2475,8 +2401,8 @@ if Result then begin if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(AString, FElementData[Index]) then + for I := 0 to FSize - 1 do + if ItemsEqual(AString, FElementData[I]) then begin Result := CheckDuplicate; Break; @@ -2907,24 +2833,15 @@ constructor TJclWideStrArrayList.Create(ACapacity: Integer); begin inherited Create(); - FSize := 0; - if ACapacity < 0 then - FCapacity := 0 - else - FCapacity := ACapacity; - SetLength(FElementData, FCapacity); + SetCapacity(ACapacity); end; constructor TJclWideStrArrayList.Create(const ACollection: IJclWideStrCollection); begin - // (rom) disabled because the following Create already calls inherited - // inherited Create; + inherited Create(); if ACollection = nil then raise EJclNoCollectionError.Create; - Create(); - FSize := 0; - FCapacity := ACollection.Size; - SetLength(FElementData, FCapacity); + SetCapacity(ACollection.Size); AddAll(ACollection); end; @@ -2980,9 +2897,6 @@ function TJclWideStrArrayList.AddAll(const ACollection: IJclWideStrCollection): Boolean; var It: IJclWideStrIterator; - Item: WideString; - AddItem: Boolean; - Index: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -2997,33 +2911,7 @@ Result := True; It := ACollection.First; while It.HasNext do - begin - Item := It.Next; - // (rom) inlining Add() gives about 5 percent performance increase - AddItem := FAllowDefaultElements or not ItemsEqual(Item, ''); - if AddItem then - begin - if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(Item, FElementData[Index]) then - begin - AddItem := CheckDuplicate; - Break; - end; - if AddItem then - begin - if FSize = FCapacity then - AutoGrow; - AddItem := FSize < FCapacity; - if AddItem then - begin - FElementData[FSize] := Item; - Inc(FSize); - end; - end; - end; - Result := Result and AddItem; - end; + Result := Add(It.Next) and Result; {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -3136,10 +3024,9 @@ SyncReaderWriter.BeginRead; try {$ENDIF THREADSAFE} - Result := False; + Result := True; if ACollection = nil then Exit; - Result := True; It := ACollection.First; while Result and It.HasNext do Result := Contains(It.Next); @@ -3189,7 +3076,7 @@ begin FElementData[I] := ''; if I < (FSize - 1) then - MoveArray(FElementData, I + 1, I, FSize - I - 1); + MoveArray(FElementData, I + 1, I, FSize - I); Dec(FSize); Result := True; if FRemoveSingleElement then @@ -3243,7 +3130,7 @@ begin Result := FElementData[Index]; if Index < (FSize - 1) then - MoveArray(FElementData, Index + 1, Index, FSize - Index - 1); + MoveArray(FElementData, Index + 1, Index, FSize - Index); Dec(FSize); AutoPack; end @@ -3315,6 +3202,8 @@ end; function TJclWideStrArrayList.Insert(Index: Integer; const AString: WideString): Boolean; +var + I: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -3331,8 +3220,8 @@ if Result then begin if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(AString, FElementData[Index]) then + for I := 0 to FSize - 1 do + if ItemsEqual(AString, FElementData[I]) then begin Result := CheckDuplicate; Break; @@ -3764,24 +3653,15 @@ constructor TJclUnicodeStrArrayList.Create(ACapacity: Integer); begin inherited Create(); - FSize := 0; - if ACapacity < 0 then - FCapacity := 0 - else - FCapacity := ACapacity; - SetLength(FElementData, FCapacity); + SetCapacity(ACapacity); end; constructor TJclUnicodeStrArrayList.Create(const ACollection: IJclUnicodeStrCollection); begin - // (rom) disabled because the following Create already calls inherited - // inherited Create; + inherited Create(); if ACollection = nil then raise EJclNoCollectionError.Create; - Create(); - FSize := 0; - FCapacity := ACollection.Size; - SetLength(FElementData, FCapacity); + SetCapacity(ACollection.Size); AddAll(ACollection); end; @@ -3837,9 +3717,6 @@ function TJclUnicodeStrArrayList.AddAll(const ACollection: IJclUnicodeStrCollection): Boolean; var It: IJclUnicodeStrIterator; - Item: UnicodeString; - AddItem: Boolean; - Index: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -3854,33 +3731,7 @@ Result := True; It := ACollection.First; while It.HasNext do - begin - Item := It.Next; - // (rom) inlining Add() gives about 5 percent performance increase - AddItem := FAllowDefaultElements or not ItemsEqual(Item, ''); - if AddItem then - begin - if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(Item, FElementData[Index]) then - begin - AddItem := CheckDuplicate; - Break; - end; - if AddItem then - begin - if FSize = FCapacity then - AutoGrow; - AddItem := FSize < FCapacity; - if AddItem then - begin - FElementData[FSize] := Item; - Inc(FSize); - end; - end; - end; - Result := Result and AddItem; - end; + Result := Add(It.Next) and Result; {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -3993,10 +3844,9 @@ SyncReaderWriter.BeginRead; try {$ENDIF THREADSAFE} - Result := False; + Result := True; if ACollection = nil then Exit; - Result := True; It := ACollection.First; while Result and It.HasNext do Result := Contains(It.Next); @@ -4046,7 +3896,7 @@ begin FElementData[I] := ''; if I < (FSize - 1) then - MoveArray(FElementData, I + 1, I, FSize - I - 1); + MoveArray(FElementData, I + 1, I, FSize - I); Dec(FSize); Result := True; if FRemoveSingleElement then @@ -4100,7 +3950,7 @@ begin Result := FElementData[Index]; if Index < (FSize - 1) then - MoveArray(FElementData, Index + 1, Index, FSize - Index - 1); + MoveArray(FElementData, Index + 1, Index, FSize - Index); Dec(FSize); AutoPack; end @@ -4172,6 +4022,8 @@ end; function TJclUnicodeStrArrayList.Insert(Index: Integer; const AString: UnicodeString): Boolean; +var + I: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -4188,8 +4040,8 @@ if Result then begin if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(AString, FElementData[Index]) then + for I := 0 to FSize - 1 do + if ItemsEqual(AString, FElementData[I]) then begin Result := CheckDuplicate; Break; @@ -4622,24 +4474,15 @@ constructor TJclSingleArrayList.Create(ACapacity: Integer); begin inherited Create(); - FSize := 0; - if ACapacity < 0 then - FCapacity := 0 - else - FCapacity := ACapacity; - SetLength(FElementData, FCapacity); + SetCapacity(ACapacity); end; constructor TJclSingleArrayList.Create(const ACollection: IJclSingleCollection); begin - // (rom) disabled because the following Create already calls inherited - // inherited Create; + inherited Create(); if ACollection = nil then raise EJclNoCollectionError.Create; - Create(); - FSize := 0; - FCapacity := ACollection.Size; - SetLength(FElementData, FCapacity); + SetCapacity(ACollection.Size); AddAll(ACollection); end; @@ -4695,9 +4538,6 @@ function TJclSingleArrayList.AddAll(const ACollection: IJclSingleCollection): Boolean; var It: IJclSingleIterator; - Item: Single; - AddItem: Boolean; - Index: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -4712,33 +4552,7 @@ Result := True; It := ACollection.First; while It.HasNext do - begin - Item := It.Next; - // (rom) inlining Add() gives about 5 percent performance increase - AddItem := FAllowDefaultElements or not ItemsEqual(Item, 0.0); - if AddItem then - begin - if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(Item, FElementData[Index]) then - begin - AddItem := CheckDuplicate; - Break; - end; - if AddItem then - begin - if FSize = FCapacity then - AutoGrow; - AddItem := FSize < FCapacity; - if AddItem then - begin - FElementData[FSize] := Item; - Inc(FSize); - end; - end; - end; - Result := Result and AddItem; - end; + Result := Add(It.Next) and Result; {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -4851,10 +4665,9 @@ SyncReaderWriter.BeginRead; try {$ENDIF THREADSAFE} - Result := False; + Result := True; if ACollection = nil then Exit; - Result := True; It := ACollection.First; while Result and It.HasNext do Result := Contains(It.Next); @@ -4904,7 +4717,7 @@ begin FElementData[I] := 0.0; if I < (FSize - 1) then - MoveArray(FElementData, I + 1, I, FSize - I - 1); + MoveArray(FElementData, I + 1, I, FSize - I); Dec(FSize); Result := True; if FRemoveSingleElement then @@ -4958,7 +4771,7 @@ begin Result := FElementData[Index]; if Index < (FSize - 1) then - MoveArray(FElementData, Index + 1, Index, FSize - Index - 1); + MoveArray(FElementData, Index + 1, Index, FSize - Index); Dec(FSize); AutoPack; end @@ -5030,6 +4843,8 @@ end; function TJclSingleArrayList.Insert(Index: Integer; const AValue: Single): Boolean; +var + I: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -5046,8 +4861,8 @@ if Result then begin if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(AValue, FElementData[Index]) then + for I := 0 to FSize - 1 do + if ItemsEqual(AValue, FElementData[I]) then begin Result := CheckDuplicate; Break; @@ -5478,24 +5293,15 @@ constructor TJclDoubleArrayList.Create(ACapacity: Integer); begin inherited Create(); - FSize := 0; - if ACapacity < 0 then - FCapacity := 0 - else - FCapacity := ACapacity; - SetLength(FElementData, FCapacity); + SetCapacity(ACapacity); end; constructor TJclDoubleArrayList.Create(const ACollection: IJclDoubleCollection); begin - // (rom) disabled because the following Create already calls inherited - // inherited Create; + inherited Create(); if ACollection = nil then raise EJclNoCollectionError.Create; - Create(); - FSize := 0; - FCapacity := ACollection.Size; - SetLength(FElementData, FCapacity); + SetCapacity(ACollection.Size); AddAll(ACollection); end; @@ -5551,9 +5357,6 @@ function TJclDoubleArrayList.AddAll(const ACollection: IJclDoubleCollection): Boolean; var It: IJclDoubleIterator; - Item: Double; - AddItem: Boolean; - Index: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -5568,33 +5371,7 @@ Result := True; It := ACollection.First; while It.HasNext do - begin - Item := It.Next; - // (rom) inlining Add() gives about 5 percent performance increase - AddItem := FAllowDefaultElements or not ItemsEqual(Item, 0.0); - if AddItem then - begin - if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(Item, FElementData[Index]) then - begin - AddItem := CheckDuplicate; - Break; - end; - if AddItem then - begin - if FSize = FCapacity then - AutoGrow; - AddItem := FSize < FCapacity; - if AddItem then - begin - FElementData[FSize] := Item; - Inc(FSize); - end; - end; - end; - Result := Result and AddItem; - end; + Result := Add(It.Next) and Result; {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -5707,10 +5484,9 @@ SyncReaderWriter.BeginRead; try {$ENDIF THREADSAFE} - Result := False; + Result := True; if ACollection = nil then Exit; - Result := True; It := ACollection.First; while Result and It.HasNext do Result := Contains(It.Next); @@ -5760,7 +5536,7 @@ begin FElementData[I] := 0.0; if I < (FSize - 1) then - MoveArray(FElementData, I + 1, I, FSize - I - 1); + MoveArray(FElementData, I + 1, I, FSize - I); Dec(FSize); Result := True; if FRemoveSingleElement then @@ -5814,7 +5590,7 @@ begin Result := FElementData[Index]; if Index < (FSize - 1) then - MoveArray(FElementData, Index + 1, Index, FSize - Index - 1); + MoveArray(FElementData, Index + 1, Index, FSize - Index); Dec(FSize); AutoPack; end @@ -5886,6 +5662,8 @@ end; function TJclDoubleArrayList.Insert(Index: Integer; const AValue: Double): Boolean; +var + I: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -5902,8 +5680,8 @@ if Result then begin if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(AValue, FElementData[Index]) then + for I := 0 to FSize - 1 do + if ItemsEqual(AValue, FElementData[I]) then begin Result := CheckDuplicate; Break; @@ -6334,24 +6112,15 @@ constructor TJclExtendedArrayList.Create(ACapacity: Integer); begin inherited Create(); - FSize := 0; - if ACapacity < 0 then - FCapacity := 0 - else - FCapacity := ACapacity; - SetLength(FElementData, FCapacity); + SetCapacity(ACapacity); end; constructor TJclExtendedArrayList.Create(const ACollection: IJclExtendedCollection); begin - // (rom) disabled because the following Create already calls inherited - // inherited Create; + inherited Create(); if ACollection = nil then raise EJclNoCollectionError.Create; - Create(); - FSize := 0; - FCapacity := ACollection.Size; - SetLength(FElementData, FCapacity); + SetCapacity(ACollection.Size); AddAll(ACollection); end; @@ -6407,9 +6176,6 @@ function TJclExtendedArrayList.AddAll(const ACollection: IJclExtendedCollection): Boolean; var It: IJclExtendedIterator; - Item: Extended; - AddItem: Boolean; - Index: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -6424,33 +6190,7 @@ Result := True; It := ACollection.First; while It.HasNext do - begin - Item := It.Next; - // (rom) inlining Add() gives about 5 percent performance increase - AddItem := FAllowDefaultElements or not ItemsEqual(Item, 0.0); - if AddItem then - begin - if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(Item, FElementData[Index]) then - begin - AddItem := CheckDuplicate; - Break; - end; - if AddItem then - begin - if FSize = FCapacity then - AutoGrow; - AddItem := FSize < FCapacity; - if AddItem then - begin - FElementData[FSize] := Item; - Inc(FSize); - end; - end; - end; - Result := Result and AddItem; - end; + Result := Add(It.Next) and Result; {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -6563,10 +6303,9 @@ SyncReaderWriter.BeginRead; try {$ENDIF THREADSAFE} - Result := False; + Result := True; if ACollection = nil then Exit; - Result := True; It := ACollection.First; while Result and It.HasNext do Result := Contains(It.Next); @@ -6616,7 +6355,7 @@ begin FElementData[I] := 0.0; if I < (FSize - 1) then - MoveArray(FElementData, I + 1, I, FSize - I - 1); + MoveArray(FElementData, I + 1, I, FSize - I); Dec(FSize); Result := True; if FRemoveSingleElement then @@ -6670,7 +6409,7 @@ begin Result := FElementData[Index]; if Index < (FSize - 1) then - MoveArray(FElementData, Index + 1, Index, FSize - Index - 1); + MoveArray(FElementData, Index + 1, Index, FSize - Index); Dec(FSize); AutoPack; end @@ -6742,6 +6481,8 @@ end; function TJclExtendedArrayList.Insert(Index: Integer; const AValue: Extended): Boolean; +var + I: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -6758,8 +6499,8 @@ if Result then begin if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(AValue, FElementData[Index]) then + for I := 0 to FSize - 1 do + if ItemsEqual(AValue, FElementData[I]) then begin Result := CheckDuplicate; Break; @@ -7190,24 +6931,15 @@ constructor TJclIntegerArrayList.Create(ACapacity: Integer); begin inherited Create(); - FSize := 0; - if ACapacity < 0 then - FCapacity := 0 - else - FCapacity := ACapacity; - SetLength(FElementData, FCapacity); + SetCapacity(ACapacity); end; constructor TJclIntegerArrayList.Create(const ACollection: IJclIntegerCollection); begin - // (rom) disabled because the following Create already calls inherited - // inherited Create; + inherited Create(); if ACollection = nil then raise EJclNoCollectionError.Create; - Create(); - FSize := 0; - FCapacity := ACollection.Size; - SetLength(FElementData, FCapacity); + SetCapacity(ACollection.Size); AddAll(ACollection); end; @@ -7263,9 +6995,6 @@ function TJclIntegerArrayList.AddAll(const ACollection: IJclIntegerCollection): Boolean; var It: IJclIntegerIterator; - Item: Integer; - AddItem: Boolean; - Index: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -7280,33 +7009,7 @@ Result := True; It := ACollection.First; while It.HasNext do - begin - Item := It.Next; - // (rom) inlining Add() gives about 5 percent performance increase - AddItem := FAllowDefaultElements or not ItemsEqual(Item, 0); - if AddItem then - begin - if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(Item, FElementData[Index]) then - begin - AddItem := CheckDuplicate; - Break; - end; - if AddItem then - begin - if FSize = FCapacity then - AutoGrow; - AddItem := FSize < FCapacity; - if AddItem then - begin - FElementData[FSize] := Item; - Inc(FSize); - end; - end; - end; - Result := Result and AddItem; - end; + Result := Add(It.Next) and Result; {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -7419,10 +7122,9 @@ SyncReaderWriter.BeginRead; try {$ENDIF THREADSAFE} - Result := False; + Result := True; if ACollection = nil then Exit; - Result := True; It := ACollection.First; while Result and It.HasNext do Result := Contains(It.Next); @@ -7472,7 +7174,7 @@ begin FElementData[I] := 0; if I < (FSize - 1) then - MoveArray(FElementData, I + 1, I, FSize - I - 1); + MoveArray(FElementData, I + 1, I, FSize - I); Dec(FSize); Result := True; if FRemoveSingleElement then @@ -7526,7 +7228,7 @@ begin Result := FElementData[Index]; if Index < (FSize - 1) then - MoveArray(FElementData, Index + 1, Index, FSize - Index - 1); + MoveArray(FElementData, Index + 1, Index, FSize - Index); Dec(FSize); AutoPack; end @@ -7598,6 +7300,8 @@ end; function TJclIntegerArrayList.Insert(Index: Integer; AValue: Integer): Boolean; +var + I: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -7614,8 +7318,8 @@ if Result then begin if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(AValue, FElementData[Index]) then + for I := 0 to FSize - 1 do + if ItemsEqual(AValue, FElementData[I]) then begin Result := CheckDuplicate; Break; @@ -8046,24 +7750,15 @@ constructor TJclCardinalArrayList.Create(ACapacity: Integer); begin inherited Create(); - FSize := 0; - if ACapacity < 0 then - FCapacity := 0 - else - FCapacity := ACapacity; - SetLength(FElementData, FCapacity); + SetCapacity(ACapacity); end; constructor TJclCardinalArrayList.Create(const ACollection: IJclCardinalCollection); begin - // (rom) disabled because the following Create already calls inherited - // inherited Create; + inherited Create(); if ACollection = nil then raise EJclNoCollectionError.Create; - Create(); - FSize := 0; - FCapacity := ACollection.Size; - SetLength(FElementData, FCapacity); + SetCapacity(ACollection.Size); AddAll(ACollection); end; @@ -8119,9 +7814,6 @@ function TJclCardinalArrayList.AddAll(const ACollection: IJclCardinalCollection): Boolean; var It: IJclCardinalIterator; - Item: Cardinal; - AddItem: Boolean; - Index: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -8136,33 +7828,7 @@ Result := True; It := ACollection.First; while It.HasNext do - begin - Item := It.Next; - // (rom) inlining Add() gives about 5 percent performance increase - AddItem := FAllowDefaultElements or not ItemsEqual(Item, 0); - if AddItem then - begin - if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(Item, FElementData[Index]) then - begin - AddItem := CheckDuplicate; - Break; - end; - if AddItem then - begin - if FSize = FCapacity then - AutoGrow; - AddItem := FSize < FCapacity; - if AddItem then - begin - FElementData[FSize] := Item; - Inc(FSize); - end; - end; - end; - Result := Result and AddItem; - end; + Result := Add(It.Next) and Result; {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -8275,10 +7941,9 @@ SyncReaderWriter.BeginRead; try {$ENDIF THREADSAFE} - Result := False; + Result := True; if ACollection = nil then Exit; - Result := True; It := ACollection.First; while Result and It.HasNext do Result := Contains(It.Next); @@ -8328,7 +7993,7 @@ begin FElementData[I] := 0; if I < (FSize - 1) then - MoveArray(FElementData, I + 1, I, FSize - I - 1); + MoveArray(FElementData, I + 1, I, FSize - I); Dec(FSize); Result := True; if FRemoveSingleElement then @@ -8382,7 +8047,7 @@ begin Result := FElementData[Index]; if Index < (FSize - 1) then - MoveArray(FElementData, Index + 1, Index, FSize - Index - 1); + MoveArray(FElementData, Index + 1, Index, FSize - Index); Dec(FSize); AutoPack; end @@ -8454,6 +8119,8 @@ end; function TJclCardinalArrayList.Insert(Index: Integer; AValue: Cardinal): Boolean; +var + I: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -8470,8 +8137,8 @@ if Result then begin if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(AValue, FElementData[Index]) then + for I := 0 to FSize - 1 do + if ItemsEqual(AValue, FElementData[I]) then begin Result := CheckDuplicate; Break; @@ -8902,24 +8569,15 @@ constructor TJclInt64ArrayList.Create(ACapacity: Integer); begin inherited Create(); - FSize := 0; - if ACapacity < 0 then - FCapacity := 0 - else - FCapacity := ACapacity; - SetLength(FElementData, FCapacity); + SetCapacity(ACapacity); end; constructor TJclInt64ArrayList.Create(const ACollection: IJclInt64Collection); begin - // (rom) disabled because the following Create already calls inherited - // inherited Create; + inherited Create(); if ACollection = nil then raise EJclNoCollectionError.Create; - Create(); - FSize := 0; - FCapacity := ACollection.Size; - SetLength(FElementData, FCapacity); + SetCapacity(ACollection.Size); AddAll(ACollection); end; @@ -8975,9 +8633,6 @@ function TJclInt64ArrayList.AddAll(const ACollection: IJclInt64Collection): Boolean; var It: IJclInt64Iterator; - Item: Int64; - AddItem: Boolean; - Index: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -8992,33 +8647,7 @@ Result := True; It := ACollection.First; while It.HasNext do - begin - Item := It.Next; - // (rom) inlining Add() gives about 5 percent performance increase - AddItem := FAllowDefaultElements or not ItemsEqual(Item, 0); - if AddItem then - begin - if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(Item, FElementData[Index]) then - begin - AddItem := CheckDuplicate; - Break; - end; - if AddItem then - begin - if FSize = FCapacity then - AutoGrow; - AddItem := FSize < FCapacity; - if AddItem then - begin - FElementData[FSize] := Item; - Inc(FSize); - end; - end; - end; - Result := Result and AddItem; - end; + Result := Add(It.Next) and Result; {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -9131,10 +8760,9 @@ SyncReaderWriter.BeginRead; try {$ENDIF THREADSAFE} - Result := False; + Result := True; if ACollection = nil then Exit; - Result := True; It := ACollection.First; while Result and It.HasNext do Result := Contains(It.Next); @@ -9184,7 +8812,7 @@ begin FElementData[I] := 0; if I < (FSize - 1) then - MoveArray(FElementData, I + 1, I, FSize - I - 1); + MoveArray(FElementData, I + 1, I, FSize - I); Dec(FSize); Result := True; if FRemoveSingleElement then @@ -9238,7 +8866,7 @@ begin Result := FElementData[Index]; if Index < (FSize - 1) then - MoveArray(FElementData, Index + 1, Index, FSize - Index - 1); + MoveArray(FElementData, Index + 1, Index, FSize - Index); Dec(FSize); AutoPack; end @@ -9310,6 +8938,8 @@ end; function TJclInt64ArrayList.Insert(Index: Integer; const AValue: Int64): Boolean; +var + I: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -9326,8 +8956,8 @@ if Result then begin if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(AValue, FElementData[Index]) then + for I := 0 to FSize - 1 do + if ItemsEqual(AValue, FElementData[I]) then begin Result := CheckDuplicate; Break; @@ -9758,24 +9388,15 @@ constructor TJclPtrArrayList.Create(ACapacity: Integer); begin inherited Create(); - FSize := 0; - if ACapacity < 0 then - FCapacity := 0 - else - FCapacity := ACapacity; - SetLength(FElementData, FCapacity); + SetCapacity(ACapacity); end; constructor TJclPtrArrayList.Create(const ACollection: IJclPtrCollection); begin - // (rom) disabled because the following Create already calls inherited - // inherited Create; + inherited Create(); if ACollection = nil then raise EJclNoCollectionError.Create; - Create(); - FSize := 0; - FCapacity := ACollection.Size; - SetLength(FElementData, FCapacity); + SetCapacity(ACollection.Size); AddAll(ACollection); end; @@ -9831,9 +9452,6 @@ function TJclPtrArrayList.AddAll(const ACollection: IJclPtrCollection): Boolean; var It: IJclPtrIterator; - Item: Pointer; - AddItem: Boolean; - Index: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -9848,33 +9466,7 @@ Result := True; It := ACollection.First; while It.HasNext do - begin - Item := It.Next; - // (rom) inlining Add() gives about 5 percent performance increase - AddItem := FAllowDefaultElements or not ItemsEqual(Item, nil); - if AddItem then - begin - if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(Item, FElementData[Index]) then - begin - AddItem := CheckDuplicate; - Break; - end; - if AddItem then - begin - if FSize = FCapacity then - AutoGrow; - AddItem := FSize < FCapacity; - if AddItem then - begin - FElementData[FSize] := Item; - Inc(FSize); - end; - end; - end; - Result := Result and AddItem; - end; + Result := Add(It.Next) and Result; {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -9987,10 +9579,9 @@ SyncReaderWriter.BeginRead; try {$ENDIF THREADSAFE} - Result := False; + Result := True; if ACollection = nil then Exit; - Result := True; It := ACollection.First; while Result and It.HasNext do Result := Contains(It.Next); @@ -10040,7 +9631,7 @@ begin FElementData[I] := nil; if I < (FSize - 1) then - MoveArray(FElementData, I + 1, I, FSize - I - 1); + MoveArray(FElementData, I + 1, I, FSize - I); Dec(FSize); Result := True; if FRemoveSingleElement then @@ -10094,7 +9685,7 @@ begin Result := FElementData[Index]; if Index < (FSize - 1) then - MoveArray(FElementData, Index + 1, Index, FSize - Index - 1); + MoveArray(FElementData, Index + 1, Index, FSize - Index); Dec(FSize); AutoPack; end @@ -10166,6 +9757,8 @@ end; function TJclPtrArrayList.Insert(Index: Integer; APtr: Pointer): Boolean; +var + I: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -10182,8 +9775,8 @@ if Result then begin if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(APtr, FElementData[Index]) then + for I := 0 to FSize - 1 do + if ItemsEqual(APtr, FElementData[I]) then begin Result := CheckDuplicate; Break; @@ -10614,24 +10207,15 @@ constructor TJclArrayList.Create(ACapacity: Integer; AOwnsObjects: Boolean); begin inherited Create(AOwnsObjects); - FSize := 0; - if ACapacity < 0 then - FCapacity := 0 - else - FCapacity := ACapacity; - SetLength(FElementData, FCapacity); + SetCapacity(ACapacity); end; constructor TJclArrayList.Create(const ACollection: IJclCollection; AOwnsObjects: Boolean); begin - // (rom) disabled because the following Create already calls inherited - // inherited Create; + inherited Create(AOwnsObjects); if ACollection = nil then raise EJclNoCollectionError.Create; - Create(AOwnsObjects); - FSize := 0; - FCapacity := ACollection.Size; - SetLength(FElementData, FCapacity); + SetCapacity(ACollection.Size); AddAll(ACollection); end; @@ -10687,9 +10271,6 @@ function TJclArrayList.AddAll(const ACollection: IJclCollection): Boolean; var It: IJclIterator; - Item: TObject; - AddItem: Boolean; - Index: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -10704,33 +10285,7 @@ Result := True; It := ACollection.First; while It.HasNext do - begin - Item := It.Next; - // (rom) inlining Add() gives about 5 percent performance increase - AddItem := FAllowDefaultElements or not ItemsEqual(Item, nil); - if AddItem then - begin - if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(Item, FElementData[Index]) then - begin - AddItem := CheckDuplicate; - Break; - end; - if AddItem then - begin - if FSize = FCapacity then - AutoGrow; - AddItem := FSize < FCapacity; - if AddItem then - begin - FElementData[FSize] := Item; - Inc(FSize); - end; - end; - end; - Result := Result and AddItem; - end; + Result := Add(It.Next) and Result; {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -10843,10 +10398,9 @@ SyncReaderWriter.BeginRead; try {$ENDIF THREADSAFE} - Result := False; + Result := True; if ACollection = nil then Exit; - Result := True; It := ACollection.First; while Result and It.HasNext do Result := Contains(It.Next); @@ -10896,7 +10450,7 @@ begin FElementData[I] := nil; if I < (FSize - 1) then - MoveArray(FElementData, I + 1, I, FSize - I - 1); + MoveArray(FElementData, I + 1, I, FSize - I); Dec(FSize); Result := True; if FRemoveSingleElement then @@ -10950,7 +10504,7 @@ begin Result := FElementData[Index]; if Index < (FSize - 1) then - MoveArray(FElementData, Index + 1, Index, FSize - Index - 1); + MoveArray(FElementData, Index + 1, Index, FSize - Index); Dec(FSize); AutoPack; end @@ -11022,6 +10576,8 @@ end; function TJclArrayList.Insert(Index: Integer; AObject: TObject): Boolean; +var + I: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -11038,8 +10594,8 @@ if Result then begin if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(AObject, FElementData[Index]) then + for I := 0 to FSize - 1 do + if ItemsEqual(AObject, FElementData[I]) then begin Result := CheckDuplicate; Break; @@ -11472,24 +11028,15 @@ constructor TJclArrayList<T>.Create(ACapacity: Integer; AOwnsItems: Boolean); begin inherited Create(AOwnsItems); - FSize := 0; - if ACapacity < 0 then - FCapacity := 0 - else - FCapacity := ACapacity; - SetLength(FElementData, FCapacity); + SetCapacity(ACapacity); end; constructor TJclArrayList<T>.Create(const ACollection: IJclCollection<T>; AOwnsItems: Boolean); begin - // (rom) disabled because the following Create already calls inherited - // inherited Create; + inherited Create(AOwnsItems); if ACollection = nil then raise EJclNoCollectionError.Create; - Create(AOwnsItems); - FSize := 0; - FCapacity := ACollection.Size; - SetLength(FElementData, FCapacity); + SetCapacity(ACollection.Size); AddAll(ACollection); end; @@ -11545,9 +11092,6 @@ function TJclArrayList<T>.AddAll(const ACollection: IJclCollection<T>): Boolean; var It: IJclIterator<T>; - Item: T; - AddItem: Boolean; - Index: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -11562,33 +11106,7 @@ Result := True; It := ACollection.First; while It.HasNext do - begin - Item := It.Next; - // (rom) inlining Add() gives about 5 percent performance increase - AddItem := FAllowDefaultElements or not ItemsEqual(Item, Default(T)); - if AddItem then - begin - if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(Item, FElementData[Index]) then - begin - AddItem := CheckDuplicate; - Break; - end; - if AddItem then - begin - if FSize = FCapacity then - AutoGrow; - AddItem := FSize < FCapacity; - if AddItem then - begin - FElementData[FSize] := Item; - Inc(FSize); - end; - end; - end; - Result := Result and AddItem; - end; + Result := Add(It.Next) and Result; {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -11701,10 +11219,9 @@ SyncReaderWriter.BeginRead; try {$ENDIF THREADSAFE} - Result := False; + Result := True; if ACollection = nil then Exit; - Result := True; It := ACollection.First; while Result and It.HasNext do Result := Contains(It.Next); @@ -11754,7 +11271,7 @@ begin FElementData[I] := Default(T); if I < (FSize - 1) then - MoveArray(FElementData, I + 1, I, FSize - I - 1); + MoveArray(FElementData, I + 1, I, FSize - I); Dec(FSize); Result := True; if FRemoveSingleElement then @@ -11808,7 +11325,7 @@ begin Result := FElementData[Index]; if Index < (FSize - 1) then - MoveArray(FElementData, Index + 1, Index, FSize - Index - 1); + MoveArray(FElementData, Index + 1, Index, FSize - Index); Dec(FSize); AutoPack; end @@ -11880,6 +11397,8 @@ end; function TJclArrayList<T>.Insert(Index: Integer; const AItem: T): Boolean; +var + I: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -11896,8 +11415,8 @@ if Result then begin if FDuplicates <> dupAccept then - for Index := 0 to FSize - 1 do - if ItemsEqual(AItem, FElementData[Index]) then + for I := 0 to FSize - 1 do + if ItemsEqual(AItem, FElementData[I]) then begin Result := CheckDuplicate; Break; Modified: trunk/jcl/source/common/JclVectors.pas =================================================================== --- trunk/jcl/source/common/JclVectors.pas 2009-07-20 20:51:16 UTC (rev 2869) +++ trunk/jcl/source/common/JclVectors.pas 2009-07-21 09:40:52 UTC (rev 2870) @@ -101,7 +101,8 @@ procedure SetObject(Index: Integer; const AInterface: IInterface); function SubList(First, Count: Integer): IJclIntfList; public - constructor Create(ACapacity: Integer); + constructor Create(ACapacity: Integer); overload; + constructor Create(const ACollection: IJclIntfCollection); overload; destructor Destroy; override; property Items: TDynIInterfaceArray read FItems; end; @@ -135,7 +136,7 @@ property Current: IInterface read GetObject; {$ENDIF SUPPORTS_FOR_IN} public - constructor Create(const OwnList: IJclIntfList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); + constructor Create(const AOwnList: IJclIntfList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); end; TJclAnsiStrVector = class(TJclAnsiStrAbstractCollection, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} @@ -182,7 +183,8 @@ procedure SetString(Index: Integer; const AString: AnsiString); function SubList(First, Count: Integer): IJclAnsiStrList; public - constructor Create(ACapacity: Integer); + constructor Create(ACapacity: Integer); overload; + constructor Create(const ACollection: IJclAnsiStrCollection); overload; destructor Destroy; override; property Items: TDynAnsiStringArray read FItems; end; @@ -216,7 +218,7 @@ property Current: AnsiString read GetString; {$ENDIF SUPPORTS_FOR_IN} public - constructor Create(const OwnList: IJclAnsiStrList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); + constructor Create(const AOwnList: IJclAnsiStrList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); end; TJclWideStrVector = class(TJclWideStrAbstractCollection, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} @@ -263,7 +265,8 @@ procedure SetString(Index: Integer; const AString: WideString); function SubList(First, Count: Integer): IJclWideStrList; public - constructor Create(ACapacity: Integer); + constructor Create(ACapacity: Integer); overload; + constructor Create(const ACollection: IJclWideStrCollection); overload; destructor Destroy; override; property Items: TDynWideStringArray read FItems; end; @@ -297,7 +300,7 @@ property Current: WideString read GetString; {$ENDIF SUPPORTS_FOR_IN} public - constructor Create(const OwnList: IJclWideStrList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); + constructor Create(const AOwnList: IJclWideStrList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); end; {$IFDEF SUPPORTS_UNICODE_STRING} @@ -345,7 +348,8 @@ procedure SetString(Index: Integer; const AString: UnicodeString); function SubList(First, Count: Integer): IJclUnicodeStrList; public - constructor Create(ACapacity: Integer); + constructor Create(ACapacity: Integer); overload; + constructor Create(const ACollection: IJclUnicodeStrCollection); overload; destructor Destroy; override; property Items: TDynUnicodeStringArray read FItems; end; @@ -379,7 +383,7 @@ property Current: UnicodeString read GetString; {$ENDIF SUPPORTS_FOR_IN} public - constructor Create(const OwnList: IJclUnicodeStrList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); + constructor Create(const AOwnList: IJclUnicodeStrList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); end; {$ENDIF SUPPORTS_UNICODE_STRING} @@ -437,7 +441,8 @@ procedure SetValue(Index: Integer; const AValue: Single); function SubList(First, Count: Integer): IJclSingleList; public - constructor Create(ACapacity: Integer); + constructor Create(ACapacity: Integer); overload; + constructor Create(const ACollection: IJclSingleCollection); overload; destructor Destroy; override; property Items: TDynSingleArray read FItems; end; @@ -471,7 +476,7 @@ property Current: Single read GetValue; {$ENDIF SUPPORTS_FOR_IN} public - constructor Create(const OwnList: IJclSingleList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); + constructor Create(const AOwnList: IJclSingleList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); end; TJclDoubleVector = class(TJclDoubleAbstractContainer, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} @@ -518,7 +523,8 @@ procedure SetValue(Index: Integer; const AValue: Double); function SubList(First, Count: Integer): IJclDoubleList; public - constructor Create(ACapacity: Integer); + constructor Create(ACapacity: Integer); overload; + constructor Create(const ACollection: IJclDoubleCollection); overload; destructor Destroy; override; property Items: TDynDoubleArray read FItems; end; @@ -552,7 +558,7 @@ property Current: Double read GetValue; {$ENDIF SUPPORTS_FOR_IN} public - constructor Create(const OwnList: IJclDoubleList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); + constructor Create(const AOwnList: IJclDoubleList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); end; TJclExtendedVector = class(TJclExtendedAbstractContainer, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} @@ -599,7 +605,8 @@ procedure SetValue(Index: Integer; const AValue: Extended); function SubList(First, Count: Integer): IJclExtendedList; public - constructor Create(ACapacity: Integer); + constructor Create(ACapacity: Integer); overload; + constructor Create(const ACollection: IJclExtendedCollection); overload; destructor Destroy; override; property Items: TDynExtendedArray read FItems; end; @@ -633,7 +640,7 @@ property Current: Extended read GetValue; {$ENDIF SUPPORTS_FOR_IN} public - constructor Create(const OwnList: IJclExtendedList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); + constructor Create(const AOwnList: IJclExtendedList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); end; {$IFDEF MATH_EXTENDED_PRECISION} @@ -690,7 +697,8 @@ procedure SetValue(Index: Integer; AValue: Integer); function SubList(First, Count: Integer): IJclIntegerList; public - constructor Create(ACapacity: Integer); + constructor Create(ACapacity: Integer); overload; + constructor Create(const ACollection: IJclIntegerCollection); overload; destructor Destroy; override; property Items: TDynIntegerArray read FItems; end; @@ -724,7 +732,7 @@ property Current: Integer read GetValue; {$ENDIF SUPPORTS_FOR_IN} public - constructor Create(const OwnList: IJclIntegerList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); + constructor Create(const AOwnList: IJclIntegerList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); end; TJclCardinalVector = class(TJclCardinalAbstractContainer, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} @@ -771,7 +779,8 @@ procedure SetValue(Index: Integer; AValue: Cardinal); function SubList(First, Count: Integer): IJclCardinalList; public - constructor Create(ACapacity: Integer); + constructor Create(ACapacity: Integer); overload; + constructor Create(const ACollection: IJclCardinalCollection); overload; destructor Destroy; override; property Items: TDynCardinalArray read FItems; end; @@ -805,7 +814,7 @@ property Current: Cardinal read GetValue; {$ENDIF SUPPORTS_FOR_IN} public - constructor Create(const OwnList: IJclCardinalList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); + constructor Create(const AOwnList: IJclCardinalList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); end; TJclInt64Vector = class(TJclInt64AbstractContainer, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} @@ -852,7 +861,8 @@ procedure SetValue(Index: Integer; const AValue: Int64); function SubList(First, Count: Integer): IJclInt64List; public - constructor Create(ACapacity: Integer); + constructor Create(ACapacity: Integer); overload; + constructor Create(const ACollection: IJclInt64Collection); overload; destructor Destroy; override; property Items: TDynInt64Array read FItems; end; @@ -886,7 +896,7 @@ property Current: Int64 read GetValue; {$ENDIF SUPPORTS_FOR_IN} public - constructor Create(const OwnList: IJclInt64List; ACursor: Integer; AValid: Boolean; AStart: TItrStart); + constructor Create(const AOwnList: IJclInt64List; ACursor: Integer; AValid: Boolean; AStart: TItrStart); end; TJclPtrVector = class(TJclPtrAbstractContainer, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} @@ -933,7 +943,8 @@ procedure SetPointer(Index: Integer; APtr: Pointer); function SubList(First, Count: Integer): IJclPtrList; public - constructor Create(ACapacity: Integer); + constructor Create(ACapacity: Integer); overload; + constructor Create(const ACollection: IJclPtrCollection); overload; destructor Destroy; override; property Items: TDynPointerArray read FItems; end; @@ -967,7 +978,7 @@ property Current: Pointer read GetPointer; {$ENDIF SUPPORTS_FOR_IN} public - constructor Create(const OwnList: IJclPtrList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); + constructor Create(const AOwnList: IJclPtrList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); end; TJclVector = class(TJclAbstractContainer, {$IFDEF THREADSAFE} IJclLockable, {$ENDIF THREADSAFE} @@ -1014,7 +1025,8 @@ procedure SetObject(Index: Integer; AObject: TObject); function SubList(First, Count: Integer): IJclList; public - constructor Create(ACapacity: Integer; AOwnsObjects: Boolean); + constructor Create(ACapacity: Integer; AOwnsObjects: Boolean); overload; + constructor Create(const ACollection: IJclCollection; AOwnsObjects: Boolean); overload; destructor Destroy; override; property Items: TDynObjectArray read FItems; end; @@ -1048,7 +1060,7 @@ property Current: TObject read GetObject; {$ENDIF SUPPORTS_FOR_IN} public - constructor Create(const OwnList: IJclList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); + constructor Create(const AOwnList: IJclList; ACursor: Integer; AValid: Boolean; AStart: TItrStart); end; {$IFDEF SUPPORTS_GENERICS} @@ -1101,7 +1113,8 @@ procedure SetItem(Index: Integer; const AItem: T); function SubList(First, Count: Integer): IJclList<T>; public - constructor Create(ACapacity: Integer; AOwnsItems: Boolean); + constructor Create(ACapacity: Integer; AOwnsItems: Boolean); overload; + constructor Create(const ACollection: IJclCollection<T>; AOwnsItems: Boolean); overload; destructor Destroy; override; property Items: TDynArray read FItems; end; @@ -1135,7 +1148,7 @@ property Current: T read GetItem; {$ENDIF SUPPORTS_FOR_IN} public - constructor Create(const OwnList: IJclList<T>; ACursor: Integer; AValid: Boolean; AStart: TItrStart); + constructor Create(const AOwnList: IJclList<T>; ACursor: Integer; AValid: Boolean; AStart: TItrStart); end; // E = External helper to compare items for equality (GetHashCode is not used) @@ -1196,6 +1209,15 @@ SetCapacity(ACapacity); end; +constructor TJclIntfVector.Create(const ACollection: IJclIntfCollection); +begin + inherited Create(); + if ACollection = nil then + raise EJclNoCollectionError.Create; + SetCapacity(ACollection.Size); + AddAll(ACollection); +end; + destructor TJclIntfVector.Destroy; begin FReadOnly := False; @@ -1205,7 +1227,7 @@ function TJclIntfVector.Add(const AInterface: IInterface): Boolean; var - I: Integer; + Index: Integer; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -1218,8 +1240,8 @@ if Result then begin if FDuplicates <> dupAccept then - for I := 0 to FSize - 1 do - if ItemsEqual(AInterface, FItems[I]) then + for Index := 0 to FSize - 1 do + if ItemsEqual(AInterface, FItems[Index]) then begin Result := CheckDuplicate; Break; @@ -1273,6 +1295,7 @@ procedure TJclIntfVector.AssignDataTo(Dest: TJclAbstractContainerBase); var ADest: TJclIntfVector; + ACollection: IJclIntfCollection; begin inherited AssignDataTo(Dest); if Dest is TJclIntfVector then @@ -1280,6 +1303,12 @@ ADest := TJclIntfVector(Dest); ADest.Clear; ADest.AddAll(Self); + end + else + if Supports(IInterface(Dest), IJclIntfCollection, ACollection) then + begin + ACollection.Clear; + ACollection.AddAll(Self); end; end; @@ -1297,6 +1326,7 @@ for I := 0 to FSize - 1 do FreeObject(FItems[I]); FSize := 0; + AutoPack; {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -1320,14 +1350,11 @@ Exit; if FSize <> ACollection.Size then Exit; - Result := True; It := ACollection.First; for I := 0 to FSize - 1 do - if not ItemsEqual(Items[I], It.Next) then - begin - Result := False; - Break; - end; + if not ItemsEqual(FItems[I], It.Next) then + Exit; + Result := True; {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -1347,7 +1374,7 @@ {$ENDIF THREADSAFE} Result := False; for I := 0 to FSize - 1 do - if ItemsEqual(Items[I], AInterface) then + if ItemsEqual(FItems[I], AInterface) then begin Result := True; Break; @@ -1384,6 +1411,8 @@ end; function TJclIntfVector.Delete(Index: Integer): IInterface; +var + Extracted: IInterface; begin if ReadOnly then raise EJclReadOnlyError.Create; @@ -1392,15 +1421,8 @@ SyncReaderWriter.BeginWrite; try {$ENDIF THREADSAFE} - if (Index >= 0) and (Index < FSize) then - begin - Result := FreeObject(FItems[Index]); - MoveArray(FItems, Index + 1, Index, FSize - Index); - Dec(FSize); - AutoPack; - end - else - Result := RaiseOutOfBoundsError; + Extracted := ExtractIndex(Index); + Result := FreeObject(Extracted); {$IFDEF THREADSAFE} finally if FThreadSafe then @@ -1425,12 +1447,14 @@ if ItemsEqual(FItems[I], AInterface) then begin FItems[I] := nil; - MoveArray(FItems, I + 1, I, FSize - I); + if I < (FSize - 1) then + MoveArray(FItems, I + 1, I, FSize - I); Dec(FSize); Result := True; if FRemoveSingleElement then Break; end; + AutoPack; {$IFDEF THREADSAFE} finally if... [truncated message content] |
From: <ou...@us...> - 2009-07-20 20:51:22
|
Revision: 2869 http://jcl.svn.sourceforge.net/jcl/?rev=2869&view=rev Author: outchy Date: 2009-07-20 20:51:16 +0000 (Mon, 20 Jul 2009) Log Message: ----------- duplicate entry in project file removal. Modified Paths: -------------- trunk/jcl/packages/d12/Jcl.dproj trunk/jcl/packages/d12/JclBaseExpert.dproj trunk/jcl/packages/d12/JclContainers.dproj trunk/jcl/packages/d12/JclDebugExpert.dproj trunk/jcl/packages/d12/JclDebugExpertDLL.dproj trunk/jcl/packages/d12/JclFavoriteFoldersExpert.dproj trunk/jcl/packages/d12/JclFavoriteFoldersExpertDLL.dproj trunk/jcl/packages/d12/JclProjectAnalysisExpert.dproj trunk/jcl/packages/d12/JclProjectAnalysisExpertDLL.dproj trunk/jcl/packages/d12/JclRepositoryExpert.dproj trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj trunk/jcl/packages/d12/JclSIMDViewExpert.dproj trunk/jcl/packages/d12/JclSIMDViewExpertDLL.dproj trunk/jcl/packages/d12/JclStackTraceViewerExpert.dproj trunk/jcl/packages/d12/JclStackTraceViewerExpertDLL.dproj trunk/jcl/packages/d12/JclVcl.dproj trunk/jcl/packages/d12/JclVersionControlExpert.dproj trunk/jcl/packages/d12/JclVersionControlExpertDLL.dproj trunk/jcl/packages/d12/template.dproj Modified: trunk/jcl/packages/d12/Jcl.dproj =================================================================== --- trunk/jcl/packages/d12/Jcl.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/Jcl.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{44DB645B-C167-410D-9334-38AF9F0C7913}</ProjectGuid> <MainSource>Jcl.dpk</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclBaseExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclBaseExpert.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclBaseExpert.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{587944EE-7D27-4950-95F5-430FFBFC465C}</ProjectGuid> <MainSource>JclBaseExpert.dpk</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclContainers.dproj =================================================================== --- trunk/jcl/packages/d12/JclContainers.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclContainers.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{71D14CDC-6386-44FD-B861-4C4213CFFF08}</ProjectGuid> <MainSource>JclContainers.dpk</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclDebugExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclDebugExpert.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclDebugExpert.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{FC16FA9B-0429-42EB-9B53-30D19AAB3EE4}</ProjectGuid> <MainSource>JclDebugExpert.dpk</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclDebugExpertDLL.dproj =================================================================== --- trunk/jcl/packages/d12/JclDebugExpertDLL.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclDebugExpertDLL.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{36195812-0F7A-45E7-BE07-04EABA463169}</ProjectGuid> <MainSource>JclDebugExpertDLL.dpr</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclFavoriteFoldersExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclFavoriteFoldersExpert.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclFavoriteFoldersExpert.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{3BF49751-D079-4734-9AB6-F333FA52FDBA}</ProjectGuid> <MainSource>JclFavoriteFoldersExpert.dpk</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclFavoriteFoldersExpertDLL.dproj =================================================================== --- trunk/jcl/packages/d12/JclFavoriteFoldersExpertDLL.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclFavoriteFoldersExpertDLL.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{DCDB1939-E79B-4AF6-855E-78310CAF8467}</ProjectGuid> <MainSource>JclFavoriteFoldersExpertDLL.dpr</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclProjectAnalysisExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclProjectAnalysisExpert.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclProjectAnalysisExpert.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{518D9A98-4B3B-40B4-83EE-BD9D8CED6181}</ProjectGuid> <MainSource>JclProjectAnalysisExpert.dpk</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclProjectAnalysisExpertDLL.dproj =================================================================== --- trunk/jcl/packages/d12/JclProjectAnalysisExpertDLL.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclProjectAnalysisExpertDLL.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{6E22E269-A58C-41B6-BB1C-57670E460887}</ProjectGuid> <MainSource>JclProjectAnalysisExpertDLL.dpr</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclRepositoryExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclRepositoryExpert.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclRepositoryExpert.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{2B548932-6654-4E44-8B06-3288D7A884C4}</ProjectGuid> <MainSource>JclRepositoryExpert.dpk</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj =================================================================== --- trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclRepositoryExpertDLL.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{D93FF823-44C6-49D4-B9B3-30F1F60082F5}</ProjectGuid> <MainSource>JclRepositoryExpertDLL.dpr</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclSIMDViewExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclSIMDViewExpert.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclSIMDViewExpert.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{2F16B01B-57C8-4EB1-A0C4-421B3008A4F6}</ProjectGuid> <MainSource>JclSIMDViewExpert.dpk</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclSIMDViewExpertDLL.dproj =================================================================== --- trunk/jcl/packages/d12/JclSIMDViewExpertDLL.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclSIMDViewExpertDLL.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{822DE71C-AFAB-4F52-A076-5140BF31A62E}</ProjectGuid> <MainSource>JclSIMDViewExpertDLL.dpr</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclStackTraceViewerExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclStackTraceViewerExpert.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclStackTraceViewerExpert.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{85153A85-6CA4-4CD5-92E6-C39A5C5161E2}</ProjectGuid> <MainSource>JclStackTraceViewerExpert.dpk</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclStackTraceViewerExpertDLL.dproj =================================================================== --- trunk/jcl/packages/d12/JclStackTraceViewerExpertDLL.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclStackTraceViewerExpertDLL.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{851E8773-ADE0-479D-94F9-FE3AAB64A847}</ProjectGuid> <MainSource>JclStackTraceViewerExpertDLL.dpr</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclVcl.dproj =================================================================== --- trunk/jcl/packages/d12/JclVcl.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclVcl.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{EB88BAFD-FD11-4F14-A6F6-9036D67B1F8F}</ProjectGuid> <MainSource>JclVcl.dpk</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclVersionControlExpert.dproj =================================================================== --- trunk/jcl/packages/d12/JclVersionControlExpert.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclVersionControlExpert.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{25BAE228-713B-4418-BDC7-9327F48A663B}</ProjectGuid> <MainSource>JclVersionControlExpert.dpk</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/JclVersionControlExpertDLL.dproj =================================================================== --- trunk/jcl/packages/d12/JclVersionControlExpertDLL.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/JclVersionControlExpertDLL.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>{8083ED65-4D9A-441F-B516-CFF42EE9DD0E}</ProjectGuid> <MainSource>JclVersionControlExpertDLL.dpr</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>BCB;RELEASE</DCC_Define> Modified: trunk/jcl/packages/d12/template.dproj =================================================================== --- trunk/jcl/packages/d12/template.dproj 2009-07-20 12:29:19 UTC (rev 2868) +++ trunk/jcl/packages/d12/template.dproj 2009-07-20 20:51:16 UTC (rev 2869) @@ -3,7 +3,6 @@ <ProjectGuid>%GUID%</ProjectGuid> <MainSource>%NAME%%SOURCEEXTENSION%</MainSource> <ProjectVersion>12</ProjectVersion> - <ProjectVersion>11.1</ProjectVersion> <Config Condition="'$(Config)'==''">Release</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_Define>%DEFINES%</DCC_Define> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-07-20 12:29:22
|
Revision: 2868 http://jcl.svn.sourceforge.net/jcl/?rev=2868&view=rev Author: outchy Date: 2009-07-20 12:29:19 +0000 (Mon, 20 Jul 2009) Log Message: ----------- Compatibility of JclCompression sevenzip archives with C++Builder. The HPP generator has strange behavior with interface typed fields: when the Delphi constructor assigns a value to these fields, their value is overridden by the C++ constructor stub. Modified Paths: -------------- trunk/jcl/source/common/JclCompression.pas Modified: trunk/jcl/source/common/JclCompression.pas =================================================================== --- trunk/jcl/source/common/JclCompression.pas 2009-07-19 09:56:47 UTC (rev 2867) +++ trunk/jcl/source/common/JclCompression.pas 2009-07-20 12:29:19 UTC (rev 2868) @@ -729,8 +729,7 @@ FVolumes: TObjectList; FItems: TObjectList; - procedure CreateCompressionObject; virtual; - procedure FreeCompressionObject; virtual; + procedure InitializeArchiveProperties; virtual; function InternalOpenStream(const FileName: TFileName): TStream; function TranslateItemPath(const ItemPath, OldBase, NewBase: WideString): WideString; @@ -1119,12 +1118,13 @@ private FOutArchive: IOutArchive; protected - procedure CreateCompressionObject; override; - procedure FreeCompressionObject; override; function GetCLSID: TGUID; virtual; abstract; function GetItemClass: TJclCompressionItemClass; override; + function GetOutArchive: IOutArchive; public + destructor Destroy; override; procedure Compress; override; + property OutArchive: IOutArchive read GetOutArchive; end; // file formats @@ -1142,7 +1142,7 @@ FAlgorithm: Cardinal; protected function GetCLSID: TGUID; override; - procedure CreateCompressionObject; override; + procedure InitializeArchiveProperties; override; public class function MultipleItemContainer: Boolean; override; class function ArchiveExtensions: string; override; @@ -1184,7 +1184,7 @@ FNumberOfPasses: Cardinal; protected function GetCLSID: TGUID; override; - procedure CreateCompressionObject; override; + procedure InitializeArchiveProperties; override; public class function ArchiveExtensions: string; override; class function ArchiveName: string; override; @@ -1223,7 +1223,7 @@ FSolidExtension: Boolean; protected function GetCLSID: TGUID; override; - procedure CreateCompressionObject; override; + procedure InitializeArchiveProperties; override; public class function MultipleItemContainer: Boolean; override; class function ArchiveExtensions: string; override; @@ -1283,7 +1283,7 @@ FAlgorithm: Cardinal; protected function GetCLSID: TGUID; override; - procedure CreateCompressionObject; override; + procedure InitializeArchiveProperties; override; public class function ArchiveExtensions: string; override; class function ArchiveName: string; override; @@ -1306,7 +1306,7 @@ FCompressionMethod: TJclCompressionMethod; protected function GetCLSID: TGUID; override; - procedure CreateCompressionObject; override; + procedure InitializeArchiveProperties; override; public class function ArchiveExtensions: string; override; class function ArchiveName: string; override; @@ -1324,16 +1324,17 @@ FOpened: Boolean; protected procedure OpenArchive; - procedure CreateCompressionObject; override; - procedure FreeCompressionObject; override; function GetCLSID: TGUID; virtual; abstract; + function GetInArchive: IInArchive; function GetItemClass: TJclCompressionItemClass; override; public + destructor Destroy; override; procedure ListFiles; override; procedure ExtractSelected(const ADestinationDir: string = ''; AAutoCreateSubDir: Boolean = True); override; procedure ExtractAll(const ADestinationDir: string = ''; AAutoCreateSubDir: Boolean = True); override; + property InArchive: IInArchive read GetInArchive; end; // file formats @@ -1343,7 +1344,7 @@ FNumberOfThreads: Cardinal; protected function GetCLSID: TGUID; override; - procedure CreateCompressionObject; override; + procedure InitializeArchiveProperties; override; public class function MultipleItemContainer: Boolean; override; class function ArchiveExtensions: string; override; @@ -1358,7 +1359,7 @@ FNumberOfThreads: Cardinal; protected function GetCLSID: TGUID; override; - procedure CreateCompressionObject; override; + procedure InitializeArchiveProperties; override; public class function ArchiveExtensions: string; override; class function ArchiveName: string; override; @@ -1408,7 +1409,7 @@ FNumberOfThreads: Cardinal; protected function GetCLSID: TGUID; override; - procedure CreateCompressionObject; override; + procedure InitializeArchiveProperties; override; public class function MultipleItemContainer: Boolean; override; class function ArchiveExtensions: string; override; @@ -1676,11 +1677,12 @@ FOpened: Boolean; protected procedure OpenArchive; - procedure CreateCompressionObject; override; - procedure FreeCompressionObject; override; function GetCLSID: TGUID; virtual; abstract; + function GetInArchive: IInArchive; function GetItemClass: TJclCompressionItemClass; override; + function GetOutArchive: IOutArchive; public + destructor Destroy; override; procedure ListFiles; override; procedure ExtractSelected(const ADestinationDir: string = ''; AAutoCreateSubDir: Boolean = True); override; @@ -1689,6 +1691,8 @@ procedure Compress; override; procedure DeleteItem(Index: Integer); override; procedure RemoveItem(const PackedName: WideString); override; + property InArchive: IInArchive read GetInArchive; + property OutArchive: IOutArchive read GetOutArchive; end; TJclZipUpdateArchive = class(TJclSevenzipUpdateArchive, IJclArchiveCompressionLevel, IJclArchiveCompressionMethod, @@ -1704,7 +1708,7 @@ FAlgorithm: Cardinal; protected function GetCLSID: TGUID; override; - procedure CreateCompressionObject; override; + procedure InitializeArchiveProperties; override; public class function MultipleItemContainer: Boolean; override; class function ArchiveExtensions: string; override; @@ -1746,7 +1750,7 @@ FNumberOfPasses: Cardinal; protected function GetCLSID: TGUID; override; - procedure CreateCompressionObject; override; + procedure InitializeArchiveProperties; override; public class function ArchiveExtensions: string; override; class function ArchiveName: string; override; @@ -1782,7 +1786,7 @@ FSaveLastWriteDateTime: Boolean; protected function GetCLSID: TGUID; override; - procedure CreateCompressionObject; override; + procedure InitializeArchiveProperties; override; public class function MultipleItemContainer: Boolean; override; class function ArchiveExtensions: string; override; @@ -1837,7 +1841,7 @@ FAlgorithm: Cardinal; protected function GetCLSID: TGUID; override; - procedure CreateCompressionObject; override; + procedure InitializeArchiveProperties; override; public class function ArchiveExtensions: string; override; class function ArchiveName: string; override; @@ -1860,7 +1864,7 @@ FCompressionMethod: TJclCompressionMethod; protected function GetCLSID: TGUID; override; - procedure CreateCompressionObject; override; + procedure InitializeArchiveProperties; override; public class function ArchiveExtensions: string; override; class function ArchiveName: string; override; @@ -4080,7 +4084,7 @@ FVolumes := TObjectList.Create(True); if Assigned(Volume0) then AddVolume(Volume0, AVolumeMaxSize, AOwnVolume); - CreateCompressionObject; + InitializeArchiveProperties; end; constructor TJclCompressionArchive.Create(const VolumeFileName: TFileName; @@ -4096,7 +4100,7 @@ FVolumeFileNameMask := VolumeFileName else AddVolume(VolumeFileName, AVolumeMaxSize); - CreateCompressionObject; + InitializeArchiveProperties; end; destructor TJclCompressionArchive.Destroy; @@ -4104,7 +4108,6 @@ FItems.Free; FVolumes.Free; - FreeCompressionObject; inherited Destroy; end; @@ -4181,7 +4184,7 @@ FVolumes.Clear; end; -procedure TJclCompressionArchive.CreateCompressionObject; +procedure TJclCompressionArchive.InitializeArchiveProperties; begin // override to customize end; @@ -4192,11 +4195,6 @@ FOnProgress(Self, Value, MaxValue); end; -procedure TJclCompressionArchive.FreeCompressionObject; -begin - // override to customize -end; - function TJclCompressionArchive.GetItem(Index: Integer): TJclCompressionItem; begin Result := TJclCompressionItem(FItems.Items[Index]); @@ -5813,22 +5811,10 @@ //=== { TJclSevenzipCompressArchive } ======================================== -procedure TJclSevenzipCompressArchive.CreateCompressionObject; -var - SevenzipCLSID, InterfaceID: TGUID; +destructor TJclSevenzipCompressArchive.Destroy; begin - SevenzipCLSID := GetCLSID; - InterfaceID := Sevenzip.IOutArchive; - if (not Is7ZipLoaded) and (not Load7Zip) then - raise EJclCompressionError.CreateRes(@RsCompression7zLoadError); - if (Sevenzip.CreateObject(@SevenzipCLSID, @InterfaceID, FOutArchive) <> ERROR_SUCCESS) - or not Assigned(FOutArchive) then - raise EJclCompressionError.CreateResFmt(@RsCompression7zOutArchiveError, [GUIDToString(SevenzipCLSID)]); -end; - -procedure TJclSevenzipCompressArchive.FreeCompressionObject; -begin FOutArchive := nil; + inherited Destroy; end; function TJclSevenzipCompressArchive.GetItemClass: TJclCompressionItemClass; @@ -5836,6 +5822,23 @@ Result := TJclCompressItem; end; +function TJclSevenzipCompressArchive.GetOutArchive: IOutArchive; +var + SevenzipCLSID, InterfaceID: TGUID; +begin + if not Assigned(FOutArchive) then + begin + SevenzipCLSID := GetCLSID; + InterfaceID := Sevenzip.IOutArchive; + if (not Is7ZipLoaded) and (not Load7Zip) then + raise EJclCompressionError.CreateRes(@RsCompression7zLoadError); + if (Sevenzip.CreateObject(@SevenzipCLSID, @InterfaceID, FOutArchive) <> ERROR_SUCCESS) + or not Assigned(FOutArchive) then + raise EJclCompressionError.CreateResFmt(@RsCompression7zOutArchiveError, [GUIDToString(SevenzipCLSID)]); + end; + Result := FOutArchive; +end; + procedure TJclSevenzipCompressArchive.Compress; var OutStream: IOutStream; @@ -5852,9 +5855,9 @@ OutStream := TJclSevenzipOutStream.Create(SplitStream, True, False); UpdateCallback := TJclSevenzipUpdateCallback.Create(Self); - SetSevenzipArchiveCompressionProperties(Self, FOutArchive); + SetSevenzipArchiveCompressionProperties(Self, OutArchive); - SevenzipCheck(FOutArchive.UpdateItems(OutStream, ItemCount, UpdateCallback)); + SevenzipCheck(OutArchive.UpdateItems(OutStream, ItemCount, UpdateCallback)); finally FCompressing := False; // release volumes and other finalizations @@ -5874,23 +5877,6 @@ Result := LoadResString(@RsCompression7zName); end; -procedure TJcl7zCompressArchive.CreateCompressionObject; -begin - inherited CreateCompressionObject; - FNumberOfThreads := 1; - FEncryptHeader := False; - FRemoveSfxBlock := False; - FDictionarySize := kLzmaDicSizeX5; - FCompressionLevel := 6; - FCompressHeader := False; - FCompressHeaderFull := False; - FSaveLastAccessDateTime := True; - FSaveCreationDateTime := True; - FSaveLastWriteDateTime := True; - FSolidBlockSize := High(Cardinal); - FSolidExtension := False; -end; - function TJcl7zCompressArchive.GetCLSID: TGUID; begin Result := CLSID_CFormat7z; @@ -5966,6 +5952,23 @@ Result := FSolidExtension; end; +procedure TJcl7zCompressArchive.InitializeArchiveProperties; +begin + inherited InitializeArchiveProperties; + FNumberOfThreads := 1; + FEncryptHeader := False; + FRemoveSfxBlock := False; + FDictionarySize := kLzmaDicSizeX5; + FCompressionLevel := 6; + FCompressHeader := False; + FCompressHeaderFull := False; + FSaveLastAccessDateTime := True; + FSaveCreationDateTime := True; + FSaveLastWriteDateTime := True; + FSolidBlockSize := High(Cardinal); + FSolidExtension := False; +end; + class function TJcl7zCompressArchive.MultipleItemContainer: Boolean; begin Result := True; @@ -6073,18 +6076,6 @@ Result := LoadResString(@RsCompressionZipName); end; -procedure TJclZipCompressArchive.CreateCompressionObject; -begin - inherited CreateCompressionObject; - FNumberOfThreads := 1; - FEncryptionMethod := emZipCrypto; - FDictionarySize := kBZip2DicSizeX5; - FCompressionLevel := 7; - FCompressionMethod := cmDeflate; - FNumberOfPasses := kDeflateNumPassesX7; - FAlgorithm := kLzAlgoX5; -end; - function TJclZipCompressArchive.GetAlgorithm: Cardinal; begin Result := FAlgorithm; @@ -6152,6 +6143,18 @@ Result := [emNone,emAES128,emAES192,emAES256,emZipCrypto]; end; +procedure TJclZipCompressArchive.InitializeArchiveProperties; +begin + inherited InitializeArchiveProperties; + FNumberOfThreads := 1; + FEncryptionMethod := emZipCrypto; + FDictionarySize := kBZip2DicSizeX5; + FCompressionLevel := 7; + FCompressionMethod := cmDeflate; + FNumberOfPasses := kDeflateNumPassesX7; + FAlgorithm := kLzAlgoX5; +end; + class function TJclZipCompressArchive.MultipleItemContainer: Boolean; begin Result := True; @@ -6278,15 +6281,6 @@ Result := LoadResString(@RsCompressionBZip2Name); end; -procedure TJclBZ2CompressArchive.CreateCompressionObject; -begin - inherited CreateCompressionObject; - FNumberOfThreads := 1; - FDictionarySize := kBZip2DicSizeX5; - FCompressionLevel := 7; - FNumberOfPasses := kBZip2NumPassesX7; -end; - function TJclBZ2CompressArchive.GetCLSID: TGUID; begin Result := CLSID_CFormatBZ2; @@ -6322,6 +6316,15 @@ Result := FNumberOfThreads; end; +procedure TJclBZ2CompressArchive.InitializeArchiveProperties; +begin + inherited InitializeArchiveProperties; + FNumberOfThreads := 1; + FDictionarySize := kBZip2DicSizeX5; + FCompressionLevel := 7; + FNumberOfPasses := kBZip2NumPassesX7; +end; + procedure TJclBZ2CompressArchive.SetCompressionLevel(Value: Cardinal); begin CheckNotCompressing; @@ -6399,14 +6402,6 @@ Result := LoadResString(@RsCompressionGZipName); end; -procedure TJclGZipCompressArchive.CreateCompressionObject; -begin - inherited CreateCompressionObject; - FCompressionLevel := 7; - FNumberOfPasses := kDeflateNumPassesX7; - FAlgorithm := kLzAlgoX5; -end; - function TJclGZipCompressArchive.GetAlgorithm: Cardinal; begin Result := FAlgorithm; @@ -6444,6 +6439,14 @@ Result[1] := 1; end; +procedure TJclGZipCompressArchive.InitializeArchiveProperties; +begin + inherited InitializeArchiveProperties; + FCompressionLevel := 7; + FNumberOfPasses := kDeflateNumPassesX7; + FAlgorithm := kLzAlgoX5; +end; + procedure TJclGZipCompressArchive.SetAlgorithm(Value: Cardinal); begin CheckNotCompressing; @@ -6489,12 +6492,6 @@ Result := LoadResString(@RsCompressionXzName); end; -procedure TJclXzCompressArchive.CreateCompressionObject; -begin - inherited CreateCompressionObject; - FCompressionMethod := cmLZMA; -end; - function TJclXzCompressArchive.GetCLSID: TGUID; begin Result := CLSID_CFormatXz; @@ -6511,6 +6508,12 @@ Result := [cmLZMA]; end; +procedure TJclXzCompressArchive.InitializeArchiveProperties; +begin + inherited InitializeArchiveProperties; + FCompressionMethod := cmLZMA; +end; + procedure TJclXzCompressArchive.SetCompressionMethod( Value: TJclCompressionMethod); begin @@ -6682,18 +6685,10 @@ //=== { TJclSevenzipDecompressArchive } ====================================== -procedure TJclSevenzipDecompressArchive.CreateCompressionObject; -var - SevenzipCLSID, InterfaceID: TGUID; +destructor TJclSevenzipDecompressArchive.Destroy; begin - SevenzipCLSID := GetCLSID; - InterfaceID := Sevenzip.IInArchive; - if (not Is7ZipLoaded) and (not Load7Zip) then - raise EJclCompressionError.CreateRes(@RsCompression7zLoadError); - if (Sevenzip.CreateObject(@SevenzipCLSID, @InterfaceID, FInArchive) <> ERROR_SUCCESS) - or not Assigned(FInArchive) then - raise EJclCompressionError.CreateResFmt(@RsCompression7zInArchiveError, [GUIDToString(SevenzipCLSID)]); - FExtractingAllIndex := -1; + FInArchive := nil; + inherited Destroy; end; procedure TJclSevenzipDecompressArchive.ExtractAll(const ADestinationDir: string; @@ -6720,7 +6715,7 @@ // seems buggy: first param "indices" is dereferenced without // liveness checks inside Sevenzip code - //SevenzipCheck(FInArchive.Extract(nil, $FFFFFFFF, 0, AExtractCallback)); + //SevenzipCheck(InArchive.Extract(nil, $FFFFFFFF, 0, AExtractCallback)); NbIndices := ItemCount; SetLength(Indices, NbIndices); @@ -6729,7 +6724,7 @@ Items[Index].Selected := True; Indices[Index] := Index; end; - SevenzipCheck(FInArchive.Extract(@Indices[0], NbIndices, 0, AExtractCallback)); + SevenzipCheck(InArchive.Extract(@Indices[0], NbIndices, 0, AExtractCallback)); CheckOperationSuccess; finally @@ -6777,7 +6772,7 @@ Inc(NbIndices); end; - SevenzipCheck(FInArchive.Extract(@Indices[0], Length(Indices), 0, AExtractCallback)); + SevenzipCheck(InArchive.Extract(@Indices[0], Length(Indices), 0, AExtractCallback)); CheckOperationSuccess; finally FDestinationDir := ''; @@ -6788,9 +6783,22 @@ end; end; -procedure TJclSevenzipDecompressArchive.FreeCompressionObject; +function TJclSevenzipDecompressArchive.GetInArchive: IInArchive; +var + SevenzipCLSID, InterfaceID: TGUID; begin - FInArchive := nil; + if not Assigned(FInArchive) then + begin + SevenzipCLSID := GetCLSID; + InterfaceID := Sevenzip.IInArchive; + if (not Is7ZipLoaded) and (not Load7Zip) then + raise EJclCompressionError.CreateRes(@RsCompression7zLoadError); + if (Sevenzip.CreateObject(@SevenzipCLSID, @InterfaceID, FInArchive) <> ERROR_SUCCESS) + or not Assigned(FInArchive) then + raise EJclCompressionError.CreateResFmt(@RsCompression7zInArchiveError, [GUIDToString(SevenzipCLSID)]); + FExtractingAllIndex := -1; + end; + Result := FInArchive; end; function TJclSevenzipDecompressArchive.GetItemClass: TJclCompressionItemClass; @@ -6811,13 +6819,13 @@ ClearItems; OpenArchive; - SevenzipCheck(FInArchive.GetNumberOfItems(@NumberOfItems)); + SevenzipCheck(InArchive.GetNumberOfItems(@NumberOfItems)); if NumberOfItems > 0 then begin for Index := 0 to NumberOfItems - 1 do begin AItem := GetItemClass.Create(Self); - Load7zFileAttribute(FInArchive, Index, AItem); + Load7zFileAttribute(InArchive, Index, AItem); FItems.Add(AItem); end; end; @@ -6846,12 +6854,12 @@ AInStream := TJclSevenzipInStream.Create(NeedStream(0), False); OpenCallback := TJclSevenzipOpenCallback.Create(Self); - SetSevenzipArchiveCompressionProperties(Self, FInArchive); + SetSevenzipArchiveCompressionProperties(Self, InArchive); MaxCheckStartPosition := 1 shl 22; - SevenzipCheck(FInArchive.Open(AInStream, @MaxCheckStartPosition, OpenCallback)); + SevenzipCheck(InArchive.Open(AInStream, @MaxCheckStartPosition, OpenCallback)); - GetSevenzipArchiveCompressionProperties(Self, FInArchive); + GetSevenzipArchiveCompressionProperties(Self, InArchive); FOpened := True; end; @@ -6869,12 +6877,6 @@ Result := LoadResString(@RsCompressionZipName); end; -procedure TJclZipDecompressArchive.CreateCompressionObject; -begin - inherited CreateCompressionObject; - FNumberOfThreads := 1; -end; - function TJclZipDecompressArchive.GetCLSID: TGUID; begin Result := CLSID_CFormatZip; @@ -6885,6 +6887,12 @@ Result := FNumberOfThreads; end; +procedure TJclZipDecompressArchive.InitializeArchiveProperties; +begin + inherited InitializeArchiveProperties; + FNumberOfThreads := 1; +end; + class function TJclZipDecompressArchive.MultipleItemContainer: Boolean; begin Result := True; @@ -6908,12 +6916,6 @@ Result := LoadResString(@RsCompressionBZip2Name); end; -procedure TJclBZ2DecompressArchive.CreateCompressionObject; -begin - inherited CreateCompressionObject; - FNumberOfThreads := 1; -end; - function TJclBZ2DecompressArchive.GetCLSID: TGUID; begin Result := CLSID_CFormatBZ2; @@ -6924,6 +6926,12 @@ Result := FNumberOfThreads; end; +procedure TJclBZ2DecompressArchive.InitializeArchiveProperties; +begin + inherited InitializeArchiveProperties; + FNumberOfThreads := 1; +end; + procedure TJclBZ2DecompressArchive.SetNumberOfThreads(Value: Cardinal); begin CheckNotDecompressing; @@ -7030,12 +7038,6 @@ Result := LoadResString(@RsCompression7zName); end; -procedure TJcl7zDecompressArchive.CreateCompressionObject; -begin - inherited CreateCompressionObject; - FNumberOfThreads := 1; -end; - function TJcl7zDecompressArchive.GetCLSID: TGUID; begin Result := CLSID_CFormat7z; @@ -7046,6 +7048,12 @@ Result := FNumberOfThreads; end; +procedure TJcl7zDecompressArchive.InitializeArchiveProperties; +begin + inherited InitializeArchiveProperties; + FNumberOfThreads := 1; +end; + class function TJcl7zDecompressArchive.MultipleItemContainer: Boolean; begin Result := True; @@ -7633,6 +7641,13 @@ //=== { TJclSevenzipUpdateArchive } ========================================== +destructor TJclSevenzipUpdateArchive.Destroy; +begin + FInArchive := nil; + FOutArchive := nil; + inherited Destroy; +end; + procedure TJclSevenzipUpdateArchive.Compress; var OutStream: IOutStream; @@ -7650,9 +7665,9 @@ OutStream := TJclSevenzipOutStream.Create(SplitStream, True, True); UpdateCallback := TJclSevenzipUpdateCallback.Create(Self); - SetSevenzipArchiveCompressionProperties(Self, FOutArchive); + SetSevenzipArchiveCompressionProperties(Self, OutArchive); - SevenzipCheck(FOutArchive.UpdateItems(OutStream, ItemCount, UpdateCallback)); + SevenzipCheck(OutArchive.UpdateItems(OutStream, ItemCount, UpdateCallback)); finally FCompressing := False; // release reference to volume streams @@ -7662,23 +7677,6 @@ end; end; -procedure TJclSevenzipUpdateArchive.CreateCompressionObject; -var - SevenzipCLSID, InterfaceID: TGUID; -begin - SevenzipCLSID := GetCLSID; - InterfaceID := Sevenzip.IInArchive; - if (not Is7ZipLoaded) and (not Load7Zip) then - raise EJclCompressionError.CreateRes(@RsCompression7zLoadError); - if (Sevenzip.CreateObject(@SevenzipCLSID, @InterfaceID, FInArchive) <> ERROR_SUCCESS) - or not Assigned(FInArchive) then - raise EJclCompressionError.CreateResFmt(@RsCompression7zInArchiveError, [GUIDToString(SevenzipCLSID)]); - FExtractingAllIndex := -1; - InterfaceID := Sevenzip.IOutArchive; - if not Supports(FInArchive, InterfaceID, FOutArchive) then - raise EJclCompressionError.CreateResFmt(@RsCompression7zOutArchiveError, [GUIDToString(SevenzipCLSID)]); -end; - procedure TJclSevenzipUpdateArchive.DeleteItem(Index: Integer); var I, BaseLength: Integer; @@ -7727,7 +7725,7 @@ // seems buggy: first param "indices" is dereferenced without // liveness checks inside Sevenzip code - //SevenzipCheck(FInArchive.Extract(nil, $FFFFFFFF, 0, AExtractCallback)); + //SevenzipCheck(InArchive.Extract(nil, $FFFFFFFF, 0, AExtractCallback)); NbIndices := ItemCount; SetLength(Indices, NbIndices); @@ -7736,7 +7734,7 @@ Items[Index].Selected := True; Indices[Index] := Index; end; - SevenzipCheck(FInArchive.Extract(@Indices[0], NbIndices, 0, AExtractCallback)); + SevenzipCheck(InArchive.Extract(@Indices[0], NbIndices, 0, AExtractCallback)); CheckOperationSuccess; finally @@ -7785,7 +7783,7 @@ Inc(NbIndices); end; - SevenzipCheck(FInArchive.Extract(@Indices[0], Length(Indices), 0, AExtractCallback)); + SevenzipCheck(InArchive.Extract(@Indices[0], Length(Indices), 0, AExtractCallback)); CheckOperationSuccess; finally FDestinationDir := ''; @@ -7796,10 +7794,21 @@ end; end; -procedure TJclSevenzipUpdateArchive.FreeCompressionObject; +function TJclSevenzipUpdateArchive.GetInArchive: IInArchive; +var + SevenzipCLSID, InterfaceID: TGUID; begin - FInArchive := nil; - FOutArchive := nil; + if not Assigned(FInArchive) then + begin + SevenzipCLSID := GetCLSID; + InterfaceID := Sevenzip.IInArchive; + if (not Is7ZipLoaded) and (not Load7Zip) then + raise EJclCompressionError.CreateRes(@RsCompression7zLoadError); + if (Sevenzip.CreateObject(@SevenzipCLSID, @InterfaceID, FInArchive) <> ERROR_SUCCESS) + or not Assigned(FInArchive) then + raise EJclCompressionError.CreateResFmt(@RsCompression7zInArchiveError, [GUIDToString(SevenzipCLSID)]); + end; + Result := FInArchive; end; function TJclSevenzipUpdateArchive.GetItemClass: TJclCompressionItemClass; @@ -7807,6 +7816,21 @@ Result := TJclUpdateItem; end; +function TJclSevenzipUpdateArchive.GetOutArchive: IOutArchive; +var + SevenzipCLSID, InterfaceID: TGUID; +begin + if not Assigned(FOutarchive) then + begin + SevenzipCLSID := GetCLSID; + InterfaceID := Sevenzip.IOutArchive; + if not Supports(InArchive, InterfaceID, FOutArchive) + or not Assigned(FOutArchive) then + raise EJclCompressionError.CreateResFmt(@RsCompression7zOutArchiveError, [GUIDToString(SevenzipCLSID)]); + end; + Result := FOutArchive; +end; + procedure TJclSevenzipUpdateArchive.ListFiles; var NumberOfItems: Cardinal; @@ -7821,13 +7845,13 @@ ClearItems; OpenArchive; - SevenzipCheck(FInArchive.GetNumberOfItems(@NumberOfItems)); + SevenzipCheck(InArchive.GetNumberOfItems(@NumberOfItems)); if NumberOfItems > 0 then begin for Index := 0 to NumberOfItems - 1 do begin AItem := GetItemClass.Create(Self); - Load7zFileAttribute(FInArchive, Index, AItem); + Load7zFileAttribute(InArchive, Index, AItem); FItems.Add(AItem); end; end; @@ -7852,12 +7876,12 @@ AInStream := TJclSevenzipInStream.Create(SplitStream, True); OpenCallback := TJclSevenzipOpenCallback.Create(Self); - SetSevenzipArchiveCompressionProperties(Self, FInArchive); + SetSevenzipArchiveCompressionProperties(Self, InArchive); MaxCheckStartPosition := 1 shl 22; - SevenzipCheck(FInArchive.Open(AInStream, @MaxCheckStartPosition, OpenCallback)); + SevenzipCheck(InArchive.Open(AInStream, @MaxCheckStartPosition, OpenCallback)); - GetSevenzipArchiveCompressionProperties(Self, FInArchive); + GetSevenzipArchiveCompressionProperties(Self, InArchive); FOpened := True; end; @@ -7913,18 +7937,6 @@ Result := LoadResString(@RsCompressionZipName); end; -procedure TJclZipUpdateArchive.CreateCompressionObject; -begin - inherited CreateCompressionObject; - FNumberOfThreads := 1; - FEncryptionMethod := emZipCrypto; - FDictionarySize := kBZip2DicSizeX5; - FCompressionLevel := 7; - FCompressionMethod := cmDeflate; - FNumberOfPasses := kDeflateNumPassesX7; - FAlgorithm := kLzAlgoX5; -end; - function TJclZipUpdateArchive.GetAlgorithm: Cardinal; begin Result := FAlgorithm; @@ -7992,6 +8004,18 @@ Result := [emNone,emAES128,emAES192,emAES256,emZipCrypto]; end; +procedure TJclZipUpdateArchive.InitializeArchiveProperties; +begin + inherited InitializeArchiveProperties; + FNumberOfThreads := 1; + FEncryptionMethod := emZipCrypto; + FDictionarySize := kBZip2DicSizeX5; + FCompressionLevel := 7; + FCompressionMethod := cmDeflate; + FNumberOfPasses := kDeflateNumPassesX7; + FAlgorithm := kLzAlgoX5; +end; + class function TJclZipUpdateArchive.MultipleItemContainer: Boolean; begin Result := True; @@ -8125,15 +8149,6 @@ Result := LoadResString(@RsCompressionBZip2Name); end; -procedure TJclBZ2UpdateArchive.CreateCompressionObject; -begin - inherited CreateCompressionObject; - FNumberOfThreads := 1; - FDictionarySize := kBZip2DicSizeX5; - FCompressionLevel := 7; - FNumberOfPasses := kBZip2NumPassesX7; -end; - function TJclBZ2UpdateArchive.GetCLSID: TGUID; begin Result := CLSID_CFormatBZ2; @@ -8169,6 +8184,15 @@ Result := FNumberOfThreads; end; +procedure TJclBZ2UpdateArchive.InitializeArchiveProperties; +begin + inherited InitializeArchiveProperties; + FNumberOfThreads := 1; + FDictionarySize := kBZip2DicSizeX5; + FCompressionLevel := 7; + FNumberOfPasses := kBZip2NumPassesX7; +end; + procedure TJclBZ2UpdateArchive.SetCompressionLevel(Value: Cardinal); begin CheckNotCompressing; @@ -8228,21 +8252,6 @@ Result := LoadResString(@RsCompression7zName); end; -procedure TJcl7zUpdateArchive.CreateCompressionObject; -begin - inherited CreateCompressionObject; - FNumberOfThreads := 1; - FEncryptHeader := False; - FRemoveSfxBlock := False; - FDictionarySize := kLzmaDicSizeX5; - FCompressionLevel := 6; - FCompressHeader := False; - FCompressHeaderFull := False; - FSaveLastAccessDateTime := True; - FSaveCreationDateTime := True; - FSaveLastWriteDateTime := True; -end; - function TJcl7zUpdateArchive.GetCLSID: TGUID; begin Result := CLSID_CFormat7z; @@ -8308,6 +8317,21 @@ Result := FSaveLastWriteDateTime; end; +procedure TJcl7zUpdateArchive.InitializeArchiveProperties; +begin + inherited InitializeArchiveProperties; + FNumberOfThreads := 1; + FEncryptHeader := False; + FRemoveSfxBlock := False; + FDictionarySize := kLzmaDicSizeX5; + FCompressionLevel := 6; + FCompressHeader := False; + FCompressHeaderFull := False; + FSaveLastAccessDateTime := True; + FSaveCreationDateTime := True; + FSaveLastWriteDateTime := True; +end; + class function TJcl7zUpdateArchive.MultipleItemContainer: Boolean; begin Result := True; @@ -8435,14 +8459,6 @@ Result := LoadResString(@RsCompressionGZipName); end; -procedure TJclGZipUpdateArchive.CreateCompressionObject; -begin - inherited CreateCompressionObject; - FCompressionLevel := 7; - FNumberOfPasses := kDeflateNumPassesX7; - FAlgorithm := kLzAlgoX5; -end; - function TJclGZipUpdateArchive.GetAlgorithm: Cardinal; begin Result := FAlgorithm; @@ -8480,6 +8496,14 @@ Result[1] := 1; end; +procedure TJclGZipUpdateArchive.InitializeArchiveProperties; +begin + inherited InitializeArchiveProperties; + FCompressionLevel := 7; + FNumberOfPasses := kDeflateNumPassesX7; + FAlgorithm := kLzAlgoX5; +end; + procedure TJclGZipUpdateArchive.SetAlgorithm(Value: Cardinal); begin CheckNotCompressing; @@ -8528,12 +8552,6 @@ Result := LoadResString(@RsCompressionXzExtensions); end; -procedure TJclXzUpdateArchive.CreateCompressionObject; -begin - inherited CreateCompressionObject; - FCompressionMethod := cmLZMA -end; - function TJclXzUpdateArchive.GetCLSID: TGUID; begin Result := CLSID_CFormatXz; @@ -8551,6 +8569,12 @@ Result := [cmLZMA]; end; +procedure TJclXzUpdateArchive.InitializeArchiveProperties; +begin + inherited InitializeArchiveProperties; + FCompressionMethod := cmLZMA +end; + procedure TJclXzUpdateArchive.SetCompressionMethod( Value: TJclCompressionMethod); begin This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |