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-04-01 20:01:29
|
Revision: 2716 http://jcl.svn.sourceforge.net/jcl/?rev=2716&view=rev Author: outchy Date: 2009-04-01 20:01:27 +0000 (Wed, 01 Apr 2009) Log Message: ----------- New branch for the stack trace expert. Added Paths: ----------- branches/jcl-stack-trace/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-03-31 20:21:25
|
Revision: 2715 http://jcl.svn.sourceforge.net/jcl/?rev=2715&view=rev Author: outchy Date: 2009-03-31 20:21:20 +0000 (Tue, 31 Mar 2009) Log Message: ----------- Mantis 4726: Cannot decompress archive/stream to stream. Modified Paths: -------------- trunk/jcl/source/common/JclCompression.pas Modified: trunk/jcl/source/common/JclCompression.pas =================================================================== --- trunk/jcl/source/common/JclCompression.pas 2009-03-31 19:45:46 UTC (rev 2714) +++ trunk/jcl/source/common/JclCompression.pas 2009-03-31 20:21:20 UTC (rev 2715) @@ -4542,7 +4542,7 @@ AItem := Items[Index]; - if FileName = '' then + if (FileName = '') and not Assigned(AStream) then begin PackedName := AItem.PackedName; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-03-31 19:45:56
|
Revision: 2714 http://jcl.svn.sourceforge.net/jcl/?rev=2714&view=rev Author: outchy Date: 2009-03-31 19:45:46 +0000 (Tue, 31 Mar 2009) Log Message: ----------- Save the stream encoding when XML data is loaded. Modified Paths: -------------- trunk/jcl/source/common/JclSimpleXml.pas Modified: trunk/jcl/source/common/JclSimpleXml.pas =================================================================== --- trunk/jcl/source/common/JclSimpleXml.pas 2009-03-31 19:44:27 UTC (rev 2713) +++ trunk/jcl/source/common/JclSimpleXml.pas 2009-03-31 19:45:46 UTC (rev 2714) @@ -451,7 +451,7 @@ TJclSimpleXML = class(TObject) protected - FEncoding: TJClStringEncoding; + FEncoding: TJclStringEncoding; FFileName: TFileName; FOptions: TJclSimpleXMLOptions; FRoot: TJclSimpleXMLElemClassic; @@ -1140,6 +1140,7 @@ end else AOutStream := Stream; + case Encoding of seAnsi: AStringStream := TJclAnsiStream.Create(AOutStream, False); @@ -1152,6 +1153,12 @@ end; try AStringStream.SkipBOM; + + if AStringStream is TJclAutoStream then + FEncoding := TJclAutoStream(AStringStream).Encoding + else + FEncoding := Encoding; + LoadFromStringStream(AStringStream); finally AStringStream.Free; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-03-31 19:44:34
|
Revision: 2713 http://jcl.svn.sourceforge.net/jcl/?rev=2713&view=rev Author: outchy Date: 2009-03-31 19:44:27 +0000 (Tue, 31 Mar 2009) Log Message: ----------- Do not save the XML prolog because the encoding it specifies is not sync with the encoding of the stream. Modified Paths: -------------- trunk/jcl/source/common/JclBorlandTools.pas Modified: trunk/jcl/source/common/JclBorlandTools.pas =================================================================== --- trunk/jcl/source/common/JclBorlandTools.pas 2009-03-30 14:48:04 UTC (rev 2712) +++ trunk/jcl/source/common/JclBorlandTools.pas 2009-03-31 19:44:27 UTC (rev 2713) @@ -5390,7 +5390,7 @@ try EnvOptionsFileName := GetMsBuildEnvOptionsFileName; EnvOptionsFile.LoadFromFile(EnvOptionsFileName); - EnvOptionsFile.Options := EnvOptionsFile.Options + [sxoAutoCreate]; + EnvOptionsFile.Options := EnvOptionsFile.Options + [sxoAutoCreate,sxoDoNotSaveProlog]; PropertyGroupNode := EnvOptionsFile.Root.Items.ItemNamed[MsBuildPropertyGroupNodeName]; PropertyNode := PropertyGroupNode.Items.ItemNamed[OptionName]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sf...@us...> - 2009-03-30 14:48:10
|
Revision: 2712 http://jcl.svn.sourceforge.net/jcl/?rev=2712&view=rev Author: sfarrow Date: 2009-03-30 14:48:04 +0000 (Mon, 30 Mar 2009) Log Message: ----------- Adding windows installer database, and custom action. Added Paths: ----------- branches/jcl-msi/thirdparty/Windows Installer/ branches/jcl-msi/thirdparty/Windows Installer/Custom Action/ branches/jcl-msi/thirdparty/Windows Installer/Custom Action/JclCustomAction.cbproj branches/jcl-msi/thirdparty/Windows Installer/Custom Action/JclCustomAction.cbproj.local branches/jcl-msi/thirdparty/Windows Installer/Custom Action/JclCustomAction.cpp branches/jcl-msi/thirdparty/Windows Installer/Installer/ branches/jcl-msi/thirdparty/Windows Installer/WiX Binaries/ Property changes on: branches/jcl-msi/thirdparty/Windows Installer ___________________________________________________________________ Added: tsvn:projectlanguage + 1033 Added: bugtraq:url + http://homepages.codegear.com/jedi/issuetracker/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Property changes on: branches/jcl-msi/thirdparty/Windows Installer/Custom Action ___________________________________________________________________ Added: tsvn:projectlanguage + 1033 Added: bugtraq:url + http://homepages.codegear.com/jedi/issuetracker/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Added: branches/jcl-msi/thirdparty/Windows Installer/Custom Action/JclCustomAction.cbproj =================================================================== --- branches/jcl-msi/thirdparty/Windows Installer/Custom Action/JclCustomAction.cbproj (rev 0) +++ branches/jcl-msi/thirdparty/Windows Installer/Custom Action/JclCustomAction.cbproj 2009-03-30 14:48:04 UTC (rev 2712) @@ -0,0 +1,620 @@ +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <ProjectGuid>{28ff09f3-f359-4c8f-86b0-156c1bf03f3b}</ProjectGuid> + <Config Condition="'$(Config)'==''">Debug</Config> + </PropertyGroup> + <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''"> + <Base>true</Base> + </PropertyGroup> + <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''"> + <Base>true</Base> + <Cfg_1>true</Cfg_1> + <CfgParent>Base</CfgParent> + </PropertyGroup> + <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''"> + <Base>true</Base> + <Cfg_2>true</Cfg_2> + <CfgParent>Base</CfgParent> + </PropertyGroup> + <PropertyGroup Condition="'$(Base)'!=''"> + <BCC_OptimizeForSpeed>true</BCC_OptimizeForSpeed> + <Defines>NO_STRICT</Defines> + <DCC_CBuilderOutput>JPHNE</DCC_CBuilderOutput> + <DynamicRTL>true</DynamicRTL> + <ILINK_GenerateImportLibrary>true</ILINK_GenerateImportLibrary> + <ILINK_ObjectSearchPath>C:\Work\jcl development\jcl-msi\thirdparty\Windows Installer\Custom Action</ILINK_ObjectSearchPath> + <UsePackages>true</UsePackages> + <ProjectType>VCppStyleDll</ProjectType> + <PackageImports>vclx.bpi;vcl.bpi;dbrtl.bpi;Rave75VCL.bpi;bdertl.bpi;rtl.bpi;bcbie.bpi;vclactnband.bpi;xmlrtl.bpi;bcbsmp.bpi;vcldb.bpi;vcldbx.bpi;dsnap.bpi;dsnapcon.bpi;teeUI.bpi;teedb.bpi;tee.bpi;adortl.bpi;vclib.bpi;ibxpress.bpi;dbxcds.bpi;dbexpress.bpi;DbxCommonDriver.bpi;IndyCore.bpi;IndySystem.bpi;IndyProtocols.bpi;inet.bpi;IntrawebDB_90_100.bpi;Intraweb_90_100.bpi;VclSmp.bpi;vclie.bpi;websnap.bpi;webdsnap.bpi;inetdbbde.bpi;inetdbxpress.bpi;soaprtl.bpi;NexusDB207ll110.bpi;NexusDB207si110.bpi;NexusDB207se110.bpi;NexusDB207pv110.bpi;NexusDB207sr110.bpi;NexusDB207sq110.bpi;NexusDB207re110.bpi;NexusDB207tm110.bpi;NexusDB207ts110.bpi;NexusDB207tc110.bpi;NexusDB207tn110.bpi;NexusDB207tw110.bpi;NexusDB207db110.bpi;NexusDB207lg110.bpi;NexusDB207ch110.bpi;InspexVclDb.bpi;InspexVcl.bpi;CodeSiteLoggingVcl.bpi;CodeSiteDBToolsVcl.bpi;RaizeComponentsVcl.bpi;RaizeComponentsVclDb.bpi;Jcl.bpi;JclVcl.bpi;JvCoreD11R.bpi;JvSystemD11R.bpi;JvStdCtrlsD11R.bpi;JvAppFrmD11R.bpi;JvBandsD11R.bpi;JvDBD11R.bpi;JvDlgsD11R.bpi;JvBDED11R.bpi;JvCmpD11R.bpi;JvCryptD11R.bpi;JvCtrlsD11R.bpi;JvCustomD11R.bpi;JvDockingD11R.bpi;JvDotNetCtrlsD11R.bpi;JvEDID11R.bpi;JvGlobusD11R.bpi;JvHMID11R.bpi;JvInterpreterD11R.bpi;JvJansD11R.bpi;JvManagedThreadsD11R.bpi;JvMMD11R.bpi;JvNetD11R.bpi;JvPageCompsD11R.bpi;JvPluginD11R.bpi;JvPrintPreviewD11R.bpi;JvRuntimeDesignD11R.bpi;JvTimeFrameworkD11R.bpi;JvValidatorsD11R.bpi;JvWizardD11R.bpi;JvXPCtrlsD11R.bpi;MJFAFConfig_c11.bpi;MJFAFCore_c11.bpi;MJFAFThreads_c11.bpi;MJFAFHash_c11.bpi;MJFAFRTTI_c11.bpi;MJFAFUtils_c11.bpi;MJFVCLR_C11.bpi;MJFAFCompress_c11.bpi</PackageImports> + <BCC_wpar>false</BCC_wpar> + <IncludePath>$(BDS)\include;$(BDS)\include\dinkumware;$(BDS)\include\vcl;C:\Work\jcl development\jcl-msi\thirdparty\Windows Installer\Custom Action</IncludePath> + <AllPackageLibs>rtl.lib;vcl.lib</AllPackageLibs> + <ILINK_LibraryPath>$(BDS)\lib;$(BDS)\lib\obj;$(BDS)\lib\psdk;C:\Work\jcl development\jcl-msi\thirdparty\Windows Installer\Custom Action</ILINK_LibraryPath> + <Multithreaded>true</Multithreaded> + </PropertyGroup> + <PropertyGroup Condition="'$(Cfg_1)'!=''"> + <DCC_Optimize>false</DCC_Optimize> + <BCC_OptimizeForSpeed>false</BCC_OptimizeForSpeed> + <Defines>_DEBUG;$(Defines)</Defines> + <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe> + <ILINK_FullDebugInfo>true</ILINK_FullDebugInfo> + <BCC_InlineFunctionExpansion>false</BCC_InlineFunctionExpansion> + <ILINK_DisableIncrementalLinking>true</ILINK_DisableIncrementalLinking> + <BCC_UseRegisterVariables>None</BCC_UseRegisterVariables> + <DCC_Define>DEBUG</DCC_Define> + <BCC_DebugLineNumbers>true</BCC_DebugLineNumbers> + <IntermediateOutputDir>Debug</IntermediateOutputDir> + <TASM_DisplaySourceLines>true</TASM_DisplaySourceLines> + <BCC_StackFrames>true</BCC_StackFrames> + <ILINK_LibraryPath>$(BDS)\lib\debug;$(ILINK_LibraryPath)</ILINK_LibraryPath> + <BCC_DisableOptimizations>true</BCC_DisableOptimizations> + <TASM_Debugging>Full</TASM_Debugging> + <BCC_SourceDebuggingOn>true</BCC_SourceDebuggingOn> + </PropertyGroup> + <PropertyGroup Condition="'$(Cfg_2)'!=''"> + <Defines>NDEBUG;$(Defines)</Defines> + <IntermediateOutputDir>Release</IntermediateOutputDir> + <ILINK_LibraryPath>$(BDS)\lib\release;$(ILINK_LibraryPath)</ILINK_LibraryPath> + <TASM_Debugging>None</TASM_Debugging> + </PropertyGroup> + <ProjectExtensions> + <Borland.Personality>CPlusPlusBuilder.Personality</Borland.Personality> + <Borland.ProjectType>VCppStyleDll</Borland.ProjectType> + <BorlandProject> +<BorlandProject xmlns=""> <CPlusPlusBuilder.Personality> <VersionInfo> + <VersionInfo Name="IncludeVerInfo">False</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">1</VersionInfo> + <VersionInfo Name="MinorVer">0</VersionInfo> + <VersionInfo Name="Release">0</VersionInfo> + <VersionInfo Name="Build">0</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">False</VersionInfo> + <VersionInfo Name="Locale">2057</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName"></VersionInfoKeys> + <VersionInfoKeys Name="FileDescription"></VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys> + <VersionInfoKeys Name="InternalName"></VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys> + <VersionInfoKeys Name="ProductName"></VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys> + <VersionInfoKeys Name="Comments"></VersionInfoKeys> + </VersionInfoKeys> + <Debugging> + <Debugging Name="DebugSourceDirs"></Debugging> + </Debugging> + <Parameters> + <Parameters Name="RunParams"></Parameters> + <Parameters Name="Launcher"></Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="DebugCWD"></Parameters> + <Parameters Name="HostApplication"></Parameters> + <Parameters Name="RemoteHost"></Parameters> + <Parameters Name="RemotePath"></Parameters> + <Parameters Name="RemoteParams"></Parameters> + <Parameters Name="RemoteLauncher"></Parameters> + <Parameters Name="UseRemoteLauncher">False</Parameters> + <Parameters Name="RemoteCWD"></Parameters> + <Parameters Name="RemoteDebug">False</Parameters> + <Parameters Name="Debug Symbols Search Path"></Parameters> + <Parameters Name="LoadAllSymbols">True</Parameters> + <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> + </Parameters> + <Linker> + <Linker Name="LibPrefix"></Linker> + <Linker Name="LibSuffix"></Linker> + <Linker Name="LibVersion"></Linker> + </Linker> + <ProjectProperties> + <ProjectProperties Name="AutoShowDeps">False</ProjectProperties> + <ProjectProperties Name="ManagePaths">True</ProjectProperties> + <ProjectProperties Name="VerifyPackages">True</ProjectProperties> + </ProjectProperties> + </CPlusPlusBuilder.Personality> </BorlandProject></BorlandProject> + </ProjectExtensions> + <ItemGroup /> + <ItemGroup> + <CppCompile Include="JclCustomAction.cpp"> + <BuildOrder>0</BuildOrder> + </CppCompile> + <BuildConfiguration Include="Debug"> + <Key>Cfg_1</Key> + </BuildConfiguration> + <BuildConfiguration Include="Release"> + <Key>Cfg_2</Key> + </BuildConfiguration> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Borland.Cpp.Targets" /> +</Project> + +<!-- EurekaLog First Line +[Exception Log] +EurekaLog Version=6018 +Activate=0 +Activate Handle=1 +Save Log File=1 +Foreground Tab=0 +Freeze Activate=0 +Freeze Timeout=60 +SMTP From=eur...@em... +SMTP Host= +SMTP Port=25 +SMTP UserID= +SMTP Password= +Append to Log=0 +TerminateBtn Operation=2 +Errors Number=32 +Errors Terminate=3 +Email Address= +Email Object= +Email Send Options=0 +Output Path= +Encrypt Password= +AutoCloseDialogSecs=0 +WebSendMode=0 +SupportULR= +HTMLLayout Count=15 +HTMLLine0="%3Chtml%3E" +HTMLLine1=" %3Chead%3E" +HTMLLine2=" %3C/head%3E" +HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E" +HTMLLine4=" %3Ctable width="100%%" border="0"%3E" +HTMLLine5=" %3Ctr%3E" +HTMLLine6=" %3Ctd nowrap%3E" +HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E" +HTMLLine8=" %3C%%HTML_TAG%%%3E" +HTMLLine9=" %3C/font%3E" +HTMLLine10=" %3C/td%3E" +HTMLLine11=" %3C/tr%3E" +HTMLLine12=" %3C/table%3E" +HTMLLine13=" %3C/body%3E" +HTMLLine14="%3C/html%3E" +AutoCrashOperation=2 +AutoCrashNumber=10 +AutoCrashMinutes=1 +WebURL= +WebUserID= +WebPassword= +WebPort=0 +AttachedFiles= +ProxyURL= +ProxyUser= +ProxyPassword= +ProxyPort=8080 +TrakerUser= +TrakerPassword= +TrakerAssignTo= +TrakerProject= +TrakerCategory= +TrakerTrialID= +ZipPassword= +PreBuildEvent= +PostSuccessfulBuildEvent= +PostFailureBuildEvent= +ExceptionDialogType=2 +Count=0 +EMail Message Line Count=0 +loNoDuplicateErrors=0 +loAppendReproduceText=0 +loDeleteLogAtVersionChange=0 +loAddComputerNameInLogFileName=0 +loSaveModulesAndProcessesSections=1 +loSaveAssemblerAndCPUSections=1 +soAppStartDate=1 +soAppName=1 +soAppVersionNumber=1 +soAppParameters=1 +soAppCompilationDate=1 +soAppUpTime=1 +soExcDate=1 +soExcAddress=1 +soExcModuleName=1 +soExcModuleVersion=1 +soExcType=1 +soExcMessage=1 +soExcID=1 +soExcCount=1 +soExcStatus=1 +soExcNote=1 +soUserID=1 +soUserName=1 +soUserEmail=1 +soUserPrivileges=1 +soUserCompany=1 +soActCtlsFormClass=1 +soActCtlsFormText=1 +soActCtlsControlClass=1 +soActCtlsControlText=1 +soCmpName=1 +soCmpTotalMemory=1 +soCmpFreeMemory=1 +soCmpTotalDisk=1 +soCmpFreeDisk=1 +soCmpSysUpTime=1 +soCmpProcessor=1 +soCmpDisplayMode=1 +soCmpDisplayDPI=1 +soCmpVideoCard=1 +soCmpPrinter=1 +soOSType=1 +soOSBuildN=1 +soOSUpdate=1 +soOSLanguage=1 +soOSCharset=1 +soNetIP=1 +soNetSubmask=1 +soNetGateway=1 +soNetDNS1=1 +soNetDNS2=1 +soNetDHCP=1 +soCustomData=1 +sndShowSendDialog=1 +sndShowSuccessFailureMsg=0 +sndSendEntireLog=0 +sndSendXMLLogCopy=0 +sndSendScreenshot=1 +sndUseOnlyActiveWindow=0 +sndSendLastHTMLPage=1 +sndSendInSeparatedThread=0 +sndAddDateInFileName=0 +sndAddComputerNameInFileName=0 +edoSendErrorReportChecked=1 +edoAttachScreenshotChecked=1 +edoShowCopyToClipOption=1 +edoShowDetailsButton=1 +edoShowInDetailedMode=0 +edoShowInTopMostMode=0 +edoUseEurekaLogLookAndFeel=0 +edoShowSendErrorReportOption=1 +edoShowAttachScreenshotOption=1 +edoShowCustomButton=0 +csoShowDLLs=1 +csoShowBPLs=1 +csoShowBorlandThreads=1 +csoShowWindowsThreads=1 +csoDoNotStoreProcNames=0 +boPauseBorlandThreads=0 +boDoNotPauseMainThread=0 +boPauseWindowsThreads=0 +boUseMainModuleOptions=1 +boCopyLogInCaseOfError=1 +boSaveCompressedCopyInCaseOfError=0 +boHandleSafeCallExceptions=1 +boCallRTLExceptionEvent=0 +boCatchHandledExceptions=0 +loCatchLeaks=0 +loGroupsSonLeaks=1 +loHideBorlandLeaks=1 +loFreeAllLeaks=1 +loCatchLeaksExceptions=1 +cfoReduceFileSize=1 +cfoCheckFileCorruption=0 +Count mtInformationMsgCaption=1 +mtInformationMsgCaption0="Information." +Count mtQuestionMsgCaption=1 +mtQuestionMsgCaption0="Question." +Count mtErrorMsgCaption=1 +mtErrorMsgCaption0="Error." +Count mtDialog_Caption=1 +mtDialog_Caption0="Error occurred" +Count mtDialog_ErrorMsgCaption=2 +mtDialog_ErrorMsgCaption0="An error has occurred during program execution." +mtDialog_ErrorMsgCaption1="Please read the following information for further details." +Count mtDialog_GeneralCaption=1 +mtDialog_GeneralCaption0="General" +Count mtDialog_GeneralHeader=1 +mtDialog_GeneralHeader0="General Information" +Count mtDialog_CallStackCaption=1 +mtDialog_CallStackCaption0="Call Stack" +Count mtDialog_CallStackHeader=1 +mtDialog_CallStackHeader0="Call Stack Information" +Count mtDialog_ModulesCaption=1 +mtDialog_ModulesCaption0="Modules" +Count mtDialog_ModulesHeader=1 +mtDialog_ModulesHeader0="Modules Information" +Count mtDialog_ProcessesCaption=1 +mtDialog_ProcessesCaption0="Processes" +Count mtDialog_ProcessesHeader=1 +mtDialog_ProcessesHeader0="Processes Information" +Count mtDialog_AsmCaption=1 +mtDialog_AsmCaption0="Assembler" +Count mtDialog_AsmHeader=1 +mtDialog_AsmHeader0="Assembler Information" +Count mtDialog_CPUCaption=1 +mtDialog_CPUCaption0="CPU" +Count mtDialog_CPUHeader=1 +mtDialog_CPUHeader0="CPU Information" +Count mtDialog_OKButtonCaption=1 +mtDialog_OKButtonCaption0="%26OK" +Count mtDialog_TerminateButtonCaption=1 +mtDialog_TerminateButtonCaption0="%26Terminate" +Count mtDialog_RestartButtonCaption=1 +mtDialog_RestartButtonCaption0="%26Restart" +Count mtDialog_DetailsButtonCaption=1 +mtDialog_DetailsButtonCaption0="%26Details" +Count mtDialog_CustomButtonCaption=1 +mtDialog_CustomButtonCaption0="%26Help" +Count mtDialog_SendMessage=1 +mtDialog_SendMessage0="%26Send this error via Internet" +Count mtDialog_ScreenshotMessage=1 +mtDialog_ScreenshotMessage0="%26Attach a Screenshot image" +Count mtDialog_CopyMessage=1 +mtDialog_CopyMessage0="%26Copy to Clipboard" +Count mtDialog_SupportMessage=1 +mtDialog_SupportMessage0="Go to the Support Page" +Count mtMSDialog_ErrorMsgCaption=1 +mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience." +Count mtMSDialog_RestartCaption=1 +mtMSDialog_RestartCaption0="Restart application." +Count mtMSDialog_TerminateCaption=1 +mtMSDialog_TerminateCaption0="Terminate application." +Count mtMSDialog_PleaseCaption=1 +mtMSDialog_PleaseCaption0="Please tell us about this problem." +Count mtMSDialog_DescriptionCaption=1 +mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous." +Count mtMSDialog_SeeDetailsCaption=1 +mtMSDialog_SeeDetailsCaption0="To see what data the error report contains," +Count mtMSDialog_SeeClickCaption=1 +mtMSDialog_SeeClickCaption0="click here." +Count mtMSDialog_HowToReproduceCaption=1 +mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happened (optional)?" +Count mtMSDialog_EmailCaption=1 +mtMSDialog_EmailCaption0="Email address (optional):" +Count mtMSDialog_SendButtonCaption=1 +mtMSDialog_SendButtonCaption0="%26Send Error Report" +Count mtMSDialog_NoSendButtonCaption=1 +mtMSDialog_NoSendButtonCaption0="%26Don't Send" +Count mtLog_AppHeader=1 +mtLog_AppHeader0="Application" +Count mtLog_AppStartDate=1 +mtLog_AppStartDate0="Start Date" +Count mtLog_AppName=1 +mtLog_AppName0="Name/Description" +Count mtLog_AppVersionNumber=1 +mtLog_AppVersionNumber0="Version Number" +Count mtLog_AppParameters=1 +mtLog_AppParameters0="Parameters" +Count mtLog_AppCompilationDate=1 +mtLog_AppCompilationDate0="Compilation Date" +Count mtLog_AppUpTime=1 +mtLog_AppUpTime0="Up Time" +Count mtLog_ExcHeader=1 +mtLog_ExcHeader0="Exception" +Count mtLog_ExcDate=1 +mtLog_ExcDate0="Date" +Count mtLog_ExcAddress=1 +mtLog_ExcAddress0="Address" +Count mtLog_ExcModuleName=1 +mtLog_ExcModuleName0="Module Name" +Count mtLog_ExcModuleVersion=1 +mtLog_ExcModuleVersion0="Module Version" +Count mtLog_ExcType=1 +mtLog_ExcType0="Type" +Count mtLog_ExcMessage=1 +mtLog_ExcMessage0="Message" +Count mtLog_ExcID=1 +mtLog_ExcID0="ID" +Count mtLog_ExcCount=1 +mtLog_ExcCount0="Count" +Count mtLog_ExcStatus=1 +mtLog_ExcStatus0="Status" +Count mtLog_ExcNote=1 +mtLog_ExcNote0="Note" +Count mtLog_UserHeader=1 +mtLog_UserHeader0="User" +Count mtLog_UserID=1 +mtLog_UserID0="ID" +Count mtLog_UserName=1 +mtLog_UserName0="Name" +Count mtLog_UserEmail=1 +mtLog_UserEmail0="Email" +Count mtLog_UserCompany=1 +mtLog_UserCompany0="Company" +Count mtLog_UserPrivileges=1 +mtLog_UserPrivileges0="Privileges" +Count mtLog_ActCtrlsHeader=1 +mtLog_ActCtrlsHeader0="Active Controls" +Count mtLog_ActCtrlsFormClass=1 +mtLog_ActCtrlsFormClass0="Form Class" +Count mtLog_ActCtrlsFormText=1 +mtLog_ActCtrlsFormText0="Form Text" +Count mtLog_ActCtrlsControlClass=1 +mtLog_ActCtrlsControlClass0="Control Class" +Count mtLog_ActCtrlsControlText=1 +mtLog_ActCtrlsControlText0="Control Text" +Count mtLog_CmpHeader=1 +mtLog_CmpHeader0="Computer" +Count mtLog_CmpName=1 +mtLog_CmpName0="Name" +Count mtLog_CmpTotalMemory=1 +mtLog_CmpTotalMemory0="Total Memory" +Count mtLog_CmpFreeMemory=1 +mtLog_CmpFreeMemory0="Free Memory" +Count mtLog_CmpTotalDisk=1 +mtLog_CmpTotalDisk0="Total Disk" +Count mtLog_CmpFreeDisk=1 +mtLog_CmpFreeDisk0="Free Disk" +Count mtLog_CmpSystemUpTime=1 +mtLog_CmpSystemUpTime0="System Up Time" +Count mtLog_CmpProcessor=1 +mtLog_CmpProcessor0="Processor" +Count mtLog_CmpDisplayMode=1 +mtLog_CmpDisplayMode0="Display Mode" +Count mtLog_CmpDisplayDPI=1 +mtLog_CmpDisplayDPI0="Display DPI" +Count mtLog_CmpVideoCard=1 +mtLog_CmpVideoCard0="Video Card" +Count mtLog_CmpPrinter=1 +mtLog_CmpPrinter0="Printer" +Count mtLog_OSHeader=1 +mtLog_OSHeader0="Operating System" +Count mtLog_OSType=1 +mtLog_OSType0="Type" +Count mtLog_OSBuildN=1 +mtLog_OSBuildN0="Build #" +Count mtLog_OSUpdate=1 +mtLog_OSUpdate0="Update" +Count mtLog_OSLanguage=1 +mtLog_OSLanguage0="Language" +Count mtLog_OSCharset=1 +mtLog_OSCharset0="Charset" +Count mtLog_NetHeader=1 +mtLog_NetHeader0="Network" +Count mtLog_NetIP=1 +mtLog_NetIP0="IP Address" +Count mtLog_NetSubmask=1 +mtLog_NetSubmask0="Submask" +Count mtLog_NetGateway=1 +mtLog_NetGateway0="Gateway" +Count mtLog_NetDNS1=1 +mtLog_NetDNS10="DNS 1" +Count mtLog_NetDNS2=1 +mtLog_NetDNS20="DNS 2" +Count mtLog_NetDHCP=1 +mtLog_NetDHCP0="DHCP" +Count mtLog_CustInfoHeader=1 +mtLog_CustInfoHeader0="Custom Information" +Count mtCallStack_Address=1 +mtCallStack_Address0="Address" +Count mtCallStack_Name=1 +mtCallStack_Name0="Module" +Count mtCallStack_Unit=1 +mtCallStack_Unit0="Unit" +Count mtCallStack_Class=1 +mtCallStack_Class0="Class" +Count mtCallStack_Procedure=1 +mtCallStack_Procedure0="Procedure/Method" +Count mtCallStack_Line=1 +mtCallStack_Line0="Line" +Count mtCallStack_MainThread=1 +mtCallStack_MainThread0="Main" +Count mtCallStack_ExceptionThread=1 +mtCallStack_ExceptionThread0="Exception Thread" +Count mtCallStack_RunningThread=1 +mtCallStack_RunningThread0="Running Thread" +Count mtCallStack_CallingThread=1 +mtCallStack_CallingThread0="Calling Thread" +Count mtCallStack_ThreadID=1 +mtCallStack_ThreadID0="ID" +Count mtCallStack_ThreadPriority=1 +mtCallStack_ThreadPriority0="Priority" +Count mtCallStack_ThreadClass=1 +mtCallStack_ThreadClass0="Class" +Count mtCallStack_LeakCaption=1 +mtCallStack_LeakCaption0="Memory Leak" +Count mtCallStack_LeakData=1 +mtCallStack_LeakData0="Data" +Count mtCallStack_LeakType=1 +mtCallStack_LeakType0="Type" +Count mtCallStack_LeakSize=1 +mtCallStack_LeakSize0="Total size" +Count mtCallStack_LeakCount=1 +mtCallStack_LeakCount0="Count" +Count mtSendDialog_Caption=1 +mtSendDialog_Caption0="Send." +Count mtSendDialog_Message=1 +mtSendDialog_Message0="Message" +Count mtSendDialog_Resolving=1 +mtSendDialog_Resolving0="Resolving DNS..." +Count mtSendDialog_Login=1 +mtSendDialog_Login0="Login..." +Count mtSendDialog_Connecting=1 +mtSendDialog_Connecting0="Connecting with server..." +Count mtSendDialog_Connected=1 +mtSendDialog_Connected0="Connected with server." +Count mtSendDialog_Sending=1 +mtSendDialog_Sending0="Sending message..." +Count mtSendDialog_Sent=1 +mtSendDialog_Sent0="Message sent." +Count mtSendDialog_SelectProject=1 +mtSendDialog_SelectProject0="Select project..." +Count mtSendDialog_Searching=1 +mtSendDialog_Searching0="Searching..." +Count mtSendDialog_Modifying=1 +mtSendDialog_Modifying0="Modifying..." +Count mtSendDialog_Disconnecting=1 +mtSendDialog_Disconnecting0="Disconnecting..." +Count mtSendDialog_Disconnected=1 +mtSendDialog_Disconnected0="Disconnected." +Count mtReproduceDialog_Caption=1 +mtReproduceDialog_Caption0="Request" +Count mtReproduceDialog_Request=1 +mtReproduceDialog_Request0="Please describe the steps to reproduce the error:" +Count mtReproduceDialog_OKButtonCaption=1 +mtReproduceDialog_OKButtonCaption0="%26OK" +Count mtModules_Handle=1 +mtModules_Handle0="Handle" +Count mtModules_Name=1 +mtModules_Name0="Name" +Count mtModules_Description=1 +mtModules_Description0="Description" +Count mtModules_Version=1 +mtModules_Version0="Version" +Count mtModules_Size=1 +mtModules_Size0="Size" +Count mtModules_LastModified=1 +mtModules_LastModified0="Modified" +Count mtModules_Path=1 +mtModules_Path0="Path" +Count mtProcesses_ID=1 +mtProcesses_ID0="ID" +Count mtProcesses_Name=1 +mtProcesses_Name0="Name" +Count mtProcesses_Description=1 +mtProcesses_Description0="Description" +Count mtProcesses_Version=1 +mtProcesses_Version0="Version" +Count mtProcesses_Memory=1 +mtProcesses_Memory0="Memory" +Count mtProcesses_Priority=1 +mtProcesses_Priority0="Priority" +Count mtProcesses_Threads=1 +mtProcesses_Threads0="Threads" +Count mtProcesses_Path=1 +mtProcesses_Path0="Path" +Count mtCPU_Registers=1 +mtCPU_Registers0="Registers" +Count mtCPU_Stack=1 +mtCPU_Stack0="Stack" +Count mtCPU_MemoryDump=1 +mtCPU_MemoryDump0="Memory Dump" +Count mtSend_SuccessMsg=1 +mtSend_SuccessMsg0="The message was sent successfully." +Count mtSend_FailureMsg=1 +mtSend_FailureMsg0="Sorry, sending the message didn't work." +Count mtSend_BugClosedMsg=2 +mtSend_BugClosedMsg0="These BUG is just closed." +mtSend_BugClosedMsg1="Contact the program support to obtain an update." +Count mtSend_UnknownErrorMsg=1 +mtSend_UnknownErrorMsg0="Unknown error." +Count mtSend_InvalidLoginMsg=1 +mtSend_InvalidLoginMsg0="Invalid login request." +Count mtSend_InvalidSearchMsg=1 +mtSend_InvalidSearchMsg0="Invalid search request." +Count mtSend_InvalidSelectionMsg=1 +mtSend_InvalidSelectionMsg0="Invalid selection request." +Count mtSend_InvalidInsertMsg=1 +mtSend_InvalidInsertMsg0="Invalid insert request." +Count mtSend_InvalidModifyMsg=1 +mtSend_InvalidModifyMsg0="Invalid modify request." +Count mtFileCrackedMsg=2 +mtFileCrackedMsg0="This file is cracked." +mtFileCrackedMsg1="The application will be closed." +Count mtException_LeakMultiFree=1 +mtException_LeakMultiFree0="Multi Free memory leak." +Count mtException_LeakMemoryOverrun=1 +mtException_LeakMemoryOverrun0="Memory Overrun leak." +Count mtException_AntiFreeze=1 +mtException_AntiFreeze0="The application seems to be frozen." +Count mtInvalidEmailMsg=1 +mtInvalidEmailMsg0="Invalid email." +TextsCollection=English +EurekaLog Last Line --> Added: branches/jcl-msi/thirdparty/Windows Installer/Custom Action/JclCustomAction.cbproj.local =================================================================== --- branches/jcl-msi/thirdparty/Windows Installer/Custom Action/JclCustomAction.cbproj.local (rev 0) +++ branches/jcl-msi/thirdparty/Windows Installer/Custom Action/JclCustomAction.cbproj.local 2009-03-30 14:48:04 UTC (rev 2712) @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<BorlandProject> + <Transactions> + <Transaction>2009/02/18 19:45:37.453.cpp,C:\Documents and Settings\Sean Farrow\My Documents\RAD Studio\Projects\File1.cpp=C:\Work\jcl development\jcl-msi\thirdparty\Windows Installer\Custom Action\JclCustomAction.cpp</Transaction> + <Transaction>2009/02/18 19:45:48.796.cbproj,C:\Documents and Settings\Sean Farrow\My Documents\RAD Studio\Projects\Project1.cbproj=C:\Work\jcl development\jcl-msi\thirdparty\Windows Installer\Custom Action\JclCustomAction.cbproj</Transaction> + </Transactions> +</BorlandProject> Added: branches/jcl-msi/thirdparty/Windows Installer/Custom Action/JclCustomAction.cpp =================================================================== --- branches/jcl-msi/thirdparty/Windows Installer/Custom Action/JclCustomAction.cpp (rev 0) +++ branches/jcl-msi/thirdparty/Windows Installer/Custom Action/JclCustomAction.cpp 2009-03-30 14:48:04 UTC (rev 2712) @@ -0,0 +1,10 @@ +//--------------------------------------------------------------------------- + +#include <vcl.h> +#include <windows.h> +#pragma hdrstop +#pragma argsused +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved) +{ + return 1; +} Property changes on: branches/jcl-msi/thirdparty/Windows Installer/Installer ___________________________________________________________________ Added: tsvn:projectlanguage + 1033 Added: bugtraq:url + http://homepages.codegear.com/jedi/issuetracker/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Property changes on: branches/jcl-msi/thirdparty/Windows Installer/WiX Binaries ___________________________________________________________________ Added: tsvn:projectlanguage + 1033 Added: bugtraq:url + http://homepages.codegear.com/jedi/issuetracker/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <usc...@us...> - 2009-03-30 08:58:06
|
Revision: 2711 http://jcl.svn.sourceforge.net/jcl/?rev=2711&view=rev Author: uschuster Date: 2009-03-30 08:58:01 +0000 (Mon, 30 Mar 2009) Log Message: ----------- added new TJclStackTrackingOption stDisableIfDebuggerAttached to disable the exception notifier if a debugger is attached Modified Paths: -------------- trunk/jcl/source/windows/JclDebug.pas Modified: trunk/jcl/source/windows/JclDebug.pas =================================================================== --- trunk/jcl/source/windows/JclDebug.pas 2009-03-30 08:21:16 UTC (rev 2710) +++ trunk/jcl/source/windows/JclDebug.pas 2009-03-30 08:58:01 UTC (rev 2711) @@ -781,7 +781,7 @@ type TJclStackTrackingOption = (stStack, stExceptFrame, stRawMode, stAllModules, stStaticModuleList, - stDelayedTrace, stTraceAllExceptions, stMainThreadOnly); + stDelayedTrace, stTraceAllExceptions, stMainThreadOnly, stDisableIfDebuggerAttached); TJclStackTrackingOptions = set of TJclStackTrackingOption; {$IFDEF KEEP_DEPRECATED} @@ -4834,8 +4834,9 @@ procedure DoExceptNotify(ExceptObj: TObject; ExceptAddr: Pointer; OSException: Boolean; BaseOfStack: Pointer); begin - if TrackingActive and Assigned(ExceptObj) and (not IsIgnoredException(ExceptObj.ClassType)) and - (not (stMainThreadOnly in JclStackTrackingOptions) or (GetCurrentThreadId = MainThreadID)) then + if TrackingActive and (not (stDisableIfDebuggerAttached in JclStackTrackingOptions) or (not IsDebuggerAttached)) and + Assigned(ExceptObj) and (not IsIgnoredException(ExceptObj.ClassType)) and + (not (stMainThreadOnly in JclStackTrackingOptions) or (GetCurrentThreadId = MainThreadID)) then begin if stStack in JclStackTrackingOptions then DoExceptionStackTrace(ExceptObj, ExceptAddr, OSException, BaseOfStack); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sf...@us...> - 2009-03-30 08:21:18
|
Revision: 2710 http://jcl.svn.sourceforge.net/jcl/?rev=2710&view=rev Author: sfarrow Date: 2009-03-30 08:21:16 +0000 (Mon, 30 Mar 2009) Log Message: ----------- Added Paths: ----------- branches/jcl-msi/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sf...@us...> - 2009-03-30 08:01:39
|
Revision: 2709 http://jcl.svn.sourceforge.net/jcl/?rev=2709&view=rev Author: sfarrow Date: 2009-03-30 08:01:30 +0000 (Mon, 30 Mar 2009) Log Message: ----------- Removing the branch and recreating. Removed Paths: ------------- branches/jcl-msi/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <usc...@us...> - 2009-03-28 00:11:36
|
Revision: 2708 http://jcl.svn.sourceforge.net/jcl/?rev=2708&view=rev Author: uschuster Date: 2009-03-28 00:11:23 +0000 (Sat, 28 Mar 2009) Log Message: ----------- replaced dead Borland URLs by Embarcadero URLs Modified Paths: -------------- trunk/jcl/source/common/JclBorlandTools.pas trunk/jcl/source/common/JclFileUtils.pas Modified: trunk/jcl/source/common/JclBorlandTools.pas =================================================================== --- trunk/jcl/source/common/JclBorlandTools.pas 2009-03-27 15:54:44 UTC (rev 2707) +++ trunk/jcl/source/common/JclBorlandTools.pas 2009-03-28 00:11:23 UTC (rev 2708) @@ -29,9 +29,9 @@ { } { Important notes for C#Builder 1 and Delphi 8: } { These products were not shipped with their native compilers, but the toolkit to build design } -{ packages is available in codecentral (http://codecentral.borland.com): } -{ - "IDE Integration pack for C#Builder 1.0" http://codecentral.borland.com/Item.aspx?ID=21334 } -{ - "IDE Integration pack for Delphi 8" http://codecentral.borland.com/Item.aspx?ID=21333 } +{ packages is available in codecentral (http://cc.embarcadero.com): } +{ - "IDE Integration pack for C#Builder 1.0" http://cc.embarcadero.com/Item/21334 } +{ - "IDE Integration pack for Delphi 8" http://cc.embarcadero.com/Item/21333 } { It's recommended to extract zip files using the standard pattern of Delphi directories: } { - Binary files go to \bin (DCC32.EXE, RLINK32.DLL and lnkdfm7*.dll) } { - Compiler files go to \lib (designide.dcp, rtl.dcp, SysInit.dcu, vcl.dcp, vclactnband.dcp, } Modified: trunk/jcl/source/common/JclFileUtils.pas =================================================================== --- trunk/jcl/source/common/JclFileUtils.pas 2009-03-27 15:54:44 UTC (rev 2707) +++ trunk/jcl/source/common/JclFileUtils.pas 2009-03-28 00:11:23 UTC (rev 2708) @@ -146,7 +146,7 @@ // Note: faVolumeID is potentially dangerous and its usage has been discontinued // Please see QC report 6003 for details, available online at this URL: - // http://qc.borland.com/wc/qcmain.aspx?d=6003 + // http://qc.embarcadero.com/wc/qcmain.aspx?d=6003 faRejectedByDefault = faHidden + faSysFile + faDirectory; faWindowsSpecific = faArchive + faTemporary + faSparseFile + faReparsePoint + faCompressed + faOffline + faNotContentIndexed + faEncrypted; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ob...@us...> - 2009-03-27 15:54:57
|
Revision: 2707 http://jcl.svn.sourceforge.net/jcl/?rev=2707&view=rev Author: obones Date: 2009-03-27 15:54:44 +0000 (Fri, 27 Mar 2009) Log Message: ----------- Added AssignTo to TJclAnsiStrings so that it can be assigned to a TStrings. Modified Paths: -------------- trunk/jcl/source/common/JclAnsiStrings.pas Modified: trunk/jcl/source/common/JclAnsiStrings.pas =================================================================== --- trunk/jcl/source/common/JclAnsiStrings.pas 2009-03-26 22:54:42 UTC (rev 2706) +++ trunk/jcl/source/common/JclAnsiStrings.pas 2009-03-27 15:54:44 UTC (rev 2707) @@ -101,6 +101,8 @@ function GetValueFromIndex(Index: Integer): AnsiString; procedure SetValueFromIndex(Index: Integer; const Value: AnsiString); protected + procedure AssignTo(Dest: TPersistent); override; + procedure Error(const Msg: string; Data: Integer); overload; procedure Error(Msg: PResStringRec; Data: Integer); overload; @@ -880,6 +882,27 @@ inherited Assign(Source); end; +procedure TJclAnsiStrings.AssignTo(Dest: TPersistent); +var + StringsDest: TStrings; + I: Integer; +begin + if Dest is TStrings then + begin + StringsDest := TStrings(Dest); + StringsDest.BeginUpdate; + try + StringsDest.Clear; + StringsDest.Delimiter := Char(Delimiter); + StringsDest.NameValueSeparator := Char(NameValueSeparator); + for I := 0 to Count - 1 do + StringsDest.AddObject(string(Strings[I]), Objects[I]); + finally + StringsDest.EndUpdate; + end; + end; +end; + function TJclAnsiStrings.Add(const S: AnsiString): Integer; begin Result := AddObject(S, nil); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2009-03-26 22:54:54
|
Revision: 2706 http://jcl.svn.sourceforge.net/jcl/?rev=2706&view=rev Author: ahuser Date: 2009-03-26 22:54:42 +0000 (Thu, 26 Mar 2009) Log Message: ----------- Delphi < 2005 doesn't know about UTF8 source files Modified Paths: -------------- trunk/jcl/source/common/JclBorlandTools.pas Modified: trunk/jcl/source/common/JclBorlandTools.pas =================================================================== --- trunk/jcl/source/common/JclBorlandTools.pas 2009-03-26 13:58:01 UTC (rev 2705) +++ trunk/jcl/source/common/JclBorlandTools.pas 2009-03-26 22:54:42 UTC (rev 2706) @@ -1,4 +1,4 @@ -{**************************************************************************************************} +{**************************************************************************************************} { } { Project JEDI Code Library (JCL) } { } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ob...@us...> - 2009-03-26 13:58:11
|
Revision: 2705 http://jcl.svn.sourceforge.net/jcl/?rev=2705&view=rev Author: obones Date: 2009-03-26 13:58:01 +0000 (Thu, 26 Mar 2009) Log Message: ----------- Handles Delphi 2009 DPROJ format in a very crude way Modified Paths: -------------- trunk/jcl/source/common/JclBorlandTools.pas Modified: trunk/jcl/source/common/JclBorlandTools.pas =================================================================== --- trunk/jcl/source/common/JclBorlandTools.pas 2009-03-22 22:29:38 UTC (rev 2704) +++ trunk/jcl/source/common/JclBorlandTools.pas 2009-03-26 13:58:01 UTC (rev 2705) @@ -1,4 +1,4 @@ -{**************************************************************************************************} +{**************************************************************************************************} { } { Project JEDI Code Library (JCL) } { } @@ -2552,7 +2552,7 @@ if Assigned(PersonalityNode) then PersonalityName := PersonalityNode.Value; end; - if AnsiSameText(PersonalityName, DProjDelphiPersonalityValue) or + if StrHasPrefix(PersonalityName, [DProjDelphiPersonalityValue]) or AnsiSameText(PersonalityName, DProjDelphiDotNetPersonalityValue) then begin ProjectConfiguration := ''; @@ -2569,7 +2569,10 @@ (AnsiPos(Format('%s|%s', [ProjectConfiguration, ProjectPlatform]), ConditionProperty.Value) > 0)) or ((Version <> '') and (ProjectConfiguration <> '') and - (AnsiPos(ProjectConfiguration, ConditionProperty.Value) > 0)) then + (AnsiPos(ProjectConfiguration, ConditionProperty.Value) > 0)) + or + ((Version <> '') and (ProjectConfiguration <> '') and + (AnsiPos('$(Base)', ConditionProperty.Value) > 0)) then begin // this is the active configuration, check for overrides ChildNode := PropertyGroupNode.Items.ItemNamed[DProjUsePackageNodeName]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ob...@us...> - 2009-03-22 22:29:44
|
Revision: 2704 http://jcl.svn.sourceforge.net/jcl/?rev=2704&view=rev Author: obones Date: 2009-03-22 22:29:38 +0000 (Sun, 22 Mar 2009) Log Message: ----------- >From the live server Added Paths: ----------- trunk/website/delphi-jedi/btguide.html trunk/website/delphi-jedi/documents/ trunk/website/delphi-jedi/documents/lgpl.html trunk/website/delphi-jedi/documents/lgpl.pdf trunk/website/delphi-jedi/documents/mpl11.html trunk/website/delphi-jedi/documents/mpl11.pdf trunk/website/delphi-jedi/documents/styleguide.html trunk/website/delphi-jedi/documents/styleguide.pdf trunk/website/delphi-jedi/download/ trunk/website/delphi-jedi/img/ trunk/website/delphi-jedi/img/Thumbs.db trunk/website/delphi-jedi/img/absatz.jpg trunk/website/delphi-jedi/img/bg.jpg trunk/website/delphi-jedi/img/ecke.jpg trunk/website/delphi-jedi/img/email.jpg trunk/website/delphi-jedi/img/mail.gif trunk/website/delphi-jedi/img/pixel.gif trunk/website/delphi-jedi/index.html trunk/website/delphi-jedi/index_old.html trunk/website/delphi-jedi/jpp.html trunk/website/delphi-jedi/page10.html trunk/website/delphi-jedi/page11.html trunk/website/delphi-jedi/page12.html trunk/website/delphi-jedi/page13.html trunk/website/delphi-jedi/page20.html trunk/website/delphi-jedi/page21.html trunk/website/delphi-jedi/page22.html trunk/website/delphi-jedi/page23.html trunk/website/delphi-jedi/page24.html trunk/website/delphi-jedi/page30.html trunk/website/delphi-jedi/page32.html trunk/website/delphi-jedi/page33.html trunk/website/delphi-jedi/page34.html trunk/website/delphi-jedi/page40.html trunk/website/delphi-jedi/page41.html trunk/website/delphi-jedi/page42.html trunk/website/delphi-jedi/page50.html trunk/website/delphi-jedi/page506.html trunk/website/delphi-jedi/page51.html trunk/website/delphi-jedi/page52.html trunk/website/delphi-jedi/page53.html trunk/website/delphi-jedi/page54.html trunk/website/delphi-jedi/page60.html trunk/website/delphi-jedi/ppp.html trunk/website/delphi-jedi/release120.html trunk/website/delphi-jedi/styles.css trunk/website/delphi-jedi/team/ trunk/website/delphi-jedi/team/cps.html trunk/website/delphi-jedi/team/cps.pdf trunk/website/delphi-jedi/team/strucv1.jpg trunk/website/delphi-jedi/team/test.css Added: trunk/website/delphi-jedi/btguide.html =================================================================== --- trunk/website/delphi-jedi/btguide.html (rev 0) +++ trunk/website/delphi-jedi/btguide.html 2009-03-22 22:29:38 UTC (rev 2704) @@ -0,0 +1,455 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<HTML> +<HEAD> + <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252"> + <TITLE></TITLE> + <META NAME="GENERATOR" CONTENT="StarOffice 6.0 (Win32)"> + <META NAME="AUTHOR" CONTENT="Matthias Thoma"> + <META NAME="CREATED" CONTENT="20020207;14151035"> + <META NAME="CHANGEDBY" CONTENT="Matthias Thoma"> + <META NAME="CHANGED" CONTENT="20020407;15354884"> + <STYLE> + <!-- + @page { margin: 2cm } + --> + </STYLE> +</HEAD> +<BODY> +<P ALIGN=LEFT STYLE="margin-bottom: 0cm"><FONT FACE="Verdana, sans-serif"><FONT SIZE=6 STYLE="font-size: 22pt"><B>JEDI +Issue Tracker</B></FONT></FONT></P> +<P ALIGN=LEFT STYLE="margin-bottom: 0cm"><FONT FACE="Verdana, sans-serif"><B>Quick +start guide</B></FONT></P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><FONT SIZE=4><B>Getting started</B></FONT></P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><FONT SIZE=3><FONT FACE="Verdana, sans-serif">First +you need to signup for a new account. The issue trackers login screen +provides a link (Figure 1). </FONT></FONT> +</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><IMG SRC="gra2.jpg" NAME="Grafik5" ALIGN=LEFT WIDTH=399 HEIGHT=219 BORDER=0><BR CLEAR=LEFT><BR> +</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>The +following sign up screen will ask you for a <B>username </B><SPAN STYLE="font-weight: medium">and +a <B>valid email address</B>. A randomly generated password will be +send to that email address shortly afterwards. O</SPAN></FONT>nce you +have your randomly generated password please go back to the login +page. </FONT> +</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><FONT FACE="Verdana, sans-serif">Just +enter your username and password and hit the login button. There is +also a <B>Save Login</B> checkbox to have the package remember that +you are logged in between browser sessions. You will have to have +<B>cookies enabled</B> to login. </FONT> +</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><FONT FACE="Verdana, sans-serif">If the +account doesn't exist, the account is disabled, or the password is +incorrect then you will remain at the login page. An error message +will be displayed. </FONT> +</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><FONT FACE="Verdana, sans-serif"><FONT SIZE=4><B>The +main screen</B></FONT></FONT></P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><FONT FACE="Verdana, sans-serif"><SPAN STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">The +main screen is the first page you see upon logging in. It shows you +the latest news and updates for the bugtracker. Some news postings +are specific to projects and others are global across the entire +bugtracker. This is set at the time of posting in the section. In the +top right corner you are able to switch between the different +projects. It is recommended to set it to <B>Code Library</B><SPAN STYLE="font-weight: medium"> +now</SPAN>. </FONT></SPAN></FONT> +</P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Verdana, sans-serif">When +you first logged in you have the following options:</FONT></P> +<P STYLE="margin-top: 0.18cm; margin-bottom: 0.18cm"><IMG SRC="gra1.jpg" NAME="Grafik1" ALIGN=LEFT WIDTH=511 HEIGHT=50 BORDER=0><BR CLEAR=LEFT><BR><BR> +</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0> + <COL WIDTH=29*> + <COL WIDTH=227*> + <TR VALIGN=TOP> + <TD WIDTH=11%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=2 STYLE="font-size: 10pt"><B>Main</B></FONT></FONT></P> + </TD> + <TD WIDTH=89%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=2 STYLE="font-size: 10pt">The + screen you are seeing now. You can always get back to it by + pressing that button.</FONT></FONT></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=11%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=2 STYLE="font-size: 10pt"><B>View + Bugs</B></FONT></FONT></P> + </TD> + <TD WIDTH=89%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=2 STYLE="font-size: 10pt">Shows + all bugs reported in the selected project.</FONT></FONT></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=11%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=2 STYLE="font-size: 10pt"><B>Report + Bug</B></FONT></FONT></P> + </TD> + <TD WIDTH=89%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=2 STYLE="font-size: 10pt">Report + a bug </FONT></FONT> + </P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=11%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=2 STYLE="font-size: 10pt"><B>Summary</B></FONT></FONT></P> + </TD> + <TD WIDTH=89%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=2 STYLE="font-size: 10pt">Some + statistics about bugs, longest open bugs etc.</FONT></FONT></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=11%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=2 STYLE="font-size: 10pt"><B>Account</B></FONT></FONT></P> + </TD> + <TD WIDTH=89%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=2 STYLE="font-size: 10pt">You + account settings</FONT></FONT></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=11%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=2 STYLE="font-size: 10pt"><B>Docs</B></FONT></FONT></P> + </TD> + <TD WIDTH=89%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=2 STYLE="font-size: 10pt">Documentation + related to the bucktracker or the code library.</FONT></FONT></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=11%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=2 STYLE="font-size: 10pt"><B>Logout</B></FONT></FONT></P> + </TD> + <TD WIDTH=89%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=2 STYLE="font-size: 10pt">Exit + the bug tracker</FONT></FONT></P> + </TD> + </TR> +</TABLE> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Verdana, sans-serif">The +first thing you as developer should do now is to write a short +message to <A HREF="mailto:jc...@de...">jc...@de...</A> +and ask for developer rights. The next step is most likely to +customize your account. </FONT> +</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><IMG SRC="gra3.jpg" NAME="Grafik3" ALIGN=LEFT WIDTH=613 HEIGHT=247 BORDER=0><BR CLEAR=LEFT><BR> +</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Verdana, sans-serif">Now +you are able to change and confirm your password. Please just enter +it into the appropriate fields. Afterwards please go to the +<B>preferences</B> page. There you can turn on/turn off every kind of +email notification. At startup you will not get any email +notifications at all.</FONT></P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><IMG SRC="gra4.jpg" NAME="Grafik2" ALIGN=LEFT WIDTH=644 HEIGHT=289 BORDER=0><BR CLEAR=LEFT><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><BR> +</P> +<TABLE WIDTH=735 BORDER=0 CELLPADDING=0 CELLSPACING=0> + <COL WIDTH=217> + <COL WIDTH=518> + <TR VALIGN=TOP> + <TD WIDTH=217> + <P STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + on New</FONT></P> + </TD> + <TD WIDTH=518> + <P STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + you if you when a new bug report is filed.</FONT></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=217> + <P><SPAN STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + on Assigned</FONT></SPAN></P> + </TD> + <TD WIDTH=518> + <P><SPAN STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + you when a bug you are attached to is set to assigned</FONT></SPAN></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=217> + <P><SPAN STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + on Feedback</FONT></SPAN></P> + </TD> + <TD WIDTH=518> + <P STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + you when a bug you are attached to is set to Feedback status</FONT></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=217> + <P><SPAN STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + on Resolved</FONT></SPAN></P> + </TD> + <TD WIDTH=518> + <P><SPAN STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + you when a bug you are attached to is set to Resolved status</FONT></SPAN></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=217> + <P><SPAN STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + on Closed</FONT></SPAN></P> + </TD> + <TD WIDTH=518> + <P><SPAN STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + you when a bug you are attached to is set to Closed status</FONT></SPAN></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=217> + <P><SPAN STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + on Reopened</FONT></SPAN></P> + </TD> + <TD WIDTH=518> + <P><SPAN STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + you when a bug you are attached to is Reopened</FONT></SPAN></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=217> + <P><SPAN STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + on Bugnote Added</FONT></SPAN></P> + </TD> + <TD WIDTH=518> + <P><SPAN STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + you when a bug you are attached to has a Bugnote added</FONT></SPAN></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=217> + <P><SPAN STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + on Status Change</FONT></SPAN></P> + </TD> + <TD WIDTH=518> + <P STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">mail + you when the status of a bug you are attached to has changed</FONT></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=217> + <P><SPAN STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + on Priority Change</FONT></SPAN></P> + </TD> + <TD WIDTH=518> + <P STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif">Email + you when the priority of a bug you are attached to has changed</FONT></P> + </TD> + </TR> +</TABLE> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Verdana, sans-serif">Every +email you get will have the sender address <A HREF="mailto:bug...@de...">bug...@de...</A> +- you can use it as sort criteria within you email application.</FONT></P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><FONT FACE="Verdana, sans-serif"><FONT SIZE=4><B>View +bugs</B></FONT></FONT></P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>The +bugs are listed in a table and the attributes are listed in the +following order: priority, id, number of bugnotes, category, +severity, status, last updated, and summary.</FONT></FONT></P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><IMG SRC="gra5.jpg" NAME="Grafik4" ALIGN=LEFT WIDTH=399 HEIGHT=219 BORDER=0><BR CLEAR=LEFT><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Each +(except for number of bugnotes) can be clicked on to sort by that +column. Clicking again will reverse the direction of the sort. The +default is to sort by id in descending order. </FONT></FONT> +</P> +<P STYLE="margin-top: 0.18cm; margin-bottom: 0.18cm"><SPAN STYLE="font-weight: medium"><FONT SIZE=3><FONT FACE="Verdana, sans-serif">The +bug id is a link that leads to a more detailed report about the bug. +Depending on what you have set in your Account Preferences you will +be sent to the simple or advanced view. You can also add Bugnotes +here. </FONT></FONT></SPAN> +</P> +<P STYLE="margin-top: 0.18cm; margin-bottom: 0.18cm; font-weight: medium"> +<FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Each table row is color +coded according to the bug status. Here is an explanation of the +default colorings: </FONT></FONT> +</P> +<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0> + <COL WIDTH=24*> + <COL WIDTH=232*> + <TR VALIGN=TOP> + <TD WIDTH=9%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>red</FONT></FONT></P> + </TD> + <TD WIDTH=91%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Bug is new</FONT></FONT></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=9%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>purple</FONT></FONT></P> + </TD> + <TD WIDTH=91%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Feedback - bug + requires more feedback before work can proceed </FONT></FONT> + </P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=9%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>organge</FONT></FONT></P> + </TD> + <TD WIDTH=91%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Acknowledged - + lets the user know that the bug has been examined but probably not + by the proper developer</FONT></FONT></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=9%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>yellow</FONT></FONT></P> + </TD> + <TD WIDTH=91%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Confirmed - bug + has been confirmed by an updater or developer </FONT></FONT> + </P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=9%> + <P><FONT SIZE=3><FONT FACE="Verdana, sans-serif">blue</FONT></FONT></P> + </TD> + <TD WIDTH=91%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Assigned – A + developer is working on the bug.</FONT></FONT></P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=9%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>green</FONT></FONT></P> + </TD> + <TD WIDTH=91%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Resolved - bug + should be fixed, waiting on confirmation of fix </FONT></FONT> + </P> + </TD> + </TR> + <TR VALIGN=TOP> + <TD WIDTH=9%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>gray</FONT></FONT></P> + </TD> + <TD WIDTH=91%> + <P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Closed – Bug + is closed</FONT></FONT></P> + </TD> + </TR> +</TABLE> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><FONT FACE="Verdana, sans-serif"><FONT SIZE=3><B>Used +bugstates</B></FONT></FONT></P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><SPAN STYLE="font-weight: medium"><FONT SIZE=3><FONT FACE="Verdana, sans-serif">These +bug states introduce some kind of overhead for a project like JEDI. +Therefore we normally use only the new, assigned, Resolved and closed +bug states. Each bug is new by default. If you want to work on it +please assign yourself to it (bugstate assigned). When you are done +simply resolve it. Close is a special state: In a normal commercial +environment someone would need to confirm the bugfix and close it +afterwards. Since we do not have the man power to have such a +complete QA cycle gray and green are both considered as resolved. If +one of the developer believes that the bugfix is wrong he can simply +reopen it. </FONT></FONT></SPAN> +</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-weight: medium"><BR> +</P> +<H2 STYLE="margin-top: 0cm; margin-bottom: 0cm"><FONT FACE="Thorndale, serif"><FONT SIZE=4>Editing +Bug</FONT></FONT></H2> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Update Bug Simple </FONT></FONT> +</P> +<P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Here you can update +various bug fields. The Category, Severity, and Reproducibility +fields are editable but shouldn't be unless there is a gross +miscategorization. Also modifiable are the Assigned To, Priority, +Projection, ETA, Resolution, and Duplicate ID fields. </FONT></FONT> +</P> +<P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Update bug advanced</FONT></FONT></P> +<P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Projection and ETA +are the only fields that are only modifiable by the Update Bug +Advanced page. </FONT></FONT> +</P> +<P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Assign To Me</FONT></FONT></P> +<P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>If you are a +developer you can use this as a one click assign to 'me'. This is for +convenience and for saving time. </FONT></FONT> +</P> +<P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Resolve Bug</FONT></FONT></P> +<P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>This option on the +View Bugs page allows you to resolve the bug. It will lead you to a +page where you can set the resolution state and a duplicate id (if +applicable). After choosing that the user can choose to enter a +bugnote detailing the reason for the closure. The bug is then set to +the Resolved state. </FONT></FONT> +</P> +<P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>Delete Bug</FONT></FONT></P> +<P><FONT FACE="Verdana, sans-serif"><FONT SIZE=3>This option on the +View Bugs page allows you to delete an existing bug. This should only +be used on frivolous or test bugs. A confirmation screen will prompt +you if you really want to delete the bug. Please never delete a bug +unless it contains spam or other nonsense. Just the fact that a bug +entry is made up on wrong assumptes doesn't make it reasonable to +delete it.</FONT></FONT></P> +<HR> +<P STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif"><FONT SIZE=1 STYLE="font-size: 8pt">Copyright +© 2002 Project JEDI<BR>Parts of this document are taken from the +MantisBT introduction by .</FONT></FONT></P> +</BODY> +</HTML> \ No newline at end of file Property changes on: trunk/website/delphi-jedi/documents ___________________________________________________________________ Added: tsvn:projectlanguage + 1033 Added: bugtraq:url + http://homepages.codegear.com/jedi/issuetracker/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Added: trunk/website/delphi-jedi/documents/lgpl.html =================================================================== --- trunk/website/delphi-jedi/documents/lgpl.html (rev 0) +++ trunk/website/delphi-jedi/documents/lgpl.html 2009-03-22 22:29:38 UTC (rev 2704) @@ -0,0 +1,264 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<title>GNU LESSER GENERAL PUBLIC LICENSE</title> +</head> +<body> +<h2>GNU LESSER GENERAL PUBLIC LICENSE</h2> + +<p>Version 2.1, February 1999</p> + +<pre> +Copyright (C) 1991, 1999 Free Software Foundation, Inc. +59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] +</pre> + +<h2><a name="SEC2" href="#TOC2">Preamble</a></h2> + +<p>The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and +change free software--to make sure the software is free for all its users.</p> + +<p>This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use +it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the +explanations below.</p> + +<p>When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software +(and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are +informed that you can do these things.</p> + +<p>To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain +responsibilities for you if you distribute copies of the library or if you modify it.</p> + +<p>For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can +get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the +library and recompiling it. And you must show them these terms so they know their rights.</p> + +<p>We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library.</p> + +<p>To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should +know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others.</p> + +<p>Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this +license.</p> + +<p>Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, +and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs.</p> + +<p>When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The +ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking +other code with the library.</p> + +<p>We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software +developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license +provides advantages in certain special circumstances.</p> + +<p>For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs +must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library +to free software only, so we use the Lesser General Public License.</p> + +<p>In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C +Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system.</p> + +<p>Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal +to run that program using a modified version of the Library.</p> + +<p>The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". +The former contains code derived from the library, whereas the latter must be combined with the library in order to run.</p> + +<h2><a name="SEC3" href="#TOC3">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</a></h2> + +<p><strong>0.</strong> This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be +distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".</p> + +<p>A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form +executables.</p> + +<p>The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, +translation is included without limitation in the term "modification".)</p> + +<p>"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to control compilation and installation of the library.</p> + +<p>Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and +output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on +what the Library does and what the program that uses the Library does.</p> + +<p><strong>1.</strong> You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on +each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License +along with the Library.</p> + +<p>You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.</p> + +<p><strong>2.</strong> You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the +terms of Section 1 above, provided that you also meet all of these conditions:</p> + +<ul> +<li><strong>a)</strong> The modified work must itself be a software library.</li> + +<li><strong>b)</strong> You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.</li> + +<li><strong>c)</strong> You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.</li> + +<li><strong>d)</strong> If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed +when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs +whatever part of its purpose remains meaningful. + +<p>(For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any +application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)</p> + +<p>These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work +based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless +of who wrote it.</p> + +<p>Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of +derivative or collective works based on the Library.</p> + +<p>In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the +other work under the scope of this License.</p> +</li> +</ul> + +<p><strong>3.</strong> You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices +that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public +License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices.</p> + +<p>Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that +copy.</p> + +<p>This option is useful when you wish to copy part of the code of the Library into a program that is not a library.</p> + +<p><strong>4.</strong> You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided +that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software +interchange.</p> + +<p>If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not compelled to copy the source along with the object code.</p> + +<p><strong>5.</strong> A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses +the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.</p> + +<p>However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that +uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.</p> + +<p>When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code +is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by +law.</p> + +<p>If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)</p> + +<p>Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself.</p> + +<p><strong>6.</strong> As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and +distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.</p> + +<p>You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If +the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, +you must do one of these things:</p> + +<ul> +<li><strong>a)</strong> Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed +under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that +the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the +Library will not necessarily be able to recompile the application to use the modified definitions.)</li> + +<li><strong>b)</strong> Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's +computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified +version is interface-compatible with the version that the work was made with.</li> + +<li><strong>c)</strong> Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the +cost of performing this distribution.</li> + +<li><strong>d)</strong> If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.</li> + +<li><strong>e)</strong> Verify that the user has already received a copy of these materials or that you have already sent this user a copy.</li> +</ul> + +<p>For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating +system on which the executable runs, unless that component itself accompanies the executable.</p> + +<p>It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you distribute.</p> + +<p><strong>7.</strong> You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and +distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these +two things:</p> + +<ul> +<li><strong>a)</strong> Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the +Sections above.</li> + +<li><strong>b)</strong> Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of +the same work.</li> +</ul> + +<p><strong>8.</strong> You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, +link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will +not have their licenses terminated so long as such parties remain in full compliance.</p> + +<p><strong>9.</strong> You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative +works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of +this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it.</p> + +<p><strong>10.</strong> Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link +with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for +enforcing compliance by third parties with this License.</p> + +<p><strong>11.</strong> If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by +court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not +permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain +entirely from distribution of the Library.</p> + +<p>If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply +in other circumstances.</p> + +<p>It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of +protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system +and a licensee cannot impose that choice.</p> + +<p>This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.</p> + +<p><strong>12.</strong> If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the +Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such +case, this License incorporates the limitation as if written in the body of this License.</p> + +<p><strong>13.</strong> The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the +present version, but may differ in detail to address new problems or concerns.</p> + +<p>Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the +terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version +ever published by the Free Software Foundation.</p> + +<p><strong>14.</strong> If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. +For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of +preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.</p> + +<p><strong>NO WARRANTY</strong></p> + +<p><strong>15.</strong> BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE +COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION.</p> + +<p><strong>16.</strong> IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED +ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED +OF THE POSSIBILITY OF SUCH DAMAGES.</p> + +<h2>END OF TERMS AND CONDITIONS</h2> +</body> +</html> + Added: trunk/website/delphi-jedi/documents/lgpl.pdf =================================================================== --- trunk/website/delphi-jedi/documents/lgpl.pdf (rev 0) +++ trunk/website/delphi-jedi/documents/lgpl.pdf 2009-03-22 22:29:38 UTC (rev 2704) @@ -0,0 +1,217 @@ +%PDF-1.3 +%\xE2\xE3\xCF\xD3 +1 0 obj<</Producer(htmldoc 1.8.21 Copyright 1997-2002 Easy Software Products, All Rights Reserved.)/CreationDate(D:20030929161058+0100)/Title(GNU LESSER GENERAL PUBLIC LICENSE)>>endobj +2 0 obj<</Type/Encoding/Differences[ 32/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle/parenleft/parenright/asterisk/plus/comma/minus/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 128/Euro 130/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 145/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe 159/Ydieresis/space/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]>>endobj +3 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier/Encoding 2 0 R>>endobj +4 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Roman/Encoding 2 0 R>>endobj +5 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-BoldItalic/Encoding 2 0 R>>endobj +6 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica/Encoding 2 0 R>>endobj +7 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica-Bold/Encoding 2 0 R>>endobj +8 0 obj<</Type/Font/Subtype/Type1/BaseFont/Symbol>>endobj +9 0 obj<</S/Launch/F(#TOC2)>>endobj +10 0 obj<</Subtype/Link/Rect[72.0 578.4 143.3 580.4]/Border[0 0 0]/A 9 0 R>>endobj +11 0 obj[10 0 R]endobj +12 0 obj<</S/Launch/F(#TOC3)>>endobj +13 0 obj<</Subtype/Link/Rect[72.0 289.4 545.5 291.4]/Border[0 0 0]/A 12 0 R>>endobj +14 0 obj<</S/Launch/F(#TOC3)>>endobj +15 0 obj<</Subtype/Link/Rect[72.0 270.4 188.2 288.2]/Border[0 0 0]/A 14 0 R>>endobj +16 0 obj[13 0 R +15 0 R]endobj +17 0 obj<</Dests 18 0 R>>endobj +18 0 obj<</Kids[19 0 R]>>endobj +19 0 obj<</Limits[(lgpl.html)(sec3)]/Names[(lgpl.html)20 0 R(sec2)21 0 R(sec3)22 0 R]>>endobj +20 0 obj<</D[26 0 R/XYZ 0 756 0]>>endobj +21 0 obj<</D[26 0 R/XYZ 0 596 0]>>endobj +22 0 obj<</D[28 0 R/XYZ 0 307 0]>>endobj +23 0 obj<</Type/Pages/Count 8/Kids[24 0 R +26 0 R +28 0 R +30 0 R +32 0 R +34 0 R +36 0 R +38 0 R +]>>endobj +24 0 obj<</Type/Page/Parent 23 0 R/Contents 25 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 6 0 R/F9 7 0 R>>/XObject<<>>>>>>endobj +25 0 obj<</Filter/FlateDecode/Length 101 >>stream +x\xDA +ñ +\x830\xE0\xFD\x9E\xE2\xDB%\xBDN\xC9\xD8\xC85BPs>\x81\xC5Ap\xF0\xFD\x97\xCA\xC7w\x91\xDF<\x86\xA1\xC7vR2z}"|\x84\xEDv\x83D\xE7\xA3\xC0~`\xC7̰\xED\x91늢\xAD邬U\x97w\xC1\xB4\xA6\xF2q\xD7\xDA\xF4i\xA9\xD1LS\xCC +endstream +endobj +26 0 obj<</Type/Page/Parent 23 0 R/Contents 27 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 6 0 R/F9 7 0 R>>/XObject<<>>>>/Annots 11 0 R>>endobj +27 0 obj<</Filter/FlateDecode/Length 1662 >>stream +xڍW\xDBr\xDB8}\xF7W\xF4\xDB:U4G\x92_v\x9E\x9C\x94\x9DJ\x957\xE3+;\xB5\xB5\x99\x90\x84D\x8CI\x82\x80V\xF4\xF7{\xBAA\xD2"幔\xAD\x89\xE8>}9}\xD0\xFC\xFDdI\xFC-\xE9jE痔\xD7'\xD6'?\xDC\xDF\xD0\xF2}zM\xEB +\x9E]-.\xD2\xE5%\xADZ\xA4\x8Bł\xD6\xF9\xE9\xA7/_\xE9\xE1\xEE\xE9\xE9\xEEg\xFAt\xF7\xE5\xEE\xE7\xDBz\xFC\xFA\xE1\xE1\xF3G\xC2\xE7\xEE\xCB\xD3ݻ\xF5o\xF0rA\xCBe\xF4q\xB6\xBAJ\xCF/\xE1\xB08\xFD\x8Fv\xDE؆V\xE92\xA1{\x9D\xB9N\xB9=-onn\xA2тn\xD2\xD5`u\x91\xBE\xBF\xBCb\xAB\x8F\xB6\xDD;\xB3-};\xFD\xF8\xED\x9F\x879[ѽӚ\x9E\xEC&\xEC\x94\xD3to\xBB\xA6P }n\xF2\x94\x9D\xC2R\x9C\xBE\xBF\xA1\xB5\xAE\xDBJ\xD3c\xA5r\x9D\xD0Sg\x82\xA6\xF3\xF3EB\xACl\xF4\xAF[\xA2\xC5j\xB9\\x9E-\xCFWD_\x9Fn'>\xEE^\xB4\xDB\xDBF\x93\xF1\xD4jW\x9BtA\xC1R\x8EI5\xC6g\xB2\x9Eq6C05?4\xDAO\xD9 +\x85N*\x93\xEB\xC6k*l\xDEպ \xC1\x94\xF2R5[\xD3l\xC9Fjl UUv\xA7\x8B!\xA5Պ\xBD\xFCo\xCD>\xF0JM\xE3| \xA7+\xAD<\x82z\xE9K-H\x9A\xB4\xF7\xDAѧLJ\x94\xE83\xFB\xF3uׄi`\xA4\xA27\xDF\xE59L\xACH\xDBM\xE6\xB8a\x8F]\x86\xC0\xF1U\x82OF\xACUB\xA5nr=\xF5\xC8\xD6É\xA6\xAB3\x84\x81\xFE\xA7\xBFƖ\xB2\xED\xEC|\x91^_\x9D\xB3գӪ\xCE*\xFD'dZ\xC3o_?ODZ\xA3\x8B\xE42\xF0\xA7\xD0\xDEl\x9Bآ\xA0\x9E\xF1\xE3N\xEDio;G0\xA7\xB05?\xF1\xA5\x9CG\xF7\xA4\xF0\xE8nH\xE9\xC3\xE5i\x82S>$C>穔}(\xC7'\xDDh\xA7\xAAY9\xBC \x9B&覈\xC8[\xB0\\xE1\xBB\xFEkd~6C:;\x83A\xCDI\xF8FҤ!WP\x80-\xA5 +` +\xF0ԡ\xDF~\xE4\xCBezk\xF6J\xBAdB\x8C7sIH\xB5m\xF2J\xB0\xB6d\xABs\x88}_[\xC50\xC41\x8B\xBCU\xF9\xB3\xDAj\x8F\xC8\xF7\xAD\xC9Ū +\xFE\xB1'\xD6\x8D\xB0\x94\xC5\xE2R\xEABi\x9D\xA7]i\x9B\x9BBs<HP:\xF5_\xDB̀s\xD5\xF4Oq\xCEƙ\xDAqݶ\x88&p\xFAi\xC16ϔx\xD3qt*\xB3|\xB4\xD4;\x99P\xEB$Z\xEB +\xD3\xF0\xF4\x9B!O\xCB7\x8Cf\xA6\xA1\x8E\xA0(\xD7v?\xCF9\xEE\xA9U.\x98\xBC\xAB\x94C$\\xF3L`[\xFD\xBD\xADT#\xF1p\x98\xF7\xF4̜\xA4\xD7j\xF5\xCC\xE3*Tz\x92\xF0#\xAE,r\xD4α\xAA |
From: <usc...@us...> - 2009-03-22 22:10:21
|
Revision: 2703 http://jcl.svn.sourceforge.net/jcl/?rev=2703&view=rev Author: uschuster Date: 2009-03-22 22:10:17 +0000 (Sun, 22 Mar 2009) Log Message: ----------- URL updates Modified Paths: -------------- trunk/jcl/experts/common/JclOtaConfigurationForm.pas trunk/jcl/experts/common/JclOtaResources.pas Modified: trunk/jcl/experts/common/JclOtaConfigurationForm.pas =================================================================== --- trunk/jcl/experts/common/JclOtaConfigurationForm.pas 2009-03-22 21:57:06 UTC (rev 2702) +++ trunk/jcl/experts/common/JclOtaConfigurationForm.pas 2009-03-22 22:10:17 UTC (rev 2703) @@ -252,7 +252,7 @@ procedure TJclOtaOptionsForm.LabelHomePageClick(Sender: TObject); begin - ShellExecute(Handle, 'open', 'http://jcl.sf.net/', '', '', SW_SHOW); + ShellExecute(Handle, 'open', PChar(RsHomePageURL), '', '', SW_SHOW); end; procedure TJclOtaOptionsForm.TreeViewCategoriesChange(Sender: TObject; Modified: trunk/jcl/experts/common/JclOtaResources.pas =================================================================== --- trunk/jcl/experts/common/JclOtaResources.pas 2009-03-22 21:57:06 UTC (rev 2702) +++ trunk/jcl/experts/common/JclOtaResources.pas 2009-03-22 22:10:17 UTC (rev 2703) @@ -17,6 +17,7 @@ { } { Contributors: } { Florent Ouchet (outchy) } +{ Uwe Schuster (uschuster) } { } {**************************************************************************************************} { } @@ -39,6 +40,7 @@ JclBase; //=== JclOtaUtils.pas ======================================================== +{ TODO : consider replacing "Borland X Services" by "IDE X Services"} resourcestring RsENoOTAServices = 'Unable to get Borland IDE Services'; RsENoNTAServices = 'Unable to get Borland NTA Services'; @@ -61,7 +63,7 @@ RsAboutDialogTitle = 'JEDI Code Library'; RsAboutCopyright = 'Copyright the JCL development team'; RsAboutTitle = 'JEDI Code Library'; - RsAboutDescription = 'JEDI Code Library http://jcl.sf.net' + NativeLineBreak + + RsAboutDescription = 'JEDI Code Library http://jcl.delphi-jedi.org/' + NativeLineBreak + 'The JCL is a member of the JEDI Project http://www.delphi-jedi.org' + NativeLineBreak + 'Covered under the Mozilla Public License v1.1 (MPL 1.1)' + NativeLineBreak + 'License available at http://www.mozilla.org/MPL/MPL-1.1.html'; @@ -87,7 +89,8 @@ ' - jedi newsgroups,' + NativeLineBreak + ' - mailing list.' + NativeLineBreak + 'Details and guidelines for these tools are available at:'; - RsReportURL = 'http://homepages.borland.com/jedi/jcl/page24.html'; + { TODO : Should this link lead directly to the issue tracker at http://issuetracker.delphi-jedi.org/ ?} + RsReportURL = 'http://jcl.delphi-jedi.org/page24.html'; RsReportCaption = 'JCL - Feedback&&Support - Report a bug page'; RsDetailsExceptionName = 'Exception class name: '; RsDetailsExceptionMessage = 'Exception message: '; @@ -113,6 +116,7 @@ RsCancel = '&Cancel'; RsSelectPage = 'Select a page'; RsHomePage = '&JCL Home page'; + RsHomePageURL = 'http://jcl.delphi-jedi.org/'; //=== JclOtaWizardForm.pas =================================================== resourcestring This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <usc...@us...> - 2009-03-22 21:57:10
|
Revision: 2702 http://jcl.svn.sourceforge.net/jcl/?rev=2702&view=rev Author: uschuster Date: 2009-03-22 21:57:06 +0000 (Sun, 22 Mar 2009) Log Message: ----------- implemented page selection in TJclOtaOptionsForm.Execute Modified Paths: -------------- trunk/jcl/experts/common/JclOtaConfigurationForm.pas Modified: trunk/jcl/experts/common/JclOtaConfigurationForm.pas =================================================================== --- trunk/jcl/experts/common/JclOtaConfigurationForm.pas 2009-03-22 20:10:20 UTC (rev 2701) +++ trunk/jcl/experts/common/JclOtaConfigurationForm.pas 2009-03-22 21:57:06 UTC (rev 2702) @@ -17,6 +17,7 @@ { Portions created by Florent Ouchet are Copyright (C) of Florent Ouchet. All rights reserved. } { } { Contributors: } +{ Uwe Schuster (uschuster) } { } {**************************************************************************************************} { } @@ -181,10 +182,32 @@ function TJclOtaOptionsForm.Execute(PageName: string): Boolean; var ATreeNode: TTreeNode; + NodeName: string; + PosSeparator: Integer; AItemDataRec: TItemDataRec; begin - // TODO: use PageName ATreeNode := TreeViewCategories.Items.GetFirstNode; + + repeat + PosSeparator := Pos('\', PageName); + if PosSeparator > 0 then + begin + NodeName := Copy(PageName, 1, PosSeparator - 1); + PageName := Copy(PageName, PosSeparator + 1, Length(PageName) - PosSeparator); + while Assigned(ATreeNode) and (CompareText(NodeName, ATreeNode.Text) <> 0) do + ATreeNode := ATreeNode.getNextSibling; + if Assigned(ATreeNode) then + ATreeNode := ATreeNode.getFirstChild; + end + else + begin + while Assigned(ATreeNode) and (CompareText(PageName, ATreeNode.Text) <> 0) do + ATreeNode := ATreeNode.getNextSibling; + end; + until PosSeparator = 0; + + if not Assigned(ATreeNode) then + ATreeNode := TreeViewCategories.Items.GetFirstNode; if Assigned(ATreeNode) then TreeViewCategories.Selected := ATreeNode; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-03-22 20:10:22
|
Revision: 2701 http://jcl.svn.sourceforge.net/jcl/?rev=2701&view=rev Author: outchy Date: 2009-03-22 20:10:20 +0000 (Sun, 22 Mar 2009) Log Message: ----------- New directory to save JCL website at delphi-jedi.org. New directory to store websetup configuration files. Added Paths: ----------- trunk/website/delphi-jedi/ trunk/website/websetup/ trunk/website/websetup/.htaccess Property changes on: trunk/website/delphi-jedi ___________________________________________________________________ Added: tsvn:projectlanguage + 1033 Added: bugtraq:url + http://homepages.codegear.com/jedi/issuetracker/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Property changes on: trunk/website/websetup ___________________________________________________________________ Added: tsvn:projectlanguage + 1033 Added: bugtraq:url + http://homepages.codegear.com/jedi/issuetracker/view.php?id=%BUGID% Added: bugtraq:message + (Mantis #%BUGID%) Added: bugtraq:logregex + [Mm]antis #?(\d+)(,? ?#?(\d+))+ (\d+) Added: trunk/website/websetup/.htaccess =================================================================== --- trunk/website/websetup/.htaccess (rev 0) +++ trunk/website/websetup/.htaccess 2009-03-22 20:10:20 UTC (rev 2701) @@ -0,0 +1 @@ +Options Indexes Property changes on: trunk/website/websetup/.htaccess ___________________________________________________________________ Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-03-22 20:08:25
|
Revision: 2700 http://jcl.svn.sourceforge.net/jcl/?rev=2700&view=rev Author: outchy Date: 2009-03-22 20:08:23 +0000 (Sun, 22 Mar 2009) Log Message: ----------- website redirection updates. Modified Paths: -------------- trunk/website/index.php trunk/website/itrack/index.php Modified: trunk/website/index.php =================================================================== --- trunk/website/index.php 2009-03-22 09:34:41 UTC (rev 2699) +++ trunk/website/index.php 2009-03-22 20:08:23 UTC (rev 2700) @@ -1 +1 @@ -<?php header("Location: http://homepages.codegear.com/jedi/jcl"); exit; ?> +<?php header("Location: http://jcl.delphi-jedi.org/"); exit; ?> Modified: trunk/website/itrack/index.php =================================================================== --- trunk/website/itrack/index.php 2009-03-22 09:34:41 UTC (rev 2699) +++ trunk/website/itrack/index.php 2009-03-22 20:08:23 UTC (rev 2700) @@ -1 +1 @@ -<?php header("Location: http://homepages.codegear.com/jedi/issuetracker/"); exit; ?> +<?php header("Location: http://issuetracker.delphi-jedi.org/"); exit; ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-03-22 09:34:46
|
Revision: 2699 http://jcl.svn.sourceforge.net/jcl/?rev=2699&view=rev Author: outchy Date: 2009-03-22 09:34:41 +0000 (Sun, 22 Mar 2009) Log Message: ----------- Update to PCRE 7.8. Modified Paths: -------------- trunk/jcl/source/common/pcre.pas trunk/jcl/source/windows/obj/pcre/makefile.mak trunk/jcl/source/windows/obj/pcre/pcre_compile.obj trunk/jcl/source/windows/obj/pcre/pcre_config.obj trunk/jcl/source/windows/obj/pcre/pcre_default_tables.obj trunk/jcl/source/windows/obj/pcre/pcre_dfa_exec.obj trunk/jcl/source/windows/obj/pcre/pcre_exec.obj trunk/jcl/source/windows/obj/pcre/pcre_fullinfo.obj trunk/jcl/source/windows/obj/pcre/pcre_get.obj trunk/jcl/source/windows/obj/pcre/pcre_globals.obj trunk/jcl/source/windows/obj/pcre/pcre_info.obj trunk/jcl/source/windows/obj/pcre/pcre_maketables.obj trunk/jcl/source/windows/obj/pcre/pcre_newline.obj trunk/jcl/source/windows/obj/pcre/pcre_ord2utf8.obj trunk/jcl/source/windows/obj/pcre/pcre_refcount.obj trunk/jcl/source/windows/obj/pcre/pcre_study.obj trunk/jcl/source/windows/obj/pcre/pcre_tables.obj trunk/jcl/source/windows/obj/pcre/pcre_try_flipped.obj trunk/jcl/source/windows/obj/pcre/pcre_valid_utf8.obj trunk/jcl/source/windows/obj/pcre/pcre_version.obj trunk/jcl/source/windows/obj/pcre/pcre_xclass.obj Added Paths: ----------- trunk/jcl/source/windows/obj/pcre/pcre_ucd.obj trunk/thirdparty/pcre/pcre-7.8.tar.gz Removed Paths: ------------- trunk/jcl/source/windows/obj/pcre/pcre_ucp_searchfuncs.obj trunk/thirdparty/pcre/pcre-7.7.tar.gz Modified: trunk/jcl/source/common/pcre.pas =================================================================== --- trunk/jcl/source/common/pcre.pas 2009-03-21 20:17:27 UTC (rev 2698) +++ trunk/jcl/source/common/pcre.pas 2009-03-22 09:34:41 UTC (rev 2699) @@ -601,7 +601,7 @@ {$LINK ..\windows\obj\pcre\pcre_study.obj} {$LINK ..\windows\obj\pcre\pcre_tables.obj} {$LINK ..\windows\obj\pcre\pcre_try_flipped.obj} -{$LINK ..\windows\obj\pcre\pcre_ucp_searchfuncs.obj} +{$LINK ..\windows\obj\pcre\pcre_ucd.obj} {$LINK ..\windows\obj\pcre\pcre_valid_utf8.obj} {$LINK ..\windows\obj\pcre\pcre_version.obj} {$LINK ..\windows\obj\pcre\pcre_xclass.obj} Modified: trunk/jcl/source/windows/obj/pcre/makefile.mak =================================================================== --- trunk/jcl/source/windows/obj/pcre/makefile.mak 2009-03-21 20:17:27 UTC (rev 2698) +++ trunk/jcl/source/windows/obj/pcre/makefile.mak 2009-03-22 09:34:41 UTC (rev 2699) @@ -2,7 +2,7 @@ # makefile to make pcre .obj files using Borland's C++ compiler bcc32 # derived from a makefile generated by BCB6' bpr2mak # -# if pcre source directory is different from $(JCL)\source\pcre-7.7, use +# if pcre source directory is different from $(JCL)\source\pcre-7.8, use # "make -Dpcresrc=<path to pcre sources>" to tell make where to find the # source files # @@ -42,7 +42,7 @@ BCC = $(BCB) !if !$d(pcresrc) -pcresrc = ..\..\..\pcre-7.7 +pcresrc = ..\..\..\pcre-7.8 !endif !if !$d(CPU) @@ -63,7 +63,7 @@ .\pcre_exec.obj .\pcre_fullinfo.obj .\pcre_get.obj .\pcre_globals.obj \ .\pcre_info.obj .\pcre_maketables.obj .\pcre_newline.obj \ .\pcre_ord2utf8.obj .\pcre_refcount.obj .\pcre_study.obj .\pcre_tables.obj \ - .\pcre_try_flipped.obj .\pcre_ucp_searchfuncs.obj .\pcre_valid_utf8.obj \ + .\pcre_try_flipped.obj .\pcre_ucd.obj .\pcre_valid_utf8.obj \ .\pcre_version.obj .\pcre_xclass.obj .\pcre_default_tables.obj # --------------------------------------------------------------------------- Modified: trunk/jcl/source/windows/obj/pcre/pcre_compile.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_config.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_default_tables.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_dfa_exec.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_exec.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_fullinfo.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_get.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_globals.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_info.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_maketables.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_newline.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_ord2utf8.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_refcount.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_study.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_tables.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_try_flipped.obj =================================================================== (Binary files differ) Added: trunk/jcl/source/windows/obj/pcre/pcre_ucd.obj =================================================================== (Binary files differ) Property changes on: trunk/jcl/source/windows/obj/pcre/pcre_ucd.obj ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: trunk/jcl/source/windows/obj/pcre/pcre_ucp_searchfuncs.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_valid_utf8.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_version.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/pcre/pcre_xclass.obj =================================================================== (Binary files differ) Deleted: trunk/thirdparty/pcre/pcre-7.7.tar.gz =================================================================== (Binary files differ) Added: trunk/thirdparty/pcre/pcre-7.8.tar.gz =================================================================== (Binary files differ) Property changes on: trunk/thirdparty/pcre/pcre-7.8.tar.gz ___________________________________________________________________ Added: svn:mime-type + application/x-compressed-tar This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-03-21 20:17:40
|
Revision: 2698 http://jcl.svn.sourceforge.net/jcl/?rev=2698&view=rev Author: outchy Date: 2009-03-21 20:17:27 +0000 (Sat, 21 Mar 2009) Log Message: ----------- Mantis 4705: TJclIntfArrayList: Internal List contains References to Interfaces after clearing. Modified Paths: -------------- trunk/jcl/source/common/JclArrayLists.pas trunk/jcl/source/common/JclBinaryTrees.pas trunk/jcl/source/common/JclHashMaps.pas trunk/jcl/source/common/JclLinkedLists.pas trunk/jcl/source/common/JclSortedMaps.pas trunk/jcl/source/common/JclVectors.pas trunk/jcl/source/prototypes/containers/JclArrayLists.imp trunk/jcl/source/prototypes/containers/JclBinaryTrees.imp trunk/jcl/source/prototypes/containers/JclHashMaps.imp trunk/jcl/source/prototypes/containers/JclLinkedLists.imp trunk/jcl/source/prototypes/containers/JclSortedMaps.imp trunk/jcl/source/prototypes/containers/JclVectors.imp Modified: trunk/jcl/source/common/JclArrayLists.pas =================================================================== --- trunk/jcl/source/common/JclArrayLists.pas 2009-03-21 19:11:54 UTC (rev 2697) +++ trunk/jcl/source/common/JclArrayLists.pas 2009-03-21 20:17:27 UTC (rev 2698) @@ -1480,6 +1480,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FElementData[I], AInterface) then begin + FElementData[I] := nil; if I < (FSize - 1) then MoveArray(FElementData, I + 1, I, FSize - I - 1); Dec(FSize); @@ -2335,6 +2336,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FElementData[I], AString) then begin + FElementData[I] := ''; if I < (FSize - 1) then MoveArray(FElementData, I + 1, I, FSize - I - 1); Dec(FSize); @@ -3190,6 +3192,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FElementData[I], AString) then begin + FElementData[I] := ''; if I < (FSize - 1) then MoveArray(FElementData, I + 1, I, FSize - I - 1); Dec(FSize); @@ -4046,6 +4049,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FElementData[I], AString) then begin + FElementData[I] := ''; if I < (FSize - 1) then MoveArray(FElementData, I + 1, I, FSize - I - 1); Dec(FSize); @@ -4903,6 +4907,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FElementData[I], AValue) then begin + FElementData[I] := 0.0; if I < (FSize - 1) then MoveArray(FElementData, I + 1, I, FSize - I - 1); Dec(FSize); @@ -5758,6 +5763,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FElementData[I], AValue) then begin + FElementData[I] := 0.0; if I < (FSize - 1) then MoveArray(FElementData, I + 1, I, FSize - I - 1); Dec(FSize); @@ -6613,6 +6619,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FElementData[I], AValue) then begin + FElementData[I] := 0.0; if I < (FSize - 1) then MoveArray(FElementData, I + 1, I, FSize - I - 1); Dec(FSize); @@ -7468,6 +7475,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FElementData[I], AValue) then begin + FElementData[I] := 0; if I < (FSize - 1) then MoveArray(FElementData, I + 1, I, FSize - I - 1); Dec(FSize); @@ -8323,6 +8331,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FElementData[I], AValue) then begin + FElementData[I] := 0; if I < (FSize - 1) then MoveArray(FElementData, I + 1, I, FSize - I - 1); Dec(FSize); @@ -9178,6 +9187,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FElementData[I], AValue) then begin + FElementData[I] := 0; if I < (FSize - 1) then MoveArray(FElementData, I + 1, I, FSize - I - 1); Dec(FSize); @@ -10034,6 +10044,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FElementData[I], APtr) then begin + FElementData[I] := nil; if I < (FSize - 1) then MoveArray(FElementData, I + 1, I, FSize - I - 1); Dec(FSize); @@ -10890,6 +10901,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FElementData[I], AObject) then begin + FElementData[I] := nil; if I < (FSize - 1) then MoveArray(FElementData, I + 1, I, FSize - I - 1); Dec(FSize); @@ -11747,6 +11759,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FElementData[I], AItem) then begin + FElementData[I] := Default(T); if I < (FSize - 1) then MoveArray(FElementData, I + 1, I, FSize - I - 1); Dec(FSize); Modified: trunk/jcl/source/common/JclBinaryTrees.pas =================================================================== --- trunk/jcl/source/common/JclBinaryTrees.pas 2009-03-21 19:11:54 UTC (rev 2697) +++ trunk/jcl/source/common/JclBinaryTrees.pas 2009-03-21 20:17:27 UTC (rev 2698) @@ -2321,6 +2321,7 @@ else FRoot := nil; end; + Current.Value := nil; Current.Free; Dec(FSize); Current := Successor; @@ -3807,6 +3808,7 @@ else FRoot := nil; end; + Current.Value := ''; Current.Free; Dec(FSize); Current := Successor; @@ -5293,6 +5295,7 @@ else FRoot := nil; end; + Current.Value := ''; Current.Free; Dec(FSize); Current := Successor; @@ -6780,6 +6783,7 @@ else FRoot := nil; end; + Current.Value := ''; Current.Free; Dec(FSize); Current := Successor; @@ -8267,6 +8271,7 @@ else FRoot := nil; end; + Current.Value := 0.0; Current.Free; Dec(FSize); Current := Successor; @@ -9753,6 +9758,7 @@ else FRoot := nil; end; + Current.Value := 0.0; Current.Free; Dec(FSize); Current := Successor; @@ -11239,6 +11245,7 @@ else FRoot := nil; end; + Current.Value := 0.0; Current.Free; Dec(FSize); Current := Successor; @@ -12725,6 +12732,7 @@ else FRoot := nil; end; + Current.Value := 0; Current.Free; Dec(FSize); Current := Successor; @@ -14211,6 +14219,7 @@ else FRoot := nil; end; + Current.Value := 0; Current.Free; Dec(FSize); Current := Successor; @@ -15697,6 +15706,7 @@ else FRoot := nil; end; + Current.Value := 0; Current.Free; Dec(FSize); Current := Successor; @@ -17184,6 +17194,7 @@ else FRoot := nil; end; + Current.Value := nil; Current.Free; Dec(FSize); Current := Successor; @@ -18671,6 +18682,7 @@ else FRoot := nil; end; + Current.Value := nil; Current.Free; Dec(FSize); Current := Successor; @@ -20157,6 +20169,7 @@ else FRoot := nil; end; + Current.Value := Default(T); Current.Free; Dec(FSize); Current := Successor; Modified: trunk/jcl/source/common/JclHashMaps.pas =================================================================== --- trunk/jcl/source/common/JclHashMaps.pas 2009-03-21 19:11:54 UTC (rev 2697) +++ trunk/jcl/source/common/JclHashMaps.pas 2009-03-21 20:17:27 UTC (rev 2698) @@ -2832,6 +2832,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -3455,6 +3456,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -4078,6 +4080,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := ''; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -4706,6 +4709,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := ''; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -5329,6 +5333,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -5952,6 +5957,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := ''; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -6580,6 +6586,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := ''; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -7204,6 +7211,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -7827,6 +7835,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := ''; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -8455,6 +8464,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := ''; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -9080,6 +9090,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -9703,6 +9714,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := 0.0; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -10331,6 +10343,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := 0.0; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -10954,6 +10967,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -11577,6 +11591,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := 0.0; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -12205,6 +12220,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := 0.0; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -12828,6 +12844,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -13451,6 +13468,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := 0.0; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -14079,6 +14097,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := 0.0; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -14702,6 +14721,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -15325,6 +15345,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := 0; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -15953,6 +15974,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := 0; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -16576,6 +16598,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -17199,6 +17222,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := 0; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -17827,6 +17851,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := 0; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -18450,6 +18475,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -19073,6 +19099,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := 0; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -19701,6 +19728,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := 0; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -20325,6 +20353,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -20948,6 +20977,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -21576,6 +21606,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -22201,6 +22232,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -22843,6 +22875,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -23480,6 +23513,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -24118,6 +24152,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -24756,6 +24791,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -25393,6 +25429,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -26030,6 +26067,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -26667,6 +26705,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -27304,6 +27343,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -27941,6 +27981,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -28579,6 +28620,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -29218,6 +29260,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := nil; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); @@ -29875,6 +29918,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := Default(TValue); FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); Modified: trunk/jcl/source/common/JclLinkedLists.pas =================================================================== --- trunk/jcl/source/common/JclLinkedLists.pas 2009-03-21 19:11:54 UTC (rev 2697) +++ trunk/jcl/source/common/JclLinkedLists.pas 2009-03-21 20:17:27 UTC (rev 2698) @@ -1568,6 +1568,7 @@ Current.Next.Previous := Current.Previous else FEnd := Current.Previous; + Current.Value := nil; Current.Free; Dec(FSize); Result := True; @@ -2822,6 +2823,7 @@ Current.Next.Previous := Current.Previous else FEnd := Current.Previous; + Current.Value := ''; Current.Free; Dec(FSize); Result := True; @@ -4076,6 +4078,7 @@ Current.Next.Previous := Current.Previous else FEnd := Current.Previous; + Current.Value := ''; Current.Free; Dec(FSize); Result := True; @@ -5331,6 +5334,7 @@ Current.Next.Previous := Current.Previous else FEnd := Current.Previous; + Current.Value := ''; Current.Free; Dec(FSize); Result := True; @@ -6586,6 +6590,7 @@ Current.Next.Previous := Current.Previous else FEnd := Current.Previous; + Current.Value := 0.0; Current.Free; Dec(FSize); Result := True; @@ -7842,6 +7847,7 @@ Current.Next.Previous := Current.Previous else FEnd := Current.Previous; + Current.Value := 0.0; Current.Free; Dec(FSize); Result := True; @@ -9096,6 +9102,7 @@ Current.Next.Previous := Current.Previous else FEnd := Current.Previous; + Current.Value := 0.0; Current.Free; Dec(FSize); Result := True; @@ -10350,6 +10357,7 @@ Current.Next.Previous := Current.Previous else FEnd := Current.Previous; + Current.Value := 0; Current.Free; Dec(FSize); Result := True; @@ -11604,6 +11612,7 @@ Current.Next.Previous := Current.Previous else FEnd := Current.Previous; + Current.Value := 0; Current.Free; Dec(FSize); Result := True; @@ -12858,6 +12867,7 @@ Current.Next.Previous := Current.Previous else FEnd := Current.Previous; + Current.Value := 0; Current.Free; Dec(FSize); Result := True; @@ -14113,6 +14123,7 @@ Current.Next.Previous := Current.Previous else FEnd := Current.Previous; + Current.Value := nil; Current.Free; Dec(FSize); Result := True; @@ -15368,6 +15379,7 @@ Current.Next.Previous := Current.Previous else FEnd := Current.Previous; + Current.Value := nil; Current.Free; Dec(FSize); Result := True; @@ -16624,6 +16636,7 @@ Current.Next.Previous := Current.Previous else FEnd := Current.Previous; + Current.Value := Default(T); Current.Free; Dec(FSize); Result := True; Modified: trunk/jcl/source/common/JclSortedMaps.pas =================================================================== --- trunk/jcl/source/common/JclSortedMaps.pas 2009-03-21 19:11:54 UTC (rev 2697) +++ trunk/jcl/source/common/JclSortedMaps.pas 2009-03-21 20:17:27 UTC (rev 2698) @@ -2575,6 +2575,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -3244,6 +3245,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -3919,6 +3921,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := ''; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -4594,6 +4597,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := ''; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -5263,6 +5267,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -5938,6 +5943,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := ''; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -6613,6 +6619,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := ''; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -7283,6 +7290,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -7958,6 +7966,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := ''; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -8633,6 +8642,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := ''; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -9303,6 +9313,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -9978,6 +9989,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := 0.0; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -10653,6 +10665,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := 0.0; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -11322,6 +11335,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -11997,6 +12011,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := 0.0; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -12672,6 +12687,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := 0.0; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -13341,6 +13357,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -14016,6 +14033,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := 0.0; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -14691,6 +14709,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := 0.0; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -15360,6 +15379,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -16035,6 +16055,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := 0; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -16710,6 +16731,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := 0; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -17379,6 +17401,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -18054,6 +18077,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := 0; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -18729,6 +18753,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := 0; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -19398,6 +19423,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -20073,6 +20099,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := 0; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -20748,6 +20775,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := 0; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -21418,6 +21446,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -22093,6 +22122,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -22768,6 +22798,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -23439,6 +23470,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -24134,6 +24166,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -24823,6 +24856,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -25513,6 +25547,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -26203,6 +26238,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -26892,6 +26928,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -27581,6 +27618,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -28270,6 +28308,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -28959,6 +28998,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -29648,6 +29688,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -30338,6 +30379,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -31029,6 +31071,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := nil; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); @@ -31740,6 +31783,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := Default(TValue); FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); Modified: trunk/jcl/source/common/JclVectors.pas =================================================================== --- trunk/jcl/source/common/JclVectors.pas 2009-03-21 19:11:54 UTC (rev 2697) +++ trunk/jcl/source/common/JclVectors.pas 2009-03-21 20:17:27 UTC (rev 2698) @@ -1429,6 +1429,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FItems[I], AInterface) then begin + FItems[I] := nil; MoveArray(FItems, I + 1, I, FSize - I); Dec(FSize); Result := True; @@ -2228,6 +2229,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FItems[I], AString) then begin + FItems[I] := ''; MoveArray(FItems, I + 1, I, FSize - I); Dec(FSize); Result := True; @@ -3027,6 +3029,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FItems[I], AString) then begin + FItems[I] := ''; MoveArray(FItems, I + 1, I, FSize - I); Dec(FSize); Result := True; @@ -3827,6 +3830,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FItems[I], AString) then begin + FItems[I] := ''; MoveArray(FItems, I + 1, I, FSize - I); Dec(FSize); Result := True; @@ -4627,6 +4631,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FItems[I], AValue) then begin + FItems[I] := 0.0; MoveArray(FItems, I + 1, I, FSize - I); Dec(FSize); Result := True; @@ -5426,6 +5431,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FItems[I], AValue) then begin + FItems[I] := 0.0; MoveArray(FItems, I + 1, I, FSize - I); Dec(FSize); Result := True; @@ -6225,6 +6231,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FItems[I], AValue) then begin + FItems[I] := 0.0; MoveArray(FItems, I + 1, I, FSize - I); Dec(FSize); Result := True; @@ -7024,6 +7031,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FItems[I], AValue) then begin + FItems[I] := 0; MoveArray(FItems, I + 1, I, FSize - I); Dec(FSize); Result := True; @@ -7823,6 +7831,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FItems[I], AValue) then begin + FItems[I] := 0; MoveArray(FItems, I + 1, I, FSize - I); Dec(FSize); Result := True; @@ -8622,6 +8631,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FItems[I], AValue) then begin + FItems[I] := 0; MoveArray(FItems, I + 1, I, FSize - I); Dec(FSize); Result := True; @@ -9422,6 +9432,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FItems[I], APtr) then begin + FItems[I] := nil; MoveArray(FItems, I + 1, I, FSize - I); Dec(FSize); Result := True; @@ -10222,6 +10233,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FItems[I], AObject) then begin + FItems[I] := nil; MoveArray(FItems, I + 1, I, FSize - I); Dec(FSize); Result := True; @@ -11022,6 +11034,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FItems[I], AItem) then begin + FItems[I] := Default(T); MoveArray(FItems, I + 1, I, FSize - I); Dec(FSize); Result := True; Modified: trunk/jcl/source/prototypes/containers/JclArrayLists.imp =================================================================== --- trunk/jcl/source/prototypes/containers/JclArrayLists.imp 2009-03-21 19:11:54 UTC (rev 2697) +++ trunk/jcl/source/prototypes/containers/JclArrayLists.imp 2009-03-21 20:17:27 UTC (rev 2698) @@ -364,6 +364,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FElementData[I], PARAMETERNAME) then begin + FElementData[I] := DEFAULTVALUE; if I < (FSize - 1) then MoveArray(FElementData, I + 1, I, FSize - I - 1); Dec(FSize); Modified: trunk/jcl/source/prototypes/containers/JclBinaryTrees.imp =================================================================== --- trunk/jcl/source/prototypes/containers/JclBinaryTrees.imp 2009-03-21 19:11:54 UTC (rev 2697) +++ trunk/jcl/source/prototypes/containers/JclBinaryTrees.imp 2009-03-21 20:17:27 UTC (rev 2698) @@ -950,6 +950,7 @@ else FRoot := nil; end; + Current.Value := DEFAULTVALUE; Current.Free; Dec(FSize); Current := Successor; Modified: trunk/jcl/source/prototypes/containers/JclHashMaps.imp =================================================================== --- trunk/jcl/source/prototypes/containers/JclHashMaps.imp 2009-03-21 19:11:54 UTC (rev 2697) +++ trunk/jcl/source/prototypes/containers/JclHashMaps.imp 2009-03-21 20:17:27 UTC (rev 2698) @@ -212,6 +212,7 @@ if KeysEqual(Bucket.Entries[I].Key, Key) then begin Result := Bucket.Entries[I].Value; + Bucket.Entries[I].Value := VALUEDEFAULT; FreeKey(Bucket.Entries[I].Key); if I < Length(Bucket.Entries) - 1 then Bucket.MoveArray(I + 1, I, Bucket.Size - I - 1); Modified: trunk/jcl/source/prototypes/containers/JclLinkedLists.imp =================================================================== --- trunk/jcl/source/prototypes/containers/JclLinkedLists.imp 2009-03-21 19:11:54 UTC (rev 2697) +++ trunk/jcl/source/prototypes/containers/JclLinkedLists.imp 2009-03-21 20:17:27 UTC (rev 2698) @@ -507,6 +507,7 @@ Current.Next.Previous := Current.Previous else FEnd := Current.Previous; + Current.Value := DEFAULTVALUE; Current.Free; Dec(FSize); Result := True; Modified: trunk/jcl/source/prototypes/containers/JclSortedMaps.imp =================================================================== --- trunk/jcl/source/prototypes/containers/JclSortedMaps.imp 2009-03-21 19:11:54 UTC (rev 2697) +++ trunk/jcl/source/prototypes/containers/JclSortedMaps.imp 2009-03-21 20:17:27 UTC (rev 2698) @@ -120,6 +120,7 @@ if (Index >= 0) and (KeysCompare(FEntries[Index].Key, Key) = 0) then begin Result := FEntries[Index].Value; + FEntries[Index].Value := VALUEDEFAULT; FreeKey(FEntries[Index].Key); if Index < (FSize - 1) then MoveArray(Index + 1, Index, FSize - Index - 1); Modified: trunk/jcl/source/prototypes/containers/JclVectors.imp =================================================================== --- trunk/jcl/source/prototypes/containers/JclVectors.imp 2009-03-21 19:11:54 UTC (rev 2697) +++ trunk/jcl/source/prototypes/containers/JclVectors.imp 2009-03-21 20:17:27 UTC (rev 2698) @@ -315,6 +315,7 @@ for I := FSize - 1 downto 0 do if ItemsEqual(FItems[I], PARAMETERNAME) then begin + FItems[I] := DEFAULTVALUE; MoveArray(FItems, I + 1, I, FSize - I); Dec(FSize); Result := True; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ou...@us...> - 2009-03-21 19:12:01
|
Revision: 2697 http://jcl.svn.sourceforge.net/jcl/?rev=2697&view=rev Author: outchy Date: 2009-03-21 19:11:54 +0000 (Sat, 21 Mar 2009) Log Message: ----------- Mantis 4704: Installation of JCL 1.105 Testing Revision 2694 aborted. Fixed constant declaration. Revision Links: -------------- http://jcl.svn.sourceforge.net/jcl/?rev=2694&view=rev Modified Paths: -------------- trunk/jcl/source/common/JclUnicode.pas Modified: trunk/jcl/source/common/JclUnicode.pas =================================================================== --- trunk/jcl/source/common/JclUnicode.pas 2009-03-21 15:31:59 UTC (rev 2696) +++ trunk/jcl/source/common/JclUnicode.pas 2009-03-21 19:11:54 UTC (rev 2697) @@ -35,7 +35,7 @@ { } {**************************************************************************************************} { } -{ Last modified: $Date:: $ } +{ Last modified: $Date:: $ } { Revision: $Rev:: $ } { Author: $Author:: $ } { } @@ -202,7 +202,7 @@ WideFormFeed = WideChar(#12); WideCR = WideChar(#13); WideCarriageReturn = WideChar(#13); - WideCRLF: WideString = #13#10; + WideCRLF = WideString(#13#10); WideLineSeparator = WideChar($2028); WideParagraphSeparator = WideChar($2029); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2009-03-21 15:32:04
|
Revision: 2696 http://jcl.svn.sourceforge.net/jcl/?rev=2696&view=rev Author: ahuser Date: 2009-03-21 15:31:59 +0000 (Sat, 21 Mar 2009) Log Message: ----------- Sync with JVCL dcc32ex version Modified Paths: -------------- trunk/jcl/install/build/dcc32ex.dpr trunk/jcl/install/build/dcc32ex.exe Modified: trunk/jcl/install/build/dcc32ex.dpr =================================================================== --- trunk/jcl/install/build/dcc32ex.dpr 2009-03-20 23:09:07 UTC (rev 2695) +++ trunk/jcl/install/build/dcc32ex.dpr 2009-03-21 15:31:59 UTC (rev 2696) @@ -27,6 +27,30 @@ RuntimePackageRtl: Boolean; RuntimePackageVcl: Boolean; +type + TTargetType = (ttNone, ttDelphi, ttBCB, ttBDS); + TLibraryType = (ltJCL, ltJVCL); + +const + ttFirst = ttDelphi; + +type + TTarget = record + Typ: TTargetType; + Version: Integer; + IDEVersion: Integer; + Name: string; + RootDir: string; + LibDirs: string; + SearchPaths: string; + KeyName: string; + Id: string; // ["d"|"c"]<version> + InstalledJcl: Boolean; + JclVersion: string; + InstalledJvcl: Boolean; + JvclVersion: string; + end; + { Helper functions because no SysUtils unit is used. } {******************************************************************************} function ExtractFileDir(const S: string): string; @@ -87,8 +111,11 @@ end; {******************************************************************************} function IntToStr(Value: Integer): string; +var + S: ShortString; begin - Str(Value, Result); + Str(Value, S); + Result := string(S); end; {******************************************************************************} function SameText(const S1, S2: string): Boolean; @@ -179,8 +206,60 @@ Result := (Attr <> $FFFFFFFF) and (Attr and FILE_ATTRIBUTE_DIRECTORY <> 0); end; {******************************************************************************} -function Execute(const Cmd, StartDir: string; HideOutput: Boolean): Integer; +function FileSearch(const Name, DirList: string): string; var + I, P, L: Integer; + C: Char; +begin + Result := Name; + if Result <> '' then + begin + P := 1; + L := Length(DirList); + while True do + begin + if FileExists(Result) then + Exit; + while (P <= L) and (DirList[P] = ';') do + Inc(P); + if P > L then Break; + I := P; + while (P <= L) and (DirList[P] <> ';') do + Inc(P); + Result := Copy(DirList, I, P - I); + C := #0; + if Result <> '' then + C := Result[Length(Result)]; + if (C <> ':') and (C <> '\') then + Result := Result + '\'; + Result := Result + Name; + end; + Result := ''; + end; +end; +{******************************************************************************} +function GetSysErrorMessage(ErrorCode: Cardinal): string; +var + Buffer: array[0..4096] of Char; + Len: Integer; +begin + Len := FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM or FORMAT_MESSAGE_IGNORE_INSERTS or + FORMAT_MESSAGE_ARGUMENT_ARRAY, nil, ErrorCode, 0, Buffer, + Length(Buffer), nil); + while (Len > 0) and ((Buffer[Len - 1] <= ' ') or (Buffer[Len - 1] = '.')) do + Dec(Len); + SetString(Result, Buffer, Len); +end; +{******************************************************************************} +procedure FailedToStart(const Cmd: string; ErrorCode: Cardinal); +begin + WriteLn(ErrOutput, 'Failed to start: ', Cmd); + if ErrorCode <> ERROR_SUCCESS then + WriteLn(ErrOutput, ' System error (', ErrorCode, '): ', GetSysErrorMessage(ErrorCode)); +end; +{******************************************************************************} +function Execute(Cmd: string; const StartDir: string; HideOutput: Boolean): Integer; +var ProcessInfo: TProcessInformation; StartupInfo: TStartupInfo; begin @@ -192,6 +271,7 @@ StartupInfo.hStdError := 0; StartupInfo.dwFlags := STARTF_USESTDHANDLES; end; + UniqueString(Cmd); if CreateProcess(nil, PChar(Cmd), nil, nil, True, 0, nil, Pointer(StartDir), StartupInfo, ProcessInfo) then begin @@ -276,35 +356,109 @@ end; end; {******************************************************************************} +{ GetJediVersionFromCode returns the exact version number of the JCL or JVCL by + compiling a simple test application that writes the exact version number to a + file. + This makes it possible to install the JVCL if the JCL was installed by hand. } +function GetJediVersionFromCode(const Target: TTarget; LibraryType: TLibraryType): string; +var + f: TextFile; + TestFilename, VersionOutputFilename: string; + Status: Integer; + CmdLine: string; + LastError: Cardinal; +begin + Result := ''; -type - TTargetType = (ttNone, ttDelphi, ttBCB, ttBDS); - -const - ttFirst = ttDelphi; - -type - TTarget = record - Typ: TTargetType; - Version: Integer; - IDEVersion: Integer; - Name: string; - RootDir: string; - LibDirs: string; - SearchPaths: string; - KeyName: string; - Id: string; // ["d"|"c"]<version> - InstalledJcl: Boolean; - JclVersion: string; - InstalledJvcl: Boolean; - JvclVersion: string; + // Get the JCL/JVCL Version number from the JCL/JVCL itself by compiling and + // starting a test application. + TestFilename := GetTempDir + '\JediVersionCheck.dpr'; + VersionOutputFilename := ChangeFileExt(TestFilename, '.output'); + DeleteFile(PChar(VersionOutputFilename)); + AssignFile(f, Testfilename); + {$I-} + Rewrite(f); + WriteLn(f, 'program JediVersionCheck;'); + if LibraryType = ltJCL then + WriteLn(f, 'uses JclBase;') + else + WriteLn(f, 'uses JVCLVer;'); + WriteLn(f, 'var f: TextFile;'); + WriteLn(f, 'begin'); + WriteLn(f, ' ExitCode := 0;'); + WriteLn(f, ' AssignFile(f, ''' + VersionOutputFilename + ''');'); + WriteLn(f, ' {$I-}'); + WriteLn(f, ' Rewrite(f);'); + if LibraryType = ltJCL then + WriteLn(f, ' WriteLn(f, JclVersionMajor, ''.'', JclVersionMinor, ''.'', JclVersionRelease, ''.'', JclVersionBuild);') + else + WriteLn(f, ' WriteLn(f, JvclVersionMajor, ''.'', JvclVersionMinor, ''.'', JvclVersionRelease, ''.'', JvclVersionBuild);'); + WriteLn(f, ' CloseFile(f);'); + WriteLn(f, ' if IOResult <> 0 then'); + WriteLn(f, ' ExitCode := 1;'); + WriteLn(f, ' {$I+}'); + WriteLn(f, 'end.'); + CloseFile(f); + {$I+} + if IOResult <> 0 then + begin + WriteLn(ErrOutput, 'Failed to write file ', TestFilename); + DeleteFile(PChar(TestFilename)); + end + else + begin + // compile <TestFilename>.dpr + CmdLine := '"' + Target.RootDir + '\bin\dcc32.exe" ' + + '-Q -E. -N. -U"' + Target.LibDirs + '" ' + ExtractFileName(TestFilename); + Status := Execute(CmdLine, ExtractFileDir(TestFilename), {HideOutput:}True); + LastError := GetLastError; + DeleteFile(PChar(TestFilename)); + if LibraryType = ltJCL then + DeleteFile(PChar(ExtractFileDir(TestFilename) + '\JclBase.dcu')) + else + begin + DeleteFile(PChar(ExtractFileDir(TestFilename) + '\JVCLVer.dcu')); + DeleteFile(PChar(ExtractFileDir(TestFilename) + '\JclUnitVersioning.dcu')); + end; + if Status <> 0 then + begin + if Status = -1 then + FailedToStart(CmdLine, LastError) + else + ;//WriteLn(ErrOutput, 'Compilation of "', TestFilename, '" failed.'); + Exit; + end; + // start <TextFilename>.exe + Status := Execute('"' + ChangeFileExt(TestFilename, '.exe') + '"', + ExtractFileDir(TestFilename), False); + DeleteFile(PChar(ChangeFileExt(TestFilename, '.exe'))); + if Status <> 0 then + begin + if Status = -1 then + WriteLn(ErrOutput, '"' + ChangeFileExt(TestFilename, '.exe') + '"'); + end + else + begin + AssignFile(f, VersionOutputFilename); + {$I-} + Reset(f); + ReadLn(f, Result); + CloseFile(f); + {$I+} + if IOResult <> 0 then + Result := ''; + end; + DeleteFile(PChar(VersionOutputFilename)); end; - +end; +{******************************************************************************} +{ ReadTargetInfo } function ReadTargetInfo(Typ: TTargetType; IDEVersion: Integer): TTarget; var Reg: HKEY; IDEVersionStr: string; - JediLibDirs, Dir, DcpDir, RootDir: string; + JediLibDirs, Dir, DcpDir, RootDir, Filename: string; + IsSourceFile: Boolean; begin Result.Typ := ttNone; Result.Version := 0; @@ -320,7 +474,7 @@ Result.SearchPaths := ''; Result.LibDirs := ''; - Str(IDEVersion, IDEVersionStr); + IDEVersionStr := IntToStr(IDEVersion); case Typ of ttDelphi: begin @@ -427,6 +581,49 @@ RootDir + '\source\windows' + JediLibDirs; // JediLibDirs has leading ';' Result.InstalledJcl := True; end; + end + else if RequireJcl then + begin + { Registry key Jedi\JCL doesn't exist, maybe it was installed by hand. + Try to find the JCL in the IDE's search paths. } + if UseSearchPaths then + begin + IsSourceFile := True; + Filename := FileSearch('JclBase.pas', Result.LibDirs); + if Filename = '' then + begin + IsSourceFile := False; + Filename := FileSearch('JclBase.dcu', Result.LibDirs); + end; + if Filename <> '' then + begin + Result.JclVersion := GetJediVersionFromCode(Result, ltJCL); + if IsSourceFile then + begin + { Default directory is: jcl\source\common\JclBase.pas } + RootDir := ExtractFileDir(ExtractFileDir(ExtractFileDir(Filename))); + Dir := RootDir + '\lib\' + Result.Id; + end + else + begin + { Default directory is: jcl\lib\dxx\JclBase.dcu } + Dir := ExtractFileDir(Filename); + RootDir := ExtractFileDir(ExtractFileDir(Dir)); + if not FileExists(RootDir + '\source\common\JclBase.pas') then + RootDir := ''; + end; + + if RootDir <> '' then + begin + JediLibDirs := JediLibDirs + ';' + Dir; + JediLibDirs := JediLibDirs + ';' + RootDir + '\source;' + RootDir + '\source\include'; + Result.InstalledJcl := True; + end + else + if not UseJclSource then + Result.InstalledJcl := True; + end; + end; end; { Read JVCL information } @@ -454,9 +651,55 @@ JediLibDirs; // JediLibDirs has leading ';' Result.InstalledJvcl := True; end; + end + else if RequireJvcl then + begin + { Registry key Jedi\JVCL doesn't exist, maybe it was installed by hand. + Try to find the JVCL in the IDE's search paths. } + if UseSearchPaths then + begin + IsSourceFile := True; + Filename := FileSearch('JVCLVer.pas', Result.LibDirs); + if Filename = '' then + begin + IsSourceFile := False; + Filename := FileSearch('JVCLVer.dcu', Result.LibDirs); + end; + if Filename <> '' then + begin + Result.JvclVersion := GetJediVersionFromCode(Result, ltJVCL); + if IsSourceFile then + begin + { Default directory is: jvcl3\run\JVCLVer.pas } + RootDir := ExtractFileDir(ExtractFileDir(Filename)); + Dir := RootDir + '\lib\' + Result.Id; + end + else + begin + { Default directory is: jvcl3\lib\dxx\JVCLVer.dcu } + Dir := ExtractFileDir(Filename); + RootDir := ExtractFileDir(ExtractFileDir(Dir)); + if not FileExists(RootDir + '\run\JVCLVer.pas') then + RootDir := ''; + end; + + if RootDir <> '' then + begin + JediLibDirs := JediLibDirs + ';' + Dir; + JediLibDirs := JediLibDirs + ';' + RootDir + '\common;' + RootDir + '\Resources'; + Result.InstalledJvcl := True; + end + else + if not UseJclSource then + Result.InstalledJvcl := True; + end; + end; end; + if JediLibDirs <> '' then - Result.LibDirs := Result.LibDirs + JediLibDirs; // leading ';' is already in JediLibDirs + //Result.LibDirs := Result.LibDirs + JediLibDirs; // leading ';' is already in JediLibDirs + { Prefer our own files over outdated copies in other component libraries } + Result.LibDirs := Copy(JediLibDirs, 2, MaxInt) + ';' + Result.LibDirs; end else begin @@ -465,11 +708,16 @@ end; end; {******************************************************************************} +{ TestDelphi6Update2 tests the Delphi 6 installation for the Update 2 which is + required by JCL and JVCL. This is achieved by compiling and starting a simple + test application that tests for the Update 2 Graphics.pas symbol clHotLight. } procedure TestDelphi6Update2(const Target: TTarget); var f: TextFile; TestFilename: string; Status: Integer; + CmdLine: string; + LastError: Cardinal; begin // Test for Delphi 6 Update 2 TestFilename := GetTempDir + '\delphi6compiletest.dpr'; @@ -496,27 +744,29 @@ else begin // compile <TestFilename>.dpr - Status := Execute('"' + Target.RootDir + '\bin\dcc32.exe" ' + - '-Q -E. -N. -U"' + Target.LibDirs + '" ' + ExtractFileName(TestFilename), - ExtractFileDir(TestFilename), True); + CmdLine := '"' + Target.RootDir + '\bin\dcc32.exe" ' + + '-Q -E. -N. -U"' + Target.LibDirs + '" ' + ExtractFileName(TestFilename); + Status := Execute(CmdLine, ExtractFileDir(TestFilename), True); + LastError := GetLastError; DeleteFile(PChar(TestFilename)); if Status <> 0 then begin if Status = -1 then - WriteLn(ErrOutput, 'Failed to start "', Target.RootDir, '\bin\dcc32.exe"') + FailedToStart(CmdLine, LastError) else ;//WriteLn(ErrOutput, 'Compilation of "', TestFilename, '" failed.'); Halt(1); end; // start <TextFilename>.exe - Status := Execute('"' + ChangeFileExt(TestFilename, '.exe') + '"', - ExtractFileDir(TestFilename), False); + CmdLine := '"' + ChangeFileExt(TestFilename, '.exe') + '"'; + Status := Execute(CmdLine, ExtractFileDir(TestFilename), False); + LastError := GetLastError; DeleteFile(PChar(ChangeFileExt(TestFilename, '.exe'))); if Status <> 0 then begin if Status = -1 then - WriteLn(ErrOutput, '"' + ChangeFileExt(TestFilename, '.exe') + '"') + FailedToStart(CmdLine, LastError) else begin WriteLn(ErrOutput, 'Delphi 6 Update 2 is not installed.'); @@ -526,7 +776,7 @@ end; end; end; - +{******************************************************************************} function ParseVersionNumber(const VersionStr: string): Cardinal; const Shifts: array[0..3] of Integer = (24, 16, 15, 0); @@ -556,7 +806,7 @@ end; end; end; - +{******************************************************************************} function IsVersionCompatible(const RequiredVersion, Version: string): Boolean; var ReqVer, Ver: Cardinal; @@ -572,7 +822,7 @@ Result := ReqVer < Ver; end; end; - +{******************************************************************************} procedure CheckTargets(const PreferedTyp: TTargetType; const PreferedVersion: Integer; var NewestTarget: TTarget; ShowErrors: Boolean); var PreferedTarget: TTarget; @@ -672,7 +922,7 @@ MessageBox(0, PChar(ErrMsg), 'dcc32ex.exe', MB_ICONERROR or MB_OK); end; end; - +{******************************************************************************} function SkipOption(CmdLine: PChar): PChar; begin Result := CmdLine; @@ -712,7 +962,7 @@ Result := nil; end; end; - +{******************************************************************************} function ParseParams(CmdLine: PChar): PChar; var S: string; @@ -783,6 +1033,8 @@ end; end; +{******************************************************************************} +{******************************************************************************} var NewestTarget: TTarget; f: TextFile; @@ -927,7 +1179,7 @@ begin WriteLn; WriteLn('Additional options (must be specified before any dcc32 parameter):'); - WriteLn(' --delphi-version=d11 Prefer this version, overrides environment variable'); + WriteLn(' --delphi-version=d12 Prefer this version, overrides environment variable'); WriteLn(' --verbose Show warnings and errors during the compiler detection'); WriteLn(' --use-search-paths Use the IDE''s search paths'); WriteLn(' --preserve-config Keep the dcc32.cfg file and create a dcc32_command.cmd'); @@ -939,11 +1191,11 @@ WriteLn(' --runtime-package-vcl Link the executable against the vcl package'); WriteLn; WriteLn('Environment variables:'); - WriteLn(' DELPHIVERSION = d11 Prefer this Delphi/BCB/BDS version'); - WriteLn(' (d5, d6, d7, c5, c6, d9, d10, d11, ...)'); + WriteLn(' DELPHIVERSION = d12 Prefer this Delphi/BCB/BDS version'); + WriteLn(' (d5, d6, d7, c5, c6, d9, d10, d11, d12, ...)'); end; ExitCode := Status; {if DebugHook <> 0 then ReadLn;} -end. +end. \ No newline at end of file Modified: trunk/jcl/install/build/dcc32ex.exe =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <usc...@us...> - 2009-03-20 23:09:10
|
Revision: 2695 http://jcl.svn.sourceforge.net/jcl/?rev=2695&view=rev Author: uschuster Date: 2009-03-20 23:09:07 +0000 (Fri, 20 Mar 2009) Log Message: ----------- fixed some functions using CreateProcess for D2009 (in the Unicode version of CreateProcessW the parameter lpCommandLine needs to be writable) Modified Paths: -------------- trunk/jcl/source/windows/JclMiscel.pas Modified: trunk/jcl/source/windows/JclMiscel.pas =================================================================== --- trunk/jcl/source/windows/JclMiscel.pas 2009-03-16 17:41:34 UTC (rev 2694) +++ trunk/jcl/source/windows/JclMiscel.pas 2009-03-20 23:09:07 UTC (rev 2695) @@ -52,9 +52,9 @@ // StrLstLoadSave function SetDisplayResolution(const XRes, YRes: DWORD): Longint; -function CreateDOSProcessRedirected(const CommandLine, InputFile, OutputFile: string): Boolean; -function WinExec32(const Cmd: string; const CmdShow: Integer): Boolean; -function WinExec32AndWait(const Cmd: string; const CmdShow: Integer): Cardinal; +function CreateDOSProcessRedirected(CommandLine: string; const InputFile, OutputFile: string): Boolean; +function WinExec32(Cmd: string; const CmdShow: Integer): Boolean; +function WinExec32AndWait(Cmd: string; const CmdShow: Integer): Cardinal; function WinExec32AndRedirectOutput(const Cmd: string; var Output: string; RawOutput: Boolean = False): Cardinal; type @@ -129,7 +129,7 @@ end; end; -function CreateDOSProcessRedirected(const CommandLine, InputFile, OutputFile: string): Boolean; +function CreateDOSProcessRedirected(CommandLine: string; const InputFile, OutputFile: string): Boolean; var StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; @@ -152,6 +152,7 @@ StartupInfo.wShowWindow := SW_HIDE; StartupInfo.hStdOutput := hOutputFile; StartupInfo.hStdInput := hInputFile; + UniqueString(CommandLine);//in the Unicode version the parameter lpCommandLine needs to be writable Result := CreateProcess(nil, PChar(CommandLine), nil, nil, True, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo); @@ -167,7 +168,7 @@ end; end; -function WinExec32(const Cmd: string; const CmdShow: Integer): Boolean; +function WinExec32(Cmd: string; const CmdShow: Integer): Boolean; var StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; @@ -176,6 +177,7 @@ StartupInfo.cb := SizeOf(TStartupInfo); StartupInfo.dwFlags := STARTF_USESHOWWINDOW; StartupInfo.wShowWindow := CmdShow; + UniqueString(Cmd);//in the Unicode version the parameter lpCommandLine needs to be writable Result := CreateProcess(nil, PChar(Cmd), nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo); if Result then @@ -186,7 +188,7 @@ end; end; -function WinExec32AndWait(const Cmd: string; const CmdShow: Integer): Cardinal; +function WinExec32AndWait(Cmd: string; const CmdShow: Integer): Cardinal; var StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; @@ -196,6 +198,7 @@ StartupInfo.cb := SizeOf(TStartupInfo); StartupInfo.dwFlags := STARTF_USESHOWWINDOW; StartupInfo.wShowWindow := CmdShow; + UniqueString(Cmd);//in the Unicode version the parameter lpCommandLine needs to be writable if CreateProcess(nil, PChar(Cmd), nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo) then begin This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2009-03-16 17:41:46
|
Revision: 2694 http://jcl.svn.sourceforge.net/jcl/?rev=2694&view=rev Author: ahuser Date: 2009-03-16 17:41:34 +0000 (Mon, 16 Mar 2009) Log Message: ----------- Removed "inline" from AddEntity Modified Paths: -------------- trunk/jcl/source/common/JclSimpleXml.pas Modified: trunk/jcl/source/common/JclSimpleXml.pas =================================================================== --- trunk/jcl/source/common/JclSimpleXml.pas 2009-03-16 17:28:54 UTC (rev 2693) +++ trunk/jcl/source/common/JclSimpleXml.pas 2009-03-16 17:41:34 UTC (rev 2694) @@ -620,7 +620,6 @@ {$ENDIF !CLR} procedure AddEntity(var Res: string; var ResIndex, ResLen: Integer; const Entity: string); - {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF SUPPORTS_INLINE} var EntityIndex, EntityLen: Integer; begin @@ -645,7 +644,6 @@ C: Char; SIndex, SLen, RIndex, RLen: Integer; Tmp: string; - begin SLen := Length(S); RLen := SLen; @@ -849,7 +847,6 @@ C: Char; SIndex, SLen, RIndex, RLen: Integer; Tmp: string; - begin SLen := Length(S); RLen := SLen; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2009-03-16 17:28:58
|
Revision: 2693 http://jcl.svn.sourceforge.net/jcl/?rev=2693&view=rev Author: ahuser Date: 2009-03-16 17:28:54 +0000 (Mon, 16 Mar 2009) Log Message: ----------- Do not destroy the EnvOptions.proj file if something goes wrong Modified Paths: -------------- trunk/jcl/source/common/JclBorlandTools.pas Modified: trunk/jcl/source/common/JclBorlandTools.pas =================================================================== --- trunk/jcl/source/common/JclBorlandTools.pas 2009-03-16 16:50:01 UTC (rev 2692) +++ trunk/jcl/source/common/JclBorlandTools.pas 2009-03-16 17:28:54 UTC (rev 2693) @@ -5379,7 +5379,7 @@ procedure TJclBDSInstallation.SetMsBuildEnvOption(const OptionName, Value: string); var - EnvOptionsFileName: string; + EnvOptionsFileName, BakEnvOptionsFileName: string; EnvOptionsFile: TJclSimpleXML; PropertyGroupNode, PropertyNode: TJclSimpleXMLElem; begin @@ -5394,7 +5394,18 @@ PropertyNode.Value := Value; - EnvOptionsFile.SaveToFile(EnvOptionsFileName); + { Do not overwrite the original file if something goes wrong } + BakEnvOptionsFileName := EnvOptionsFileName + '.bak'; + DeleteFile(BakEnvOptionsFileName); + RenameFile(EnvOptionsFileName, BakEnvOptionsFileName); + try + EnvOptionsFile.SaveToFile(EnvOptionsFileName); + DeleteFile(BakEnvOptionsFileName); + except + DeleteFile(EnvOptionsFileName); + RenameFile(BakEnvOptionsFileName, EnvOptionsFileName); + raise; + end; finally EnvOptionsFile.Free; end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ah...@us...> - 2009-03-16 16:50:07
|
Revision: 2692 http://jcl.svn.sourceforge.net/jcl/?rev=2692&view=rev Author: ahuser Date: 2009-03-16 16:50:01 +0000 (Mon, 16 Mar 2009) Log Message: ----------- Fixed memory overwrite when command line exceeds 1024 chars. Modified Paths: -------------- trunk/jcl/source/common/JclSysUtils.pas Modified: trunk/jcl/source/common/JclSysUtils.pas =================================================================== --- trunk/jcl/source/common/JclSysUtils.pas 2009-03-15 20:48:11 UTC (rev 2691) +++ trunk/jcl/source/common/JclSysUtils.pas 2009-03-16 16:50:01 UTC (rev 2692) @@ -2475,7 +2475,7 @@ SetLength(Result, OutPos - 1); end; -function InternalExecute(const CommandLine: string; var Output: string; OutputLineCallback: TTextHandler; +function InternalExecute(CommandLine: string; var Output: string; OutputLineCallback: TTextHandler; RawOutput: Boolean; AbortPtr: PBoolean): Cardinal; const BufferSize = 255; @@ -2523,7 +2523,6 @@ ProcessInfo: TProcessInformation; SecurityAttr: TSecurityAttributes; PipeRead, PipeWrite: THandle; - WriteableCommandLine: array [0..1024] of Char; begin Result := $FFFFFFFF; SecurityAttr.nLength := SizeOf(SecurityAttr); @@ -2541,8 +2540,8 @@ StartupInfo.hStdInput := GetStdHandle(STD_INPUT_HANDLE); StartupInfo.hStdOutput := PipeWrite; StartupInfo.hStdError := PipeWrite; - StrPCopy(WriteableCommandLine, CommandLine); - if CreateProcess(nil, @WriteableCommandLine, nil, nil, True, NORMAL_PRIORITY_CLASS, + UniqueString(CommandLine); // CommandLine must be in a writable memory block + if CreateProcess(nil, PChar(CommandLine), nil, nil, True, NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo) then begin CloseHandle(PipeWrite); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |