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...> - 2006-08-18 11:41:34
|
Revision: 1733 Author: outchy Date: 2006-08-18 04:40:55 -0700 (Fri, 18 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1733&view=rev Log Message: ----------- new tag for donations given to the Jedi Math library (http://sourceforge.net/projects/jedimath) Added Paths: ----------- tags/donated-to-jedimath/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-16 19:35:40
|
Revision: 1732 Author: outchy Date: 2006-08-16 12:35:09 -0700 (Wed, 16 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1732&view=rev Log Message: ----------- New power management functions Modified Paths: -------------- trunk/jcl/source/prototypes/JclWin32.pas trunk/jcl/source/windows/JclMiscel.pas trunk/jcl/source/windows/JclWin32.pas Added Paths: ----------- trunk/jcl/source/prototypes/win32api/powrprof.imp trunk/jcl/source/prototypes/win32api/powrprof.int Modified: trunk/jcl/source/prototypes/JclWin32.pas =================================================================== --- trunk/jcl/source/prototypes/JclWin32.pas 2006-08-14 20:35:43 UTC (rev 1731) +++ trunk/jcl/source/prototypes/JclWin32.pas 2006-08-16 19:35:09 UTC (rev 1732) @@ -97,6 +97,7 @@ {$HPPEMIT '#include "WinError.h"'} {$HPPEMIT '#include "WinIoCtl.h"'} {$HPPEMIT '#include "WinUser.h"'} +{$HPPEMIT '#include "Powrprof.h"} {$HPPEMIT '#include <delayimp.h>'} {$HPPEMIT ''} @@ -136,6 +137,7 @@ {$I win32api\WinIoctl.int} {$I win32api\WinNLS.int} {$I win32api\WinUser.int} +{$I win32api\PowrProf.int} {$I win32api\DelayImp.int} @@ -260,6 +262,7 @@ {$I win32api\WinBase.imp} {$I win32api\WinNLS.imp} {$I win32api\WinNT.imp} +{$I win32api\PowrProf.imp} {$IFDEF UNITVERSIONING} initialization Added: trunk/jcl/source/prototypes/win32api/powrprof.imp =================================================================== --- trunk/jcl/source/prototypes/win32api/powrprof.imp (rev 0) +++ trunk/jcl/source/prototypes/win32api/powrprof.imp 2006-08-16 19:35:09 UTC (rev 1732) @@ -0,0 +1,58 @@ +{$IFNDEF CLR} + +const + PowrprofLib = 'PowrProf.dll'; + +var + _IsPwrSuspendAllowed: Pointer; + +function IsPwrSuspendAllowed; +begin + GetProcedureAddress(_IsPwrSuspendAllowed, PowrprofLib, 'IsPwrSuspendAllowed'); + asm + mov esp, ebp + pop ebp + jmp [_IsPwrSuspendAllowed] + end; +end; + +var + _IsPwrHibernateAllowed: Pointer; + +function IsPwrHibernateAllowed; +begin + GetProcedureAddress(_IsPwrHibernateAllowed, PowrprofLib, 'IsPwrHibernateAllowed'); + asm + mov esp, ebp + pop ebp + jmp [_IsPwrHibernateAllowed] + end; +end; + +var + _IsPwrShutdownAllowed: Pointer; + +function IsPwrShutdownAllowed; +begin + GetProcedureAddress(_IsPwrShutdownAllowed, PowrprofLib, 'IsPwrShutdownAllowed'); + asm + mov esp, ebp + pop ebp + jmp [_IsPwrShutdownAllowed] + end; +end; + +var + _SetSuspendState: Pointer; + +function SetSuspendState; +begin + GetProcedureAddress(_SetSuspendState, PowrprofLib, 'SetSuspendState'); + asm + mov esp, ebp + pop ebp + jmp [_SetSuspendState] + end; +end; + +{$ENDIF ~CLR} \ No newline at end of file Property changes on: trunk/jcl/source/prototypes/win32api/powrprof.imp ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/jcl/source/prototypes/win32api/powrprof.int =================================================================== --- trunk/jcl/source/prototypes/win32api/powrprof.int (rev 0) +++ trunk/jcl/source/prototypes/win32api/powrprof.int 2006-08-16 19:35:09 UTC (rev 1732) @@ -0,0 +1,8 @@ +{$IFNDEF CLR} + +function IsPwrSuspendAllowed: BOOL; stdcall; +function IsPwrHibernateAllowed: BOOL; stdcall; +function IsPwrShutdownAllowed: BOOL; stdcall; +function SetSuspendState(Hibernate, ForceCritical, DisableWakeEvent: BOOL): BOOL; stdcall; + +{$ENDIF ~CLR} \ No newline at end of file Property changes on: trunk/jcl/source/prototypes/win32api/powrprof.int ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/jcl/source/windows/JclMiscel.pas =================================================================== --- trunk/jcl/source/windows/JclMiscel.pas 2006-08-14 20:35:43 UTC (rev 1731) +++ trunk/jcl/source/windows/JclMiscel.pas 2006-08-16 19:35:09 UTC (rev 1732) @@ -53,12 +53,34 @@ function WinExec32AndWait(const Cmd: string; const CmdShow: Integer): Cardinal; function WinExec32AndRedirectOutput(const Cmd: string; var Output: string; RawOutput: Boolean = False): Cardinal; +type + TJclKillLevel = (klNormal, klNoSignal, klTimeOut); + +// klNormal: old shutdown style: waiting all applications to respond to the signals +// klNoSignal: do not send shutdown signal, all applications are killed (only Windows NT/2000/XP) +// klTimeOut: kill applications that do not respond within the timeout interval (only Windows 2000 and XP) + function ExitWindows(ExitCode: Cardinal): Boolean; -function LogOffOS: Boolean; -function PowerOffOS: Boolean; -function ShutDownOS: Boolean; -function RebootOS: Boolean; +function LogOffOS(KillLevel: TJclKillLevel = klNormal): Boolean; +function PowerOffOS(KillLevel: TJclKillLevel = klNormal): Boolean; +function ShutDownOS(KillLevel: TJclKillLevel = klNormal): Boolean; +function RebootOS(KillLevel: TJclKillLevel = klNormal): Boolean; +function HibernateOS(Force, DisableWakeEvents: Boolean): Boolean; +function SuspendOS(Force, DisableWakeEvents: Boolean): Boolean; +function ShutDownDialog(const DialogMessage: string; TimeOut: DWORD; + Force, Reboot: Boolean): Boolean; overload; +function ShutDownDialog(const MachineName, DialogMessage: string; TimeOut: DWORD; + Force, Reboot: Boolean): Boolean; overload; +function AbortShutDown: Boolean; overload; +function AbortShutDown(const MachineName: string): Boolean; overload; + +type + TJclAllowedPowerOperation = (apoHibernate, apoShutdown, apoSuspend); + TJclAllowedPowerOperations = set of TJclAllowedPowerOperation; + +function GetAllowedPowerOperations: TJclAllowedPowerOperations; + // CreateProcAsUser type EJclCreateProcessError = class(EJclWin32Error); @@ -85,7 +107,7 @@ uses SysUtils, - JclResources, JclSecurity, JclStrings, JclSysUtils, JclWin32; + JclResources, JclSecurity, JclStrings, JclSysUtils, JclWin32, JclSysInfo; function CreateDOSProcessRedirected(const CommandLine, InputFile, OutputFile: string): Boolean; var @@ -173,32 +195,47 @@ Result := Execute(Cmd, Output, RawOutput); end; -function LogOffOS: Boolean; +function KillLevelToFlags(KillLevel: TJclKillLevel): Cardinal; begin + Result := 0; + case KillLevel of + klNoSignal: + if not (GetWindowsVersion in [wvUnknown, wvWin95, wvWin95OSR2, wvWin98, + wvWin98SE, wvWinME]) then + Result := EWX_FORCE; + klTimeOut: + if not (GetWindowsVersion in [wvUnknown, wvWin95, wvWin95OSR2, wvWin98, + wvWin98SE, wvWinME, wvWinNT31, wvWinNT35, wvWinNT351, wvWinNT4]) then + Result := EWX_FORCEIFHUNG; + end; +end; + +function LogOffOS(KillLevel: TJclKillLevel): Boolean; +begin {$IFDEF MSWINDOWS} - Result := JclMiscel.ExitWindows(EWX_LOGOFF); + Result := JclMiscel.ExitWindows(EWX_LOGOFF or KillLevelToFlags(KillLevel)); {$ENDIF MSWINDOWS} { TODO : implement at least LINUX variants throwing an exception } end; -function PowerOffOS: Boolean; +function PowerOffOS(KillLevel: TJclKillLevel): Boolean; begin {$IFDEF MSWINDOWS} - Result := JclMiscel.ExitWindows(EWX_POWEROFF); + Result := JclMiscel.ExitWindows(EWX_POWEROFF or KillLevelToFlags(KillLevel)); {$ENDIF MSWINDOWS} end; -function ShutDownOS: Boolean; +function ShutDownOS(KillLevel: TJclKillLevel): Boolean; begin {$IFDEF MSWINDOWS} - Result := JclMiscel.ExitWindows(EWX_SHUTDOWN); + Result := JclMiscel.ExitWindows(EWX_SHUTDOWN or KillLevelToFlags(KillLevel)); {$ENDIF MSWINDOWS} end; -function RebootOS: Boolean; +function RebootOS(KillLevel: TJclKillLevel): Boolean; begin {$IFDEF MSWINDOWS} - Result := JclMiscel.ExitWindows(EWX_Reboot); + Result := JclMiscel.ExitWindows(EWX_REBOOT or KillLevelToFlags(KillLevel)); {$ENDIF MSWINDOWS} end; @@ -211,6 +248,107 @@ Result := ExitWindowsEx(ExitCode, SHTDN_REASON_MAJOR_APPLICATION or SHTDN_REASON_MINOR_OTHER); end; +function HibernateOS(Force, DisableWakeEvents: Boolean): Boolean; +var + OldShutdownPrivilege: Boolean; +begin + {$IFDEF MSWINDOWS} + try + OldShutdownPrivilege := IsPrivilegeEnabled(SE_SHUTDOWN_NAME); + try + Result := EnableProcessPrivilege(True, SE_SHUTDOWN_NAME) + and SetSuspendState(True, Force, DisableWakeEvents); + finally + EnableProcessPrivilege(OldShutdownPrivilege, SE_SHUTDOWN_NAME); + end; + except + Result := False; + end; + {$ENDIF MSWINDOWS} +end; + +function SuspendOS(Force, DisableWakeEvents: Boolean): Boolean; +var + OldShutdownPrivilege: Boolean; +begin + {$IFDEF MSWINDOWS} + try + OldShutdownPrivilege := IsPrivilegeEnabled(SE_SHUTDOWN_NAME); + try + Result := EnableProcessPrivilege(True, SE_SHUTDOWN_NAME) + and SetSuspendState(False, Force, DisableWakeEvents); + finally + EnableProcessPrivilege(OldShutdownPrivilege, SE_SHUTDOWN_NAME); + end; + except + Result := False; + end; + {$ENDIF MSWINDOWS} +end; + +function ShutDownDialog(const DialogMessage: string; TimeOut: DWORD; + Force, Reboot: Boolean): Boolean; +begin + Result := ShutDownDialog('', DialogMessage, TimeOut, Force, Reboot); +end; + +function ShutDownDialog(const MachineName, DialogMessage: string; TimeOut: DWORD; + Force, Reboot: Boolean): Boolean; +var + OldShutdownPrivilege: Boolean; + PrivilegeName: string; +begin + {$IFDEF MSWINDOWS} + if MachineName = '' then + PrivilegeName := SE_SHUTDOWN_NAME + else + PrivilegeName := SE_REMOTE_SHUTDOWN_NAME; + + try + OldShutdownPrivilege := IsPrivilegeEnabled(PrivilegeName); + try + Result := EnableProcessPrivilege(True, PrivilegeName) + and InitiateSystemShutdown(PChar(MachineName), PChar(DialogMessage), + TimeOut, Force, Reboot); + finally + EnableProcessPrivilege(OldShutdownPrivilege, PrivilegeName); + end; + except + Result := False; + end; + {$ENDIF MSWINDOWS} +end; + +function AbortShutDown: Boolean; +begin + Result := AbortShutDown(''); +end; + +function AbortShutDown(const MachineName: string): Boolean; +var + OldShutdownPrivilege: Boolean; + PrivilegeName: string; +begin + {$IFDEF MSWINDOWS} + if MachineName = '' then + PrivilegeName := SE_SHUTDOWN_NAME + else + PrivilegeName := SE_REMOTE_SHUTDOWN_NAME; + + try + OldShutdownPrivilege := IsPrivilegeEnabled(PrivilegeName); + try + Result := EnableProcessPrivilege(True, PrivilegeName) + and AbortSystemShutDown(PChar(MachineName)); + finally + EnableProcessPrivilege(OldShutdownPrivilege, PrivilegeName); + end; + except + Result := False; + end; + {$ENDIF MSWINDOWS} +end; + function SetDisplayResolution(const XRes, YRes: DWORD): Longint; var DevMode: TDeviceMode; @@ -227,6 +365,23 @@ end; end; +function GetAllowedPowerOperations: TJclAllowedPowerOperations; +begin + {$IFDEF MSWINDOWS} + Result := []; + try + if IsPwrSuspendAllowed then + Include(Result, apoSuspend); + if IsPwrHibernateAllowed then + Include(Result, apoHibernate); + if IsPwrShutdownAllowed then + Include(Result, apoShutdown); + except + Result := []; + end; + {$ENDIF MSWINDOWS} +end; + procedure CheckOSVersion; begin if Win32Platform <> VER_PLATFORM_WIN32_NT then Modified: trunk/jcl/source/windows/JclWin32.pas =================================================================== --- trunk/jcl/source/windows/JclWin32.pas 2006-08-14 20:35:43 UTC (rev 1731) +++ trunk/jcl/source/windows/JclWin32.pas 2006-08-16 19:35:09 UTC (rev 1732) @@ -92,6 +92,7 @@ {$HPPEMIT '#include "WinError.h"'} {$HPPEMIT '#include "WinIoCtl.h"'} {$HPPEMIT '#include "WinUser.h"'} +{$HPPEMIT '#include "Powrprof.h"} {$HPPEMIT '#include <delayimp.h>'} {$HPPEMIT ''} @@ -6639,7 +6640,15 @@ {$EXTERNALSYM KLF_RESET} +{$IFNDEF CLR} +function IsPwrSuspendAllowed: BOOL; stdcall; +function IsPwrHibernateAllowed: BOOL; stdcall; +function IsPwrShutdownAllowed: BOOL; stdcall; +function SetSuspendState(Hibernate, ForceCritical, DisableWakeEvent: BOOL): BOOL; stdcall; + +{$ENDIF ~CLR} + {$IFNDEF CLR} type @@ -7743,6 +7752,65 @@ {$ENDIF ~CLR} +{$IFNDEF CLR} + +const + PowrprofLib = 'PowrProf.dll'; + +var + _IsPwrSuspendAllowed: Pointer; + +function IsPwrSuspendAllowed; +begin + GetProcedureAddress(_IsPwrSuspendAllowed, PowrprofLib, 'IsPwrSuspendAllowed'); + asm + mov esp, ebp + pop ebp + jmp [_IsPwrSuspendAllowed] + end; +end; + +var + _IsPwrHibernateAllowed: Pointer; + +function IsPwrHibernateAllowed; +begin + GetProcedureAddress(_IsPwrHibernateAllowed, PowrprofLib, 'IsPwrHibernateAllowed'); + asm + mov esp, ebp + pop ebp + jmp [_IsPwrHibernateAllowed] + end; +end; + +var + _IsPwrShutdownAllowed: Pointer; + +function IsPwrShutdownAllowed; +begin + GetProcedureAddress(_IsPwrShutdownAllowed, PowrprofLib, 'IsPwrShutdownAllowed'); + asm + mov esp, ebp + pop ebp + jmp [_IsPwrShutdownAllowed] + end; +end; + +var + _SetSuspendState: Pointer; + +function SetSuspendState; +begin + GetProcedureAddress(_SetSuspendState, PowrprofLib, 'SetSuspendState'); + asm + mov esp, ebp + pop ebp + jmp [_SetSuspendState] + end; +end; + +{$ENDIF ~CLR} + {$IFDEF UNITVERSIONING} initialization RegisterUnitVersion(HInstance, UnitVersioning); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-14 20:36:06
|
Revision: 1731 Author: outchy Date: 2006-08-14 13:35:43 -0700 (Mon, 14 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1731&view=rev Log Message: ----------- bug fixes submitted by Mario R. Carro Update to PCRE 6.7 Modified Paths: -------------- trunk/jcl/source/common/JclPCRE.pas trunk/jcl/source/common/JclResources.pas trunk/jcl/source/common/pcre.pas Modified: trunk/jcl/source/common/JclPCRE.pas =================================================================== --- trunk/jcl/source/common/JclPCRE.pas 2006-08-11 19:34:03 UTC (rev 1730) +++ trunk/jcl/source/common/JclPCRE.pas 2006-08-14 20:35:43 UTC (rev 1731) @@ -17,13 +17,15 @@ { } { Contributor(s): } { Robert Rossmair (rrossmair) } +{ Mario R. Carro } +{ Florent Ouchet (outchy) } { } {**************************************************************************************************} { } { Class wrapper for PCRE (PERL Compatible Regular Expression) } { } { Unit owner: Peter Th\xF6rnqvist } -{ Last modified: $Date$ } +{ Last modified: $Date$ } { } {**************************************************************************************************} @@ -56,7 +58,10 @@ PPCREIntArray = ^TPCREIntArray; TJclAnsiRegExOption = (roIgnoreCase, roMultiLine, roDotAll, roExtended, - roAnchored, roDollarEndOnly, roExtra, roNotBOL, roNotEOL, roUnGreedy, roNotEmpty, roUTF8); + roAnchored, roDollarEndOnly, roExtra, roNotBOL, roNotEOL, roUnGreedy, + roNotEmpty, roUTF8, roNoAutoCapture, roNoUTF8Check, roAutoCallout, + roPartial, roDfaShortest, roDfaRestart, roDfaFirstLine, roDupNames, + roNewLineCR, roNewLineLF); TJclAnsiRegExOptions = set of TJclAnsiRegExOption; TJclAnsiCaptureOffset = record FirstPos: Integer; @@ -75,6 +80,7 @@ FStringCount: Integer; FVectorSize: Integer; FTables: PChar; + FMaxCaptureLength: Integer; function GetCaptureCount: Integer; function GetCaptures(Index: Integer): AnsiString; function GetAPIOptions(RunTime: Boolean): Integer; @@ -90,6 +96,7 @@ property CaptureOffset[Index: Integer]: TJclAnsiCaptureOffset read GetCapturesOffset; property ErrorMessage: AnsiString read FErrorMessage; property ErrorOffset: Integer read FErrorOffset; + property MaxCaptureLength: Integer read FMaxCaptureLength write FMaxCaptureLength; end; {$IFDEF UNITVERSIONING} @@ -108,6 +115,16 @@ pcre, JclResources; +function JclPCREGetMem(Size: Integer): Pointer; cdecl; +begin + GetMem(Result, Size); +end; + +procedure JclPCREFreeMem(P: Pointer); cdecl; +begin + FreeMem(P); +end; + function PCRECheck(Value: Integer): Boolean; var PErr: PResStringRec; @@ -129,6 +146,34 @@ PErr := @RsErrNoMemory; PCRE_ERROR_NOSUBSTRING: PErr := @RsErrNoSubString; + PCRE_ERROR_MATCHLIMIT: + PErr := @RsErrMatchLimit; + PCRE_ERROR_CALLOUT: + PErr := @RsErrCallout; + PCRE_ERROR_BADUTF8: + PErr := @RsErrBadUTF8; + PCRE_ERROR_BADUTF8_OFFSET: + PErr := @RsErrBadUTF8Offset; + PCRE_ERROR_PARTIAL: + PErr := @RsErrPartial; + PCRE_ERROR_BADPARTIAL: + PErr := @RsErrBadPartial; + PCRE_ERROR_INTERNAL: + PErr := @RsErrInternal; + PCRE_ERROR_BADCOUNT: + PErr := @RsErrBadCount; + PCRE_ERROR_DFA_UITEM: + PErr := @RsErrDfaUItem; + PCRE_ERROR_DFA_UCOND: + PErr := @RsErrDfaUCond; + PCRE_ERROR_DFA_UMLIMIT: + PErr := @RsErrDfaUMLimit; + PCRE_ERROR_DFA_WSSIZE: + PErr := @RsErrDfaWSSize; + PCRE_ERROR_DFA_RECURSE: + PErr := @RsErrDfaRecurse; + PCRE_ERROR_RECURSIONLIMIT: + PErr := @RsErrRecursionLimit; else Result := True; end; @@ -141,17 +186,17 @@ constructor TJclAnsiRegEx.Create; begin inherited Create; + FMaxCaptureLength := 1024; FVectorSize := SizeOf(FVector) div SizeOf(Integer); end; destructor TJclAnsiRegEx.Destroy; begin - (* - if FCode <> nil then - pcre_free(FCode); - if FExtra <> nil then - pcre_free(FExtra); - *) + if FCode <> nil then + pcre_free^(FCode); + if FExtra <> nil then + pcre_free^(FExtra); + inherited Destroy; end; @@ -166,22 +211,34 @@ FTables := nil; if Pattern = '' then raise EPCREError.CreateRes(@RsErrNull, PCRE_ERROR_NULL); + if FCode <> nil then pcre_free^(FCode); FCode := pcre_compile(PChar(Pattern), GetAPIOptions(False), @ErrPtr, @ErrOffset, FTables); FErrorMessage := ErrPtr; FErrorOffset := ErrOffset; Result := (FCode <> nil); if Result and Study then + begin + if FExtra <> nil then pcre_free^(FExtra); FExtra := pcre_study(FCode, 0, @ErrPtr); + end; end; function TJclAnsiRegEx.GetAPIOptions(RunTime: Boolean): Integer; const + { roIgnoreCase, roMultiLine, roDotAll, roExtended, + roAnchored, roDollarEndOnly, roExtra, roNotBOL, roNotEOL, roUnGreedy, + roNotEmpty, roUTF8, roNoAutoCapture, roNoUTF8Check, roAutoCallout, + roPartial, roDfaShortest, roDfaRestart, roDfaFirstLine, roDupNames, + roNewLineCR, roNewLineLF } cDesignOptions: array [TJclAnsiRegExOption] of Integer = - (PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, PCRE_EXTENDED, PCRE_ANCHORED, PCRE_DOLLAR_ENDONLY, - PCRE_EXTRA, 0, 0, PCRE_UNGREEDY, 0, PCRE_UTF8); + (PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, PCRE_EXTENDED, PCRE_ANCHORED, + PCRE_DOLLAR_ENDONLY, PCRE_EXTRA, 0, 0, PCRE_UNGREEDY, 0, PCRE_UTF8, + PCRE_NO_AUTO_CAPTURE, PCRE_NO_UTF8_CHECK, PCRE_AUTO_CALLOUT, 0, 0, 0, 0, + PCRE_DUPNAMES, PCRE_NEWLINE_CR, PCRE_NEWLINE_LF); cRunOptions: array [TJclAnsiRegExOption] of Integer = - (0, 0, 0, 0, 0, 0, - 0, PCRE_NOTBOL, PCRE_NOTEOL, 0, PCRE_NOTEMPTY, 0); + (0, 0, 0, 0, 0, 0, 0, PCRE_NOTBOL, PCRE_NOTEOL, 0, PCRE_NOTEMPTY, 0, 0, + PCRE_NO_UTF8_CHECK, 0, PCRE_PARTIAL, 0, 0, 0, 0, PCRE_NEWLINE_CR, + PCRE_NEWLINE_LF); var I: TJclAnsiRegExOption; begin @@ -208,13 +265,12 @@ function TJclAnsiRegEx.GetCaptures(Index: Integer): AnsiString; var - Buffer: array [0..1024] of Char; Len: Integer; begin - Len := pcre_copy_substring(PChar(FSubject), @FVector, FStringCount, Index, Buffer, SizeOf(Buffer)); + SetLength(Result, MaxCaptureLength); + Len := pcre_copy_substring(PChar(FSubject), @FVector, FStringCount, Index, PChar(Result), MaxCaptureLength); PCRECheck(Len); - - SetString(Result, Buffer, Len); + SetLength(Result, Len); end; function TJclAnsiRegEx.GetCapturesOffset(Index: Integer): TJclAnsiCaptureOffset; @@ -259,6 +315,8 @@ initialization pcre.LibNotLoadedHandler := LibNotLoadedHandler; LoadPCRE; + SetPCREMallocCallback(JclPCREGetMem); + SetPCREFreeCallback(JclPCREFreeMem); {$IFDEF UNITVERSIONING} RegisterUnitVersion(HInstance, UnitVersioning); {$ENDIF UNITVERSIONING} Modified: trunk/jcl/source/common/JclResources.pas =================================================================== --- trunk/jcl/source/common/JclResources.pas 2006-08-11 19:34:03 UTC (rev 1730) +++ trunk/jcl/source/common/JclResources.pas 2006-08-14 20:35:43 UTC (rev 1731) @@ -1261,14 +1261,29 @@ //=== JclPCRE ================================================================ resourcestring - RsErrNoMatch = 'No match'; - RsErrNull = 'Required value is null'; - RsErrBadOption = 'Bad option'; - RsErrBadMagic = 'Bad magic'; - RsErrUnknownNode = 'Unknown node'; - RsErrNoMemory = 'Out of memory'; - RsErrNoSubString = 'No substring'; - RsErrLibNotLoaded = 'PCRE library not loaded'; + RsErrNoMatch = 'No match'; + RsErrNull = 'Required value is null'; + RsErrBadOption = 'Bad option'; + RsErrBadMagic = 'Bad magic'; + RsErrUnknownNode = 'Unknown node'; + RsErrNoMemory = 'Out of memory'; + RsErrNoSubString = 'No substring'; + RsErrMatchLimit = 'Match limit'; + RsErrCallout = 'Callout'; + RsErrBadUTF8 = 'Bad UTF-8'; + RsErrBadUTF8Offset = 'Bad UTF-8 offset'; + RsErrPartial = 'Partial'; + RsErrBadPartial = 'Bad partial'; + RsErrInternal = 'Internal'; + RsErrBadCount = 'Bad count'; + RsErrDfaUItem = 'DFA UItem'; + RsErrDfaUCond = 'DFA UCond'; + RsErrDfaUMLimit = 'DFA UMLimit'; + RsErrDfaWSSize = 'DFA WSSize'; + RsErrDfaRecurse = 'DFA Recurse'; + RsErrRecursionLimit = 'Recursion limit'; + RsErrLibNotLoaded = 'PCRE library not loaded'; + RsErrMemFuncNotSet = 'PCRE memory management functions not set'; //=== JclPeImage ============================================================= resourcestring @@ -1605,12 +1620,12 @@ RsIntelCacheDescr08 = '16KB instruction cache, 4-way set associative, 32 byte line size'; RsIntelCacheDescr0A = '8KB data cache 2-way set associative, 32 byte line size'; RsIntelCacheDescr0C = '16KB data cache, 4-way set associative, 32 byte line size'; - RsIntelCacheDescr22 = '3\xB0 Level cache, 512 KBytes, 4-way set associative, 2 lines per sector, 128 byte sector size'; - RsIntelCacheDescr23 = '3\xB0 Level cache, 1 MBytes, 8-way set associative, 2 lines per sector, 128 byte sector size'; - RsIntelCacheDescr25 = '3\xB0 Level cache, 2 MBytes, 8-way set associative, 2 lines per sector, 128 byte line size'; - RsIntelCacheDescr29 = '3\xB0 Level cache, 4M Bytes, 8-way set associative, 2 lines per sector, 128 byte line size'; - RsIntelCacheDescr2C = '1\xB0 Level data cache: 32K Bytes, 8-way set associative, 64 byte line size'; - RsIntelCacheDescr30 = '1\xB0 Level instruction cache: 32K Bytes, 8-way set associative, 64 byte line size'; + RsIntelCacheDescr22 = '3 Level cache, 512 KBytes, 4-way set associative, 2 lines per sector, 128 byte sector size'; + RsIntelCacheDescr23 = '3 Level cache, 1 MBytes, 8-way set associative, 2 lines per sector, 128 byte sector size'; + RsIntelCacheDescr25 = '3 Level cache, 2 MBytes, 8-way set associative, 2 lines per sector, 128 byte line size'; + RsIntelCacheDescr29 = '3 Level cache, 4M Bytes, 8-way set associative, 2 lines per sector, 128 byte line size'; + RsIntelCacheDescr2C = '1 Level data cache: 32K Bytes, 8-way set associative, 64 byte line size'; + RsIntelCacheDescr30 = '1 Level instruction cache: 32K Bytes, 8-way set associative, 64 byte line size'; RsIntelCacheDescr40 = 'No L2 cache'; RsIntelCacheDescr41 = 'Unified cache, 32 byte cache line, 4-way set associative, 128Kb'; RsIntelCacheDescr42 = 'Unified cache, 32 byte cache line, 4-way set associative, 256Kb'; @@ -1623,26 +1638,26 @@ RsIntelCacheDescr5B = 'Data TLB, 4 KBytes and 4 MBytes pages, 64 Entries'; RsIntelCacheDescr5C = 'Data TLB, 4 KBytes and 4 MBytes pages, 128 Entries'; RsIntelCacheDescr5D = 'Data TLB, 4 KBytes and 4 MBytes pages, 256 Entries'; - RsIntelCacheDescr60 = '1\xB0 Level data cache: 16 KByte, 8-way set associative, 64 byte line size'; - RsIntelCacheDescr66 = '1\xB0 Level Data cache, 8 KBytes, 4-way set associative, 64 Bytes line size'; - RsIntelCacheDescr67 = '1\xB0 Level Data cache, 16 KBytes, 4-way set associative, 64 Bytes line size'; - RsIntelCacheDescr68 = '1\xB0 Level Data cache, 32 KBytes, 4-way set associative, 64 Bytes line size'; - RsIntelCacheDescr70 = 'Trace cache, 12 K\xB5Ops, 8-way set associative'; - RsIntelCacheDescr71 = 'Trace cache, 16 K\xB5Ops, 8-way set associative'; - RsIntelCacheDescr72 = 'Trace cache, 32 K\xB5Ops, 8-way set associative'; - RsIntelCacheDescr78 = '2\xB0 Level cache, 1 MBytes, 4-way set associative, 64 Bytes line size'; - RsIntelCacheDescr79 = '2\xB0 Level cache, 128 KBytes, 8-way set associative, dual-sectored line, 64 Bytes sector size'; - RsIntelCacheDescr7A = '2\xB0 Level cache, 256 KBytes, 8-way set associative, dual-sectored line, 64 Bytes sector size'; - RsIntelCacheDescr7B = '2\xB0 Level cache, 512 KBytes, 8-way set associative, dual-sectored line, 64 Bytes sector size'; - RsIntelCacheDescr7C = '2\xB0 Level cache, 1 MBytes, 8-way set associative, dual-sectored line, 64 Bytes sector size'; - RsIntelCacheDescr7D = '2\xB0 Level cache, 2 MByte, 8-way set associative, 64byte line size'; - RsIntelCacheDescr7F = '2\xB0 Level cache, 512 KByte, 2-way set associative, 64-byte line size'; - RsIntelCacheDescr82 = '2\xB0 Level cache, 256 KBytes, 8-way associative, 32 Bytes line size'; - RsIntelCacheDescr83 = '2\xB0 Level cache, 512 KBytes, 8-way associative, 32 Bytes line size'; - RsIntelCacheDescr84 = '2\xB0 Level cache, 1 MBytes, 8-way associative, 32 Bytes line size'; - RsIntelCacheDescr85 = '2\xB0 Level cache, 2 MBytes, 8-way associative, 32 Bytes line size'; - RsIntelCacheDescr86 = '2\xB0 Level cache, 512 KByte, 4-way set associative, 64 byte line size'; - RsIntelCacheDescr87 = '2\xB0 Level cache, 1 MByte, 8-way set associative, 64 byte line size'; + RsIntelCacheDescr60 = '1 Level data cache: 16 KByte, 8-way set associative, 64 byte line size'; + RsIntelCacheDescr66 = '1 Level Data cache, 8 KBytes, 4-way set associative, 64 Bytes line size'; + RsIntelCacheDescr67 = '1 Level Data cache, 16 KBytes, 4-way set associative, 64 Bytes line size'; + RsIntelCacheDescr68 = '1 Level Data cache, 32 KBytes, 4-way set associative, 64 Bytes line size'; + RsIntelCacheDescr70 = 'Trace cache, 12 KOps, 8-way set associative'; + RsIntelCacheDescr71 = 'Trace cache, 16 KOps, 8-way set associative'; + RsIntelCacheDescr72 = 'Trace cache, 32 KOps, 8-way set associative'; + RsIntelCacheDescr78 = '2 Level cache, 1 MBytes, 4-way set associative, 64 Bytes line size'; + RsIntelCacheDescr79 = '2 Level cache, 128 KBytes, 8-way set associative, dual-sectored line, 64 Bytes sector size'; + RsIntelCacheDescr7A = '2 Level cache, 256 KBytes, 8-way set associative, dual-sectored line, 64 Bytes sector size'; + RsIntelCacheDescr7B = '2 Level cache, 512 KBytes, 8-way set associative, dual-sectored line, 64 Bytes sector size'; + RsIntelCacheDescr7C = '2 Level cache, 1 MBytes, 8-way set associative, dual-sectored line, 64 Bytes sector size'; + RsIntelCacheDescr7D = '2 Level cache, 2 MByte, 8-way set associative, 64byte line size'; + RsIntelCacheDescr7F = '2 Level cache, 512 KByte, 2-way set associative, 64-byte line size'; + RsIntelCacheDescr82 = '2 Level cache, 256 KBytes, 8-way associative, 32 Bytes line size'; + RsIntelCacheDescr83 = '2 Level cache, 512 KBytes, 8-way associative, 32 Bytes line size'; + RsIntelCacheDescr84 = '2 Level cache, 1 MBytes, 8-way associative, 32 Bytes line size'; + RsIntelCacheDescr85 = '2 Level cache, 2 MBytes, 8-way associative, 32 Bytes line size'; + RsIntelCacheDescr86 = '2 Level cache, 512 KByte, 4-way set associative, 64 byte line size'; + RsIntelCacheDescr87 = '2 Level cache, 1 MByte, 8-way set associative, 64 byte line size'; RsIntelCacheDescrB0 = 'Instruction TLB, 4 KByte Pages, 4-way set associative, 128 entries'; RsIntelCacheDescrB3 = 'Data TLB, 4 KByte Pages, 4-way set associative, 128 entries'; RsIntelCacheDescrF0 = '64-Byte Prefetching'; Modified: trunk/jcl/source/common/pcre.pas =================================================================== --- trunk/jcl/source/common/pcre.pas 2006-08-11 19:34:03 UTC (rev 1730) +++ trunk/jcl/source/common/pcre.pas 2006-08-14 20:35:43 UTC (rev 1731) @@ -19,6 +19,8 @@ { } { Contributor(s): } { Robert Rossmair (rrossmair) } +{ Mario R. Carro } +{ Florent Ouchet (outchy) } { } { The latest release of PCRE is always available from } { ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.tar.gz } @@ -65,30 +67,52 @@ const (* Options *) - PCRE_CASELESS = $0001; + PCRE_CASELESS = $00000001; {$EXTERNALSYM PCRE_CASELESS} - PCRE_MULTILINE = $0002; + PCRE_MULTILINE = $00000002; {$EXTERNALSYM PCRE_MULTILINE} - PCRE_DOTALL = $0004; + PCRE_DOTALL = $00000004; {$EXTERNALSYM PCRE_DOTALL} - PCRE_EXTENDED = $0008; + PCRE_EXTENDED = $00000008; {$EXTERNALSYM PCRE_EXTENDED} - PCRE_ANCHORED = $0010; + PCRE_ANCHORED = $00000010; {$EXTERNALSYM PCRE_ANCHORED} - PCRE_DOLLAR_ENDONLY = $0020; + PCRE_DOLLAR_ENDONLY = $00000020; {$EXTERNALSYM PCRE_DOLLAR_ENDONLY} - PCRE_EXTRA = $0040; + PCRE_EXTRA = $00000040; {$EXTERNALSYM PCRE_EXTRA} - PCRE_NOTBOL = $0080; + PCRE_NOTBOL = $00000080; {$EXTERNALSYM PCRE_NOTBOL} - PCRE_NOTEOL = $0100; + PCRE_NOTEOL = $00000100; {$EXTERNALSYM PCRE_NOTEOL} - PCRE_UNGREEDY = $0200; + PCRE_UNGREEDY = $00000200; {$EXTERNALSYM PCRE_UNGREEDY} - PCRE_NOTEMPTY = $0400; + PCRE_NOTEMPTY = $00000400; {$EXTERNALSYM PCRE_NOTEMPTY} - PCRE_UTF8 = $0800; + PCRE_UTF8 = $00000800; {$EXTERNALSYM PCRE_UTF8} + PCRE_NO_AUTO_CAPTURE = $00001000; + {$EXTERNALSYM PCRE_NO_AUTO_CAPTURE} + PCRE_NO_UTF8_CHECK = $00002000; + {$EXTERNALSYM PCRE_NO_UTF8_CHECK} + PCRE_AUTO_CALLOUT = $00004000; + {$EXTERNALSYM PCRE_AUTO_CALLOUT} + PCRE_PARTIAL = $00008000; + {$EXTERNALSYM PCRE_PARTIAL} + PCRE_DFA_SHORTEST = $00010000; + {$EXTERNALSYM PCRE_DFA_SHORTEST} + PCRE_DFA_RESTART = $00020000; + {$EXTERNALSYM PCRE_DFA_RESTART} + PCRE_FIRSTLINE = $00040000; + {$EXTERNALSYM PCRE_FIRSTLINE} + PCRE_DUPNAMES = $00080000; + {$EXTERNALSYM PCRE_DUPNAMES} + PCRE_NEWLINE_CR = $00100000; + {$EXTERNALSYM PCRE_NEWLINE_CR} + PCRE_NEWLINE_LF = $00200000; + {$EXTERNALSYM PCRE_NEWLINE_LF} + PCRE_NEWLINE_CRLF = $00300000; + {$EXTERNALSYM PCRE_NEWLINE_CRLF} (* Exec-time and get-time error codes *) @@ -106,6 +130,34 @@ {$EXTERNALSYM PCRE_ERROR_NOMEMORY} PCRE_ERROR_NOSUBSTRING = -7; {$EXTERNALSYM PCRE_ERROR_NOSUBSTRING} + PCRE_ERROR_MATCHLIMIT = -8; + {$EXTERNALSYM PCRE_ERROR_MATCHLIMIT} + PCRE_ERROR_CALLOUT = -9; (* Never used by PCRE itself *) + {$EXTERNALSYM PCRE_ERROR_CALLOUT} + PCRE_ERROR_BADUTF8 = -10; + {$EXTERNALSYM PCRE_ERROR_BADUTF8} + PCRE_ERROR_BADUTF8_OFFSET = -11; + {$EXTERNALSYM PCRE_ERROR_BADUTF8_OFFSET} + PCRE_ERROR_PARTIAL = -12; + {$EXTERNALSYM PCRE_ERROR_PARTIAL} + PCRE_ERROR_BADPARTIAL = -13; + {$EXTERNALSYM PCRE_ERROR_BADPARTIAL} + PCRE_ERROR_INTERNAL = -14; + {$EXTERNALSYM PCRE_ERROR_INTERNAL} + PCRE_ERROR_BADCOUNT = -15; + {$EXTERNALSYM PCRE_ERROR_BADCOUNT} + PCRE_ERROR_DFA_UITEM = -16; + {$EXTERNALSYM PCRE_ERROR_DFA_UITEM} + PCRE_ERROR_DFA_UCOND = -17; + {$EXTERNALSYM PCRE_ERROR_DFA_UCOND} + PCRE_ERROR_DFA_UMLIMIT = -18; + {$EXTERNALSYM PCRE_ERROR_DFA_UMLIMIT} + PCRE_ERROR_DFA_WSSIZE = -19; + {$EXTERNALSYM PCRE_ERROR_DFA_WSSIZE} + PCRE_ERROR_DFA_RECURSE = -20; + {$EXTERNALSYM PCRE_ERROR_DFA_RECURSE} + PCRE_ERROR_RECURSIONLIMIT = -21; + {$EXTERNALSYM PCRE_ERROR_RECURSIONLIMIT} (* Request types for pcre_fullinfo() *) @@ -123,16 +175,61 @@ {$EXTERNALSYM PCRE_INFO_FIRSTTABLE} PCRE_INFO_LASTLITERAL = 6; {$EXTERNALSYM PCRE_INFO_LASTLITERAL} + PCRE_INFO_NAMEENTRYSIZE = 7; + {$EXTERNALSYM PCRE_INFO_NAMEENTRYSIZE} + PCRE_INFO_NAMECOUNT = 8; + {$EXTERNALSYM PCRE_INFO_NAMECOUNT} + PCRE_INFO_NAMETABLE = 9; + {$EXTERNALSYM PCRE_INFO_NAMETABLE} + PCRE_INFO_STUDYSIZE = 10; + {$EXTERNALSYM PCRE_INFO_STUDYSIZE} + PCRE_INFO_DEFAULT_TABLES = 11; + {$EXTERNALSYM PCRE_INFO_DEFAULT_TABLES} + (* Request types for pcre_config() *) + PCRE_CONFIG_UTF8 = 0; + {$EXTERNALSYM PCRE_CONFIG_UTF8} + PCRE_CONFIG_NEWLINE = 1; + {$EXTERNALSYM PCRE_CONFIG_NEWLINE} + PCRE_CONFIG_LINK_SIZE = 2; + {$EXTERNALSYM PCRE_CONFIG_LINK_SIZE} + PCRE_CONFIG_POSIX_MALLOC_THRESHOLD = 3; + {$EXTERNALSYM PCRE_CONFIG_POSIX_MALLOC_THRESHOLD} + PCRE_CONFIG_MATCH_LIMIT = 4; + {$EXTERNALSYM PCRE_CONFIG_MATCH_LIMIT} + PCRE_CONFIG_STACKRECURSE = 5; + {$EXTERNALSYM PCRE_CONFIG_STACKRECURSE} + PCRE_CONFIG_UNICODE_PROPERTIES = 6; + {$EXTERNALSYM PCRE_CONFIG_UNICODE_PROPERTIES} + PCRE_CONFIG_MATCH_LIMIT_RECURSION = 7; + {$EXTERNALSYM PCRE_CONFIG_MATCH_LIMIT_RECURSION} + + (* Bit flags for the pcre_extra structure *) + + PCRE_EXTRA_STUDY_DATA = $0001; + {$EXTERNALSYM PCRE_EXTRA_STUDY_DATA} + PCRE_EXTRA_MATCH_LIMIT = $0002; + {$EXTERNALSYM PCRE_EXTRA_MATCH_LIMIT} + PCRE_EXTRA_CALLOUT_DATA = $0004; + {$EXTERNALSYM PCRE_EXTRA_CALLOUT_DATA} + PCRE_EXTRA_TABLES = $0008; + {$EXTERNALSYM PCRE_EXTRA_TABLES} + PCRE_EXTRA_MATCH_LIMIT_RECURSION = $0010; + {$EXTERNALSYM PCRE_EXTRA_MATCH_LIMIT_RECURSION} + type (* Types *) PPChar = ^PChar; + {$EXTERNALSYM PPChar} PPPChar = ^PPChar; + {$EXTERNALSYM PPPChar} PInteger = ^Integer; + {$EXTERNALSYM PInteger} PPointer = ^Pointer; + {$EXTERNALSYM PPointer} real_pcre = record - magic_number: Longword; + {magic_number: Longword; size: Integer; tables: PChar; options: Longword; @@ -140,121 +237,264 @@ top_backref: word; first_char: PChar; req_char: PChar; - code: array [0..0] of Char; + code: array [0..0] of Char;} end; - //{$EXTERNALSYM real_pcre} + {$EXTERNALSYM real_pcre} TPCRE = real_pcre; + {$EXTERNALSYM TPCRE} PPCRE = ^TPCRE; + {$EXTERNALSYM PPCRE} real_pcre_extra = record - options: PChar; - start_bits: array [0..31] of Char; + {options: PChar; + start_bits: array [0..31] of Char;} + flags: Cardinal; (* Bits for which fields are set *) + study_data: Pointer; (* Opaque data from pcre_study() *) + match_limit: Cardinal; (* Maximum number of calls to match() *) + callout_data: Pointer; (* Data passed back in callouts *) + tables: PChar; (* Pointer to character tables *) + match_limit_recursion: Cardinal; (* Max recursive calls to match() *) end; - //{$EXTERNALSYM real_pcre_extra} + {$EXTERNALSYM real_pcre_extra} TPCREExtra = real_pcre_extra; + {$EXTERNALSYM TPCREExtra} PPCREExtra = ^TPCREExtra; + {$EXTERNALSYM PPCREExtra} + pcre_callout_block = record + version: Integer; (* Identifies version of block *) + (* ------------------------ Version 0 ------------------------------- *) + callout_number: Integer; (* Number compiled into pattern *) + offset_vector: PInteger; (* The offset vector *) + subject: PChar; (* The subject being matched *) + subject_length: Integer; (* The length of the subject *) + start_match: Integer; (* Offset to start of this match attempt *) + current_position: Integer; (* Where we currently are in the subject *) + capture_top: Integer; (* Max current capture *) + capture_last: Integer; (* Most recently closed capture *) + callout_data: Pointer; (* Data passed in with the call *) + (* ------------------- Added for Version 1 -------------------------- *) + pattern_position: Integer; (* Offset to next item in the pattern *) + next_item_length: Integer; (* Length of next item in the pattern *) + (* ------------------------------------------------------------------ *) + end; + {$EXTERNALSYM pcre_callout_block} + + pcre_malloc_callback = function(Size: Integer): Pointer; cdecl; + {$EXTERNALSYM pcre_malloc_callback} + pcre_free_callback = procedure(P: Pointer); cdecl; + {$EXTERNALSYM pcre_free_callback} + pcre_stack_malloc_callback = function(Size: Integer): Pointer; cdecl; + {$EXTERNALSYM pcre_stack_malloc_callback} + pcre_stack_free_callback = procedure(P: Pointer); cdecl; + {$EXTERNALSYM pcre_stack_free_callback} + pcre_callout_callback = procedure(var callout_block: pcre_callout_block); cdecl; + {$EXTERNALSYM pcre_callout_callback} + +var + // do not modify the following variables, use the setters/getters below + pcre_malloc: ^pcre_malloc_callback = nil; + {$EXTERNALSYM pcre_malloc} + pcre_free: ^pcre_free_callback = nil; + {$EXTERNALSYM pcre_free} + pcre_stack_malloc: ^pcre_stack_malloc_callback = nil; + {$EXTERNALSYM pcre_stack_malloc} + pcre_stack_free: ^pcre_stack_free_callback = nil; + {$EXTERNALSYM pcre_stack_free} + pcre_callout: ^pcre_callout_callback = nil; + {$EXTERNALSYM pcre_callout} + +procedure SetPCREMallocCallback(const FuncCallback: pcre_malloc_callback); +{$EXTERNALSYM SetPCREMallocCallback} +function GetPCREMallocCallback: pcre_malloc_callback; +{$EXTERNALSYM GetPCREMallocCallback} +procedure SetPCREFreeCallback(const FuncCallback: pcre_free_callback); +{$EXTERNALSYM SetPCREFreeCallback} +function GetPCREFreeCallback: pcre_free_callback; +{$EXTERNALSYM GetPCREFreeCallback} +procedure SetPCREStackMallocCallback(const FuncCallback: pcre_stack_malloc_callback); +{$EXTERNALSYM SetPCREStackMallocCallback} +function GetPCREStackMallocCallback: pcre_stack_malloc_callback; +{$EXTERNALSYM GetPCREStackMallocCallback} +procedure SetPCREStackFreeCallback(const FuncCallback: pcre_stack_free_callback); +{$EXTERNALSYM SetPCREStackFreeCallback} +function GetPCREStackFreeCallback: pcre_stack_free_callback; +{$EXTERNALSYM GetPCREStackFreeCallback} +procedure SetPCRECalloutCallback(const FuncCallback: pcre_callout_callback); +{$EXTERNALSYM SetPCRECalloutCallback} +function GetPCRECalloutCallback: pcre_callout_callback; +{$EXTERNALSYM GetPCRECalloutCallback} + +type + TPCRELibNotLoadedHandler = procedure; cdecl; + +var + // Value to initialize function pointers below with, in case LoadPCRE fails + // or UnloadPCRE is called. Typically the handler will raise an exception. + LibNotLoadedHandler: TPCRELibNotLoadedHandler = nil; + (* Functions *) {$IFNDEF PCRE_LINKONREQUEST} function pcre_compile(const pattern: PChar; options: Integer; const errptr: PPChar; erroffset: PInteger; const tableptr: PChar): PPCRE; cdecl; {$EXTERNALSYM pcre_compile} +function pcre_compile2(const pattern: PChar; options: Integer; + const errorcodeptr: PInteger; const errorptr: PPChar; erroroffset: PInteger; + const tables: PChar): PPCRE; cdecl; +{$EXTERNALSYM pcre_compile2} +function pcre_config(what: Integer; where: Pointer): Integer; cdecl; +{$EXTERNALSYM pcre_config} +function pcre_copy_named_substring(const code: PPCRE; const subject: PChar; + ovector: PInteger; stringcount: Integer; const stringname: PChar; + buffer: PChar; size: Integer): Integer; cdecl; +{$EXTERNALSYM pcre_copy_named_substring} function pcre_copy_substring(const subject: PChar; ovector: PInteger; stringcount, stringnumber: Integer; buffer: PChar; buffersize: Integer): Integer; cdecl; {$EXTERNALSYM pcre_copy_substring} +function pcre_dfa_exec(const argument_re: PPCRE; const extra_data: PPCREExtra; + const subject: PChar; length: Integer; start_offset: Integer; + options: Integer; offsets: PInteger; offsetcount: Integer; workspace: PInteger; + wscount: Integer): Integer; cdecl; +{$EXTERNALSYM pcre_dfa_exec} function pcre_exec(const code: PPCRE; const extra: PPCREExtra; const subject: PChar; + length, startoffset, options: Integer; ovector: PInteger; ovecsize: Integer): Integer; cdecl; {$EXTERNALSYM pcre_exec} - length, startoffset, options: Integer; ovector: PInteger; ovecsize: Integer): Integer; cdecl; -function pcre_study(const code: PPCRE; options: Integer; const errptr: PPChar): PPCREExtra; cdecl; -{$EXTERNALSYM pcre_study} -function pcre_get_substring(const subject: PChar; ovector: PInteger; -{$EXTERNALSYM pcre_get_substring} - stringcount, stringnumber: Integer; const stringptr: PPChar): Integer; cdecl; -function pcre_get_substring_list(const subject: PChar; ovector: PInteger; - stringcount: Integer; listptr: PPPChar): Integer; cdecl; -{$EXTERNALSYM pcre_get_substring_list} procedure pcre_free_substring(var stringptr: PChar); cdecl; {$EXTERNALSYM pcre_free_substring} procedure pcre_free_substring_list(var stringptr: PChar); cdecl; {$EXTERNALSYM pcre_free_substring_list} -function pcre_maketables: PChar; cdecl; -{$EXTERNALSYM pcre_maketables} function pcre_fullinfo(const code: PPCRE; const extra: PPCREExtra; what: Integer; where: Pointer): Integer; cdecl; {$EXTERNALSYM pcre_fullinfo} +function pcre_get_named_substring(const code: PPCRE; const subject: PChar; + ovector: PInteger; stringcount: Integer; const stringname: PChar; + const stringptr: PPChar): Integer; cdecl; +{$EXTERNALSYM pcre_get_named_substring} +function pcre_get_stringnumber(const code: PPCRE; const stringname: PChar): Integer; cdecl; +{$EXTERNALSYM pcre_get_stringnumber} +function pcre_get_stringtable_entries(const code: PPCRE; const stringname: PChar; + firstptr: PPChar; lastptr: PPChar): Integer; cdecl; +{$EXTERNALSYM pcre_get_stringtable_entries} +function pcre_get_substring(const subject: PChar; ovector: PInteger; + stringcount, stringnumber: Integer; const stringptr: PPChar): Integer; cdecl; +{$EXTERNALSYM pcre_get_substring} +function pcre_get_substring_list(const subject: PChar; ovector: PInteger; + stringcount: Integer; listptr: PPPChar): Integer; cdecl; +{$EXTERNALSYM pcre_get_substring_list} function pcre_info(const code: PPCRE; optptr, firstcharptr: PInteger): Integer; cdecl; {$EXTERNALSYM pcre_info} +function pcre_maketables: PChar; cdecl; +{$EXTERNALSYM pcre_maketables} +function pcre_refcount(argument_re: PPCRE; adjust: Integer): Integer; cdecl; +{$EXTERNALSYM pcre_refcount} +function pcre_study(const code: PPCRE; options: Integer; const errptr: PPChar): PPCREExtra; cdecl; +{$EXTERNALSYM pcre_study} function pcre_version: PChar; cdecl; {$EXTERNALSYM pcre_version} -// Don't use! These do *not* work!!! -function pcre_malloc(Size: Integer): Pointer; cdecl; -{$EXTERNALSYM pcre_malloc} -procedure pcre_free(P: Pointer); cdecl; -{$EXTERNALSYM pcre_free} - {$ELSE} // dynamic linking type - TPCRELibNotLoadedHandler = procedure; cdecl; pcre_compile_func = function(const pattern: PChar; options: Integer; const errptr: PPChar; erroffset: PInteger; const tableptr: PChar): PPCRE; cdecl; + {$EXTERNALSYM pcre_compile_func} + pcre_compile2_func = function(const pattern: PChar; options: Integer; + const errorcodeptr: PInteger; const errorptr: PPChar; erroroffset: PInteger; + const tables: PChar): PPCRE; cdecl; + {$EXTERNALSYM pcre_compile2_func} + pcre_config_func = function(what: Integer; where: Pointer): Integer; cdecl; + {$EXTERNALSYM pcre_config_func} + pcre_copy_named_substring_func = function(const code: PPCRE; const subject: PChar; + ovector: PInteger; stringcount: Integer; const stringname: PChar; + buffer: PChar; size: Integer): Integer; cdecl; + {$EXTERNALSYM pcre_copy_named_substring_func} pcre_copy_substring_func = function(const subject: PChar; ovector: PInteger; stringcount, stringnumber: Integer; buffer: PChar; buffersize: Integer): Integer; cdecl; + {$EXTERNALSYM pcre_copy_substring_func} + pcre_dfa_exec_func = function(const argument_re: PPCRE; const extra_data: PPCREExtra; + const subject: PChar; length: Integer; start_offset: Integer; + options: Integer; offsets: PInteger; offsetcount: Integer; workspace: PInteger; + wscount: Integer): Integer; cdecl; + {$EXTERNALSYM pcre_dfa_exec_func} pcre_exec_func = function(const code: PPCRE; const extra: PPCREExtra; const subject: PChar; length, startoffset, options: Integer; ovector: PInteger; ovecsize: Integer): Integer; cdecl; - pcre_study_func = function(const code: PPCRE; options: Integer; const errptr: PPChar): PPCREExtra; cdecl; + {$EXTERNALSYM pcre_exec_func} + pcre_free_substring_func = procedure(var stringptr: PChar); cdecl; + {$EXTERNALSYM pcre_free_substring_func} + pcre_free_substring_list_func = procedure(var stringptr: PChar); cdecl; + {$EXTERNALSYM pcre_free_substring_list_func} + pcre_fullinfo_func = function(const code: PPCRE; const extra: PPCREExtra; + what: Integer; where: Pointer): Integer; cdecl; + {$EXTERNALSYM pcre_fullinfo_func} + pcre_get_named_substring_func = function(const code: PPCRE; const subject: PChar; + ovector: PInteger; stringcount: Integer; const stringname: PChar; + const stringptr: PPChar): Integer; cdecl; + {$EXTERNALSYM pcre_get_named_substring_func} + pcre_get_stringnumber_func = function(const code: PPCRE; const stringname: PChar): Integer; cdecl; + {$EXTERNALSYM pcre_get_stringnumber_func} + pcre_get_stringtable_entries_func = function(const code: PPCRE; const stringname: PChar; + firstptr: PPChar; lastptr: PPChar): Integer; cdecl; + {$EXTERNALSYM pcre_get_stringtable_entries_func} pcre_get_substring_func = function(const subject: PChar; ovector: PInteger; stringcount, stringnumber: Integer; const stringptr: PPChar): Integer; cdecl; + {$EXTERNALSYM pcre_get_substring_func} pcre_get_substring_list_func = function(const subject: PChar; ovector: PInteger; stringcount: Integer; listptr: PPPChar): Integer; cdecl; - pcre_free_substring_func = procedure(var stringptr: PChar); cdecl; - pcre_free_substring_list_func = procedure(var stringptr: PChar); cdecl; + {$EXTERNALSYM pcre_get_substring_list_func} + pcre_info_func = function(const code: PPCRE; optptr, firstcharptr: PInteger): Integer; cdecl; + {$EXTERNALSYM pcre_info_func} pcre_maketables_func = function: PChar; cdecl; - pcre_fullinfo_func = function(const code: PPCRE; const extra: PPCREExtra; - what: Integer; where: Pointer): Integer; cdecl; - pcre_info_func = function(const code: PPCRE; optptr, firstcharptr: PInteger): Integer; cdecl; + {$EXTERNALSYM pcre_maketables_func} + pcre_refcount_func = function(argument_re: PPCRE; adjust: Integer): Integer; cdecl; + {$EXTERNALSYM pcre_refcount_func} + pcre_study_func = function(const code: PPCRE; options: Integer; const errptr: PPChar): PPCREExtra; cdecl; + {$EXTERNALSYM pcre_study_func} pcre_version_func = function: PChar; cdecl; + {$EXTERNALSYM pcre_version_func} - pcre_malloc_func = function(Size: Integer): Pointer; cdecl; - pcre_free_func = procedure(P: Pointer); cdecl; var - // Value to initialize function pointers below with, in case LoadPCRE fails - // or UnloadPCRE is called. Typically the handler will raise an exception. - LibNotLoadedHandler: TPCRELibNotLoadedHandler = nil; - pcre_compile: pcre_compile_func = nil; {$EXTERNALSYM pcre_compile} + pcre_compile2: pcre_compile2_func = nil; + {$EXTERNALSYM pcre_compile2} + pcre_config: pcre_config_func = nil; + {$EXTERNALSYM pcre_config} + pcre_copy_named_substring: pcre_copy_named_substring_func = nil; + {$EXTERNALSYM pcre_copy_named_substring} pcre_copy_substring: pcre_copy_substring_func = nil; {$EXTERNALSYM pcre_copy_substring} + pcre_dfa_exec: pcre_dfa_exec_func = nil; + {$EXTERNALSYM pcre_dfa_exec} pcre_exec: pcre_exec_func = nil; {$EXTERNALSYM pcre_exec} - pcre_study: pcre_study_func = nil; - {$EXTERNALSYM pcre_study} - pcre_get_substring: pcre_get_substring_func = nil; - {$EXTERNALSYM pcre_get_substring} - pcre_get_substring_list: pcre_get_substring_list_func = nil; - {$EXTERNALSYM pcre_get_substring_list} pcre_free_substring: pcre_free_substring_func = nil; {$EXTERNALSYM pcre_free_substring} pcre_free_substring_list: pcre_free_substring_list_func = nil; {$EXTERNALSYM pcre_free_substring_list} - pcre_maketables: pcre_maketables_func = nil; - {$EXTERNALSYM pcre_maketables} pcre_fullinfo: pcre_fullinfo_func = nil; {$EXTERNALSYM pcre_fullinfo} + pcre_get_named_substring: pcre_get_named_substring_func = nil; + {$EXTERNALSYM pcre_get_named_substring} + pcre_get_stringnumber: pcre_get_stringnumber_func = nil; + {$EXTERNALSYM pcre_get_stringnumber} + pcre_get_stringtable_entries: pcre_get_stringtable_entries_func = nil; + {$EXTERNALSYM pcre_get_stringtable_entries} + pcre_get_substring: pcre_get_substring_func = nil; + {$EXTERNALSYM pcre_get_substring} + pcre_get_substring_list: pcre_get_substring_list_func = nil; + {$EXTERNALSYM pcre_get_substring_list} pcre_info: pcre_info_func = nil; {$EXTERNALSYM pcre_info} + pcre_maketables: pcre_maketables_func = nil; + {$EXTERNALSYM pcre_maketables} + pcre_refcount: pcre_refcount_func = nil; + {$EXTERNALSYM pcre_refcount} + pcre_study: pcre_study_func = nil; + {$EXTERNALSYM pcre_study} pcre_version: pcre_version_func = nil; {$EXTERNALSYM pcre_version} - // Don't use! These don't work!!! - pcre_malloc: pcre_malloc_func = nil; - {$EXTERNALSYM pcre_malloc} - pcre_free: pcre_free_func = nil; - {$EXTERNALSYM pcre_free} - {$ENDIF ~PCRE_LINKONREQUEST} function IsPCRELoaded: Boolean; @@ -293,39 +533,200 @@ {$IFDEF UNIX} libpcremodulename = 'libpcre.so.0'; {$ENDIF UNIX} + PCRECompileExportName = 'pcre_compile'; + PCRECompile2ExportName = 'pcre_compile2'; + PCREConfigExportName = 'pcre_config'; + PCRECopyNamedSubstringExportName = 'pcre_copy_named_substring'; + PCRECopySubStringExportName = 'pcre_copy_substring'; + PCREDfaExecExportName = 'pcre_dfa_exec'; + PCREExecExportName = 'pcre_exec'; + PCREFreeSubStringExportName = 'pcre_free_substring'; + PCREFreeSubStringListExportName = 'pcre_free_substring_list'; + PCREFullInfoExportName = 'pcre_fullinfo'; + PCREGetNamedSubstringExportName = 'pcre_get_named_substring'; + PCREGetStringNumberExportName = 'pcre_get_stringnumber'; + PCREGetStringTableEntriesExportName = 'pcre_get_stringtable_entries'; + PCREGetSubStringExportName = 'pcre_get_substring'; + PCREGetSubStringListExportName = 'pcre_get_substring_list'; + PCREInfoExportName = 'pcre_info'; + PCREMakeTablesExportName = 'pcre_maketables'; + PCRERefCountExportName = 'pcre_refcount'; + PCREStudyExportName = 'pcre_study'; + PCREVersionExportName = 'pcre_version'; + PCREMallocExportName = 'pcre_malloc'; + PCREFreeExportName = 'pcre_free'; + PCREStackMallocExportName = 'pcre_stack_malloc'; + PCREStackFreeExportName = 'pcre_stack_free'; + PCRECalloutExportName = 'pcre_callout'; INVALID_MODULEHANDLE_VALUE = TModuleHandle(0); -{$IFDEF PCRE_LINKONREQUEST} var PCRELib: TModuleHandle = INVALID_MODULEHANDLE_VALUE; +procedure SetPCREMallocCallback(const FuncCallback: pcre_malloc_callback); +begin + if not Assigned(pcre_malloc) then + LoadPCRE; + + if Assigned(pcre_malloc) then + pcre_malloc^ := FuncCallback + else if Assigned(LibNotLoadedHandler) then + LibNotLoadedHandler; +end; + +function GetPCREMallocCallback: pcre_malloc_callback; +begin + if not Assigned(pcre_malloc) then + LoadPCRE; + + if not Assigned(pcre_malloc) then + begin + Result := nil; + if Assigned(LibNotLoadedHandler) then + LibNotLoadedHandler; + end + else + Result := pcre_malloc^ +end; + +procedure SetPCREFreeCallback(const FuncCallback: pcre_free_callback); +begin + if not Assigned(pcre_free) then + LoadPCRE; + + if Assigned(pcre_free) then + pcre_free^ := FuncCallback + else if Assigned(LibNotLoadedHandler) then + LibNotLoadedHandler; +end; + +function GetPCREFreeCallback: pcre_free_callback; +begin + if not Assigned(pcre_free) then + LoadPCRE; + + if not Assigned(pcre_free) then + begin + Result := nil; + if Assigned(LibNotLoadedHandler) then + LibNotLoadedHandler; + end + else + Result := pcre_free^ +end; + +procedure SetPCREStackMallocCallback(const FuncCallback: pcre_stack_malloc_callback); +begin + if not Assigned(pcre_stack_malloc) then + LoadPCRE; + + if Assigned(pcre_stack_malloc) then + pcre_stack_malloc^ := FuncCallback + else if Assigned(LibNotLoadedHandler) then + LibNotLoadedHandler; +end; + +function GetPCREStackMallocCallback: pcre_stack_malloc_callback; +begin + if not Assigned(pcre_stack_malloc) then + LoadPCRE; + + if not Assigned(pcre_stack_malloc) then + begin + Result := nil; + if Assigned(LibNotLoadedHandler) then + LibNotLoadedHandler; + end + else + Result := pcre_stack_malloc^; +end; + +procedure SetPCREStackFreeCallback(const FuncCallback: pcre_stack_free_callback); +begin + if not Assigned(pcre_stack_free) then + LoadPCRE; + + if Assigned(pcre_stack_free) then + pcre_stack_free^ := FuncCallback + else if Assigned(LibNotLoadedHandler) then + LibNotLoadedHandler; +end; + +function GetPCREStackFreeCallback: pcre_stack_free_callback; +begin + if not Assigned(pcre_stack_free) then + LoadPCRE; + + if not Assigned(pcre_stack_free) then + begin + Result := nil; + if Assigned(LibNotLoadedHandler) then + LibNotLoadedHandler; + end + else + Result := pcre_stack_free^; +end; + +procedure SetPCRECalloutCallback(const FuncCallback: pcre_callout_callback); +begin + if not Assigned(pcre_callout) then + LoadPCRE; + + if Assigned(pcre_callout) then + pcre_callout^ := FuncCallback + else if Assigned(LibNotLoadedHandler) then + LibNotLoadedHandler; +end; + +function GetPCRECalloutCallback: pcre_callout_callback; +begin + if not Assigned(pcre_callout) then + LoadPCRE; + + if not Assigned(pcre_callout) then + begin + Result := nil; + if Assigned(LibNotLoadedHandler) then + LibNotLoadedHandler; + end + else + Result := pcre_callout^; +end; + procedure InitPCREFuncPtrs(const Value: Pointer); begin + {$IFDEF PCRE_LINKONREQUEST} @pcre_compile := Value; + @pcre_compile2 := Value; + @pcre_config := Value; + @pcre_copy_named_substring := Value; @pcre_copy_substring := Value; + @pcre_dfa_exec := Value; @pcre_exec := Value; - @pcre_study := Value; - @pcre_get_substring := Value; - @pcre_get_substring_list := Value; @pcre_free_substring := Value; @pcre_free_substring_list := Value; - @pcre_maketables := Value; @pcre_fullinfo := Value; + @pcre_get_named_substring := Value; + @pcre_get_stringnumber := Value; + @pcre_get_stringtable_entries := Value; + @pcre_get_substring := Value; + @pcre_get_substring_list := Value; @pcre_info := Value; + @pcre_maketables := Value; + @pcre_refcount := Value; + @pcre_study := Value; @pcre_version := Value; - - @pcre_malloc := Value; - @pcre_free := Value; + {$ENDIF PCRE_LINKONREQUEST} + pcre_malloc := nil; + pcre_free := nil; + pcre_stack_malloc := nil; + pcre_stack_free := nil; + pcre_callout := nil; end; -{$ENDIF PCRE_LINKONREQUEST} function IsPCRELoaded: Boolean; begin - {$IFDEF PCRE_LINKONREQUEST} Result := PCRELib <> INVALID_MODULEHANDLE_VALUE; - {$ELSE} - Result := True; - {$ENDIF PCRE_LINKONREQUEST} end; function LoadPCRE: Boolean; @@ -344,7 +745,7 @@ Result := PCRELib <> INVALID_MODULEHANDLE_VALUE; if Result then Exit; - {$IFDEF PCRE_LINKONREQUEST} + if PCRELib = INVALID_MODULEHANDLE_VALUE then {$IFDEF MSWINDOWS} PCRELib := LoadLibrary(libpcremodulename); @@ -355,32 +756,40 @@ Result := PCRELib <> INVALID_MODULEHANDLE_VALUE; if Result then begin - @pcre_compile := GetSymbol('pcre_compile'); - @pcre_copy_substring := GetSymbol('pcre_copy_substring'); - @pcre_exec := GetSymbol('pcre_exec'); - @pcre_study := GetSymbol('pcre_study'); - @pcre_get_substring := GetSymbol('pcre_get_substring'); - @pcre_get_substring_list := GetSymbol('pcre_get_substring_list'); - @pcre_free_substring := GetSymbol('pcre_free_substring'); - @pcre_free_substring_list := GetSymbol('pcre_free_substring_list'); - @pcre_maketables := GetSymbol('pcre_maketables'); - @pcre_fullinfo := GetSymbol('pcre_fullinfo'); - @pcre_info := GetSymbol('pcre_info'); - @pcre_version := GetSymbol('pcre_version'); - - @pcre_malloc := GetSymbol('pcre_malloc'); - @pcre_free := GetSymbol('pcre_free'); + {$IFDEF PCRE_LINKONREQUEST} + @pcre_compile := GetSymbol(PCRECompileExportName); + @pcre_compile2 := GetSymbol(PCRECompile2ExportName); + @pcre_config := GetSymbol(PCREConfigExportName); + @pcre_copy_named_substring := GetSymbol(PCRECopyNamedSubstringExportName); + @pcre_copy_substring := GetSymbol(PCRECopySubStringExportName); + @pcre_dfa_exec := GetSymbol(PCREDfaExecExportName); + @pcre_exec := GetSymbol(PCREExecExportName); + @pcre_free_substring := GetSymbol(PCREFreeSubStringExportName); + @pcre_free_substring_list := GetSymbol(PCREFreeSubStringListExportName); + @pcre_fullinfo := GetSymbol(PCREFullInfoExportName); + @pcre_get_named_substring := GetSymbol(PCREGetNamedSubstringExportName); + @pcre_get_stringnumber := GetSymbol(PCREGetStringNumberExportName); + @pcre_get_stringtable_entries := GetSymbol(PCREGetStringTableEntriesExportName); + @pcre_get_substring := GetSymbol(PCREGetSubStringExportName); + @pcre_get_substring_list := GetSymbol(PCREGetSubStringListExportName); + @pcre_info := GetSymbol(PCREInfoExportName); + @pcre_maketables := GetSymbol(PCREMakeTablesExportName); + @pcre_refcount := GetSymbol(PCRERefCountExportName); + @pcre_study := GetSymbol(PCREStudyExportName); + @pcre_version := GetSymbol(PCREVersionExportName); + {$ENDIF PCRE_LINKONREQUEST} + pcre_malloc := GetSymbol(PCREMallocExportName); + pcre_free := GetSymbol(PCREFreeExportName); + pcre_stack_malloc := GetSymbol(PCREStackMallocExportName); + pcre_stack_free := GetSymbol(PCREStackFreeExportName); + pcre_callout := GetSymbol(PCRECalloutExportName); end else InitPCREFuncPtrs(@LibNotLoadedHandler); - {$ELSE} - Result := True; - {$ENDIF PCRE_LINKONREQUEST} end; procedure UnloadPCRE; begin - {$IFDEF PCRE_LINKONREQUEST} if PCRELib <> INVALID_MODULEHANDLE_VALUE then {$IFDEF MSWINDOWS} FreeLibrary(PCRELib); @@ -390,24 +799,29 @@ {$ENDIF UNIX} PCRELib := INVALID_MODULEHANDLE_VALUE; InitPCREFuncPtrs(@LibNotLoadedHandler); - {$ENDIF PCRE_LINKONREQUEST} end; {$IFNDEF PCRE_LINKONREQUEST} -function pcre_compile; external libpcremodulename name 'pcre_compile'; -function pcre_copy_substring; external libpcremodulename name 'pcre_copy_substring'; -function pcre_exec; external libpcremodulename name 'pcre_exec'; -function pcre_study; external libpcremodulename name 'pcre_study'; -function pcre_get_substring; external libpcremodulename name 'pcre_get_substring'; -function pcre_get_substring_list; external libpcremodulename name 'pcre_get_substring_list'; -procedure pcre_free_substring; external libpcremodulename name 'pcre_free_substring'; -procedure pcre_free_substring_list; external libpcremodulename name 'pcre_free_substring_list'; -function pcre_maketables; external libpcremodulename name 'pcre_maketables'; -function pcre_fullinfo; external libpcremodulename name 'pcre_fullinfo'; -function pcre_info; external libpcremodulename name 'pcre_info'; -function pcre_version; external libpcremodulename name 'pcre_version'; -function pcre_malloc; external libpcremodulename name 'pcre_malloc'; -procedure pcre_free; external libpcremodulename name 'pcre_free'; +function pcre_compile; external libpcremodulename name PCRECompileExportName; +function pcre_compile2; external libpcremodulename name PCRECompile2ExportName; +function pcre_config; external libpcremodulename name PCREConfigExportName; +function pcre_copy_named_substring; external libpcremodulename name PCRECopyNamedSubStringExportName; +function pcre_copy_substring; external libpcremodulename name PCRECopySubStringExportName; +function pcre_dfa_exec; external libpcremodulename name PCREDfaExecExportName; +function pcre_exec; external libpcremodulename name PCREExecExportName; +procedure pcre_free_substring; external libpcremodulename name PCREFreeSubStringExportName; +procedure pcre_free_substring_list; external libpcremodulename name PCREFreeSubStringListExportName; +function pcre_fullinfo; external libpcremodulename name PCREFullInfoExportName; +function pcre_get_named_substring; external libpcremodulename name PCREGetNamedSubStringExportName; +function pcre_get_stringnumber; external libpcremodulename name PCREGetStringNumberExportName; +function pcre_get_stringtable_entries; external libpcremodulename name PCREGetStringTableEntriesExportName; +function pcre_get_substring; external libpcremodulename name PCREGetSubStringExportName; +function pcre_get_substring_list; external libpcremodulename name PCREGetSubStringListExportName; +function pcre_info; external libpcremodulename name PCREInfoExportName; +function pcre_maketables; external libpcremodulename name PCREMakeTablesExportName; +function pcre_refcount; external libpcremodulename name PCRERefCountExportName; +function pcre_study; external libpcremodulename name PCREStudyExportName; +function pcre_version; external libpcremodulename name PCREVersionExportName; {$ENDIF ~PCRE_LINKONREQUEST} end. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-11 19:34:10
|
Revision: 1730 Author: outchy Date: 2006-08-11 12:34:03 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1730&view=rev Log Message: ----------- included files need to be updated too Modified Paths: -------------- trunk/thirdparty/zlib/how-to-update.txt Modified: trunk/thirdparty/zlib/how-to-update.txt =================================================================== --- trunk/thirdparty/zlib/how-to-update.txt 2006-08-11 18:19:48 UTC (rev 1729) +++ trunk/thirdparty/zlib/how-to-update.txt 2006-08-11 19:34:03 UTC (rev 1730) @@ -3,3 +3,4 @@ 1. Extract the source in jcl/source/zlib-X.Y.Z 2. Set the current directory to jcl/source/windows/obj 3. Execute makefile.mak +4. Update zconf.h, zlib.h and zutil.h in jcl/include \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-11 18:21:08
|
Revision: 1729 Author: outchy Date: 2006-08-11 11:19:48 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1729&view=rev Log Message: ----------- debug symbols and project files must not be in the repository Property Changed: ---------------- trunk/jcl/bin/ trunk/jcl/examples/ trunk/jcl/examples/common/ trunk/jcl/examples/common/containers/ trunk/jcl/examples/common/containers/algorithms/ trunk/jcl/examples/common/containers/hashing/ trunk/jcl/examples/common/containers/lists/ trunk/jcl/examples/common/containers/performance/ trunk/jcl/examples/common/containers/trees/ trunk/jcl/examples/common/expreval/ trunk/jcl/examples/common/filesearch/ trunk/jcl/examples/common/graphics/ trunk/jcl/examples/common/multimedia/ trunk/jcl/examples/common/numformat/ trunk/jcl/examples/common/pcre/ trunk/jcl/examples/common/rtti/ trunk/jcl/examples/common/sysinfo/ trunk/jcl/examples/common/textreader/ trunk/jcl/examples/common/unitversioning/ trunk/jcl/examples/dotnet/ trunk/jcl/examples/dotnet/JCLNetDemo/ trunk/jcl/examples/windows/ trunk/jcl/examples/windows/appinst/ trunk/jcl/examples/windows/asuser/ trunk/jcl/examples/windows/clr/ trunk/jcl/examples/windows/debug/ trunk/jcl/examples/windows/debug/framestrack/ trunk/jcl/examples/windows/debug/reportconverter/ trunk/jcl/examples/windows/debug/sourceloc/ trunk/jcl/examples/windows/debug/stacktrack/ trunk/jcl/examples/windows/debug/threadexcept/ trunk/jcl/examples/windows/delphitools/ trunk/jcl/examples/windows/delphitools/common/ trunk/jcl/examples/windows/delphitools/dependencyviewer/ trunk/jcl/examples/windows/delphitools/peviewer/ trunk/jcl/examples/windows/delphitools/resfix/ trunk/jcl/examples/windows/delphitools/screenjpg/ trunk/jcl/examples/windows/delphitools/toolhelpview/ trunk/jcl/examples/windows/edisdk/ trunk/jcl/examples/windows/edisdk/comserver/ trunk/jcl/examples/windows/edisdk/vb5/ trunk/jcl/examples/windows/fileversion/ trunk/jcl/examples/windows/lanman/ trunk/jcl/examples/windows/locales/ trunk/jcl/examples/windows/mapi/ trunk/jcl/examples/windows/multimedia/ trunk/jcl/examples/windows/ntfs/ trunk/jcl/examples/windows/ntservice/ trunk/jcl/examples/windows/peimage/ trunk/jcl/examples/windows/registry/ trunk/jcl/examples/windows/structstorage/ trunk/jcl/examples/windows/sysinfo/ trunk/jcl/examples/windows/tasks/ trunk/jcl/install/build/ trunk/jcl/packages/d10.net/ trunk/jcl/packages/d9/ trunk/jcl/packages/d9.net/ Property changes on: trunk/jcl/bin ___________________________________________________________________ Name: svn:ignore - *.exe *.log *.ini *.dll + *.exe *.log *.ini *.dll *.pdb Property changes on: trunk/jcl/examples ___________________________________________________________________ Name: svn:ignore - makefile.mak + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/containers ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/containers/algorithms ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/containers/hashing ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/containers/lists ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/containers/performance ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/containers/trees ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/expreval ___________________________________________________________________ Name: svn:ignore - Add.inc AddFunc.inc Funcs.txt MakeInc.dof MakeInc.dpr + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/filesearch ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/graphics ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/multimedia ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/numformat ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/pcre ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/rtti ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/sysinfo ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/textreader ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/common/unitversioning ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/dotnet ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/dotnet/JCLNetDemo ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/appinst ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/asuser ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/clr ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/debug ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/debug/framestrack ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/debug/reportconverter ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/debug/sourceloc ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/debug/stacktrack ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/debug/threadexcept ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/delphitools ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/delphitools/common ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/delphitools/dependencyviewer ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/delphitools/peviewer ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/delphitools/resfix ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/delphitools/screenjpg ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/delphitools/toolhelpview ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/edisdk ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/edisdk/comserver ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/edisdk/vb5 ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/fileversion ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/lanman ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/locales ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/mapi ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/multimedia ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/ntfs ___________________________________________________________________ Name: svn:ignore - JEDISoftLinks.dll + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/ntservice ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/peimage ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/registry ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/structstorage ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/sysinfo ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/examples/windows/tasks ___________________________________________________________________ Name: svn:ignore + makefile.mak *.identcache *.local *.cfg Property changes on: trunk/jcl/install/build ___________________________________________________________________ Name: svn:ignore + *.local *.identcache Property changes on: trunk/jcl/packages/d10.net ___________________________________________________________________ Name: svn:ignore + *.cfg *.identcache *.local Property changes on: trunk/jcl/packages/d9 ___________________________________________________________________ Name: svn:ignore - ModelSupport *.drc + ModelSupport *.drc *.local Property changes on: trunk/jcl/packages/d9.net ___________________________________________________________________ Name: svn:ignore + *.cfg *.identcache *.local *.rsp This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-11 16:31:18
|
Revision: 1728 Author: outchy Date: 2006-08-11 09:30:31 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1728&view=rev Log Message: ----------- .net libraries are now generated by the package generator Modified Paths: -------------- trunk/jcl/packages/d10.net/Jedi.Jcl.bdsproj trunk/jcl/packages/d10.net/Jedi.Jcl.dpr trunk/jcl/packages/d9.net/Jedi.Jcl.bdsproj trunk/jcl/packages/d9.net/Jedi.Jcl.dpr Added Paths: ----------- trunk/jcl/packages/d10.net/template.bdsproj trunk/jcl/packages/d10.net/template.dpr trunk/jcl/packages/d9.net/template.bdsproj trunk/jcl/packages/d9.net/template.dpr trunk/jcl/packages/xml/Jcl-L.xml Removed Paths: ------------- trunk/jcl/packages/d10.net/Jedi.Jcl.dpk Modified: trunk/jcl/packages/d10.net/Jedi.Jcl.bdsproj =================================================================== --- trunk/jcl/packages/d10.net/Jedi.Jcl.bdsproj 2006-08-11 16:27:44 UTC (rev 1727) +++ trunk/jcl/packages/d10.net/Jedi.Jcl.bdsproj 2006-08-11 16:30:31 UTC (rev 1728) @@ -1,182 +1,184 @@ <?xml version="1.0" encoding="utf-8"?> <BorlandProject> - <PersonalityInfo> - <Option> - <Option Name="Personality">DelphiDotNet.Personality</Option> - <Option Name="ProjectType"></Option> - <Option Name="Version">2.0</Option> - <Option Name="GUID">{4D90523B-3A77-422F-BCEE-13C0FF7EF21E}</Option> - </Option> - </PersonalityInfo> - <DelphiDotNet.Personality> - <Source> - <Source Name="MainSource">Jedi.Jcl.dpk</Source> - </Source> - <FileVersion> - <FileVersion Name="Version">7.0</FileVersion> - </FileVersion> - <Compiler> - <Compiler Name="A">0</Compiler> - <Compiler Name="B">0</Compiler> - <Compiler Name="C">1</Compiler> - <Compiler Name="D">1</Compiler> - <Compiler Name="E">0</Compiler> - <Compiler Name="F">0</Compiler> - <Compiler Name="G">1</Compiler> - <Compiler Name="H">1</Compiler> - <Compiler Name="I">1</Compiler> - <Compiler Name="J">0</Compiler> - <Compiler Name="K">0</Compiler> - <Compiler Name="L">1</Compiler> - <Compiler Name="M">0</Compiler> - <Compiler Name="N">1</Compiler> - <Compiler Name="O">1</Compiler> - <Compiler Name="P">1</Compiler> - <Compiler Name="Q">0</Compiler> - <Compiler Name="R">0</Compiler> - <Compiler Name="S">0</Compiler> - <Compiler Name="T">0</Compiler> - <Compiler Name="U">0</Compiler> - <Compiler Name="V">1</Compiler> - <Compiler Name="W">0</Compiler> - <Compiler Name="X">1</Compiler> - <Compiler Name="Y">1</Compiler> - <Compiler Name="Z">1</Compiler> - <Compiler Name="ShowHints">True</Compiler> - <Compiler Name="ShowWarnings">True</Compiler> - <Compiler Name="UnitAliases">WinTypes=Borland.Vcl.Windows;WinProcs=Borland.Vcl.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler> - <Compiler Name="NamespacePrefix"></Compiler> - <Compiler Name="GenerateDocumentation">False</Compiler> - <Compiler Name="DefaultNamespace">Jedi.Jcl</Compiler> - <Compiler Name="SymbolDeprecated">True</Compiler> - <Compiler Name="SymbolLibrary">True</Compiler> - <Compiler Name="SymbolPlatform">True</Compiler> - <Compiler Name="SymbolExperimental">True</Compiler> - <Compiler Name="UnitLibrary">True</Compiler> - <Compiler Name="UnitPlatform">True</Compiler> - <Compiler Name="UnitDeprecated">True</Compiler> - <Compiler Name="UnitExperimental">True</Compiler> - <Compiler Name="HResultCompat">True</Compiler> - <Compiler Name="HidingMember">True</Compiler> - <Compiler Name="HiddenVirtual">True</Compiler> - <Compiler Name="Garbage">True</Compiler> - <Compiler Name="BoundsError">True</Compiler> - <Compiler Name="ZeroNilCompat">True</Compiler> - <Compiler Name="StringConstTruncated">True</Compiler> - <Compiler Name="ForLoopVarVarPar">True</Compiler> - <Compiler Name="TypedConstVarPar">True</Compiler> - <Compiler Name="AsgToTypedConst">True</Compiler> - <Compiler Name="CaseLabelRange">True</Compiler> - <Compiler Name="ForVariable">True</Compiler> - <Compiler Name="ConstructingAbstract">True</Compiler> - <Compiler Name="ComparisonFalse">True</Compiler> - <Compiler Name="ComparisonTrue">True</Compiler> - <Compiler Name="ComparingSignedUnsigned">True</Compiler> - <Compiler Name="CombiningSignedUnsigned">True</Compiler> - <Compiler Name="UnsupportedConstruct">True</Compiler> - <Compiler Name="FileOpen">True</Compiler> - <Compiler Name="FileOpenUnitSrc">True</Compiler> - <Compiler Name="BadGlobalSymbol">True</Compiler> - <Compiler Name="DuplicateConstructorDestructor">True</Compiler> - <Compiler Name="InvalidDirective">True</Compiler> - <Compiler Name="PackageNoLink">True</Compiler> - <Compiler Name="PackageThreadVar">True</Compiler> - <Compiler Name="ImplicitImport">True</Compiler> - <Compiler Name="HPPEMITIgnored">True</Compiler> - <Compiler Name="NoRetVal">True</Compiler> - <Compiler Name="UseBeforeDef">True</Compiler> - <Compiler Name="ForLoopVarUndef">True</Compiler> - <Compiler Name="UnitNameMismatch">True</Compiler> - <Compiler Name="NoCFGFileFound">True</Compiler> - <Compiler Name="ImplicitVariants">True</Compiler> - <Compiler Name="UnicodeToLocale">True</Compiler> - <Compiler Name="LocaleToUnicode">True</Compiler> - <Compiler Name="ImagebaseMultiple">True</Compiler> - <Compiler Name="SuspiciousTypecast">True</Compiler> - <Compiler Name="PrivatePropAccessor">True</Compiler> - <Compiler Name="UnsafeType">True</Compiler> - <Compiler Name="UnsafeCode">True</Compiler> - <Compiler Name="UnsafeCast">True</Compiler> - <Compiler Name="OptionTruncated">True</Compiler> - <Compiler Name="WideCharReduced">True</Compiler> - <Compiler Name="DuplicatesIgnored">True</Compiler> - <Compiler Name="UnitInitSeq">True</Compiler> - <Compiler Name="LocalPInvoke">True</Compiler> - <Compiler Name="MessageDirective">True</Compiler> - <Compiler Name="CodePage"></Compiler> - </Compiler> - <Linker> - <Linker Name="MapFile">0</Linker> - <Linker Name="OutputObjs">0</Linker> - <Linker Name="GenerateHpps">False</Linker> - <Linker Name="ConsoleApp">1</Linker> - <Linker Name="DebugInfo">True</Linker> - <Linker Name="RemoteSymbols">False</Linker> - <Linker Name="GenerateDRC">False</Linker> - <Linker Name="MinStackSize">4096</Linker> - <Linker Name="MaxStackSize">1048576</Linker> - <Linker Name="ImageBase">4194304</Linker> - <Linker Name="ExeDescription">JEDI Code Library for .NET</Linker> - </Linker> - <Directories> - <Directories Name="OutputDir"></Directories> - <Directories Name="UnitOutputDir">..\..\lib\d10.net</Directories> - <Directories Name="PackageDLLOutputDir">..\..\lib\d10.net</Directories> - <Directories Name="PackageDCPOutputDir">..\..\lib\d10.net</Directories> - <Directories Name="SearchPath">c:\programme\gemeinsame dateien\borland shared\bds\shared assemblies\4.0</Directories> - <Directories Name="Packages">Borland.VclRtl;Borland.Vcl;Borland.Delphi</Directories> - <Directories Name="Conditionals"></Directories> - <Directories Name="DebugSourceDirs"></Directories> - <Directories Name="UsePackages">False</Directories> - </Directories> - <Parameters> - <Parameters Name="RunParams"></Parameters> - <Parameters Name="HostApplication"></Parameters> - <Parameters Name="Launcher"></Parameters> - <Parameters Name="UseLauncher">False</Parameters> - <Parameters Name="DebugCWD"></Parameters> - <Parameters Name="Debug Symbols Search Path"></Parameters> - <Parameters Name="LoadAllSymbols">True</Parameters> - <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> - </Parameters> - <Language> - <Language Name="ActiveLang"></Language> - <Language Name="ProjectLang">$00000000</Language> - <Language Name="RootDir"></Language> - </Language> - <VersionInfo> - <VersionInfo Name="IncludeVerInfo">True</VersionInfo> - <VersionInfo Name="AutoIncBuild">False</VersionInfo> - <VersionInfo Name="MajorVer">1</VersionInfo> - <VersionInfo Name="MinorVer">0</VersionInfo> - <VersionInfo Name="Release">0</VersionInfo> - <VersionInfo Name="Build">0</VersionInfo> - <VersionInfo Name="Debug">False</VersionInfo> - <VersionInfo Name="PreRelease">False</VersionInfo> - <VersionInfo Name="Special">False</VersionInfo> - <VersionInfo Name="Private">False</VersionInfo> - <VersionInfo Name="DLL">False</VersionInfo> - <VersionInfo Name="Locale">1031</VersionInfo> - <VersionInfo Name="CodePage">1252</VersionInfo> - </VersionInfo> - <VersionInfoKeys> - <VersionInfoKeys Name="CompanyName"></VersionInfoKeys> - <VersionInfoKeys Name="FileDescription"></VersionInfoKeys> - <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys> - <VersionInfoKeys Name="InternalName"></VersionInfoKeys> - <VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys> - <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> - <VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys> - <VersionInfoKeys Name="ProductName"></VersionInfoKeys> - <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys> - <VersionInfoKeys Name="Comments"></VersionInfoKeys> - </VersionInfoKeys> - - + <PersonalityInfo> + <Option> + <Option Name="Personality">DelphiDotNet.Personality</Option> + <Option Name="ProjectType">Library</Option> + <Option Name="Version">2.0</Option> + <Option Name="GUID">{44DB645B-C167-410D-9334-38AF9F0C7913}</Option> + </Option> + </PersonalityInfo> + <DelphiDotNet.Personality> + <Source> + <Source Name="MainSource">Jedi.Jcl.dpr</Source> + </Source> + <FileVersion> + <FileVersion Name="Version">7.0</FileVersion> + </FileVersion> + <Compiler> + <Compiler Name="A">0</Compiler> + <Compiler Name="B">0</Compiler> + <Compiler Name="C">1</Compiler> + <Compiler Name="D">1</Compiler> + <Compiler Name="E">0</Compiler> + <Compiler Name="F">0</Compiler> + <Compiler Name="G">1</Compiler> + <Compiler Name="H">1</Compiler> + <Compiler Name="I">1</Compiler> + <Compiler Name="J">0</Compiler> + <Compiler Name="K">0</Compiler> + <Compiler Name="L">1</Compiler> + <Compiler Name="M">0</Compiler> + <Compiler Name="N">1</Compiler> + <Compiler Name="O">1</Compiler> + <Compiler Name="P">1</Compiler> + <Compiler Name="Q">0</Compiler> + <Compiler Name="R">0</Compiler> + <Compiler Name="S">0</Compiler> + <Compiler Name="T">0</Compiler> + <Compiler Name="U">0</Compiler> + <Compiler Name="V">1</Compiler> + <Compiler Name="W">0</Compiler> + <Compiler Name="X">1</Compiler> + <Compiler Name="Y">1</Compiler> + <Compiler Name="Z">1</Compiler> + <Compiler Name="ShowHints">True</Compiler> + <Compiler Name="ShowWarnings">True</Compiler> + <Compiler Name="UnitAliases"></Compiler> + <Compiler Name="NamespacePrefix"></Compiler> + <Compiler Name="GenerateDocumentation">False</Compiler> + <Compiler Name="DefaultNamespace">Jedi.Jcl</Compiler> + <Compiler Name="SymbolDeprecated">True</Compiler> + <Compiler Name="SymbolLibrary">True</Compiler> + <Compiler Name="SymbolPlatform">True</Compiler> + <Compiler Name="SymbolExperimental">True</Compiler> + <Compiler Name="UnitLibrary">True</Compiler> + <Compiler Name="UnitPlatform">True</Compiler> + <Compiler Name="UnitDeprecated">True</Compiler> + <Compiler Name="UnitExperimental">True</Compiler> + <Compiler Name="HResultCompat">True</Compiler> + <Compiler Name="HidingMember">True</Compiler> + <Compiler Name="HiddenVirtual">True</Compiler> + <Compiler Name="Garbage">True</Compiler> + <Compiler Name="BoundsError">True</Compiler> + <Compiler Name="ZeroNilCompat">True</Compiler> + <Compiler Name="StringConstTruncated">True</Compiler> + <Compiler Name="ForLoopVarVarPar">True</Compiler> + <Compiler Name="TypedConstVarPar">True</Compiler> + <Compiler Name="AsgToTypedConst">True</Compiler> + <Compiler Name="CaseLabelRange">True</Compiler> + <Compiler Name="ForVariable">True</Compiler> + <Compiler Name="ConstructingAbstract">True</Compiler> + <Compiler Name="ComparisonFalse">True</Compiler> + <Compiler Name="ComparisonTrue">True</Compiler> + <Compiler Name="ComparingSignedUnsigned">True</Compiler> + <Compiler Name="CombiningSignedUnsigned">True</Compiler> + <Compiler Name="UnsupportedConstruct">True</Compiler> + <Compiler Name="FileOpen">True</Compiler> + <Compiler Name="FileOpenUnitSrc">True</Compiler> + <Compiler Name="BadGlobalSymbol">True</Compiler> + <Compiler Name="DuplicateConstructorDestructor">True</Compiler> + <Compiler Name="InvalidDirective">True</Compiler> + <Compiler Name="PackageNoLink">True</Compiler> + <Compiler Name="PackageThreadVar">True</Compiler> + <Compiler Name="ImplicitImport">True</Compiler> + <Compiler Name="HPPEMITIgnored">True</Compiler> + <Compiler Name="NoRetVal">True</Compiler> + <Compiler Name="UseBeforeDef">True</Compiler> + <Compiler Name="ForLoopVarUndef">True</Compiler> + <Compiler Name="UnitNameMismatch">True</Compiler> + <Compiler Name="NoCFGFileFound">True</Compiler> + <Compiler Name="MessageDirective">True</Compiler> + <Compiler Name="ImplicitVariants">True</Compiler> + <Compiler Name="UnicodeToLocale">True</Compiler> + <Compiler Name="LocaleToUnicode">True</Compiler> + <Compiler Name="ImagebaseMultiple">True</Compiler> + <Compiler Name="SuspiciousTypecast">True</Compiler> + <Compiler Name="PrivatePropAccessor">True</Compiler> + <Compiler Name="UnsafeType">True</Compiler> + <Compiler Name="UnsafeCode">True</Compiler> + <Compiler Name="UnsafeCast">True</Compiler> + <Compiler Name="OptionTruncated">True</Compiler> + <Compiler Name="WideCharReduced">True</Compiler> + <Compiler Name="DuplicatesIgnored">True</Compiler> + <Compiler Name="UnitInitSeq">True</Compiler> + <Compiler Name="LocalPInvoke">True</Compiler> + <Compiler Name="CodePage"></Compiler> + </Compiler> + <Linker> + <Linker Name="MapFile">0</Linker> + <Linker Name="OutputObjs">0</Linker> + <Linker Name="ConsoleApp">1</Linker> + <Linker Name="DebugInfo">True</Linker> + <Linker Name="RemoteSymbols">False</Linker> + <Linker Name="GenerateDRC">False</Linker> + <Linker Name="MinStackSize">4096</Linker> + <Linker Name="MaxStackSize">1048576</Linker> + <Linker Name="ImageBase">4194304</Linker> + <Linker Name="ExeDescription"></Linker> + <Linker Name="GenerateHpps">False</Linker> + </Linker> + <Directories> + <Directories Name="OutputDir">..\..\bin</Directories> + <Directories Name="UnitOutputDir">..\..\lib\d9.net</Directories> + <Directories Name="PackageDLLOutputDir"></Directories> + <Directories Name="PackageDCPOutputDir"></Directories> + <Directories Name="SearchPath"></Directories> + <Directories Name="Packages"></Directories> + <Directories Name="Conditionals"></Directories> + <Directories Name="DebugSourceDirs"></Directories> + <Directories Name="UsePackages">True</Directories> + </Directories> + <Parameters> + <Parameters Name="RunParams"></Parameters> + <Parameters Name="HostApplication"></Parameters> + <Parameters Name="Launcher"></Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="DebugCWD"></Parameters> + <Parameters Name="RemoteHost"></Parameters> + <Parameters Name="RemotePath"></Parameters> + <Parameters Name="RemoteLauncher"></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> + <Language> + <Language Name="ActiveLang"></Language> + <Language Name="ProjectLang">$00000000</Language> + <Language Name="RootDir"></Language> + </Language> + <VersionInfo> + <VersionInfo Name="IncludeVerInfo">False</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">1</VersionInfo> + <VersionInfo Name="MinorVer">97</VersionInfo> + <VersionInfo Name="Release">1</VersionInfo> + <VersionInfo Name="Build">2172</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">True</VersionInfo> + <VersionInfo Name="Locale">1031</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName"></VersionInfoKeys> + <VersionInfoKeys Name="FileDescription"></VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">1.96.1.2070</VersionInfoKeys> + <VersionInfoKeys Name="InternalName">Jedi.Jcl</VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2005 Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename">Jedi.Jcl90.dll</VersionInfoKeys> + <VersionInfoKeys Name="ProductName">Jedi Code Library</VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">1.97 Build 2172</VersionInfoKeys> + <VersionInfoKeys Name="Comments"></VersionInfoKeys> + </VersionInfoKeys> <FileList> - <File FileName="c:\programme\gemeinsame dateien\borland shared\bds\shared assemblies\4.0\Borland.Delphi.dll" ContainerId="DelphiDotNetAssemblyCompiler" ModuleName="Borland.Delphi" AssemblyName="borland.delphi" Version="10.0.4143.0" LinkUnits="False"/> - <File FileName="c:\programme\gemeinsame dateien\borland shared\bds\shared assemblies\4.0\Borland.Vcl.dll" ContainerId="DelphiDotNetAssemblyCompiler" ModuleName="Borland.Vcl" AssemblyName="Borland.Vcl" Version="10.0.4143.0" LinkUnits="False"/> - <File FileName="c:\programme\gemeinsame dateien\borland shared\bds\shared assemblies\4.0\Borland.VclRtl.dll" ContainerId="DelphiDotNetAssemblyCompiler" ModuleName="Borland.VclRtl" AssemblyName="Borland.VclRtl" Version="10.0.4143.0" LinkUnits="False"/> + <File FileName="" ContainerId="" ModuleName="System.Reflection"/> + <File FileName="" ContainerId="" ModuleName="System.Runtime.InteropServices"/> <File FileName="..\..\source\common\JclAbstractContainers.pas" ContainerId="" ModuleName="JclAbstractContainers"/> <File FileName="..\..\source\common\JclAlgorithms.pas" ContainerId="" ModuleName="JclAlgorithms"/> <File FileName="..\..\source\common\JclAnsiStrings.pas" ContainerId="" ModuleName="JclAnsiStrings"/> @@ -188,6 +190,7 @@ <File FileName="..\..\source\common\JclContainerIntf.pas" ContainerId="" ModuleName="JclContainerIntf"/> <File FileName="..\..\source\common\JclDateTime.pas" ContainerId="" ModuleName="JclDateTime"/> <File FileName="..\..\source\common\JclFileUtils.pas" ContainerId="" ModuleName="JclFileUtils"/> + <File FileName="..\..\source\common\JclHashMaps.pas" ContainerId="" ModuleName="JclHashMaps"/> <File FileName="..\..\source\common\JclHashSets.pas" ContainerId="" ModuleName="JclHashSets"/> <File FileName="..\..\source\common\JclIniFiles.pas" ContainerId="" ModuleName="JclIniFiles"/> <File FileName="..\..\source\common\JclLinkedLists.pas" ContainerId="" ModuleName="JclLinkedLists"/> @@ -205,7 +208,6 @@ <File FileName="..\..\source\common\JclUnitConv.pas" ContainerId="" ModuleName="JclUnitConv"/> <File FileName="..\..\source\common\JclValidation.pas" ContainerId="" ModuleName="JclValidation"/> <File FileName="..\..\source\common\JclVectors.pas" ContainerId="" ModuleName="JclVectors"/> - <File FileName="..\..\source\common\JclHashMaps.pas" ContainerId="" ModuleName="JclHashMaps"/> </FileList> </DelphiDotNet.Personality> </BorlandProject> Deleted: trunk/jcl/packages/d10.net/Jedi.Jcl.dpk =================================================================== --- trunk/jcl/packages/d10.net/Jedi.Jcl.dpk 2006-08-11 16:27:44 UTC (rev 1727) +++ trunk/jcl/packages/d10.net/Jedi.Jcl.dpk 2006-08-11 16:30:31 UTC (rev 1728) @@ -1,135 +0,0 @@ -package Jedi.Jcl; - - -{$ALIGN 0} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO ON} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'JEDI Code Library for .NET'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - Borland.Delphi, - Borland.Vcl, - Borland.VclRtl; - -contains - JclAbstractContainers in '..\..\source\common\JclAbstractContainers.pas', - JclAlgorithms in '..\..\source\common\JclAlgorithms.pas', - JclAnsiStrings in '..\..\source\common\JclAnsiStrings.pas', - JclArrayLists in '..\..\source\common\JclArrayLists.pas', - JclArraySets in '..\..\source\common\JclArraySets.pas', - JclBase in '..\..\source\common\JclBase.pas', - JclBinaryTrees in '..\..\source\common\JclBinaryTrees.pas', - JclComplex in '..\..\source\common\JclComplex.pas', - JclContainerIntf in '..\..\source\common\JclContainerIntf.pas', - JclDateTime in '..\..\source\common\JclDateTime.pas', - JclFileUtils in '..\..\source\common\JclFileUtils.pas', - JclHashSets in '..\..\source\common\JclHashSets.pas', - JclIniFiles in '..\..\source\common\JclIniFiles.pas', - JclLinkedLists in '..\..\source\common\JclLinkedLists.pas', - JclLogic in '..\..\source\common\JclLogic.pas', - JclMath in '..\..\source\common\JclMath.pas', - JclMime in '..\..\source\common\JclMime.pas', - JclQueues in '..\..\source\common\JclQueues.pas', - JclResources in '..\..\source\common\JclResources.pas', - JclRTTI in '..\..\source\common\JclRTTI.pas', - JclStacks in '..\..\source\common\JclStacks.pas', - JclStatistics in '..\..\source\common\JclStatistics.pas', - JclStrings in '..\..\source\common\JclStrings.pas', - JclSysInfo in '..\..\source\common\JclSysInfo.pas', - JclSysUtils in '..\..\source\common\JclSysUtils.pas', - JclUnitConv in '..\..\source\common\JclUnitConv.pas', - JclValidation in '..\..\source\common\JclValidation.pas', - JclVectors in '..\..\source\common\JclVectors.pas', - JclHashMaps in '..\..\source\common\JclHashMaps.pas'; - -[assembly: AssemblyDescription('')] -[assembly: AssemblyConfiguration('')] -[assembly: AssemblyCompany('')] -[assembly: AssemblyProduct('')] -[assembly: AssemblyCopyright('')] -[assembly: AssemblyTrademark('')] -[assembly: AssemblyCulture('')] - - -// Der Delphi-Compiler steuert AssemblyTitleAttribute via ExeDescription. -// Sie k\xF6nnen dies in der IDE \xFCber Projekt/Optionen festlegen. -// Wenn Sie das Attribut AssemblyTitle wie unten gezeigt manuell festlegen, -// wird die IDE-Einstellung \xFCberschrieben. -// [assembly: AssemblyTitle('')] - - -// -// Die Versionsinformation einer Assemblierung enth\xE4lt die folgenden vier Werte: -// -// Hauptversion -// Nebenversion -// Build-Nummer -// Revision -// -// Sie k\xF6nnen alle vier Werte festlegen oder f\xFCr Revision und Build-Nummern die -// Standardwerte mit '*' - wie nachfolgend gezeigt - verwenden: - -[assembly: AssemblyVersion('1.0.*')] - -// -// Zum Signieren einer Assemblierung m\xFCssen Sie einen Schl\xFCssel angeben. Weitere Informationen -// \xFCber das Signieren von Assemblierungen finden Sie in der Microsoft .NET Framework-Dokumentation. -// -// Mit den folgenden Attributen steuern Sie, welcher Schl\xFCssel f\xFCr die Signatur verwendet wird. -// -// Hinweise: -// (*) Wenn kein Schl\xFCssel angegeben wird, ist die Assemblierung nicht signiert. -// (*) KeyName verweist auf einen Schl\xFCssel, der im Crypto Service Provider -// (CSP) auf Ihrem Rechner installiert wurde. KeyFile verweist auf eine -// Datei, die einen Schl\xFCssel enth\xE4lt. -// (*) Wenn sowohl der KeyFile- als auch der KeyName-Wert angegeben ist, wird -// die folgende Verarbeitung durchgef\xFChrt: -// (1) Wenn KeyName in dem CSP gefunden wird, wird dieser Schl\xFCssel verwendet. -// (2) Wenn KeyName nicht, aber KeyFile vorhanden ist, wird der Schl\xFCssel -// in KeyFile im CSP installiert und verwendet. -// (*) Ein KeyFile k\xF6nnen Sie mit dem Utility sn.exe (Starker Name) erzeugen. -// Der Speicherort von KeyFile sollte relativ zum Projektausgabeverzeichnis -// angegeben werden. Wenn sich Ihr KeyFile im Projektverzeichnis befindet, -// w\xFCrden Sie AssemblyKeyFile folgenderma\xDFen festlegen: -// [assembly: AssemblyKeyFile('mykey.snk')], vorausgesetzt, Ihr -// Ausgabeverzeichnis ist das Projektverzeichnis (Vorgabe). -// (*) Verz\xF6gerte Signatur ist eine erweiterte Option; n\xE4here Informationen -// dazu finden Sie in der Microsoft .NET Framework-Dokumentation. -// -[assembly: AssemblyDelaySign(false)] -[assembly: AssemblyKeyFile('')] -[assembly: AssemblyKeyName('')] - -// -// Verwenden Sie die folgenden Attribute zur Steuerung der COM-Sichtbarkeit Ihrer Assemblierung. -// Standardm\xE4\xDFig ist die gesamte Assemblierung f\xFCr COM sichtbar. Die Einstellung false f\xFCr ComVisible -// ist die f\xFCr Ihre Assemblierung empfohlene Vorgabe. Um dann eine Klasse und ein Interface f\xFCr COM -// bereitzustellen, setzen Sie jeweils ComVisible auf true. Es wird auch empfohlen das Attribut -// Guid hinzuzuf\xFCgen. -// - -[assembly: ComVisible(False)] -//[assembly: Guid('')] -//[assembly: TypeLibVersion(1, 0)] - -end. Modified: trunk/jcl/packages/d10.net/Jedi.Jcl.dpr =================================================================== --- trunk/jcl/packages/d10.net/Jedi.Jcl.dpr 2006-08-11 16:27:44 UTC (rev 1727) +++ trunk/jcl/packages/d10.net/Jedi.Jcl.dpr 2006-08-11 16:30:31 UTC (rev 1728) @@ -1,42 +1,44 @@ -library Jedi.Jcl; +Library Jedi.Jcl; uses System.Reflection, - System.Runtime.InteropServices, - JclAbstractContainers in '..\..\source\common\JclAbstractContainers.pas', - JclAlgorithms in '..\..\source\common\JclAlgorithms.pas', - JclAnsiStrings in '..\..\source\common\JclAnsiStrings.pas', - JclArrayLists in '..\..\source\common\JclArrayLists.pas', - JclArraySets in '..\..\source\common\JclArraySets.pas', - JclBase in '..\..\source\common\JclBase.pas', - JclBinaryTrees in '..\..\source\common\JclBinaryTrees.pas', - JclComplex in '..\..\source\common\JclComplex.pas', - JclContainerIntf in '..\..\source\common\JclContainerIntf.pas', - JclDateTime in '..\..\source\common\JclDateTime.pas', - JclFileUtils in '..\..\source\common\JclFileUtils.pas', - JclHashSets in '..\..\source\common\JclHashSets.pas', - JclIniFiles in '..\..\source\common\JclIniFiles.pas', - JclLinkedLists in '..\..\source\common\JclLinkedLists.pas', - JclLogic in '..\..\source\common\JclLogic.pas', - JclMath in '..\..\source\common\JclMath.pas', - JclMime in '..\..\source\common\JclMime.pas', - JclQueues in '..\..\source\common\JclQueues.pas', - JclResources in '..\..\source\common\JclResources.pas', - JclRTTI in '..\..\source\common\JclRTTI.pas', - JclStacks in '..\..\source\common\JclStacks.pas', - JclStatistics in '..\..\source\common\JclStatistics.pas', - JclStrings in '..\..\source\common\JclStrings.pas', - JclSysInfo in '..\..\source\common\JclSysInfo.pas', - JclSysUtils in '..\..\source\common\JclSysUtils.pas', - JclUnitConv in '..\..\source\common\JclUnitConv.pas', - JclValidation in '..\..\source\common\JclValidation.pas', - JclVectors in '..\..\source\common\JclVectors.pas', - JclHashMaps in '..\..\source\common\JclHashMaps.pas'; + System.Runtime.InteropServices + , + JclAbstractContainers in '..\..\source\common\JclAbstractContainers.pas' , + JclAlgorithms in '..\..\source\common\JclAlgorithms.pas' , + JclAnsiStrings in '..\..\source\common\JclAnsiStrings.pas' , + JclArrayLists in '..\..\source\common\JclArrayLists.pas' , + JclArraySets in '..\..\source\common\JclArraySets.pas' , + JclBase in '..\..\source\common\JclBase.pas' , + JclBinaryTrees in '..\..\source\common\JclBinaryTrees.pas' , + JclComplex in '..\..\source\common\JclComplex.pas' , + JclContainerIntf in '..\..\source\common\JclContainerIntf.pas' , + JclDateTime in '..\..\source\common\JclDateTime.pas' , + JclFileUtils in '..\..\source\common\JclFileUtils.pas' , + JclHashMaps in '..\..\source\common\JclHashMaps.pas' , + JclHashSets in '..\..\source\common\JclHashSets.pas' , + JclIniFiles in '..\..\source\common\JclIniFiles.pas' , + JclLinkedLists in '..\..\source\common\JclLinkedLists.pas' , + JclLogic in '..\..\source\common\JclLogic.pas' , + JclMath in '..\..\source\common\JclMath.pas' , + JclMime in '..\..\source\common\JclMime.pas' , + JclQueues in '..\..\source\common\JclQueues.pas' , + JclResources in '..\..\source\common\JclResources.pas' , + JclRTTI in '..\..\source\common\JclRTTI.pas' , + JclStacks in '..\..\source\common\JclStacks.pas' , + JclStatistics in '..\..\source\common\JclStatistics.pas' , + JclStrings in '..\..\source\common\JclStrings.pas' , + JclSysInfo in '..\..\source\common\JclSysInfo.pas' , + JclSysUtils in '..\..\source\common\JclSysUtils.pas' , + JclUnitConv in '..\..\source\common\JclUnitConv.pas' , + JclValidation in '..\..\source\common\JclValidation.pas' , + JclVectors in '..\..\source\common\JclVectors.pas' + ; {$LIBSUFFIX '10'} [assembly: AssemblyTitle('JEDI Code Library')] -[assembly: AssemblyDescription('Functions and classes')] +[assembly: AssemblyDescription('JEDI Code Library RTL package')] [assembly: AssemblyConfiguration('')] [assembly: AssemblyCompany('')] [assembly: AssemblyProduct('JCL')] @@ -44,56 +46,15 @@ [assembly: AssemblyTrademark('')] [assembly: AssemblyCulture('')] -// -// Die Versionsinformation einer Assemblierung enth\xE4lt die folgenden vier Werte: -// -// Hauptversion -// Nebenversion -// Build-Nummer -// Revision -// -// Sie k\xF6nnen alle vier Werte festlegen oder f\xFCr Revision und Build-Nummer die -// Standardwerte mit '*' - wie nachfolgend gezeigt - verwenden: - +// MajorVersion.MinorVersion.BuildNumber.Revision [assembly: AssemblyVersion('1.0.*')] -// -// Zum Signieren einer Assemblierung m\xFCssen Sie einen Schl\xFCssel angeben. Weitere Informationen -// \xFCber das Signieren von Assemblierungen finden Sie in der Microsoft .NET Framework-Dokumentation. -// -// Mit den folgenden Attributen steuern Sie, welcher Schl\xFCssel f\xFCr die Signatur verwendet wird. - -// Hinweise: -// (*) Wenn kein Schl\xFCssel angegeben wird, ist die Assemblierung nicht signiert. -// (*) KeyName verweist auf einen Schl\xFCssel, der im Crypto Service Provider -// (CSP) auf Ihrem Rechner installiert wurde. KeyFile verweist auf eine -// Datei, die einen Schl\xFCssel enth\xE4lt. -// (*) Wenn sowohl der KeyFile- als auch der KeyName-Wert angegeben ist, wird -// die folgende Verarbeitung durchgef\xFChrt: -// (1) Wenn KeyName in dem CSP gefunden wird, wird dieser Schl\xFCssel verwendet. -// (2) Wenn KeyName nicht, aber KeyFile vorhanden ist, wird der Schl\xFCssel -// in KeyFile im CSP installiert und verwendet. -// (*) Ein KeyFile k\xF6nnen Sie mit dem Utility sn.exe (Starker Name) erzeugen. -// Der Speicherort von KeyFile sollte relativ zum Projektausgabeverzeichnis -// angegeben werden. Wenn sich Ihr KeyFile im Projektverzeichnis befindet, -// w\xFCrden Sie das Attribut AssemblyKeyFile folgenderma\xDFen festlegen: -// [assembly: AssemblyKeyFile('mykey.snk')], vorausgesetzt, Ihr -// Ausgabeverzeichnis ist das Projektverzeichnis (Vorgabe). -// (*) Verz\xF6gerte Signatur ist eine erweiterte Option; n\xE4here Informationen -// dazu finden Sie in der Microsoft .NET Framework-Dokumentation. -// +// Package signature [assembly: AssemblyDelaySign(false)] [assembly: AssemblyKeyFile('')] [assembly: AssemblyKeyName('')] -// -// Verwenden Sie die folgenden Attribute zur Steuerung der COM-Sichtbarkeit Ihrer Assemblierung. -// Standardm\xE4\xDFig ist die gesamte Assemblierung f\xFCr COM sichtbar. Die Einstellung false f\xFCr ComVisible -// ist die f\xFCr Ihre Assemblierung empfohlene Vorgabe. Um dann eine Klasse und ein Interface f\xFCr COM -// bereitzustellen, setzen Sie jeweils ComVisible auf true. Es wird auch empfohlen das Attribut -// Guid hinzuzuf\xFCgen. -// - +// Com visibility of the assembly [assembly: ComVisible(False)] //[assembly: Guid('')] //[assembly: TypeLibVersion(1, 0)] Added: trunk/jcl/packages/d10.net/template.bdsproj =================================================================== --- trunk/jcl/packages/d10.net/template.bdsproj (rev 0) +++ trunk/jcl/packages/d10.net/template.bdsproj 2006-08-11 16:30:31 UTC (rev 1728) @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="utf-8"?> +<BorlandProject> + <PersonalityInfo> + <Option> + <Option Name="Personality">DelphiDotNet.Personality</Option> + <Option Name="ProjectType">Library</Option> + <Option Name="Version">2.0</Option> + <Option Name="GUID">%GUID%</Option> + </Option> + </PersonalityInfo> + <DelphiDotNet.Personality> + <Source> + <Source Name="MainSource">%NAME%%SOURCEEXTENSION%</Source> + </Source> + <FileVersion> + <FileVersion Name="Version">7.0</FileVersion> + </FileVersion> + <Compiler> + <Compiler Name="A">0</Compiler> + <Compiler Name="B">0</Compiler> + <Compiler Name="C">1</Compiler> + <Compiler Name="D">1</Compiler> + <Compiler Name="E">0</Compiler> + <Compiler Name="F">0</Compiler> + <Compiler Name="G">1</Compiler> + <Compiler Name="H">1</Compiler> + <Compiler Name="I">1</Compiler> + <Compiler Name="J">0</Compiler> + <Compiler Name="K">0</Compiler> + <Compiler Name="L">1</Compiler> + <Compiler Name="M">0</Compiler> + <Compiler Name="N">1</Compiler> + <Compiler Name="O">1</Compiler> + <Compiler Name="P">1</Compiler> + <Compiler Name="Q">0</Compiler> + <Compiler Name="R">0</Compiler> + <Compiler Name="S">0</Compiler> + <Compiler Name="T">0</Compiler> + <Compiler Name="U">0</Compiler> + <Compiler Name="V">1</Compiler> + <Compiler Name="W">0</Compiler> + <Compiler Name="X">1</Compiler> + <Compiler Name="Y">1</Compiler> + <Compiler Name="Z">1</Compiler> + <Compiler Name="ShowHints">True</Compiler> + <Compiler Name="ShowWarnings">True</Compiler> + <Compiler Name="UnitAliases"></Compiler> + <Compiler Name="NamespacePrefix"></Compiler> + <Compiler Name="GenerateDocumentation">False</Compiler> + <Compiler Name="DefaultNamespace">Jedi.Jcl</Compiler> + <Compiler Name="SymbolDeprecated">True</Compiler> + <Compiler Name="SymbolLibrary">True</Compiler> + <Compiler Name="SymbolPlatform">True</Compiler> + <Compiler Name="SymbolExperimental">True</Compiler> + <Compiler Name="UnitLibrary">True</Compiler> + <Compiler Name="UnitPlatform">True</Compiler> + <Compiler Name="UnitDeprecated">True</Compiler> + <Compiler Name="UnitExperimental">True</Compiler> + <Compiler Name="HResultCompat">True</Compiler> + <Compiler Name="HidingMember">True</Compiler> + <Compiler Name="HiddenVirtual">True</Compiler> + <Compiler Name="Garbage">True</Compiler> + <Compiler Name="BoundsError">True</Compiler> + <Compiler Name="ZeroNilCompat">True</Compiler> + <Compiler Name="StringConstTruncated">True</Compiler> + <Compiler Name="ForLoopVarVarPar">True</Compiler> + <Compiler Name="TypedConstVarPar">True</Compiler> + <Compiler Name="AsgToTypedConst">True</Compiler> + <Compiler Name="CaseLabelRange">True</Compiler> + <Compiler Name="ForVariable">True</Compiler> + <Compiler Name="ConstructingAbstract">True</Compiler> + <Compiler Name="ComparisonFalse">True</Compiler> + <Compiler Name="ComparisonTrue">True</Compiler> + <Compiler Name="ComparingSignedUnsigned">True</Compiler> + <Compiler Name="CombiningSignedUnsigned">True</Compiler> + <Compiler Name="UnsupportedConstruct">True</Compiler> + <Compiler Name="FileOpen">True</Compiler> + <Compiler Name="FileOpenUnitSrc">True</Compiler> + <Compiler Name="BadGlobalSymbol">True</Compiler> + <Compiler Name="DuplicateConstructorDestructor">True</Compiler> + <Compiler Name="InvalidDirective">True</Compiler> + <Compiler Name="PackageNoLink">True</Compiler> + <Compiler Name="PackageThreadVar">True</Compiler> + <Compiler Name="ImplicitImport">True</Compiler> + <Compiler Name="HPPEMITIgnored">True</Compiler> + <Compiler Name="NoRetVal">True</Compiler> + <Compiler Name="UseBeforeDef">True</Compiler> + <Compiler Name="ForLoopVarUndef">True</Compiler> + <Compiler Name="UnitNameMismatch">True</Compiler> + <Compiler Name="NoCFGFileFound">True</Compiler> + <Compiler Name="MessageDirective">True</Compiler> + <Compiler Name="ImplicitVariants">True</Compiler> + <Compiler Name="UnicodeToLocale">True</Compiler> + <Compiler Name="LocaleToUnicode">True</Compiler> + <Compiler Name="ImagebaseMultiple">True</Compiler> + <Compiler Name="SuspiciousTypecast">True</Compiler> + <Compiler Name="PrivatePropAccessor">True</Compiler> + <Compiler Name="UnsafeType">True</Compiler> + <Compiler Name="UnsafeCode">True</Compiler> + <Compiler Name="UnsafeCast">True</Compiler> + <Compiler Name="OptionTruncated">True</Compiler> + <Compiler Name="WideCharReduced">True</Compiler> + <Compiler Name="DuplicatesIgnored">True</Compiler> + <Compiler Name="UnitInitSeq">True</Compiler> + <Compiler Name="LocalPInvoke">True</Compiler> + <Compiler Name="CodePage"></Compiler> + </Compiler> + <Linker> + <Linker Name="MapFile">0</Linker> + <Linker Name="OutputObjs">0</Linker> + <Linker Name="ConsoleApp">1</Linker> + <Linker Name="DebugInfo">True</Linker> + <Linker Name="RemoteSymbols">False</Linker> + <Linker Name="GenerateDRC">False</Linker> + <Linker Name="MinStackSize">4096</Linker> + <Linker Name="MaxStackSize">1048576</Linker> + <Linker Name="ImageBase">4194304</Linker> + <Linker Name="ExeDescription"></Linker> + <Linker Name="GenerateHpps">False</Linker> + </Linker> + <Directories> + <Directories Name="OutputDir">..\..\bin</Directories> + <Directories Name="UnitOutputDir">..\..\lib\d9.net</Directories> + <Directories Name="PackageDLLOutputDir"></Directories> + <Directories Name="PackageDCPOutputDir"></Directories> + <Directories Name="SearchPath"></Directories> + <Directories Name="Packages"></Directories> + <Directories Name="Conditionals"></Directories> + <Directories Name="DebugSourceDirs"></Directories> + <Directories Name="UsePackages">True</Directories> + </Directories> + <Parameters> + <Parameters Name="RunParams"></Parameters> + <Parameters Name="HostApplication"></Parameters> + <Parameters Name="Launcher"></Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="DebugCWD"></Parameters> + <Parameters Name="RemoteHost"></Parameters> + <Parameters Name="RemotePath"></Parameters> + <Parameters Name="RemoteLauncher"></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> + <Language> + <Language Name="ActiveLang"></Language> + <Language Name="ProjectLang">$00000000</Language> + <Language Name="RootDir"></Language> + </Language> + <VersionInfo> + <VersionInfo Name="IncludeVerInfo">False</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">%VERSION_MAJOR_NUMBER%</VersionInfo> + <VersionInfo Name="MinorVer">%VERSION_MINOR_NUMBER%</VersionInfo> + <VersionInfo Name="Release">%RELEASE_NUMBER%</VersionInfo> + <VersionInfo Name="Build">%BUILD_NUMBER%</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">%ISDLL%</VersionInfo> + <VersionInfo Name="Locale">1031</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName"></VersionInfoKeys> + <VersionInfoKeys Name="FileDescription"></VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">1.96.1.2070</VersionInfoKeys> + <VersionInfoKeys Name="InternalName">%NAME%</VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2005 Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename">%NAME%90%BINEXTENSION%</VersionInfoKeys> + <VersionInfoKeys Name="ProductName">Jedi Code Library</VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">%VERSION_MAJOR_NUMBER%.%VERSION_MINOR_NUMBER% Build %BUILD_NUMBER%</VersionInfoKeys> + <VersionInfoKeys Name="Comments"></VersionInfoKeys> + </VersionInfoKeys> + <FileList> +<%%% START REQUIRES %%%> + <File FileName="" ContainerId="" ModuleName="%NAME%"/> +<%%% END REQUIRES %%%> +<%%% START FILES %%%> + <File FileName="%FILENAME%" ContainerId="" ModuleName="%UNITNAME%"/> +<%%% END FILES %%%> + </FileList> + </DelphiDotNet.Personality> +</BorlandProject> Added: trunk/jcl/packages/d10.net/template.dpr =================================================================== --- trunk/jcl/packages/d10.net/template.dpr (rev 0) +++ trunk/jcl/packages/d10.net/template.dpr 2006-08-11 16:30:31 UTC (rev 1728) @@ -0,0 +1,39 @@ +%PROJECT% %NAME%; + +uses +<%%% START REQUIRES %%%> + %NAME%, +<%%% END REQUIRES %%%> + , +<%%% START FILES %%%> + %UNITNAME% in '%FILENAME%' {%FORMNAMEANDTYPE%}, +<%%% END FILES %%%> + ; + +{$LIBSUFFIX '10'} + +[assembly: AssemblyTitle('JEDI Code Library')] +[assembly: AssemblyDescription('%DESCRIPTION%')] +[assembly: AssemblyConfiguration('')] +[assembly: AssemblyCompany('')] +[assembly: AssemblyProduct('JCL')] +[assembly: AssemblyCopyright('')] +[assembly: AssemblyTrademark('')] +[assembly: AssemblyCulture('')] + +// MajorVersion.MinorVersion.BuildNumber.Revision +[assembly: AssemblyVersion('1.0.*')] + +// Package signature +[assembly: AssemblyDelaySign(false)] +[assembly: AssemblyKeyFile('')] +[assembly: AssemblyKeyName('')] + +// Com visibility of the assembly +[assembly: ComVisible(False)] +//[assembly: Guid('')] +//[assembly: TypeLibVersion(1, 0)] + + +begin +end. Modified: trunk/jcl/packages/d9.net/Jedi.Jcl.bdsproj =================================================================== --- trunk/jcl/packages/d9.net/Jedi.Jcl.bdsproj 2006-08-11 16:27:44 UTC (rev 1727) +++ trunk/jcl/packages/d9.net/Jedi.Jcl.bdsproj 2006-08-11 16:30:31 UTC (rev 1728) @@ -114,7 +114,7 @@ <Linker Name="GenerateDRC">False</Linker> <Linker Name="MinStackSize">4096</Linker> <Linker Name="MaxStackSize">1048576</Linker> - <Linker Name="ImageBase">4194304</Linker> + <Linker Name="ImageBase">$48000000</Linker> <Linker Name="ExeDescription"></Linker> <Linker Name="GenerateHpps">False</Linker> </Linker> @@ -153,9 +153,9 @@ <VersionInfo Name="IncludeVerInfo">False</VersionInfo> <VersionInfo Name="AutoIncBuild">False</VersionInfo> <VersionInfo Name="MajorVer">1</VersionInfo> - <VersionInfo Name="MinorVer">96</VersionInfo> + <VersionInfo Name="MinorVer">97</VersionInfo> <VersionInfo Name="Release">1</VersionInfo> - <VersionInfo Name="Build">2070</VersionInfo> + <VersionInfo Name="Build">2172</VersionInfo> <VersionInfo Name="Debug">False</VersionInfo> <VersionInfo Name="PreRelease">False</VersionInfo> <VersionInfo Name="Special">False</VersionInfo> @@ -171,14 +171,14 @@ <VersionInfoKeys Name="InternalName">Jedi.Jcl</VersionInfoKeys> <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2005 Project JEDI</VersionInfoKeys> <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> - <VersionInfoKeys Name="OriginalFilename">Jedi.Jcl90.dll</VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename">Jedi.Jcl9.dll</VersionInfoKeys> <VersionInfoKeys Name="ProductName">Jedi Code Library</VersionInfoKeys> - <VersionInfoKeys Name="ProductVersion">1.96 Build 2070</VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">1.97 Build 2172</VersionInfoKeys> <VersionInfoKeys Name="Comments"></VersionInfoKeys> </VersionInfoKeys> <FileList> - <File FileName="" ContainerId="" ModuleName=""/> - <File FileName="" ContainerId="" ModuleName=""/> + <File FileName="" ContainerId="" ModuleName="System.Reflection"/> + <File FileName="" ContainerId="" ModuleName="System.Runtime.InteropServices"/> <File FileName="..\..\source\common\JclAbstractContainers.pas" ContainerId="" ModuleName="JclAbstractContainers"/> <File FileName="..\..\source\common\JclAlgorithms.pas" ContainerId="" ModuleName="JclAlgorithms"/> <File FileName="..\..\source\common\JclAnsiStrings.pas" ContainerId="" ModuleName="JclAnsiStrings"/> @@ -190,6 +190,7 @@ <File FileName="..\..\source\common\JclContainerIntf.pas" ContainerId="" ModuleName="JclContainerIntf"/> <File FileName="..\..\source\common\JclDateTime.pas" ContainerId="" ModuleName="JclDateTime"/> <File FileName="..\..\source\common\JclFileUtils.pas" ContainerId="" ModuleName="JclFileUtils"/> + <File FileName="..\..\source\common\JclHashMaps.pas" ContainerId="" ModuleName="JclHashMaps"/> <File FileName="..\..\source\common\JclHashSets.pas" ContainerId="" ModuleName="JclHashSets"/> <File FileName="..\..\source\common\JclIniFiles.pas" ContainerId="" ModuleName="JclIniFiles"/> <File FileName="..\..\source\common\JclLinkedLists.pas" ContainerId="" ModuleName="JclLinkedLists"/> @@ -207,7 +208,6 @@ <File FileName="..\..\source\common\JclUnitConv.pas" ContainerId="" ModuleName="JclUnitConv"/> <File FileName="..\..\source\common\JclValidation.pas" ContainerId="" ModuleName="JclValidation"/> <File FileName="..\..\source\common\JclVectors.pas" ContainerId="" ModuleName="JclVectors"/> - <File FileName="..\..\source\common\JclHashMaps.pas" ContainerId="" ModuleName="JclHashMaps"/> </FileList> </DelphiDotNet.Personality> </BorlandProject> Modified: trunk/jcl/packages/d9.net/Jedi.Jcl.dpr =================================================================== --- trunk/jcl/packages/d9.net/Jedi.Jcl.dpr 2006-08-11 16:27:44 UTC (rev 1727) +++ trunk/jcl/packages/d9.net/Jedi.Jcl.dpr 2006-08-11 16:30:31 UTC (rev 1728) @@ -1,8 +1,9 @@ Library Jedi.Jcl; uses + System.Reflection, + System.Runtime.InteropServices , - JclAbstractContainers in '..\..\source\common\JclAbstractContainers.pas' , JclAlgorithms in '..\..\source\common\JclAlgorithms.pas' , JclAnsiStrings in '..\..\source\common\JclAnsiStrings.pas' , @@ -14,6 +15,7 @@ JclContainerIntf in '..\..\source\common\JclContainerIntf.pas' , JclDateTime in '..\..\source\common\JclDateTime.pas' , JclFileUtils in '..\..\source\common\JclFileUtils.pas' , + JclHashMaps in '..\..\source\common\JclHashMaps.pas' , JclHashSets in '..\..\source\common\JclHashSets.pas' , JclIniFiles in '..\..\source\common\JclIniFiles.pas' , JclLinkedLists in '..\..\source\common\JclLinkedLists.pas' , @@ -30,14 +32,13 @@ JclSysUtils in '..\..\source\common\JclSysUtils.pas' , JclUnitConv in '..\..\source\common\JclUnitConv.pas' , JclValidation in '..\..\source\common\JclValidation.pas' , - JclVectors in '..\..\source\common\JclVectors.pas' , - JclHashMaps in '..\..\source\common\JclHashMaps.pas' + JclVectors in '..\..\source\common\JclVectors.pas' ; {$LIBSUFFIX '9'} [assembly: AssemblyTitle('JEDI Code Library')] -[assembly: AssemblyDescription('Functions and classes')] +[assembly: AssemblyDescription('JEDI Code Library RTL package')] [assembly: AssemblyConfiguration('')] [assembly: AssemblyCompany('')] [assembly: AssemblyProduct('JCL')] Added: trunk/jcl/packages/d9.net/template.bdsproj =================================================================== --- trunk/jcl/packages/d9.net/template.bdsproj (rev 0) +++ trunk/jcl/packages/d9.net/template.bdsproj 2006-08-11 16:30:31 UTC (rev 1728) @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="utf-8"?> +<BorlandProject> + <PersonalityInfo> + <Option> + <Option Name="Personality">DelphiDotNet.Personality</Option> + <Option Name="ProjectType">Library</Option> + <Option Name="Version">2.0</Option> + <Option Name="GUID">%GUID%</Option> + </Option> + </PersonalityInfo> + <DelphiDotNet.Personality> + <Source> + <Source Name="MainSource">%NAME%%SOURCEEXTENSION%</Source> + </Source> + <FileVersion> + <FileVersion Name="Version">7.0</FileVersion> + </FileVersion> + <Compiler> + <Compiler Name="A">0</Compiler> + <Compiler Name="B">0</Compiler> + <Compiler Name="C">1</Compiler> + <Compiler Name="D">1</Compiler> + <Compiler Name="E">0</Compiler> + <Compiler Name="F">0</Compiler> + <Compiler Name="G">1</Compiler> + <Compiler Name="H">1</Compiler> + <Compiler Name="I">1</Compiler> + <Compiler Name="J">0</Compiler> + <Compiler Name="K">0</Compiler> + <Compiler Name="L">1</Compiler> + <Compiler Name="M">0</Compiler> + <Compiler Name="N">1</Compiler> + <Compiler Name="O">1</Compiler> + <Compiler Name="P">1</Compiler> + <Compiler Name="Q">0</Compiler> + <Compiler Name="R">0</Compiler> + <Compiler Name="S">0</Compiler> + <Compiler Name="T">0</Compiler> + <Compiler Name="U">0</Compiler> + <Compiler Name="V">1</Compiler> + <Compiler Name="W">0</Compiler> + <Compiler Name="X">1</Compiler> + <Compiler Name="Y">1</Compiler> + <Compiler Name="Z">1</Compiler> + <Compiler Name="ShowHints">True</Compiler> + <Compiler Name="ShowWarnings">True</Compiler> + <Compiler Name="UnitAliases"></Compiler> + <Compiler Name="NamespacePrefix"></Compiler> + <Compiler Name="GenerateDocumentation">False</Compiler> + <Compiler Name="DefaultNamespace">Jedi.Jcl</Compiler> + <Compiler Name="SymbolDeprecated">True</Compiler> + <Compiler Name="SymbolLibrary">True</Compiler> + <Compiler Name="SymbolPlatform">True</Compiler> + <Compiler Name="SymbolExperimental">True</Compiler> + <Compiler Name="UnitLibrary">True</Compiler> + <Compiler Name="UnitPlatform">True</Compiler> + <Compiler Name="UnitDeprecated">True</Compiler> + <Compiler Name="UnitExperimental">True</Compiler> + <Compiler Name="HResultCompat">True</Compiler> + <Compiler Name="HidingMember">True</Compiler> + <Compiler Name="HiddenVirtual">True</Compiler> + <Compiler Name="Garbage">True</Compiler> + <Compiler Name="BoundsError">True</Compiler> + <Compiler Name="ZeroNilCompat">True</Compiler> + <Compiler Name="StringConstTruncated">True</Compiler> + <Compiler Name="ForLoopVarVarPar">True</Compiler> + <Compiler Name="TypedConstVarPar">True</Compiler> + <Compiler Name="AsgToTypedConst">True</Compiler> + <Compiler Name="CaseLabelRange">True</Compiler> + <Compiler Name="ForVariable">True</Compiler> + <Compiler Name="ConstructingAbstract">True</Compiler> + <Compiler Name="ComparisonFalse">True</Compiler> + <Compiler Name="ComparisonTrue">True</Compiler> + <Compiler Name="ComparingSignedUnsigned">True</Compiler> + <Compiler Name="CombiningSignedUnsigned">True</Compiler> + <Compiler Name="UnsupportedConstruct">True</Compiler> + <Compiler Name="FileOpen">True</Compiler> + <Compiler Name="FileOpenUnitSrc">True</Compiler> + <Compiler Name="BadGlobalSymbol">True</Compiler> + <Compiler Name="DuplicateConstructorDestructor">True</Compiler> + <Compiler Name="InvalidDirective">True</Compiler> + <Compiler Name="PackageNoLink">True</Compiler> + <Compiler Name="PackageThreadVar">True</Compiler> + <Compiler Name="ImplicitImport">True</Compiler> + <Compiler Name="HPPEMITIgnored">True</Compiler> + <Compiler Name="NoRetVal">True</Compiler> + <Compiler Name="UseBeforeDef">True</Compiler> + <Compiler Name="ForLoopVarUndef">True</Compiler> + <Compiler Name="UnitNameMismatch">True</Compiler> + <Compiler Name="NoCFGFileFound">True</Compiler> + <Compiler Name="MessageDirective">True</Compiler> + <Compiler Name="ImplicitVariants">True</Compiler> + <Compiler Name="UnicodeToLocale">True</Compiler> + <Compiler Name="LocaleToUnicode">True</Compiler> + <Compiler Name="ImagebaseMultiple">True</Compiler> + <Compiler Name="SuspiciousTypecast">True</Compiler> + <Compiler Name="PrivatePropAccessor">True</Compiler> + <Compiler Name="UnsafeType">True</Compiler> + <Compiler Name="UnsafeCode">True</Compiler> + <Compiler Name="UnsafeCast">True</Compiler> + <Compiler Name="OptionTruncated">True</Compiler> + <Compiler Name="WideCharReduced">True</Compiler> + <Compiler Name="DuplicatesIgnored">True</Compiler> + <Compiler Name="UnitInitSeq">True</Compiler> + <Compiler Name="LocalPInvoke">True</Compiler> + <Compiler Name="CodePage"></Compiler> + </Compiler> + <Linker> + <Linker Name="MapFile">0</Linker> + <Linker Name="OutputObjs">0</Linker> + <Linker Name="ConsoleApp">1</Linker> + <Linker Name="DebugInfo">True</Linker> + <Linker Name="RemoteSymbols">False</Linker> + <Linker Name="GenerateDRC">False</Linker> + <Linker Name="MinStackSize">4096</Linker> + <Linker Name="MaxStackSize">1048576</Linker> + <Linker Name="ImageBase">$%IMAGE_BASE%</Linker> + <Linker Name="ExeDescription"></Linker> + <Linker Name="GenerateHpps">False</Linker> + </Linker> + <Directories> + <Directories Name="OutputDir">..\..\bin</Directories> + <Directories Name="UnitOutputDir">..\..\lib\d9.net</Directories> + <Directories Name="PackageDLLOutputDir"></Directories> + <Directories Name="PackageDCPOutputDir"></Directories> + <Directories Name="SearchPath"></Directories> + <Directories Name="Packages"></Directories> + <Directories Name="Conditionals"></Directories> + <Directories Name="DebugSourceDirs"></Directories> + <Directories Name="UsePackages">True</Directories> + </Directories> + <Parameters> + <Parameters Name="RunParams"></Parameters> + <Parameters Name="HostApplication"></Parameters> + <Parameters Name="Launcher"></Parameters> + <Parameters Name="UseLauncher">False</Parameters> + <Parameters Name="DebugCWD"></Parameters> + <Parameters Name="RemoteHost"></Parameters> + <Parameters Name="RemotePath"></Parameters> + <Parameters Name="RemoteLauncher"></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> + <Language> + <Language Name="ActiveLang"></Language> + <Language Name="ProjectLang">$00000000</Language> + <Language Name="RootDir"></Language> + </Language> + <VersionInfo> + <VersionInfo Name="IncludeVerInfo">False</VersionInfo> + <VersionInfo Name="AutoIncBuild">False</VersionInfo> + <VersionInfo Name="MajorVer">%VERSION_MAJOR_NUMBER%</VersionInfo> + <VersionInfo Name="MinorVer">%VERSION_MINOR_NUMBER%</VersionInfo> + <VersionInfo Name="Release">%RELEASE_NUMBER%</VersionInfo> + <VersionInfo Name="Build">%BUILD_NUMBER%</VersionInfo> + <VersionInfo Name="Debug">False</VersionInfo> + <VersionInfo Name="PreRelease">False</VersionInfo> + <VersionInfo Name="Special">False</VersionInfo> + <VersionInfo Name="Private">False</VersionInfo> + <VersionInfo Name="DLL">%ISDLL%</VersionInfo> + <VersionInfo Name="Locale">1031</VersionInfo> + <VersionInfo Name="CodePage">1252</VersionInfo> + </VersionInfo> + <VersionInfoKeys> + <VersionInfoKeys Name="CompanyName"></VersionInfoKeys> + <VersionInfoKeys Name="FileDescription"></VersionInfoKeys> + <VersionInfoKeys Name="FileVersion">1.96.1.2070</VersionInfoKeys> + <VersionInfoKeys Name="InternalName">%NAME%</VersionInfoKeys> + <VersionInfoKeys Name="LegalCopyright">Copyright (C) 1999, 2005 Project JEDI</VersionInfoKeys> + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> + <VersionInfoKeys Name="OriginalFilename">%NAME%9%BINEXTENSION%</VersionInfoKeys> + <VersionInfoKeys Name="ProductName">Jedi Code Library</VersionInfoKeys> + <VersionInfoKeys Name="ProductVersion">%VERSION_MAJOR_NUMBER%.%VERSION_MINOR_NUMBER% Build %BUILD_NUMBER%</VersionInfoKeys> + <VersionInfoKeys Name="Comments"></VersionInfoKeys> + </VersionInfoKeys> + <FileList> +<%%% START REQUIRES %%%> + <File FileName="" ContainerId="" ModuleName="%NAME%"/> +<%%% END REQUIRES %%%> +<%%% START FILES %%%> + <File FileName="%FILENAME%" ContainerId="" ModuleName="%UNITNAME%"/> +<%%% END FILES %%%> + </FileList> + </DelphiDotNet.Personality> +</BorlandProject> Added: trunk/jcl/packages/d9.net/template.dpr =================================================================== --- trunk/jcl/packages/d9.net/template.dpr (rev 0) +++ trunk/jcl/packages/d9.net/template.dpr 2006-08-11 16:30:31 UTC (rev 1728) @@ -0,0 +1,39 @@ +%PROJECT% %NAME%; + +uses +<%%% START REQUIRES %%%> + %NAME%, +<%%% END REQUIRES %%%> + , +<%%% START FILES %%%> + %UNITNAME% in '%FILENAME%' {%FORMNAMEANDTYPE%}, +<%%% END FILES %%%> + ; + +{$LIBSUFFIX '9'} + +[assembly: AssemblyTitle('JEDI Code Library')] +[assembly: AssemblyDescription('%DESCRIPTION%')] +[assembly: AssemblyConfiguration('')] +[assembly: AssemblyCompany('')] +[assembly: AssemblyProduct('JCL')] +[assembly: AssemblyCopyright('')] +[assembly: AssemblyTrademark('')] +[assembly: AssemblyCulture('')] + +// MajorVersion.MinorVersion.BuildNumber.Revision +[assembly: AssemblyVersion('1.0.*')] + +// Package signature +[assembly: AssemblyDelaySign(false)] +[assembly: AssemblyKeyFile('')] +[assembly: AssemblyKeyName('')] + +// Com visibility of the assembly +[assembly: ComVisible(False)] +//[assembly: Guid('')] +//[assembly: TypeLibVersion(1, 0)] + + +begin +end. Added: trunk/jcl/packages/xml/Jcl-L.xml =================================================================== --- trunk/jcl/packages/xml/Jcl-L.xml (rev 0) +++ trunk/jcl/packages/xml/Jcl-L.xml 2006-08-11 16:30:31 UTC (rev 1728) @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<Package Name="Jcl" Type="L"> + <Description>JEDI Code Library RTL package</Description> + <GUID>{44DB645B-C167-410D-9334-38AF9F0C7913}</GUID> + <C5PFlags/> + <C6PFlags/> + <C5Libs/> + <C6Libs/> + <ImageBase>48000000</ImageBase> + <VersionMajorNumber>1</VersionMajorNumber> + <VersionMinorNumber>97</VersionMinorNumber> + <ReleaseNumber>1</ReleaseNumber> + <BuildNumber>2172</BuildNumber> + <Requires> + <Package Name="System.Reflection" Targets="JclDotNet" Condition=""/> + <Package Name="System.Runtime.InteropServices" Targets="JclDotNet" Condition=""/> + </Requires> + <Contains> + <File Name="..\..\source\common\JclAbstractContainers.pas" Targets="JclDotNet" Formname="" ... [truncated message content] |
|
From: <ou...@us...> - 2006-08-11 16:29:23
|
Revision: 1727 Author: outchy Date: 2006-08-11 09:27:44 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1727&view=rev Log Message: ----------- Updated from the JVCL (with support for .net prefix and format) Modified Paths: -------------- trunk/jcl/devtools/pgEdit.exe trunk/jcl/devtools/pgEdit.xml trunk/jcl/install/build/pgEdit.xml Modified: trunk/jcl/devtools/pgEdit.exe =================================================================== (Binary files differ) Modified: trunk/jcl/devtools/pgEdit.xml =================================================================== --- trunk/jcl/devtools/pgEdit.xml 2006-08-11 15:24:18 UTC (rev 1726) +++ trunk/jcl/devtools/pgEdit.xml 2006-08-11 16:27:44 UTC (rev 1727) @@ -72,15 +72,34 @@ <target name="d10" pname="d10p" pdir="d10per"/> </targets> <aliases> - <alias name="Delphi" value="d5,d5s,d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p"/> - <alias name="DelphiNoClx" value="d5,d5s,d6,d6p,d7,d7p,d9,d9p,d10,d10p"/> - <alias name="Bcb" value="c5,c5s,c6,c6p,d10,d10p"/> - <alias name="Kylix" value="k3,k3p"/> + <alias name="VCL" value="c5,c5s,d5,d5s,c6,c6p,d6,d6p,d7,d7p,d9,d9p,d10,d10p"/> + <alias name="VCLv5" value="c5,c5s,d5,d5s"/> + <alias name="VCLv6up" value="c6,c6p,d6,d6p,d7,d7p,d9,d9p,d10,d10p"/> + + <alias name="D" value="d5,d5s,d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p"/> + <alias name="Dv5" value="d5,d5s"/> + <alias name="Dv6up" value="d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p"/> + + <alias name="C" value="c5,c5s,c6,c6p,d10,d10p"/> + <alias name="Cv5" value="c5,c5s"/> + <alias name="Cv6up" value="c6,c6p,d10,d10p"/> + + <alias name="DB" value="c5,d5,c6,d6,d7,d9,d10"/> + <alias name="DBv5" value="c5,d5"/> + <alias name="DBv6up" value="c6,d6,d7,d9,d10"/> + + <alias name="DBVCL" value="c5,d5,c6,d6,d7,d9,d10"/> + <alias name="DBVCLv5" value="c5,d5"/> + <alias name="DBVCLv6up" value="c6,d6,d7,d9,d10"/> + + <alias name="CLX" value="d7clx,k3,k3p"/> + <alias name="DBCLX" value="d7clx,k3"/> + + <alias name="allv5" value="c5,c5s,d5,d5s"/> + <alias name="allv6up" value="c6,c6p,d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p"/> + <alias name="Windows" value="c5,c5s,c6,c6p,d5,d5s,d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p"/> <alias name="Linux" value="k3,k3p"/> - <alias name="allclx" value="d7clx,k3,k3p"/> - <alias name="allbutclx" value="c5,c5s,c6,c6p,d5,d5s,d6,d6p,d7,d7p,d9,d9p,d10,d10p"/> - <alias name="allbutperso" value="c5,c6,d5,d6,d7,d7clx,k3,d9,d10"/> </aliases> <ClxReplacements> <replacement original="\run\Jv" replacement="\qrun\JvQ"/> @@ -88,7 +107,7 @@ <replacement original="\common\Jv" replacement="\qcommon\JvQ"/> </ClxReplacements> </model> - <Model Name="JCL" format="%p%n" NoLibSuffixFormat="%p%n%e%v0" prefix="Jcl" packages="..\packages" incfile=""> + <Model format="%p%n" name="JCL" prefix="Jcl" packages="..\packages" incfile="" nolibsuffixformat="%p%n%e%v0" dotnetprefix="Jedi.Jcl"> <targets> <target name="c5"/> <target name="c6"/> @@ -104,6 +123,8 @@ <target name="d10" IsBds="1"/> <target name="k3" PathSep="/"/> <target name="k3.dev" PathSep="/"/> + <target name="d9.net" IsDotNet="1"/> + <target name="d10.net" IsDotNet="1"/> </targets> <aliases> <alias name="Delphi" value="d5,d6,d7,d9,d10"/> @@ -121,6 +142,7 @@ <alias name="Vcl" value="c6,d6,d7,d9,d10"/> <alias name="VclDev" value="c6.dev,d6.dev,d7.dev"/> <alias name="Bds" value="cs1,d8,d9,d10"/> + <alias name="JclDotNet" value="d9.net,d10.net"/> </aliases> </Model> </models> Modified: trunk/jcl/install/build/pgEdit.xml =================================================================== --- trunk/jcl/install/build/pgEdit.xml 2006-08-11 15:24:18 UTC (rev 1726) +++ trunk/jcl/install/build/pgEdit.xml 2006-08-11 16:27:44 UTC (rev 1727) @@ -72,15 +72,34 @@ <target name="d10" pname="d10p" pdir="d10per"/> </targets> <aliases> - <alias name="Delphi" value="d5,d5s,d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p"/> - <alias name="DelphiNoClx" value="d5,d5s,d6,d6p,d7,d7p,d9,d9p,d10,d10p"/> - <alias name="Bcb" value="c5,c5s,c6,c6p,d10,d10p"/> - <alias name="Kylix" value="k3,k3p"/> + <alias name="VCL" value="c5,c5s,d5,d5s,c6,c6p,d6,d6p,d7,d7p,d9,d9p,d10,d10p"/> + <alias name="VCLv5" value="c5,c5s,d5,d5s"/> + <alias name="VCLv6up" value="c6,c6p,d6,d6p,d7,d7p,d9,d9p,d10,d10p"/> + + <alias name="D" value="d5,d5s,d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p"/> + <alias name="Dv5" value="d5,d5s"/> + <alias name="Dv6up" value="d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p"/> + + <alias name="C" value="c5,c5s,c6,c6p,d10,d10p"/> + <alias name="Cv5" value="c5,c5s"/> + <alias name="Cv6up" value="c6,c6p,d10,d10p"/> + + <alias name="DB" value="c5,d5,c6,d6,d7,d9,d10"/> + <alias name="DBv5" value="c5,d5"/> + <alias name="DBv6up" value="c6,d6,d7,d9,d10"/> + + <alias name="DBVCL" value="c5,d5,c6,d6,d7,d9,d10"/> + <alias name="DBVCLv5" value="c5,d5"/> + <alias name="DBVCLv6up" value="c6,d6,d7,d9,d10"/> + + <alias name="CLX" value="d7clx,k3,k3p"/> + <alias name="DBCLX" value="d7clx,k3"/> + + <alias name="allv5" value="c5,c5s,d5,d5s"/> + <alias name="allv6up" value="c6,c6p,d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p"/> + <alias name="Windows" value="c5,c5s,c6,c6p,d5,d5s,d6,d6p,d7,d7p,d7clx,d9,d9p,d10,d10p"/> <alias name="Linux" value="k3,k3p"/> - <alias name="allclx" value="d7clx,k3,k3p"/> - <alias name="allbutclx" value="c5,c5s,c6,c6p,d5,d5s,d6,d6p,d7,d7p,d9,d9p,d10,d10p"/> - <alias name="allbutperso" value="c5,c6,d5,d6,d7,d7clx,k3,d9,d10"/> </aliases> <ClxReplacements> <replacement original="\run\Jv" replacement="\qrun\JvQ"/> @@ -88,7 +107,7 @@ <replacement original="\common\Jv" replacement="\qcommon\JvQ"/> </ClxReplacements> </model> - <Model Name="JCL" format="%e%p%n" NoLibSuffixFormat="%e%p%n%v0" prefix="Jcl" packages="..\packages" incfile=""> + <Model format="%p%n" name="JCL" prefix="Jcl" packages="..\packages" incfile="" nolibsuffixformat="%p%n%e%v0" dotnetprefix="Jedi.Jcl"> <targets> <target name="c5"/> <target name="c6"/> @@ -98,10 +117,14 @@ <target name="d6.dev"/> <target name="d7"/> <target name="d7.dev"/> - <target name="d9"/> - <target name="d10"/> + <target name="d8" IsBds="1"/> + <target name="cs1" IsBds="1"/> + <target name="d9" IsBds="1"/> + <target name="d10" IsBds="1"/> <target name="k3" PathSep="/"/> <target name="k3.dev" PathSep="/"/> + <target name="d9.net" IsDotNet="1"/> + <target name="d10.net" IsDotNet="1"/> </targets> <aliases> <alias name="Delphi" value="d5,d6,d7,d9,d10"/> @@ -109,9 +132,17 @@ <alias name="Kylix" value="k2,k3,k3p"/> <alias name="Windows" value="c5,c6,d5,d6,d7,d9,d10"/> <alias name="Linux" value="k2,k3,k3p"/> - <alias name="WinDev" value="c5,c6,d5,d6,d7,d9,d5.dev"/> - <alias name="JclDev" value="c5,c6,d5,d6,d7,d9,k3,d5.dev"/> - <alias name="DelphiDev" value="d5,d6,d7,d9,d5.dev"/> + <alias name="WinDev" value="c5,c6,d5,d6,d7,d8,d9,d10,d5.dev,cs1"/> + <alias name="JclDev" value="c5,c6,d5,d6,d7,d8,d9,d10,k3,d5.dev,cs1"/> + <alias name="DelphiDev" value="d5,d6,d7,d8,d9,d10,d5.dev"/> + <alias name="WinLibSuffix" value="c6,d6,d7,d8,d9,d10,d5.dev,d6.dev,d7.dev,cs1"/> + <alias name="allLibSuffix" value="c6,d6,d7,d8,d9,d10,k3,d5.dev,d6.dev,d7.dev,k3.dev,cs1"/> + <alias name="Clx" value="c6,d6,d7,k3"/> + <alias name="ClxDev" value="c6.dev,d7.dev,k3.dev"/> + <alias name="Vcl" value="c6,d6,d7,d9,d10"/> + <alias name="VclDev" value="c6.dev,d6.dev,d7.dev"/> + <alias name="Bds" value="cs1,d8,d9,d10"/> + <alias name="JclDotNet" value="d9.net,d10.net"/> </aliases> </Model> </models> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-11 15:24:47
|
Revision: 1726 Author: outchy Date: 2006-08-11 08:24:18 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1726&view=rev Log Message: ----------- BCB compatibility Modified Paths: -------------- trunk/jcl/source/common/JclMath.pas trunk/jcl/source/common/pcre.pas trunk/jcl/source/prototypes/zlibh.pas trunk/jcl/source/unix/zlibh.pas trunk/jcl/source/windows/JclDebug.pas trunk/jcl/source/windows/JclDotNet.pas trunk/jcl/source/windows/JclMetadata.pas trunk/jcl/source/windows/JclTask.pas trunk/jcl/source/windows/mscoree_TLB.pas trunk/jcl/source/windows/mscorlib_TLB.pas trunk/jcl/source/windows/zlibh.pas Modified: trunk/jcl/source/common/JclMath.pas =================================================================== --- trunk/jcl/source/common/JclMath.pas 2006-08-11 14:57:53 UTC (rev 1725) +++ trunk/jcl/source/common/JclMath.pas 2006-08-11 15:24:18 UTC (rev 1726) @@ -326,9 +326,16 @@ const Infinity = 1/0; // tricky + {$EXTERNALSYM Infinity} NaN = 0/0; // tricky + {$EXTERNALSYM NaN} NegInfinity = -Infinity; + {$EXTERNALSYM NegInfinity} +{$HPPEMIT 'static const Infinity = 1.0 / 0.0;'} +{$HPPEMIT 'static const NaN = 0.0 / 0.0;'} +{$HPPEMIT 'static const NegInfinity = -1.0 / 0.0;'} + function IsInfinite(const Value: Single): Boolean; overload; {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF} function IsInfinite(const Value: Double): Boolean; overload; {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF} function IsInfinite(const Value: Extended): Boolean; overload; {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF} @@ -505,7 +512,7 @@ private FTag: TNaNTag; public - constructor Create(ATag: TNaNTag); + constructor Create(ATag: TNaNTag; Dummy: Boolean = False); property Tag: TNaNTag read FTag; end; {$ENDIF ~CLR} @@ -3255,7 +3262,7 @@ //=== { EJclNaNSignal } ====================================================== {$IFNDEF CLR} -constructor EJclNaNSignal.Create(ATag: TNaNTag); +constructor EJclNaNSignal.Create(ATag: TNaNTag; Dummy: Boolean); begin FTag := ATag; CreateResFmt(@RsNaNSignal, [ATag]); Modified: trunk/jcl/source/common/pcre.pas =================================================================== --- trunk/jcl/source/common/pcre.pas 2006-08-11 14:57:53 UTC (rev 1725) +++ trunk/jcl/source/common/pcre.pas 2006-08-11 15:24:18 UTC (rev 1726) @@ -142,7 +142,7 @@ req_char: PChar; code: array [0..0] of Char; end; - {$EXTERNALSYM real_pcre} + //{$EXTERNALSYM real_pcre} TPCRE = real_pcre; PPCRE = ^TPCRE; @@ -150,7 +150,7 @@ options: PChar; start_bits: array [0..31] of Char; end; -{$EXTERNALSYM real_pcre_extra} + //{$EXTERNALSYM real_pcre_extra} TPCREExtra = real_pcre_extra; PPCREExtra = ^TPCREExtra; Modified: trunk/jcl/source/prototypes/zlibh.pas =================================================================== --- trunk/jcl/source/prototypes/zlibh.pas 2006-08-11 14:57:53 UTC (rev 1725) +++ trunk/jcl/source/prototypes/zlibh.pas 2006-08-11 15:24:18 UTC (rev 1726) @@ -57,6 +57,7 @@ {$HPPEMIT '#define ZEXPORTVA __cdecl'} +{$HPPEMIT '#define __MACTYPES__'} {$HPPEMIT '#include <zutil.h>'} unit zlibh; Modified: trunk/jcl/source/unix/zlibh.pas =================================================================== --- trunk/jcl/source/unix/zlibh.pas 2006-08-11 14:57:53 UTC (rev 1725) +++ trunk/jcl/source/unix/zlibh.pas 2006-08-11 15:24:18 UTC (rev 1726) @@ -51,6 +51,7 @@ {$HPPEMIT '#define ZEXPORTVA __cdecl'} +{$HPPEMIT '#define __MACTYPES__'} {$HPPEMIT '#include <zutil.h>'} unit zlibh; Modified: trunk/jcl/source/windows/JclDebug.pas =================================================================== --- trunk/jcl/source/windows/JclDebug.pas 2006-08-11 14:57:53 UTC (rev 1725) +++ trunk/jcl/source/windows/JclDebug.pas 2006-08-11 15:24:18 UTC (rev 1726) @@ -56,7 +56,11 @@ procedure AssertKindOf(const ClassName: string; const Obj: TObject); overload; procedure AssertKindOf(const ClassType: TClass; const Obj: TObject); overload; +{$IFDEF KEEP_DEPRECATED} procedure Trace(const Msg: string); +{$EXTERNALSYM Trace} +{$ENDIF KEEP_DEPRECATED} +procedure TraceMsg(const Msg: string); procedure TraceFmt(const Fmt: string; const Args: array of const); procedure TraceLoc(const Msg: string); procedure TraceLocFmt(const Fmt: string; const Args: array of const); @@ -806,8 +810,16 @@ Assert(Obj.InheritsFrom(ClassType)); end; + +{$IFDEF KEEP_DEPRECATED} procedure Trace(const Msg: string); begin + TraceMsg(Msg); +end; +{$ENDIF KEEP_DEPRECATED} + +procedure TraceMsg(const Msg: string); +begin OutputDebugString(PChar(StrDoubleQuote(Msg))); end; Modified: trunk/jcl/source/windows/JclDotNet.pas =================================================================== --- trunk/jcl/source/windows/JclDotNet.pas 2006-08-11 14:57:53 UTC (rev 1725) +++ trunk/jcl/source/windows/JclDotNet.pas 2006-08-11 15:24:18 UTC (rev 1726) @@ -62,7 +62,7 @@ JclBase, JclWideStrings, mscoree_TLB, mscorlib_TLB; -{$HPPEMIT '#include<Mscoree.h>'} +//{$HPPEMIT '#include<Mscoree.h>'} { TODO -cDOC : Original code: "Flier Lu" <flier_lu att yahoo dott com dott cn> } Modified: trunk/jcl/source/windows/JclMetadata.pas =================================================================== --- trunk/jcl/source/windows/JclMetadata.pas 2006-08-11 14:57:53 UTC (rev 1725) +++ trunk/jcl/source/windows/JclMetadata.pas 2006-08-11 15:24:18 UTC (rev 1726) @@ -1010,9 +1010,12 @@ TJclClrArrayData = (adSize, adLowBound); + TJclClrArraySignBound = array [TJclClrArrayData] of Integer; + TJclClrArraySignBounds = array of TJclClrArraySignBound; + TJclClrArraySign = class(TJclClrSignature) private - FBounds: array of array [TJclClrArrayData] of Integer; + FBounds: TJclClrArraySignBounds; public constructor Create(const ABlob: TJclClrBlobRecord); end; Modified: trunk/jcl/source/windows/JclTask.pas =================================================================== --- trunk/jcl/source/windows/JclTask.pas 2006-08-11 14:57:53 UTC (rev 1725) +++ trunk/jcl/source/windows/JclTask.pas 2006-08-11 15:24:18 UTC (rev 1726) @@ -69,6 +69,9 @@ type TJclScheduledTask = class; +{$HPPEMIT '#define _di_ITaskScheduler ITaskScheduler*'} +{$HPPEMIT '#define _di_ITask ITask*'} + TJclTaskSchedule = class(TObject) private FTaskScheduler: ITaskScheduler; @@ -96,6 +99,8 @@ class procedure Stop; end; +{$HPPEMIT '#define _di_ITaskTrigger ITaskTrigger*'} + TJclTaskTrigger = class(TCollectionItem) private FTaskTrigger: ITaskTrigger; @@ -127,6 +132,8 @@ property Items[Index: Integer]: TJclTaskTrigger read GetItem write SetItem; default; end; +{$HPPEMIT '#define _di_IScheduledWorkItem IScheduledWorkItem*'} + TJclScheduledWorkItem = class(TPersistent) private FScheduledWorkItem: IScheduledWorkItem; Modified: trunk/jcl/source/windows/mscoree_TLB.pas =================================================================== --- trunk/jcl/source/windows/mscoree_TLB.pas 2006-08-11 14:57:53 UTC (rev 1725) +++ trunk/jcl/source/windows/mscoree_TLB.pas 2006-08-11 15:24:18 UTC (rev 1726) @@ -40,6 +40,7 @@ uses ActiveX, Classes; +{$HPPEMIT '#include <winnt.h>'} // *********************************************************************// // GUIDS declared in the TypeLibrary. Following prefixes are used: @@ -109,7 +110,8 @@ PByte1 = ^Byte; {*} PUINT1 = ^LongWord; {*} - ULONG_PTR = LongWord; + ULONG_PTR = LongWord; + {$EXTERNALSYM ULONG_PTR} _LARGE_INTEGER = packed record QuadPart: Int64; @@ -123,6 +125,7 @@ dwLowDateTime: LongWord; dwHighDateTime: LongWord; end; + {$EXTERNALSYM _FILETIME} tagSTATSTG = packed record pwcsName: PWideChar; @@ -137,6 +140,7 @@ grfStateBits: LongWord; reserved: LongWord; end; + {$EXTERNALSYM tagSTATSTG} _COR_GC_STATS = packed record Flags: LongWord; @@ -255,6 +259,7 @@ function Stat(out pstatstg: tagSTATSTG; grfStatFlag: LongWord): HResult; stdcall; function Clone(out ppstm: ISequentialStream): HResult; stdcall; end; + {$EXTERNALSYM IStream} // *********************************************************************// // Interface: ICorRuntimeHost Modified: trunk/jcl/source/windows/mscorlib_TLB.pas =================================================================== --- trunk/jcl/source/windows/mscorlib_TLB.pas 2006-08-11 14:57:53 UTC (rev 1725) +++ trunk/jcl/source/windows/mscorlib_TLB.pas 2006-08-11 15:24:18 UTC (rev 1726) @@ -15383,7 +15383,7 @@ // *********************************************************************// IStackWalk = interface(IDispatch) ['{60FC57B0-4A46-32A0-A5B4-B05B0DE8E781}'] - procedure Assert; safecall; + procedure _Assert; safecall; procedure Demand; safecall; procedure Deny; safecall; procedure PermitOnly; safecall; Modified: trunk/jcl/source/windows/zlibh.pas =================================================================== --- trunk/jcl/source/windows/zlibh.pas 2006-08-11 14:57:53 UTC (rev 1725) +++ trunk/jcl/source/windows/zlibh.pas 2006-08-11 15:24:18 UTC (rev 1726) @@ -53,6 +53,7 @@ {$HPPEMIT '#define ZEXPORTVA __cdecl'} +{$HPPEMIT '#define __MACTYPES__'} {$HPPEMIT '#include <zutil.h>'} unit zlibh; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-11 14:58:07
|
Revision: 1725 Author: outchy Date: 2006-08-11 07:57:53 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1725&view=rev Log Message: ----------- updated zlib to version 1.2.3 Modified Paths: -------------- trunk/jcl/include/zconf.h trunk/jcl/include/zlib.h trunk/jcl/include/zutil.h Modified: trunk/jcl/include/zconf.h =================================================================== --- trunk/jcl/include/zconf.h 2006-08-11 14:43:50 UTC (rev 1724) +++ trunk/jcl/include/zconf.h 2006-08-11 14:57:53 UTC (rev 1725) @@ -1,5 +1,5 @@ /* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2003 Jean-loup Gailly. + * Copyright (C) 1995-2005 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -13,43 +13,50 @@ * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. */ #ifdef Z_PREFIX -# define deflateInit_ z_deflateInit_ -# define deflate z_deflate -# define deflateEnd z_deflateEnd -# define inflateInit_ z_inflateInit_ -# define inflate z_inflate -# define inflateEnd z_inflateEnd -# define deflateInit2_ z_deflateInit2_ -# define deflateSetDictionary z_deflateSetDictionary -# define deflateCopy z_deflateCopy -# define deflateReset z_deflateReset -# define deflatePrime z_deflatePrime -# define deflateParams z_deflateParams -# define deflateBound z_deflateBound -# define inflateInit2_ z_inflateInit2_ -# define inflateSetDictionary z_inflateSetDictionary -# define inflateSync z_inflateSync -# define inflateSyncPoint z_inflateSyncPoint -# define inflateCopy z_inflateCopy -# define inflateReset z_inflateReset -# define compress z_compress -# define compress2 z_compress2 -# define compressBound z_compressBound -# define uncompress z_uncompress -# define adler32 z_adler32 -# define crc32 z_crc32 -# define get_crc_table z_get_crc_table +# define deflateInit_ z_deflateInit_ +# define deflate z_deflate +# define deflateEnd z_deflateEnd +# define inflateInit_ z_inflateInit_ +# define inflate z_inflate +# define inflateEnd z_inflateEnd +# define deflateInit2_ z_deflateInit2_ +# define deflateSetDictionary z_deflateSetDictionary +# define deflateCopy z_deflateCopy +# define deflateReset z_deflateReset +# define deflateParams z_deflateParams +# define deflateBound z_deflateBound +# define deflatePrime z_deflatePrime +# define inflateInit2_ z_inflateInit2_ +# define inflateSetDictionary z_inflateSetDictionary +# define inflateSync z_inflateSync +# define inflateSyncPoint z_inflateSyncPoint +# define inflateCopy z_inflateCopy +# define inflateReset z_inflateReset +# define inflateBack z_inflateBack +# define inflateBackEnd z_inflateBackEnd +# define compress z_compress +# define compress2 z_compress2 +# define compressBound z_compressBound +# define uncompress z_uncompress +# define adler32 z_adler32 +# define crc32 z_crc32 +# define get_crc_table z_get_crc_table +# define zError z_zError -# define Byte z_Byte -# define uInt z_uInt -# define uLong z_uLong -# define Bytef z_Bytef -# define charf z_charf -# define intf z_intf -# define uIntf z_uIntf -# define uLongf z_uLongf -# define voidpf z_voidpf -# define voidp z_voidp +# define alloc_func z_alloc_func +# define free_func z_free_func +# define in_func z_in_func +# define out_func z_out_func +# define Byte z_Byte +# define uInt z_uInt +# define uLong z_uLong +# define Bytef z_Bytef +# define charf z_charf +# define intf z_intf +# define uIntf z_uIntf +# define uLongf z_uLongf +# define voidpf z_voidpf +# define voidp z_voidp #endif #if defined(__MSDOS__) && !defined(MSDOS) @@ -61,8 +68,10 @@ #if defined(_WINDOWS) && !defined(WINDOWS) # define WINDOWS #endif -#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) -# define WIN32 +#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) +# ifndef WIN32 +# define WIN32 +# endif #endif #if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) # if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) @@ -281,7 +290,7 @@ # ifdef VMS # include <unixio.h> /* for off_t */ # endif -# define z_off_t off_t +# define z_off_t off_t #endif #ifndef SEEK_SET # define SEEK_SET 0 /* Seek from beginning of file. */ @@ -289,11 +298,11 @@ # define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ #endif #ifndef z_off_t -# define z_off_t long +# define z_off_t long #endif #if defined(__OS400__) -#define NO_vsnprintf +# define NO_vsnprintf #endif #if defined(__MVS__) Modified: trunk/jcl/include/zlib.h =================================================================== --- trunk/jcl/include/zlib.h 2006-08-11 14:43:50 UTC (rev 1724) +++ trunk/jcl/include/zlib.h 2006-08-11 14:57:53 UTC (rev 1725) @@ -1,7 +1,7 @@ /* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.1, November 17th, 2003 + version 1.2.3, July 18th, 2005 - Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler + Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -37,8 +37,8 @@ extern "C" { #endif -#define ZLIB_VERSION "1.2.1" -#define ZLIB_VERNUM 0x1210 +#define ZLIB_VERSION "1.2.3" +#define ZLIB_VERNUM 0x1230 /* The 'zlib' compression library provides in-memory compression and @@ -53,24 +53,22 @@ application must provide more input and/or consume the output (providing more output space) before each call. - The compressed data format used by the in-memory functions is the zlib - format, which is a zlib wrapper documented in RFC 1950, wrapped around a - deflate stream, which is itself documented in RFC 1951. + The compressed data format used by default by the in-memory functions is + the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped + around a deflate stream, which is itself documented in RFC 1951. The library also supports reading and writing files in gzip (.gz) format with an interface similar to that of stdio using the functions that start with "gz". The gzip format is different from the zlib format. gzip is a gzip wrapper, documented in RFC 1952, wrapped around a deflate stream. + This library can optionally read and write gzip streams in memory as well. + The zlib format was designed to be compact and fast for use in memory and on communications channels. The gzip format was designed for single- file compression on file systems, has a larger header than zlib to maintain directory information, and uses a different, slower check method than zlib. - This library does not provide any functions to write gzip files in memory. - However such functions could be easily written using zlib's deflate function, - the documentation in the gzip RFC, and the examples in gzio.c. - The library does not install any signal handler. The decoder checks the consistency of the compressed data, so the library should never crash even in case of corrupted input. @@ -97,7 +95,7 @@ free_func zfree; /* used to free the internal state */ voidpf opaque; /* private data object passed to zalloc and zfree */ - int data_type; /* best guess about the data type: ascii or binary */ + int data_type; /* best guess about the data type: binary or text */ uLong adler; /* adler32 value of the uncompressed data */ uLong reserved; /* reserved for future use */ } z_stream; @@ -105,6 +103,29 @@ typedef z_stream FAR *z_streamp; /* + gzip header information passed to and from zlib routines. See RFC 1952 + for more details on the meanings of these fields. +*/ +typedef struct gz_header_s { + int text; /* true if compressed data believed to be text */ + uLong time; /* modification time */ + int xflags; /* extra flags (not used when writing a gzip file) */ + int os; /* operating system */ + Bytef *extra; /* pointer to extra field or Z_NULL if none */ + uInt extra_len; /* extra field length (valid if extra != Z_NULL) */ + uInt extra_max; /* space at extra (only when reading header) */ + Bytef *name; /* pointer to zero-terminated file name or Z_NULL */ + uInt name_max; /* space at name (only when reading header) */ + Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */ + uInt comm_max; /* space at comment (only when reading header) */ + int hcrc; /* true if there was or will be a header crc */ + int done; /* true when done reading gzip header (not used + when writing a gzip file) */ +} gz_header; + +typedef gz_header FAR *gz_headerp; + +/* The application must update next_in and avail_in when avail_in has dropped to zero. It must update next_out and avail_out when avail_out has dropped to zero. The application must initialize zalloc, zfree and @@ -168,11 +189,13 @@ #define Z_FILTERED 1 #define Z_HUFFMAN_ONLY 2 #define Z_RLE 3 +#define Z_FIXED 4 #define Z_DEFAULT_STRATEGY 0 /* compression strategy; see deflateInit2() below for details */ #define Z_BINARY 0 -#define Z_ASCII 1 +#define Z_TEXT 1 +#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */ #define Z_UNKNOWN 2 /* Possible values of the data_type field (though see inflate()) */ @@ -246,6 +269,10 @@ and with zero avail_out, it must be called again after making room in the output buffer because there might be more output pending. + Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to + decide how much data to accumualte before producing output, in order to + maximize compression. + If the parameter flush is set to Z_SYNC_FLUSH, all pending output is flushed to the output buffer and the output is aligned on a byte boundary, so that the decompressor can get all input data available so far. (In particular @@ -257,7 +284,7 @@ Z_SYNC_FLUSH, and the compression state is reset so that decompression can restart from this point if previous compressed data has been damaged or if random access is desired. Using Z_FULL_FLUSH too often can seriously degrade - the compression. + compression. If deflate returns with avail_out == 0, this function must be called again with the same value of the flush parameter and more output space (updated @@ -282,8 +309,8 @@ deflate() sets strm->adler to the adler32 checksum of all input read so far (that is, total_in bytes). - deflate() may update data_type if it can make a good guess about - the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered + deflate() may update strm->data_type if it can make a good guess about + the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered binary. This field is only for information purposes and does not affect the compression algorithm in any manner. @@ -365,11 +392,11 @@ The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH, or Z_BLOCK. Z_SYNC_FLUSH requests that inflate() flush as much output as possible to the output buffer. Z_BLOCK requests that inflate() stop - if and when it get to the next deflate block boundary. When decoding the zlib - or gzip format, this will cause inflate() to return immediately after the - header and before the first block. When doing a raw inflate, inflate() will - go ahead and process the first block, and will return when it gets to the end - of that block, or when it runs out of data. + if and when it gets to the next deflate block boundary. When decoding the + zlib or gzip format, this will cause inflate() to return immediately after + the header and before the first block. When doing a raw inflate, inflate() + will go ahead and process the first block, and will return when it gets to + the end of that block, or when it runs out of data. The Z_BLOCK option assists in appending to or combining deflate streams. Also to assist in this, on return inflate() will set strm->data_type to the @@ -401,7 +428,7 @@ because Z_BLOCK is used. If a preset dictionary is needed after this call (see inflateSetDictionary - below), inflate sets strm-adler to the adler32 checksum of the dictionary + below), inflate sets strm->adler to the adler32 checksum of the dictionary chosen by the compressor and returns Z_NEED_DICT; otherwise it sets strm->adler to the adler32 checksum of all output produced so far (that is, total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described @@ -478,7 +505,8 @@ 16 to windowBits to write a simple gzip header and trailer around the compressed data instead of a zlib wrapper. The gzip header will have no file name, no extra data, no comment, no modification time (set to zero), - no header crc, and the operating system will be set to 255 (unknown). + no header crc, and the operating system will be set to 255 (unknown). If a + gzip stream is being written, strm->adler is a crc32 instead of an adler32. The memLevel parameter specifies how much memory should be allocated for the internal compression state. memLevel=1 uses minimum memory but @@ -497,7 +525,9 @@ Z_DEFAULT and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The strategy parameter only affects the compression ratio but not the correctness of the - compressed output even if it is not set appropriately. + compressed output even if it is not set appropriately. Z_FIXED prevents the + use of dynamic Huffman codes, allowing for a simpler decoder for special + applications. deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough memory, Z_STREAM_ERROR if a parameter is invalid (such as an invalid @@ -526,7 +556,9 @@ deflateInit or deflateInit2, a part of the dictionary may in effect be discarded, for example if the dictionary is larger than the window size in deflate or deflate2. Thus the strings most likely to be useful should be - put at the end of the dictionary, not at the front. + put at the end of the dictionary, not at the front. In addition, the + current implementation of deflate will use at most the window size minus + 262 bytes of the provided dictionary. Upon return of this function, strm->adler is set to the adler32 value of the dictionary; the decompressor may later use this value to determine @@ -592,6 +624,23 @@ if strm->avail_out was zero. */ +ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm, + int good_length, + int max_lazy, + int nice_length, + int max_chain)); +/* + Fine tune deflate's internal compression parameters. This should only be + used by someone who understands the algorithm used by zlib's deflate for + searching for the best matching string, and even then only by the most + fanatic optimizer trying to squeeze out the last compressed bit for their + specific input data. Read the deflate.c source code for the meaning of the + max_lazy, good_length, nice_length, and max_chain parameters. + + deflateTune() can be called after deflateInit() or deflateInit2(), and + returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream. + */ + ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm, uLong sourceLen)); /* @@ -617,7 +666,31 @@ stream state was inconsistent. */ +ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm, + gz_headerp head)); /* + deflateSetHeader() provides gzip header information for when a gzip + stream is requested by deflateInit2(). deflateSetHeader() may be called + after deflateInit2() or deflateReset() and before the first call of + deflate(). The text, time, os, extra field, name, and comment information + in the provided gz_header structure are written to the gzip header (xflag is + ignored -- the extra flags are set according to the compression level). The + caller must assure that, if not Z_NULL, name and comment are terminated with + a zero byte, and that if extra is not Z_NULL, that extra_len bytes are + available there. If hcrc is true, a gzip header crc is included. Note that + the current versions of the command-line version of gzip (up through version + 1.3.x) do not support header crc's, and will report that it is a "multi-part + gzip file" and give up. + + If deflateSetHeader is not used, the default gzip header has text false, + the time set to zero, and os set to 255, with no extra, name, or comment + fields. The gzip header is returned to the default state by deflateReset(). + + deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. +*/ + +/* ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm, int windowBits)); @@ -649,14 +722,15 @@ windowBits can also be greater than 15 for optional gzip decoding. Add 32 to windowBits to enable zlib and gzip decoding with automatic header detection, or add 16 to decode only the gzip format (the zlib format will - return a Z_DATA_ERROR). + return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is + a crc32 instead of an adler32. inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_STREAM_ERROR if a parameter is invalid (such as a negative - memLevel). msg is set to null if there is no error message. inflateInit2 - does not perform any decompression apart from reading the zlib header if - present: this will be done by inflate(). (So next_in and avail_in may be - modified, but next_out and avail_out are unchanged.) + memory, Z_STREAM_ERROR if a parameter is invalid (such as a null strm). msg + is set to null if there is no error message. inflateInit2 does not perform + any decompression apart from reading the zlib header if present: this will + be done by inflate(). (So next_in and avail_in may be modified, but next_out + and avail_out are unchanged.) */ ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm, @@ -664,11 +738,14 @@ uInt dictLength)); /* Initializes the decompression dictionary from the given uncompressed byte - sequence. This function must be called immediately after a call of inflate - if this call returned Z_NEED_DICT. The dictionary chosen by the compressor - can be determined from the adler32 value returned by this call of - inflate. The compressor and decompressor must use exactly the same - dictionary (see deflateSetDictionary). + sequence. This function must be called immediately after a call of inflate, + if that call returned Z_NEED_DICT. The dictionary chosen by the compressor + can be determined from the adler32 value returned by that call of inflate. + The compressor and decompressor must use exactly the same dictionary (see + deflateSetDictionary). For raw inflate, this function can be called + immediately after inflateInit2() or inflateReset() and before any call of + inflate() to set the dictionary. The application must insure that the + dictionary that was used for compression is provided. inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a parameter is invalid (such as NULL dictionary) or the stream state is @@ -719,8 +796,64 @@ stream state was inconsistent (such as zalloc or state being NULL). */ +ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm, + int bits, + int value)); /* -ZEXTERN int ZEXPORT inflateBackInit OF((z_stream FAR *strm, int windowBits, + This function inserts bits in the inflate input stream. The intent is + that this function is used to start inflating at a bit position in the + middle of a byte. The provided bits will be used before any bytes are used + from next_in. This function should only be used with raw inflate, and + should be used before the first inflate() call after inflateInit2() or + inflateReset(). bits must be less than or equal to 16, and that many of the + least significant bits of value will be inserted in the input. + + inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. +*/ + +ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm, + gz_headerp head)); +/* + inflateGetHeader() requests that gzip header information be stored in the + provided gz_header structure. inflateGetHeader() may be called after + inflateInit2() or inflateReset(), and before the first call of inflate(). + As inflate() processes the gzip stream, head->done is zero until the header + is completed, at which time head->done is set to one. If a zlib stream is + being decoded, then head->done is set to -1 to indicate that there will be + no gzip header information forthcoming. Note that Z_BLOCK can be used to + force inflate() to return immediately after header processing is complete + and before any actual data is decompressed. + + The text, time, xflags, and os fields are filled in with the gzip header + contents. hcrc is set to true if there is a header CRC. (The header CRC + was valid if done is set to one.) If extra is not Z_NULL, then extra_max + contains the maximum number of bytes to write to extra. Once done is true, + extra_len contains the actual extra field length, and extra contains the + extra field, or that field truncated if extra_max is less than extra_len. + If name is not Z_NULL, then up to name_max characters are written there, + terminated with a zero unless the length is greater than name_max. If + comment is not Z_NULL, then up to comm_max characters are written there, + terminated with a zero unless the length is greater than comm_max. When + any of extra, name, or comment are not Z_NULL and the respective field is + not present in the header, then that field is set to Z_NULL to signal its + absence. This allows the use of deflateSetHeader() with the returned + structure to duplicate the header. However if those fields are set to + allocated memory, then the application will need to save those pointers + elsewhere so that they can be eventually freed. + + If inflateGetHeader is not used, then the header information is simply + discarded. The header is always checked for validity, including the header + CRC if present. inflateReset() will reset the process to discard the header + information. The application would need to call inflateGetHeader() again to + retrieve the header from the next gzip stream. + + inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. +*/ + +/* +ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits, unsigned char FAR *window)); Initialize the internal stream state for decompression using inflateBack() @@ -744,7 +877,7 @@ typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *)); typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned)); -ZEXTERN int ZEXPORT inflateBack OF((z_stream FAR *strm, +ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm, in_func in, void FAR *in_desc, out_func out, void FAR *out_desc)); /* @@ -813,7 +946,7 @@ that inflateBack() cannot return Z_OK. */ -ZEXTERN int ZEXPORT inflateBackEnd OF((z_stream FAR *strm)); +ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm)); /* All memory allocated by inflateBackInit() is freed. @@ -1087,6 +1220,12 @@ input stream, otherwise zero. */ +ZEXTERN int ZEXPORT gzdirect OF((gzFile file)); +/* + Returns 1 if file is being read directly without decompression, otherwise + zero. +*/ + ZEXTERN int ZEXPORT gzclose OF((gzFile file)); /* Flushes all pending output if necessary, closes the compressed file @@ -1119,7 +1258,6 @@ */ ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len)); - /* Update a running Adler-32 checksum with the bytes buf[0..len-1] and return the updated checksum. If buf is NULL, this function returns @@ -1135,12 +1273,21 @@ if (adler != original_adler) error(); */ +ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2, + z_off_t len2)); +/* + Combine two Adler-32 checksums into one. For two sequences of bytes, seq1 + and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for + each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of + seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. +*/ + ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); /* - Update a running crc with the bytes buf[0..len-1] and return the updated - crc. If buf is NULL, this function returns the required initial value - for the crc. Pre- and post-conditioning (one's complement) is performed - within this function so it shouldn't be done by the application. + Update a running CRC-32 with the bytes buf[0..len-1] and return the + updated CRC-32. If buf is NULL, this function returns the required initial + value for the for the crc. Pre- and post-conditioning (one's complement) is + performed within this function so it shouldn't be done by the application. Usage example: uLong crc = crc32(0L, Z_NULL, 0); @@ -1151,7 +1298,17 @@ if (crc != original_crc) error(); */ +ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2)); +/* + Combine two CRC-32 check values into one. For two sequences of bytes, + seq1 and seq2 with lengths len1 and len2, CRC-32 check values were + calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 + check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and + len2. +*/ + + /* various hacks, don't look :) */ /* deflateInit and inflateInit are macros to allow checking the zlib version @@ -1167,7 +1324,7 @@ int stream_size)); ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits, const char *version, int stream_size)); -ZEXTERN int ZEXPORT inflateBackInit_ OF((z_stream FAR *strm, int windowBits, +ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits, unsigned char FAR *window, const char *version, int stream_size)); @@ -1189,7 +1346,7 @@ struct internal_state {int dummy;}; /* hack for buggy compilers */ #endif -ZEXTERN const char * ZEXPORT zError OF((int err)); +ZEXTERN const char * ZEXPORT zError OF((int)); ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z)); ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void)); Modified: trunk/jcl/include/zutil.h =================================================================== --- trunk/jcl/include/zutil.h 2006-08-11 14:43:50 UTC (rev 1724) +++ trunk/jcl/include/zutil.h 2006-08-11 14:57:53 UTC (rev 1725) @@ -1,5 +1,5 @@ /* zutil.h -- internal interface and configuration of the compression library - * Copyright (C) 1995-2003 Jean-loup Gailly. + * Copyright (C) 1995-2005 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -17,14 +17,26 @@ #include "zlib.h" #ifdef STDC -# include <stddef.h> +# ifndef _WIN32_WCE +# include <stddef.h> +# endif # include <string.h> # include <stdlib.h> #endif #ifdef NO_ERRNO_H +# ifdef _WIN32_WCE + /* The Microsoft C Run-Time Library for Windows CE doesn't have + * errno. We define it as a global variable to simplify porting. + * Its value is always 0 and should not be used. We rename it to + * avoid conflict with other libraries that use the same workaround. + */ +# define errno z_errno +# endif extern int errno; #else -# include <errno.h> +# ifndef _WIN32_WCE +# include <errno.h> +# endif #endif #ifndef local @@ -105,6 +117,9 @@ #ifdef OS2 # define OS_CODE 0x06 +# ifdef M_I86 + #include <malloc.h> +# endif #endif #if defined(MACOS) || defined(TARGET_OS_MAC) @@ -189,12 +204,8 @@ # define NO_vsnprintf # endif #endif - -#ifdef HAVE_STRERROR - extern char *strerror OF((int)); -# define zstrerror(errnum) strerror(errnum) -#else -# define zstrerror(errnum) "" +#ifdef VMS +# define NO_vsnprintf #endif #if defined(pyr) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-11 14:43:55
|
Revision: 1724 Author: outchy Date: 2006-08-11 07:43:50 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1724&view=rev Log Message: ----------- DotNet compatibility Modified Paths: -------------- trunk/jcl/source/common/JclSysUtils.pas Modified: trunk/jcl/source/common/JclSysUtils.pas =================================================================== --- trunk/jcl/source/common/JclSysUtils.pas 2006-08-11 08:01:13 UTC (rev 1723) +++ trunk/jcl/source/common/JclSysUtils.pas 2006-08-11 14:43:50 UTC (rev 1724) @@ -500,6 +500,7 @@ {$ENDIF ~CLR} end; +{$IFNDEF CLR} type TJclSimpleLog = class (TObject) private @@ -520,6 +521,7 @@ property LogFileName: string read FLogFileName; property LogOpen: Boolean read GetLogOpen; end; +{$ENDIF ~CLR} {$IFDEF UNITVERSIONING} const @@ -2997,7 +2999,6 @@ else Result := E_NOINTERFACE; end; -{$ENDIF ~CLR} //=== { TJclSimpleLog } ====================================================== @@ -3092,6 +3093,8 @@ Write(StrRepeat('=', SeparatorLen)); end; +{$ENDIF ~CLR} + initialization {$IFDEF THREADSAFE} if not Assigned(GlobalMMFHandleListCS) then @@ -3105,7 +3108,9 @@ {$IFDEF UNITVERSIONING} UnregisterUnitVersion(HInstance); {$ENDIF UNITVERSIONING} + {$IFNDEF CLR} FinalizeMMFHandleList; + {$ENDIF ~CLR} {$IFDEF THREADSAFE} GlobalMMFHandleListCS.Free; {$ENDIF THREADSAFE} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ob...@us...> - 2006-08-11 08:01:18
|
Revision: 1723 Author: obones Date: 2006-08-11 01:01:13 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1723&view=rev Log Message: ----------- Now compiles. Modified Paths: -------------- trunk/jcl/source/common/JclBorlandTools.pas Modified: trunk/jcl/source/common/JclBorlandTools.pas =================================================================== --- trunk/jcl/source/common/JclBorlandTools.pas 2006-08-11 07:32:30 UTC (rev 1722) +++ trunk/jcl/source/common/JclBorlandTools.pas 2006-08-11 08:01:13 UTC (rev 1723) @@ -344,7 +344,7 @@ {$HPPEMIT ' // usage, resulting in an unusable header file. We fix this by forward'} {$HPPEMIT ' // declaring the interface.'} {$HPPEMIT ' __interface IJclCommandLineTool;'} -{$HPPEMIT '}'} +(*$HPPEMIT '}'*) IJclCommandLineTool = interface ['{A0034B09-A074-D811-847D-0030849E4592}'] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ob...@us...> - 2006-08-11 07:32:37
|
Revision: 1722 Author: obones Date: 2006-08-11 00:32:30 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1722&view=rev Log Message: ----------- Fixed generation of the HPP. Modified Paths: -------------- trunk/jcl/source/common/JclBorlandTools.pas Modified: trunk/jcl/source/common/JclBorlandTools.pas =================================================================== --- trunk/jcl/source/common/JclBorlandTools.pas 2006-08-10 18:45:53 UTC (rev 1721) +++ trunk/jcl/source/common/JclBorlandTools.pas 2006-08-11 07:32:30 UTC (rev 1722) @@ -338,6 +338,14 @@ property PackageDisabled[Index: Integer]: Boolean read GetPackageDisabled; end; +{$HPPEMIT 'namespace Jclborlandtools'} +{$HPPEMIT '{'} +{$HPPEMIT ' // For some reason, the generator puts this interface after its first'} +{$HPPEMIT ' // usage, resulting in an unusable header file. We fix this by forward'} +{$HPPEMIT ' // declaring the interface.'} +{$HPPEMIT ' __interface IJclCommandLineTool;'} +{$HPPEMIT '}'} + IJclCommandLineTool = interface ['{A0034B09-A074-D811-847D-0030849E4592}'] function GetExeName: string; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-10 18:46:01
|
Revision: 1721 Author: outchy Date: 2006-08-10 11:45:53 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1721&view=rev Log Message: ----------- cfg files are incomplete and they should not be in the repository Removed Paths: ------------- trunk/jcl/install/JediInstaller.cfg trunk/jcl/install/QJediInstaller.cfg Deleted: trunk/jcl/install/JediInstaller.cfg =================================================================== --- trunk/jcl/install/JediInstaller.cfg 2006-08-10 17:24:02 UTC (rev 1720) +++ trunk/jcl/install/JediInstaller.cfg 2006-08-10 18:45:53 UTC (rev 1721) @@ -1,3 +0,0 @@ --E"..\bin" --N"." --DJCLINSTALL Deleted: trunk/jcl/install/QJediInstaller.cfg =================================================================== --- trunk/jcl/install/QJediInstaller.cfg 2006-08-10 17:24:02 UTC (rev 1720) +++ trunk/jcl/install/QJediInstaller.cfg 2006-08-10 18:45:53 UTC (rev 1721) @@ -1,3 +0,0 @@ --E"..\bin" --N"." --DJCLINSTALL;VisualCLX This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-10 17:24:11
|
Revision: 1720 Author: outchy Date: 2006-08-10 10:24:02 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1720&view=rev Log Message: ----------- The reserved parameter of GetRequestedRuntimeInfo must be 0 for .net version 1.X Modified Paths: -------------- trunk/jcl/source/windows/JclDotNet.pas Modified: trunk/jcl/source/windows/JclDotNet.pas =================================================================== --- trunk/jcl/source/windows/JclDotNet.pas 2006-08-10 16:25:03 UTC (rev 1719) +++ trunk/jcl/source/windows/JclDotNet.pas 2006-08-10 17:24:02 UTC (rev 1720) @@ -752,10 +752,15 @@ FindData: TWin32FindDataW; SearchHandle: THandle; DirectoryBuffer, VersionBuffer: WideString; - DirectoryLength, VersionLength, OldErrorMode: DWORD; + DirectoryLength, VersionLength, OldErrorMode, RuntimeInfo: DWORD; begin SystemDirectory := CorSystemDirectory; + if Pos('V1', AnsiUpperCase(CorVersion)) > 0 then + RunTimeInfo := 0 + else + RunTimeInfo := RUNTIME_INFO_DONT_SHOW_ERROR_DIALOG; + if (SystemDirectory = '') or not DirectoryExistsW(SystemDirectory) then Exit; @@ -780,7 +785,7 @@ begin OldErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS); try - if (GetRequestedRuntimeInfo(nil, FindData.cFileName, nil, 0, RUNTIME_INFO_DONT_SHOW_ERROR_DIALOG, + if (GetRequestedRuntimeInfo(nil, FindData.cFileName, nil, 0, RunTimeInfo, nil, 0, DirectoryLength, nil, 0, VersionLength) and $1FFF = ERROR_INSUFFICIENT_BUFFER) and (DirectoryLength > 0) and (VersionLength > 0) then begin This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-10 17:07:00
|
Revision: 1719 Author: outchy Date: 2006-08-10 09:25:03 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1719&view=rev Log Message: ----------- Hide the error box for .net version 1.1 Modified Paths: -------------- trunk/jcl/source/windows/JclDotNet.pas Modified: trunk/jcl/source/windows/JclDotNet.pas =================================================================== --- trunk/jcl/source/windows/JclDotNet.pas 2006-08-10 15:47:58 UTC (rev 1718) +++ trunk/jcl/source/windows/JclDotNet.pas 2006-08-10 16:25:03 UTC (rev 1719) @@ -752,7 +752,7 @@ FindData: TWin32FindDataW; SearchHandle: THandle; DirectoryBuffer, VersionBuffer: WideString; - DirectoryLength, VersionLength: DWORD; + DirectoryLength, VersionLength, OldErrorMode: DWORD; begin SystemDirectory := CorSystemDirectory; @@ -778,16 +778,21 @@ if ((FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) <> 0) and (WideString(FindData.cFileName) <> '.') and (WideString(FindData.cFileName) <> '..') then begin - if (GetRequestedRuntimeInfo(nil, FindData.cFileName, nil, 0, RUNTIME_INFO_DONT_SHOW_ERROR_DIALOG, - nil, 0, DirectoryLength, nil, 0, VersionLength) and $1FFF = ERROR_INSUFFICIENT_BUFFER) - and (DirectoryLength > 0) and (VersionLength > 0) then - begin - SetLength(DirectoryBuffer, DirectoryLength - 1); - SetLength(VersionBuffer, VersionLength - 1); - if GetRequestedRuntimeInfo(nil, FindData.cFileName, nil, 0, RUNTIME_INFO_DONT_SHOW_ERROR_DIALOG, - PWideChar(DirectoryBuffer), DirectoryLength, DirectoryLength, - PWideChar(VersionBuffer), VersionLength, VersionLength) = S_OK then - VersionNames.Values[VersionBuffer] := DirectoryBuffer + VersionBuffer; + OldErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS); + try + if (GetRequestedRuntimeInfo(nil, FindData.cFileName, nil, 0, RUNTIME_INFO_DONT_SHOW_ERROR_DIALOG, + nil, 0, DirectoryLength, nil, 0, VersionLength) and $1FFF = ERROR_INSUFFICIENT_BUFFER) + and (DirectoryLength > 0) and (VersionLength > 0) then + begin + SetLength(DirectoryBuffer, DirectoryLength - 1); + SetLength(VersionBuffer, VersionLength - 1); + if GetRequestedRuntimeInfo(nil, FindData.cFileName, nil, 0, RUNTIME_INFO_DONT_SHOW_ERROR_DIALOG, + PWideChar(DirectoryBuffer), DirectoryLength, DirectoryLength, + PWideChar(VersionBuffer), VersionLength, VersionLength) = S_OK then + VersionNames.Values[VersionBuffer] := DirectoryBuffer + VersionBuffer; + end; + finally + SetErrorMode(OldErrorMode); end; end; until not FindNextFileW(SearchHandle, FindData); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-10 15:48:11
|
Revision: 1718 Author: outchy Date: 2006-08-10 08:47:58 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1718&view=rev Log Message: ----------- Variable are explicitly initialized New function to enumerate the installed versions of the CLR New functions imported from mscoree.dll Minor fixes in string lengths Modified Paths: -------------- trunk/jcl/source/windows/JclDotNet.pas Modified: trunk/jcl/source/windows/JclDotNet.pas =================================================================== --- trunk/jcl/source/windows/JclDotNet.pas 2006-08-10 11:45:45 UTC (rev 1717) +++ trunk/jcl/source/windows/JclDotNet.pas 2006-08-10 15:47:58 UTC (rev 1718) @@ -19,6 +19,7 @@ { Flier Lu (flier) } { Robert Marquardt (marquardt) } { Olivier Sannier (obones) } +{ Florent Ouchet (outchy) } { } {**************************************************************************************************} { } @@ -33,7 +34,7 @@ unit JclDotNet; {**************************************************************************************************} -{ Read this before compile! } +{ Read this before compile! } {**************************************************************************************************} { 1. This unit is developed in Delphi6 with MS.Net v1.0.3705, } { you maybe need to modify it for your environment. } @@ -58,7 +59,7 @@ {$IFDEF RTL130_UP} Contnrs, {$ENDIF RTL130_UP} - JclBase, + JclBase, JclWideStrings, mscoree_TLB, mscorlib_TLB; {$HPPEMIT '#include<Mscoree.h>'} @@ -120,6 +121,7 @@ class function CorSystemDirectory: WideString; class function CorVersion: WideString; class function CorRequiredVersion: WideString; + class procedure GetClrVersions(VersionNames: TWideStrings); property DefaultInterface: ICorRuntimeHost read FDefaultInterface implements ICorRuntimeHost; property AppDomains[const Idx: Integer]: TJclClrAppDomain read GetAppDomain; default; property AppDomainCount: Integer read GetAppDomainCount; @@ -234,17 +236,45 @@ type HDOMAINENUM = Pointer; - {$EXTERNALSYM GetCORSystemDirectory} + {$EXTERNALSYM HDOMAINENUM} +const + STARTUP_CONCURRENT_GC = $1; + STARTUP_LOADER_OPTIMIZATION_MASK = $3 shl 1; + STARTUP_LOADER_OPTIMIZATION_SINGLE_DOMAIN = $1 shl 1; + STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN = $2 shl 1; + STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN_HOST = $3 shl 1; + STARTUP_LOADER_SAFEMODE = $10; + STARTUP_LOADER_SETPREFERENCE = $100; + + RUNTIME_INFO_UPGRADE_VERSION = $01; + RUNTIME_INFO_REQUEST_IA64 = $02; + RUNTIME_INFO_REQUEST_AMD64 = $04; + RUNTIME_INFO_REQUEST_X86 = $08; + RUNTIME_INFO_DONT_RETURN_DIRECTORY = $10; + RUNTIME_INFO_DONT_RETURN_VERSION = $20; + RUNTIME_INFO_DONT_SHOW_ERROR_DIALOG = $40; + function GetCORSystemDirectory(pbuffer: PWideChar; const cchBuffer: DWORD; var dwLength: DWORD): HRESULT; stdcall; {$EXTERNALSYM GetCORSystemDirectory} function GetCORVersion(pbuffer: PWideChar; const cchBuffer: DWORD; var dwLength: DWORD): HRESULT; stdcall; {$EXTERNALSYM GetCORVersion} +function GetFileVersion(szFileName, szBuffer: PWideChar; const cchBuffer: DWORD; + var dwLength: DWORD): HRESULT; stdcall; +{$EXTERNALSYM GetFileVersion} function GetCORRequiredVersion(pbuffer: PWideChar; const cchBuffer: DWORD; var dwLength: DWORD): HRESULT; stdcall; {$EXTERNALSYM GetCORRequiredVersion} +function GetRequestedRuntimeInfo(pExe, pwszVersion, pConfigurationFile: PWideChar; + const startupFlags, reserved: DWORD; pDirectory: PWideChar; const dwDirectory: DWORD; + var dwDirectoryLength: DWORD; pVersion: PWideChar; const cchBuffer: DWORD; + var dwLength: DWORD): HRESULT; stdcall; +{$EXTERNALSYM GetRequestedRuntimeInfo} +function GetRequestedRuntimeVersion(pExe, pVersion: PWideChar; + const cchBuffer: DWORD; var dwLength: DWORD): HRESULT; stdcall; +{$EXTERNALSYM GetRequestedRuntimeVersion} function CorBindToRuntimeHost(pwszVersion, pwszBuildFlavor, pwszHostConfigFile: PWideChar; const pReserved: Pointer; const startupFlags: DWORD; const rclsid: TCLSID; const riid: TIID; @@ -285,7 +315,22 @@ procedure CorExitProcess(const exitCode: Integer); stdcall; {$EXTERNALSYM CorExitProcess} +type + CLSID_RESOLUTION_FLAGS = type Byte; + {$EXTERNALSYM CLSID_RESOLUTION_FLAGS} + const + CLSID_RESOLUTION_DEFAULT = $0; + {$EXTERNALSYM CLSID_RESOLUTION_DEFAULT} + CLSID_RESOLUTION_REGISTERED = $1; + {$EXTERNALSYM CLSID_RESOLUTION_REGISTERED} + +function GetRequestedRuntimeVersionForCLSID(rclsid: TGuid; pVersion: PWideChar; + const cchBuffer: DWORD; var dwLength: DWORD; + const dwResolutionFlags: CLSID_RESOLUTION_FLAGS): HRESULT; stdcall; +{$EXTERNALSYM GetRequestedRuntimeVersionForCLSID} + +const mscoree_dll = 'mscoree.dll'; {$IFDEF UNITVERSIONING} @@ -329,7 +374,7 @@ {$WARNINGS OFF} var - _GetCORSystemDirectory: Pointer; + _GetCORSystemDirectory: Pointer = nil; function GetCORSystemDirectory; begin @@ -342,7 +387,7 @@ end; var - _GetCORVersion: Pointer; + _GetCORVersion: Pointer = nil; function GetCORVersion; begin @@ -355,8 +400,21 @@ end; var - _GetCORRequiredVersion: Pointer; + _GetFileVersion: Pointer = nil; +function GetFileVersion; +begin + GetProcedureAddress(_GetFileVersion, mscoree_dll, 'GetFileVersion'); + asm + mov esp, ebp + pop ebp + jmp [_GetFileVersion] + end; +end; + +var + _GetCORRequiredVersion: Pointer = nil; + function GetCORRequiredVersion; begin GetProcedureAddress(_GetCORRequiredVersion, mscoree_dll, 'GetCORRequiredVersion'); @@ -368,8 +426,34 @@ end; var - _CorBindToRuntimeHost: Pointer; + _GetRequestedRuntimeInfo: Pointer = nil; +function GetRequestedRuntimeInfo; +begin + GetProcedureAddress(_GetRequestedRuntimeInfo, mscoree_dll, 'GetRequestedRuntimeInfo'); + asm + mov esp, ebp + pop ebp + jmp [_GetRequestedRuntimeInfo] + end; +end; + +var + _GetRequestedRuntimeVersion: Pointer = nil; + +function GetRequestedRuntimeVersion; +begin + GetProcedureAddress(_GetRequestedRuntimeVersion, mscoree_dll, 'GetRequestedRuntimeVersion'); + asm + mov esp, ebp + pop ebp + jmp [_GetRequestedRuntimeVersion] + end; +end; + +var + _CorBindToRuntimeHost: Pointer = nil; + function CorBindToRuntimeHost; begin GetProcedureAddress(_CorBindToRuntimeHost, mscoree_dll, 'CorBindToRuntimeHost'); @@ -381,7 +465,7 @@ end; var - _CorBindToRuntimeEx: Pointer; + _CorBindToRuntimeEx: Pointer = nil; function CorBindToRuntimeEx; begin @@ -394,7 +478,7 @@ end; var - _CorBindToRuntimeByCfg: Pointer; + _CorBindToRuntimeByCfg: Pointer = nil; function CorBindToRuntimeByCfg; begin @@ -407,7 +491,7 @@ end; var - _CorBindToRuntime: Pointer; + _CorBindToRuntime: Pointer = nil; function CorBindToRuntime; begin @@ -420,7 +504,7 @@ end; var - _CorBindToCurrentRuntime: Pointer; + _CorBindToCurrentRuntime: Pointer = nil; function CorBindToCurrentRuntime; begin @@ -433,7 +517,7 @@ end; var - _ClrCreateManagedInstance: Pointer; + _ClrCreateManagedInstance: Pointer = nil; function ClrCreateManagedInstance; begin @@ -446,7 +530,7 @@ end; var - _CorMarkThreadInThreadPool: Pointer; + _CorMarkThreadInThreadPool: Pointer = nil; procedure CorMarkThreadInThreadPool; begin @@ -459,7 +543,7 @@ end; var - _RunDll32ShimW: Pointer; + _RunDll32ShimW: Pointer = nil; function RunDll32ShimW; begin @@ -472,7 +556,7 @@ end; var - _LoadLibraryShim: Pointer; + _LoadLibraryShim: Pointer = nil; function LoadLibraryShim; begin @@ -485,7 +569,7 @@ end; var - _CallFunctionShim: Pointer; + _CallFunctionShim: Pointer = nil; function CallFunctionShim; begin @@ -498,7 +582,7 @@ end; var - _GetRealProcAddress: Pointer; + _GetRealProcAddress: Pointer = nil; function GetRealProcAddress; begin @@ -511,7 +595,7 @@ end; var - _CorExitProcess: Pointer; + _CorExitProcess: Pointer = nil; procedure CorExitProcess; begin @@ -523,6 +607,20 @@ end; end; +// truncated because the symbol was not found in assembler +var + _GetRequestedRuntimeVersionForCL: Pointer = nil; + +function GetRequestedRuntimeVersionForCLSID; +begin + GetProcedureAddress(_GetRequestedRuntimeVersionForCL, mscoree_dll, 'GetRequestedRuntimeVersionForCLSID'); + asm + mov esp, ebp + pop ebp + jmp [_GetRequestedRuntimeVersionForCL] + end; +end; + {$WARNINGS ON} //=== { TJclClrHost } ======================================================== @@ -532,14 +630,6 @@ CLR_MINOR_VERSION = 0; CLR_BUILD_VERSION = 3705; - STARTUP_CONCURRENT_GC = $1; - STARTUP_LOADER_OPTIMIZATION_MASK = $3 shl 1; - STARTUP_LOADER_OPTIMIZATION_SINGLE_DOMAIN = $1 shl 1; - STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN = $2 shl 1; - STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN_HOST = $3 shl 1; - STARTUP_LOADER_SAFEMODE = $10; - STARTUP_LOADER_SETPREFERENCE = $100; - constructor TJclClrHost.Create(const ClrVer: WideString; const Flavor: TJclClrHostFlavor; const ConcurrentGC: Boolean; const LoaderFlags: TJclClrHostLoaderFlags); const @@ -645,6 +735,68 @@ Result := Unk as IJclClrAppDomain; end; +class procedure TJclClrHost.GetClrVersions(VersionNames: TWideStrings); + function DirectoryExistsW(const DirectoryName: WideString): Boolean; + var + Code: DWORD; + begin + Code := GetFileAttributesW(PWideChar(DirectoryName)); + Result := (Code <> $FFFFFFFF) and ((Code and FILE_ATTRIBUTE_DIRECTORY) <> 0); + end; +const + WideDirDelimiter: WideChar = '\'; +var + SystemDirectory: WideString; + Index: Integer; + PathOk: Boolean; + FindData: TWin32FindDataW; + SearchHandle: THandle; + DirectoryBuffer, VersionBuffer: WideString; + DirectoryLength, VersionLength: DWORD; +begin + SystemDirectory := CorSystemDirectory; + + if (SystemDirectory = '') or not DirectoryExistsW(SystemDirectory) then + Exit; + + PathOk := False; + for Index := Length(SystemDirectory) - 1 downto 1 do + if SystemDirectory[Index] = WideDirDelimiter then + begin + SetLength(SystemDirectory, Index); + PathOk := True; + Break; + end; + + if PathOk then + begin + SearchHandle := FindFirstFileW(PWideChar(SystemDirectory + '*.*'), FindData); + if SearchHandle = INVALID_HANDLE_VALUE then + Exit; + try + repeat + if ((FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) <> 0) + and (WideString(FindData.cFileName) <> '.') and (WideString(FindData.cFileName) <> '..') then + begin + if (GetRequestedRuntimeInfo(nil, FindData.cFileName, nil, 0, RUNTIME_INFO_DONT_SHOW_ERROR_DIALOG, + nil, 0, DirectoryLength, nil, 0, VersionLength) and $1FFF = ERROR_INSUFFICIENT_BUFFER) + and (DirectoryLength > 0) and (VersionLength > 0) then + begin + SetLength(DirectoryBuffer, DirectoryLength - 1); + SetLength(VersionBuffer, VersionLength - 1); + if GetRequestedRuntimeInfo(nil, FindData.cFileName, nil, 0, RUNTIME_INFO_DONT_SHOW_ERROR_DIALOG, + PWideChar(DirectoryBuffer), DirectoryLength, DirectoryLength, + PWideChar(VersionBuffer), VersionLength, VersionLength) = S_OK then + VersionNames.Values[VersionBuffer] := DirectoryBuffer + VersionBuffer; + end; + end; + until not FindNextFileW(SearchHandle, FindData); + finally + Windows.FindClose(SearchHandle); + end; + end; +end; + function TJclClrHost.GetCurrentAppDomain: IJclClrAppDomain; var Unk: IUnknown; @@ -669,7 +821,8 @@ begin SetLength(Result, MAX_PATH); OleCheck(GetCORSystemDirectory(PWideChar(Result), Length(Result), Len)); - SetLength(Result, Len); + if Len > 0 then + SetLength(Result, Len - 1); end; class function TJclClrHost.CorVersion: WideString; @@ -678,7 +831,8 @@ begin SetLength(Result, 64); OleCheck(GetCORVersion(PWideChar(Result), Length(Result), Len)); - SetLength(Result, Len); + if Len > 0 then + SetLength(Result, Len - 1); end; class function TJclClrHost.CorRequiredVersion: WideString; @@ -687,7 +841,8 @@ begin SetLength(Result, 64); OleCheck(GetCORRequiredVersion(PWideChar(Result), Length(Result), Len)); - SetLength(Result, Len); + if Len > 0 then + SetLength(Result, Len - 1); end; function TJclClrHost.CreateDomainSetup: TJclClrAppDomainSetup; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-10 11:46:04
|
Revision: 1717 Author: outchy Date: 2006-08-10 04:45:45 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1717&view=rev Log Message: ----------- Removed some useless files Removed Paths: ------------- trunk/jcl/examples/common/rtti/RTTIExample.identcache trunk/jcl/examples/common/textreader/TextReaderExample.identcache trunk/jcl/experts/debug/simdview/JclSIMDTestBCBProject.drc trunk/jcl/experts/debug/simdview/JclSIMDTestBCBProject.tds trunk/jcl/packages/d10.net/Jedi.Jcl.cfg trunk/jcl/packages/d9.net/Jedi.Jcl.cfg Deleted: trunk/jcl/examples/common/rtti/RTTIExample.identcache =================================================================== (Binary files differ) Deleted: trunk/jcl/examples/common/textreader/TextReaderExample.identcache =================================================================== (Binary files differ) Deleted: trunk/jcl/experts/debug/simdview/JclSIMDTestBCBProject.drc =================================================================== --- trunk/jcl/experts/debug/simdview/JclSIMDTestBCBProject.drc 2006-08-10 10:28:29 UTC (rev 1716) +++ trunk/jcl/experts/debug/simdview/JclSIMDTestBCBProject.drc 2006-08-10 11:45:45 UTC (rev 1717) @@ -1,9 +0,0 @@ -/* - Generated by the Borland C++ Incremental Linker - because -GD was supplied to the linker. - - It contains compiler-generated resource bound to the executable. - If it is empty, no compiler-generated resources were bound to the - produced executable. -*/ - Deleted: trunk/jcl/experts/debug/simdview/JclSIMDTestBCBProject.tds =================================================================== (Binary files differ) Deleted: trunk/jcl/packages/d10.net/Jedi.Jcl.cfg =================================================================== --- trunk/jcl/packages/d10.net/Jedi.Jcl.cfg 2006-08-10 10:28:29 UTC (rev 1716) +++ trunk/jcl/packages/d10.net/Jedi.Jcl.cfg 2006-08-10 11:45:45 UTC (rev 1717) @@ -1,38 +0,0 @@ --$A- --$B- --$C+ --$D+ --$E- --$F- --$G+ --$H+ --$I+ --$J- --$K- --$L+ --$M- --$N+ --$O+ --$P+ --$Q- --$R- --$S- --$T- --$U- --$V+ --$W- --$X+ --$YD --$Z1 --cg --vn --AWinTypes=Borland.Vcl.Windows;WinProcs=Borland.Vcl.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; ---default-namespace=Jedi.Jcl --H+ --W+ --M --$M4096,1048576 --K$00400000 --E"..\..\bin" --N0"..\..\lib\d10.net" --LU"" Deleted: trunk/jcl/packages/d9.net/Jedi.Jcl.cfg =================================================================== --- trunk/jcl/packages/d9.net/Jedi.Jcl.cfg 2006-08-10 10:28:29 UTC (rev 1716) +++ trunk/jcl/packages/d9.net/Jedi.Jcl.cfg 2006-08-10 11:45:45 UTC (rev 1717) @@ -1,38 +0,0 @@ --$A- --$B- --$C+ --$D+ --$E- --$F- --$G+ --$H+ --$I+ --$J- --$K- --$L+ --$M- --$N+ --$O+ --$P+ --$Q- --$R- --$S- --$T- --$U- --$V+ --$W- --$X+ --$YD --$Z1 --cg --vn --AWinTypes=Borland.Vcl.Windows;WinProcs=Borland.Vcl.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; ---default-namespace=Jedi.Jcl --H+ --W+ --M --$M4096,1048576 --K$00400000 --E"..\..\bin" --N0"..\..\lib\d9.net" --LU"" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-10 10:28:46
|
Revision: 1716 Author: outchy Date: 2006-08-10 03:28:29 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1716&view=rev Log Message: ----------- removed invalid mime-type Property Changed: ---------------- trunk/jcl/examples/windows/debug/reportconverter/ExceptionReportConverter.dpr trunk/jcl/examples/windows/debug/reportconverter/formConverter.dfm trunk/jcl/examples/windows/debug/reportconverter/formConverter.pas trunk/jcl/source/common/JclStreams.pas Property changes on: trunk/jcl/examples/windows/debug/reportconverter/ExceptionReportConverter.dpr ___________________________________________________________________ Name: svn:mime-type - text/plain Property changes on: trunk/jcl/examples/windows/debug/reportconverter/formConverter.dfm ___________________________________________________________________ Name: svn:mime-type - text/plain Property changes on: trunk/jcl/examples/windows/debug/reportconverter/formConverter.pas ___________________________________________________________________ Name: svn:mime-type - text/plain Property changes on: trunk/jcl/source/common/JclStreams.pas ___________________________________________________________________ Name: svn:mime-type - text/plain This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-10 10:01:39
|
Revision: 1715 Author: outchy Date: 2006-08-10 02:58:31 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1715&view=rev Log Message: ----------- set svn:eol-style to native for text files Modified Paths: -------------- trunk/jcl/experts/common/JclOtaWizardForm.dfm trunk/jcl/experts/common/JclOtaWizardForm.pas trunk/jcl/experts/common/JclOtaWizardFrame.dfm trunk/jcl/experts/common/JclOtaWizardFrame.pas trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.dfm trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas trunk/jcl/experts/debug/dialog/JclOtaExcDlgFileFrame.dfm trunk/jcl/experts/debug/dialog/JclOtaExcDlgFileFrame.pas trunk/jcl/experts/debug/dialog/JclOtaExcDlgFormFrame.dfm trunk/jcl/experts/debug/dialog/JclOtaExcDlgFormFrame.pas trunk/jcl/experts/debug/dialog/JclOtaExcDlgIcons.rc trunk/jcl/experts/debug/dialog/JclOtaExcDlgRepository.pas trunk/jcl/experts/debug/dialog/JclOtaExcDlgSystemFrame.dfm trunk/jcl/experts/debug/dialog/JclOtaExcDlgSystemFrame.pas trunk/jcl/experts/debug/dialog/JclOtaExcDlgTraceFrame.dfm trunk/jcl/experts/debug/dialog/JclOtaExcDlgTraceFrame.pas trunk/jcl/experts/debug/dialog/JclOtaExcDlgWizard.dfm trunk/jcl/experts/debug/dialog/JclOtaExcDlgWizard.pas trunk/jcl/experts/debug/dialog/JclOtaRepositoryReg.pas trunk/jcl/experts/debug/dialog/JclOtaRepositoryUtils.pas trunk/jcl/experts/debug/dialog/JclOtaTemplates.pas trunk/jcl/packages/JclNetPackagesD100.bdsgroup trunk/jcl/packages/JclNetPackagesD90.bdsgroup trunk/jcl/packages/c5/JclRepositoryExpertC50.bpk trunk/jcl/packages/c5/JclRepositoryExpertC50.cpp trunk/jcl/packages/c5/JclRepositoryExpertC50.dof trunk/jcl/packages/c5/JclRepositoryExpertC50.dpk trunk/jcl/packages/c5/JclRepositoryExpertC50.rc trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpf trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpr trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.cpp trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.dof trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.rc trunk/jcl/packages/c6/JclRepositoryExpert.bpk trunk/jcl/packages/c6/JclRepositoryExpert.cpp trunk/jcl/packages/c6/JclRepositoryExpert.dof trunk/jcl/packages/c6/JclRepositoryExpert.dpk trunk/jcl/packages/c6/JclRepositoryExpert.rc trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpf trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpr trunk/jcl/packages/c6/JclRepositoryExpertDLL.cpp trunk/jcl/packages/c6/JclRepositoryExpertDLL.dof trunk/jcl/packages/c6/JclRepositoryExpertDLL.rc trunk/jcl/packages/d10/JclRepositoryExpert.bdsproj trunk/jcl/packages/d10/JclRepositoryExpert.dof trunk/jcl/packages/d10/JclRepositoryExpert.dpk trunk/jcl/packages/d10/JclRepositoryExpert.rc trunk/jcl/packages/d10/JclRepositoryExpertDLL.bdsproj trunk/jcl/packages/d10/JclRepositoryExpertDLL.dof trunk/jcl/packages/d10/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d10/JclRepositoryExpertDLL.rc trunk/jcl/packages/d10.net/Jedi.Jcl.dpk trunk/jcl/packages/d5/JclRepositoryExpertD50.dof trunk/jcl/packages/d5/JclRepositoryExpertD50.dpk trunk/jcl/packages/d5/JclRepositoryExpertD50.rc trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.dof trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.dpr trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.rc trunk/jcl/packages/d6/JclRepositoryExpert.dof trunk/jcl/packages/d6/JclRepositoryExpert.dpk trunk/jcl/packages/d6/JclRepositoryExpert.rc trunk/jcl/packages/d6/JclRepositoryExpertDLL.dof trunk/jcl/packages/d6/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d6/JclRepositoryExpertDLL.rc trunk/jcl/packages/d7/JclRepositoryExpert.dof trunk/jcl/packages/d7/JclRepositoryExpert.dpk trunk/jcl/packages/d7/JclRepositoryExpert.rc trunk/jcl/packages/d7/JclRepositoryExpertDLL.dof trunk/jcl/packages/d7/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d7/JclRepositoryExpertDLL.rc trunk/jcl/packages/d9/JclRepositoryExpert.bdsproj trunk/jcl/packages/d9/JclRepositoryExpert.dof trunk/jcl/packages/d9/JclRepositoryExpert.dpk trunk/jcl/packages/d9/JclRepositoryExpert.rc trunk/jcl/packages/d9/JclRepositoryExpertDLL.bdsproj trunk/jcl/packages/d9/JclRepositoryExpertDLL.dof trunk/jcl/packages/d9/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d9/JclRepositoryExpertDLL.rc trunk/jcl/packages/xml/JclRepositoryExpert-D.xml trunk/jcl/packages/xml/JclRepositoryExpertDLL-L.xml trunk/jcl/source/jclc5.inc trunk/jcl/source/jclc6.inc trunk/jcl/source/jclcs1.inc trunk/jcl/source/jcld10.inc trunk/jcl/source/jcld10.net.inc trunk/jcl/source/jcld5.inc trunk/jcl/source/jcld6.inc trunk/jcl/source/jcld7.inc trunk/jcl/source/jcld8.inc trunk/jcl/source/jcld9.inc trunk/jcl/source/jcld9.net.inc trunk/jcl/source/jclk3.inc Property Changed: ---------------- trunk/jcl/experts/common/JclOtaWizardForm.dfm trunk/jcl/experts/common/JclOtaWizardForm.pas trunk/jcl/experts/common/JclOtaWizardFrame.dfm trunk/jcl/experts/common/JclOtaWizardFrame.pas trunk/jcl/experts/debug/dialog/ExceptDlg.CBuilder32.cpp trunk/jcl/experts/debug/dialog/ExceptDlg.CBuilder32.dfm trunk/jcl/experts/debug/dialog/ExceptDlg.CBuilder32.h trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.dfm trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas trunk/jcl/experts/debug/dialog/JclOtaExcDlgFileFrame.dfm trunk/jcl/experts/debug/dialog/JclOtaExcDlgFileFrame.pas trunk/jcl/experts/debug/dialog/JclOtaExcDlgFormFrame.dfm trunk/jcl/experts/debug/dialog/JclOtaExcDlgFormFrame.pas trunk/jcl/experts/debug/dialog/JclOtaExcDlgIcons.rc trunk/jcl/experts/debug/dialog/JclOtaExcDlgRepository.pas trunk/jcl/experts/debug/dialog/JclOtaExcDlgSystemFrame.dfm trunk/jcl/experts/debug/dialog/JclOtaExcDlgSystemFrame.pas trunk/jcl/experts/debug/dialog/JclOtaExcDlgTraceFrame.dfm trunk/jcl/experts/debug/dialog/JclOtaExcDlgTraceFrame.pas trunk/jcl/experts/debug/dialog/JclOtaExcDlgWizard.dfm trunk/jcl/experts/debug/dialog/JclOtaExcDlgWizard.pas trunk/jcl/experts/debug/dialog/JclOtaRepositoryReg.pas trunk/jcl/experts/debug/dialog/JclOtaRepositoryUtils.pas trunk/jcl/experts/debug/dialog/JclOtaTemplates.pas trunk/jcl/packages/JclNetPackagesD100.bdsgroup trunk/jcl/packages/JclNetPackagesD90.bdsgroup trunk/jcl/packages/c5/JclRepositoryExpertC50.bpk trunk/jcl/packages/c5/JclRepositoryExpertC50.cpp trunk/jcl/packages/c5/JclRepositoryExpertC50.dof trunk/jcl/packages/c5/JclRepositoryExpertC50.dpk trunk/jcl/packages/c5/JclRepositoryExpertC50.rc trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpf trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.bpr trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.cpp trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.dof trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.rc trunk/jcl/packages/c6/JclRepositoryExpert.bpk trunk/jcl/packages/c6/JclRepositoryExpert.cpp trunk/jcl/packages/c6/JclRepositoryExpert.dof trunk/jcl/packages/c6/JclRepositoryExpert.dpk trunk/jcl/packages/c6/JclRepositoryExpert.rc trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpf trunk/jcl/packages/c6/JclRepositoryExpertDLL.bpr trunk/jcl/packages/c6/JclRepositoryExpertDLL.cpp trunk/jcl/packages/c6/JclRepositoryExpertDLL.dof trunk/jcl/packages/c6/JclRepositoryExpertDLL.rc trunk/jcl/packages/d10/JclRepositoryExpert.bdsproj trunk/jcl/packages/d10/JclRepositoryExpert.dof trunk/jcl/packages/d10/JclRepositoryExpert.dpk trunk/jcl/packages/d10/JclRepositoryExpert.rc trunk/jcl/packages/d10/JclRepositoryExpertDLL.bdsproj trunk/jcl/packages/d10/JclRepositoryExpertDLL.dof trunk/jcl/packages/d10/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d10/JclRepositoryExpertDLL.rc trunk/jcl/packages/d10.net/Jedi.Jcl.dpk trunk/jcl/packages/d5/JclRepositoryExpertD50.dof trunk/jcl/packages/d5/JclRepositoryExpertD50.dpk trunk/jcl/packages/d5/JclRepositoryExpertD50.rc trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.dof trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.dpr trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.rc trunk/jcl/packages/d6/JclRepositoryExpert.dof trunk/jcl/packages/d6/JclRepositoryExpert.dpk trunk/jcl/packages/d6/JclRepositoryExpert.rc trunk/jcl/packages/d6/JclRepositoryExpertDLL.dof trunk/jcl/packages/d6/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d6/JclRepositoryExpertDLL.rc trunk/jcl/packages/d7/JclRepositoryExpert.dof trunk/jcl/packages/d7/JclRepositoryExpert.dpk trunk/jcl/packages/d7/JclRepositoryExpert.rc trunk/jcl/packages/d7/JclRepositoryExpertDLL.dof trunk/jcl/packages/d7/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d7/JclRepositoryExpertDLL.rc trunk/jcl/packages/d9/JclRepositoryExpert.bdsproj trunk/jcl/packages/d9/JclRepositoryExpert.dof trunk/jcl/packages/d9/JclRepositoryExpert.dpk trunk/jcl/packages/d9/JclRepositoryExpert.rc trunk/jcl/packages/d9/JclRepositoryExpertDLL.bdsproj trunk/jcl/packages/d9/JclRepositoryExpertDLL.dof trunk/jcl/packages/d9/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d9/JclRepositoryExpertDLL.rc trunk/jcl/packages/xml/JclRepositoryExpert-D.xml trunk/jcl/packages/xml/JclRepositoryExpertDLL-L.xml trunk/jcl/source/jclc5.inc trunk/jcl/source/jclc6.inc trunk/jcl/source/jclcs1.inc trunk/jcl/source/jcld10.inc trunk/jcl/source/jcld10.net.inc trunk/jcl/source/jcld5.inc trunk/jcl/source/jcld6.inc trunk/jcl/source/jcld7.inc trunk/jcl/source/jcld8.inc trunk/jcl/source/jcld9.inc trunk/jcl/source/jcld9.net.inc trunk/jcl/source/jclk3.inc Modified: trunk/jcl/experts/common/JclOtaWizardForm.dfm =================================================================== --- trunk/jcl/experts/common/JclOtaWizardForm.dfm 2006-08-10 09:51:20 UTC (rev 1714) +++ trunk/jcl/experts/common/JclOtaWizardForm.dfm 2006-08-10 09:58:31 UTC (rev 1715) @@ -1,123 +1,123 @@ -object JclWizardForm: TJclWizardForm - Left = 0 - Top = 0 - BorderStyle = bsDialog - ClientHeight = 423 - ClientWidth = 625 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - OldCreateOrder = False - Position = poScreenCenter - OnCreate = FormCreate - PixelsPerInch = 96 - TextHeight = 13 - object Bevel1: TBevel - Left = 8 - Top = 376 - Width = 607 - Height = 17 - Shape = bsTopLine - end - object LabelProgression: TLabel - Left = 8 - Top = 56 - Width = 101 - Height = 13 - Caption = 'RsWizardProgression' - end - object ButtonCancel: TButton - Left = 540 - Top = 388 - Width = 75 - Height = 25 - Cancel = True - Caption = 'RsCancel' - ModalResult = 2 - TabOrder = 0 - end - object ButtonFinish: TButton - Left = 459 - Top = 388 - Width = 75 - Height = 25 - Action = ActionFinish - Default = True - TabOrder = 1 - end - object ButtonNext: TButton - Left = 378 - Top = 388 - Width = 75 - Height = 25 - Action = ActionNext - TabOrder = 2 - end - object ButtonPrevious: TButton - Left = 297 - Top = 388 - Width = 75 - Height = 25 - Action = ActionPrevious - TabOrder = 3 - end - object PanelTitle: TPanel - Left = 0 - Top = 0 - Width = 625 - Height = 49 - Align = alTop - BevelOuter = bvNone - Color = clBlack - TabOrder = 4 - object ImageJcl: TImage - Left = 8 - Top = 8 - Width = 33 - Height = 33 - end - object LabelJcl: TLabel - Left = 56 - Top = 10 - Width = 156 - Height = 23 - Caption = 'RsAboutDialogTitle' - Font.Charset = DEFAULT_CHARSET - Font.Color = clWhite - Font.Height = -19 - Font.Name = 'Tahoma' - Font.Style = [] - ParentFont = False - end - end - object PanelPages: TPanel - Left = 2 - Top = 72 - Width = 623 - Height = 298 - BevelOuter = bvNone - TabOrder = 5 - end - object ActionListButtons: TActionList - Left = 240 - Top = 384 - object ActionFinish: TAction - Caption = 'RsFinish' - OnExecute = ActionFinishExecute - OnUpdate = ActionFinishUpdate - end - object ActionPrevious: TAction - Caption = 'RsPrevious' - OnExecute = ActionPreviousExecute - OnUpdate = ActionPreviousUpdate - end - object ActionNext: TAction - Caption = 'RsNext' - OnExecute = ActionNextExecute - OnUpdate = ActionNextUpdate - end - end -end +object JclWizardForm: TJclWizardForm + Left = 0 + Top = 0 + BorderStyle = bsDialog + ClientHeight = 423 + ClientWidth = 625 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnCreate = FormCreate + PixelsPerInch = 96 + TextHeight = 13 + object Bevel1: TBevel + Left = 8 + Top = 376 + Width = 607 + Height = 17 + Shape = bsTopLine + end + object LabelProgression: TLabel + Left = 8 + Top = 56 + Width = 101 + Height = 13 + Caption = 'RsWizardProgression' + end + object ButtonCancel: TButton + Left = 540 + Top = 388 + Width = 75 + Height = 25 + Cancel = True + Caption = 'RsCancel' + ModalResult = 2 + TabOrder = 0 + end + object ButtonFinish: TButton + Left = 459 + Top = 388 + Width = 75 + Height = 25 + Action = ActionFinish + Default = True + TabOrder = 1 + end + object ButtonNext: TButton + Left = 378 + Top = 388 + Width = 75 + Height = 25 + Action = ActionNext + TabOrder = 2 + end + object ButtonPrevious: TButton + Left = 297 + Top = 388 + Width = 75 + Height = 25 + Action = ActionPrevious + TabOrder = 3 + end + object PanelTitle: TPanel + Left = 0 + Top = 0 + Width = 625 + Height = 49 + Align = alTop + BevelOuter = bvNone + Color = clBlack + TabOrder = 4 + object ImageJcl: TImage + Left = 8 + Top = 8 + Width = 33 + Height = 33 + end + object LabelJcl: TLabel + Left = 56 + Top = 10 + Width = 156 + Height = 23 + Caption = 'RsAboutDialogTitle' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWhite + Font.Height = -19 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False + end + end + object PanelPages: TPanel + Left = 2 + Top = 72 + Width = 623 + Height = 298 + BevelOuter = bvNone + TabOrder = 5 + end + object ActionListButtons: TActionList + Left = 240 + Top = 384 + object ActionFinish: TAction + Caption = 'RsFinish' + OnExecute = ActionFinishExecute + OnUpdate = ActionFinishUpdate + end + object ActionPrevious: TAction + Caption = 'RsPrevious' + OnExecute = ActionPreviousExecute + OnUpdate = ActionPreviousUpdate + end + object ActionNext: TAction + Caption = 'RsNext' + OnExecute = ActionNextExecute + OnUpdate = ActionNextUpdate + end + end +end Property changes on: trunk/jcl/experts/common/JclOtaWizardForm.dfm ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/jcl/experts/common/JclOtaWizardForm.pas =================================================================== --- trunk/jcl/experts/common/JclOtaWizardForm.pas 2006-08-10 09:51:20 UTC (rev 1714) +++ trunk/jcl/experts/common/JclOtaWizardForm.pas 2006-08-10 09:58:31 UTC (rev 1715) @@ -1,236 +1,236 @@ -{****************************************************************************} -{ } -{ Project JEDI Code Library (JCL) } -{ } -{ The contents of this file are subject to the Mozilla Public License } -{ Version 1.1 (the "License"); } -{ you may not use this file except in compliance with the License. You may } -{ obtain a copy of the License at http://www.mozilla.org/MPL/ } -{ } -{ Software distributed under the License is distributed on an "AS IS" basis, } -{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License } -{ for the specific language governing rights and limitations under the } -{ License. } -{ } -{ The Original Code is JclOtaWizardForm.pas. } -{ } -{ The Initial Developer of the Original Code is Florent Ouchet } -{ <outchy att users dott sourceforge dott net> } -{ Portions created by Florent Ouchet are Copyright (C) of Florent Ouchet. } -{ } -{ Contributors: } -{ } -{****************************************************************************} -{ } -{ Last modified: $Date: $ } -{ } -{****************************************************************************} - -unit JclOtaWizardForm; - -interface - -{$I jcl.inc} - -uses - Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, - Dialogs, StdCtrls, ExtCtrls, ActnList, - JclOtaWizardFrame; - -type - TJclWizardForm = class(TForm) - ButtonCancel: TButton; - ButtonFinish: TButton; - ButtonNext: TButton; - ButtonPrevious: TButton; - Bevel1: TBevel; - PanelTitle: TPanel; - ImageJcl: TImage; - LabelJcl: TLabel; - LabelProgression: TLabel; - ActionListButtons: TActionList; - ActionPrevious: TAction; - ActionNext: TAction; - ActionFinish: TAction; - PanelPages: TPanel; - procedure FormCreate(Sender: TObject); - procedure ActionPreviousExecute(Sender: TObject); - procedure ActionPreviousUpdate(Sender: TObject); - procedure ActionNextExecute(Sender: TObject); - procedure ActionNextUpdate(Sender: TObject); - procedure ActionFinishExecute(Sender: TObject); - procedure ActionFinishUpdate(Sender: TObject); - private - FDescription: string; - FPageIndex: Integer; - FExecuting: Boolean; - function GetPageCount: Integer; - function GetPageIndex: Integer; - procedure SetPageIndex(const Value: Integer); - function GetActivePage: TJclWizardFrame; - function GetPage(Index: Integer): TJclWizardFrame; - public - function AddPage(const WizardFrame: TJclWizardFrame): Integer; - function Execute: Boolean; - - property PageCount: Integer read GetPageCount; - property PageIndex: Integer read GetPageIndex write SetPageIndex; - property Description: string read FDescription write FDescription; - property Pages[Index: Integer]: TJclWizardFrame read GetPage; - property ActivePage: TJclWizardFrame read GetActivePage; - property Executing: Boolean read FExecuting; - end; - -implementation - -{$R *.dfm} - -uses - JclOtaResources; - -//=== { TJclWizardForm } ===================================================== - -procedure TJclWizardForm.ActionFinishExecute(Sender: TObject); -begin - PageIndex := -1; - ModalResult := mrOk; -end; - -procedure TJclWizardForm.ActionFinishUpdate(Sender: TObject); -var - CurrentPage: TJclWizardFrame; -begin - CurrentPage := ActivePage; - (Sender as TAction).Enabled := Assigned(CurrentPage) and CurrentPage.SupportsFinish; -end; - -procedure TJclWizardForm.ActionNextExecute(Sender: TObject); -begin - PageIndex := PageIndex + 1; -end; - -procedure TJclWizardForm.ActionNextUpdate(Sender: TObject); -var - CurrentPage: TJclWizardFrame; -begin - CurrentPage := ActivePage; - (Sender as TAction).Enabled := (PageIndex < (PageCount - 1)) - and Assigned(CurrentPage) and CurrentPage.SupportsNext; -end; - -procedure TJclWizardForm.ActionPreviousExecute(Sender: TObject); -begin - PageIndex := PageIndex - 1; -end; - -procedure TJclWizardForm.ActionPreviousUpdate(Sender: TObject); -var - CurrentPage: TJclWizardFrame; -begin - CurrentPage := ActivePage; - (Sender as TAction).Enabled := (PageIndex > 0) - and Assigned(CurrentPage) and CurrentPage.SupportsPrevious; -end; - -function TJclWizardForm.AddPage(const WizardFrame: TJclWizardFrame): Integer; -begin - WizardFrame.Visible := False; - WizardFrame.Parent := PanelPages; - WizardFrame.Align := alClient; - for Result := 0 to PanelPages.ControlCount - 1 do - if PanelPages.Controls[Result] = WizardFrame then - Exit; - Result := -1; -end; - -function TJclWizardForm.Execute: Boolean; -begin - FExecuting := True; - try - if PageCount > 0 then - begin - FPageIndex := -1; - PageIndex := 0; - Result := ShowModal = mrOk; - end - else - Result := False; - finally - FExecuting := False; - end; -end; - -procedure TJclWizardForm.FormCreate(Sender: TObject); -begin - ActionPrevious.Caption := RsPrevious; - ActionNext.Caption := RsNext; - ActionFinish.Caption := RsFinish; - ButtonCancel.Caption := RsCancel; - LabelJcl.Caption := RsAboutDialogTitle; - try - ImageJcl.Picture.Bitmap.TransparentMode := tmAuto; - ImageJcl.Picture.Bitmap.Transparent := True; - ImageJcl.Picture.Bitmap.LoadFromResourceName(FindResourceHInstance(HInstance), 'JCLSPLASH'); - except - - end; -end; - -function TJclWizardForm.GetActivePage: TJclWizardFrame; -begin - if Executing then - Result := Pages[PageIndex] - else - Result := nil; -end; - -function TJclWizardForm.GetPage(Index: Integer): TJclWizardFrame; -begin - if (Index >= 0) and (Index < PanelPages.ControlCount) then - Result := PanelPages.Controls[Index] as TJclWizardFrame - else - Result := nil; -end; - -function TJclWizardForm.GetPageCount: Integer; -begin - Result := PanelPages.ControlCount; -end; - -function TJclWizardForm.GetPageIndex: Integer; -begin - if Executing then - Result := FPageIndex - else - Result := -1; -end; - -procedure TJclWizardForm.SetPageIndex(const Value: Integer); -var - Direction: TJclWizardDirection; - AFrame: TJclWizardFrame; -begin - if Value > FPageIndex then - Direction := wdForward - else - Direction := wdBackward; - - AFrame := Pages[FPageIndex]; - if Assigned(AFrame) then - begin - AFrame.PageDesactivated(Direction); - AFrame.Visible := False; - end; - - FPageIndex := Value; - - AFrame := Pages[FPageIndex]; - if Assigned(AFrame) then - begin - AFrame.PageActivated(Direction); - AFrame.Visible := True; - LabelProgression.Caption := Format(RsWizardProgression, [PageIndex+1 {one based}, PageCount, AFrame.Caption]); - end; -end; - -end. +{****************************************************************************} +{ } +{ Project JEDI Code Library (JCL) } +{ } +{ The contents of this file are subject to the Mozilla Public License } +{ Version 1.1 (the "License"); } +{ you may not use this file except in compliance with the License. You may } +{ obtain a copy of the License at http://www.mozilla.org/MPL/ } +{ } +{ Software distributed under the License is distributed on an "AS IS" basis, } +{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License } +{ for the specific language governing rights and limitations under the } +{ License. } +{ } +{ The Original Code is JclOtaWizardForm.pas. } +{ } +{ The Initial Developer of the Original Code is Florent Ouchet } +{ <outchy att users dott sourceforge dott net> } +{ Portions created by Florent Ouchet are Copyright (C) of Florent Ouchet. } +{ } +{ Contributors: } +{ } +{****************************************************************************} +{ } +{ Last modified: $Date: $ } +{ } +{****************************************************************************} + +unit JclOtaWizardForm; + +interface + +{$I jcl.inc} + +uses + Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ActnList, + JclOtaWizardFrame; + +type + TJclWizardForm = class(TForm) + ButtonCancel: TButton; + ButtonFinish: TButton; + ButtonNext: TButton; + ButtonPrevious: TButton; + Bevel1: TBevel; + PanelTitle: TPanel; + ImageJcl: TImage; + LabelJcl: TLabel; + LabelProgression: TLabel; + ActionListButtons: TActionList; + ActionPrevious: TAction; + ActionNext: TAction; + ActionFinish: TAction; + PanelPages: TPanel; + procedure FormCreate(Sender: TObject); + procedure ActionPreviousExecute(Sender: TObject); + procedure ActionPreviousUpdate(Sender: TObject); + procedure ActionNextExecute(Sender: TObject); + procedure ActionNextUpdate(Sender: TObject); + procedure ActionFinishExecute(Sender: TObject); + procedure ActionFinishUpdate(Sender: TObject); + private + FDescription: string; + FPageIndex: Integer; + FExecuting: Boolean; + function GetPageCount: Integer; + function GetPageIndex: Integer; + procedure SetPageIndex(const Value: Integer); + function GetActivePage: TJclWizardFrame; + function GetPage(Index: Integer): TJclWizardFrame; + public + function AddPage(const WizardFrame: TJclWizardFrame): Integer; + function Execute: Boolean; + + property PageCount: Integer read GetPageCount; + property PageIndex: Integer read GetPageIndex write SetPageIndex; + property Description: string read FDescription write FDescription; + property Pages[Index: Integer]: TJclWizardFrame read GetPage; + property ActivePage: TJclWizardFrame read GetActivePage; + property Executing: Boolean read FExecuting; + end; + +implementation + +{$R *.dfm} + +uses + JclOtaResources; + +//=== { TJclWizardForm } ===================================================== + +procedure TJclWizardForm.ActionFinishExecute(Sender: TObject); +begin + PageIndex := -1; + ModalResult := mrOk; +end; + +procedure TJclWizardForm.ActionFinishUpdate(Sender: TObject); +var + CurrentPage: TJclWizardFrame; +begin + CurrentPage := ActivePage; + (Sender as TAction).Enabled := Assigned(CurrentPage) and CurrentPage.SupportsFinish; +end; + +procedure TJclWizardForm.ActionNextExecute(Sender: TObject); +begin + PageIndex := PageIndex + 1; +end; + +procedure TJclWizardForm.ActionNextUpdate(Sender: TObject); +var + CurrentPage: TJclWizardFrame; +begin + CurrentPage := ActivePage; + (Sender as TAction).Enabled := (PageIndex < (PageCount - 1)) + and Assigned(CurrentPage) and CurrentPage.SupportsNext; +end; + +procedure TJclWizardForm.ActionPreviousExecute(Sender: TObject); +begin + PageIndex := PageIndex - 1; +end; + +procedure TJclWizardForm.ActionPreviousUpdate(Sender: TObject); +var + CurrentPage: TJclWizardFrame; +begin + CurrentPage := ActivePage; + (Sender as TAction).Enabled := (PageIndex > 0) + and Assigned(CurrentPage) and CurrentPage.SupportsPrevious; +end; + +function TJclWizardForm.AddPage(const WizardFrame: TJclWizardFrame): Integer; +begin + WizardFrame.Visible := False; + WizardFrame.Parent := PanelPages; + WizardFrame.Align := alClient; + for Result := 0 to PanelPages.ControlCount - 1 do + if PanelPages.Controls[Result] = WizardFrame then + Exit; + Result := -1; +end; + +function TJclWizardForm.Execute: Boolean; +begin + FExecuting := True; + try + if PageCount > 0 then + begin + FPageIndex := -1; + PageIndex := 0; + Result := ShowModal = mrOk; + end + else + Result := False; + finally + FExecuting := False; + end; +end; + +procedure TJclWizardForm.FormCreate(Sender: TObject); +begin + ActionPrevious.Caption := RsPrevious; + ActionNext.Caption := RsNext; + ActionFinish.Caption := RsFinish; + ButtonCancel.Caption := RsCancel; + LabelJcl.Caption := RsAboutDialogTitle; + try + ImageJcl.Picture.Bitmap.TransparentMode := tmAuto; + ImageJcl.Picture.Bitmap.Transparent := True; + ImageJcl.Picture.Bitmap.LoadFromResourceName(FindResourceHInstance(HInstance), 'JCLSPLASH'); + except + + end; +end; + +function TJclWizardForm.GetActivePage: TJclWizardFrame; +begin + if Executing then + Result := Pages[PageIndex] + else + Result := nil; +end; + +function TJclWizardForm.GetPage(Index: Integer): TJclWizardFrame; +begin + if (Index >= 0) and (Index < PanelPages.ControlCount) then + Result := PanelPages.Controls[Index] as TJclWizardFrame + else + Result := nil; +end; + +function TJclWizardForm.GetPageCount: Integer; +begin + Result := PanelPages.ControlCount; +end; + +function TJclWizardForm.GetPageIndex: Integer; +begin + if Executing then + Result := FPageIndex + else + Result := -1; +end; + +procedure TJclWizardForm.SetPageIndex(const Value: Integer); +var + Direction: TJclWizardDirection; + AFrame: TJclWizardFrame; +begin + if Value > FPageIndex then + Direction := wdForward + else + Direction := wdBackward; + + AFrame := Pages[FPageIndex]; + if Assigned(AFrame) then + begin + AFrame.PageDesactivated(Direction); + AFrame.Visible := False; + end; + + FPageIndex := Value; + + AFrame := Pages[FPageIndex]; + if Assigned(AFrame) then + begin + AFrame.PageActivated(Direction); + AFrame.Visible := True; + LabelProgression.Caption := Format(RsWizardProgression, [PageIndex+1 {one based}, PageCount, AFrame.Caption]); + end; +end; + +end. Property changes on: trunk/jcl/experts/common/JclOtaWizardForm.pas ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/jcl/experts/common/JclOtaWizardFrame.dfm =================================================================== --- trunk/jcl/experts/common/JclOtaWizardFrame.dfm 2006-08-10 09:51:20 UTC (rev 1714) +++ trunk/jcl/experts/common/JclOtaWizardFrame.dfm 2006-08-10 09:58:31 UTC (rev 1715) @@ -1,8 +1,8 @@ -object JclWizardFrame: TJclWizardFrame - Left = 0 - Top = 0 - Width = 623 - Height = 298 - TabOrder = 0 - TabStop = True -end +object JclWizardFrame: TJclWizardFrame + Left = 0 + Top = 0 + Width = 623 + Height = 298 + TabOrder = 0 + TabStop = True +end Property changes on: trunk/jcl/experts/common/JclOtaWizardFrame.dfm ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/jcl/experts/common/JclOtaWizardFrame.pas =================================================================== --- trunk/jcl/experts/common/JclOtaWizardFrame.pas 2006-08-10 09:51:20 UTC (rev 1714) +++ trunk/jcl/experts/common/JclOtaWizardFrame.pas 2006-08-10 09:58:31 UTC (rev 1715) @@ -1,92 +1,92 @@ -{****************************************************************************} -{ } -{ Project JEDI Code Library (JCL) } -{ } -{ The contents of this file are subject to the Mozilla Public License } -{ Version 1.1 (the "License"); } -{ you may not use this file except in compliance with the License. You may } -{ obtain a copy of the License at http://www.mozilla.org/MPL/ } -{ } -{ Software distributed under the License is distributed on an "AS IS" basis, } -{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License } -{ for the specific language governing rights and limitations under the } -{ License. } -{ } -{ The Original Code is JclOtaWizardFrame.pas. } -{ } -{ The Initial Developer of the Original Code is Florent Ouchet } -{ <outchy att users dott sourceforge dott net> } -{ Portions created by Florent Ouchet are Copyright (C) of Florent Ouchet. } -{ } -{ Contributors: } -{ } -{****************************************************************************} -{ } -{ Last modified: $Date: $ } -{ } -{****************************************************************************} - -unit JclOtaWizardFrame; - -interface - -{$I jcl.inc} - -uses - Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, - Dialogs; - -type - TJclWizardDirection = (wdForward, wdBackward); - TJclWizardFrame = class(TFrame) - protected - function GetSupportsFinish: Boolean; virtual; - function GetSupportsNext: Boolean; virtual; - function GetSupportsPrevious: Boolean; virtual; - public - procedure PageActivated(Direction: TJclWizardDirection); virtual; - procedure PageDesactivated(Direction: TJclWizardDirection); virtual; - property SupportsNext: Boolean read GetSupportsNext; - property SupportsPrevious: Boolean read GetSupportsPrevious; - property SupportsFinish: Boolean read GetSupportsFinish; - property Caption; - end; - - TJclWizardFrameClass = class of TJclWizardFrame; - -implementation - -{$R *.dfm} - -//=== { TJclWizardFrame } ==================================================== - -function TJclWizardFrame.GetSupportsFinish: Boolean; -begin - // override to customize - Result := SupportsNext; -end; - -function TJclWizardFrame.GetSupportsNext: Boolean; -begin - // override to customize - Result := True; -end; - -function TJclWizardFrame.GetSupportsPrevious: Boolean; -begin - // override to customize - Result := True; -end; - -procedure TJclWizardFrame.PageActivated(Direction: TJclWizardDirection); -begin - // override to customize -end; - -procedure TJclWizardFrame.PageDesactivated(Direction: TJclWizardDirection); -begin - // override to customize -end; - -end. - +{****************************************************************************} +{ } +{ Project JEDI Code Library (JCL) } +{ } +{ The contents of this file are subject to the Mozilla Public License } +{ Version 1.1 (the "License"); } +{ you may not use this file except in compliance with the License. You may } +{ obtain a copy of the License at http://www.mozilla.org/MPL/ } +{ } +{ Software distributed under the License is distributed on an "AS IS" basis, } +{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License } +{ for the specific language governing rights and limitations under the } +{ License. } +{ } +{ The Original Code is JclOtaWizardFrame.pas. } +{ } +{ The Initial Developer of the Original Code is Florent Ouchet } +{ <outchy att users dott sourceforge dott net> } +{ Portions created by Florent Ouchet are Copyright (C) of Florent Ouchet. } +{ } +{ Contributors: } +{ } +{****************************************************************************} +{ } +{ Last modified: $Date: $ } +{ } +{****************************************************************************} + +unit JclOtaWizardFrame; + +interface + +{$I jcl.inc} + +uses + Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, + Dialogs; + +type + TJclWizardDirection = (wdForward, wdBackward); + TJclWizardFrame = class(TFrame) + protected + function GetSupportsFinish: Boolean; virtual; + function GetSupportsNext: Boolean; virtual; + function GetSupportsPrevious: Boolean; virtual; + public + procedure PageActivated(Direction: TJclWizardDirection); virtual; + procedure PageDesactivated(Direction: TJclWizardDirection); virtual; + property SupportsNext: Boolean read GetSupportsNext; + property SupportsPrevious: Boolean read GetSupportsPrevious; + property SupportsFinish: Boolean read GetSupportsFinish; + property Caption; + end; + + TJclWizardFrameClass = class of TJclWizardFrame; + +implementation + +{$R *.dfm} + +//=== { TJclWizardFrame } ==================================================== + +function TJclWizardFrame.GetSupportsFinish: Boolean; +begin + // override to customize + Result := SupportsNext; +end; + +function TJclWizardFrame.GetSupportsNext: Boolean; +begin + // override to customize + Result := True; +end; + +function TJclWizardFrame.GetSupportsPrevious: Boolean; +begin + // override to customize + Result := True; +end; + +procedure TJclWizardFrame.PageActivated(Direction: TJclWizardDirection); +begin + // override to customize +end; + +procedure TJclWizardFrame.PageDesactivated(Direction: TJclWizardDirection); +begin + // override to customize +end; + +end. + Property changes on: trunk/jcl/experts/common/JclOtaWizardFrame.pas ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/jcl/experts/debug/dialog/ExceptDlg.CBuilder32.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/jcl/experts/debug/dialog/ExceptDlg.CBuilder32.dfm ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/jcl/experts/debug/dialog/ExceptDlg.CBuilder32.h ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.dfm =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.dfm 2006-08-10 09:51:20 UTC (rev 1714) +++ trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.dfm 2006-08-10 09:58:31 UTC (rev 1715) @@ -1,107 +1,107 @@ -object %FORMNAME%: T%FORMNAME% - Left = 310 - Top = 255 - BorderIcons = [biSystemMenu] -%ifnot SizeableDialog BorderStyle = bsDialog%endif - Caption = '%FORMNAME%' - ClientHeight = 255 - ClientWidth = 432 - Color = clBtnFace - Constraints.MinWidth = 200 - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - KeyPreview = True - OldCreateOrder = False - Position = poScreenCenter - ShowHint = True - OnCreate = FormCreate - OnDestroy = FormDestroy - OnKeyDown = FormKeyDown - OnPaint = FormPaint - OnResize = FormResize - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 13 - object BevelDetails: TBevel - Left = 3 - Top = 91 - Width = 422 - Height = 9 - Anchors = [akLeft, akTop, akRight] - Shape = bsTopLine - end -%if SendEMail - object SendBtn: TButton - Left = 351 - Top = 32 - Width = 75 - Height = 25 - Hint = 'Send bug report using default mail client' - Anchors = [akTop, akRight] - Caption = '&Send' - TabOrder = 0 - OnClick = SendBtnClick - end%endif - object TextLabel: TMemo - Left = 56 - Top = 8 - Width = 281 - Height = 75 - Hint = 'Use Ctrl+C to copy the report to the clipboard' - Anchors = [akLeft, akTop, akRight] - BorderStyle = bsNone - Ctl3D = True - Lines.Strings = ( - 'TextLabel') - ParentColor = True - ParentCtl3D = False - ReadOnly = True - TabOrder = 1 - WantReturns = False - end - object OkBtn: TButton - Left = 352 - Top = 4 - Width = 75 - Height = 25 - Anchors = [akTop, akRight] - Caption = '&OK' - Default = True - ModalResult = 1 - TabOrder = 2 - end - object DetailsBtn: TButton - Left = 352 - Top = 60 - Width = 75 - Height = 25 - Hint = 'Show or hide additional information|' - Anchors = [akTop, akRight] - Caption = '&Details' - Enabled = False - TabOrder = 3 - OnClick = DetailsBtnClick - end - object DetailsMemo: TMemo - Left = 4 - Top = 101 - Width = 421 - Height = 147 - Anchors = [akLeft, akTop, akRight, akBottom] - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Courier New' - Font.Style = [] - ParentColor = True - ParentFont = False - ReadOnly = True - ScrollBars = ssBoth - TabOrder = 4 - WantReturns = False - WordWrap = False - end -end +object %FORMNAME%: T%FORMNAME% + Left = 310 + Top = 255 + BorderIcons = [biSystemMenu] +%ifnot SizeableDialog BorderStyle = bsDialog%endif + Caption = '%FORMNAME%' + ClientHeight = 255 + ClientWidth = 432 + Color = clBtnFace + Constraints.MinWidth = 200 + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + KeyPreview = True + OldCreateOrder = False + Position = poScreenCenter + ShowHint = True + OnCreate = FormCreate + OnDestroy = FormDestroy + OnKeyDown = FormKeyDown + OnPaint = FormPaint + OnResize = FormResize + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object BevelDetails: TBevel + Left = 3 + Top = 91 + Width = 422 + Height = 9 + Anchors = [akLeft, akTop, akRight] + Shape = bsTopLine + end +%if SendEMail + object SendBtn: TButton + Left = 351 + Top = 32 + Width = 75 + Height = 25 + Hint = 'Send bug report using default mail client' + Anchors = [akTop, akRight] + Caption = '&Send' + TabOrder = 0 + OnClick = SendBtnClick + end%endif + object TextLabel: TMemo + Left = 56 + Top = 8 + Width = 281 + Height = 75 + Hint = 'Use Ctrl+C to copy the report to the clipboard' + Anchors = [akLeft, akTop, akRight] + BorderStyle = bsNone + Ctl3D = True + Lines.Strings = ( + 'TextLabel') + ParentColor = True + ParentCtl3D = False + ReadOnly = True + TabOrder = 1 + WantReturns = False + end + object OkBtn: TButton + Left = 352 + Top = 4 + Width = 75 + Height = 25 + Anchors = [akTop, akRight] + Caption = '&OK' + Default = True + ModalResult = 1 + TabOrder = 2 + end + object DetailsBtn: TButton + Left = 352 + Top = 60 + Width = 75 + Height = 25 + Hint = 'Show or hide additional information|' + Anchors = [akTop, akRight] + Caption = '&Details' + Enabled = False + TabOrder = 3 + OnClick = DetailsBtnClick + end + object DetailsMemo: TMemo + Left = 4 + Top = 101 + Width = 421 + Height = 147 + Anchors = [akLeft, akTop, akRight, akBottom] + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Courier New' + Font.Style = [] + ParentColor = True + ParentFont = False + ReadOnly = True + ScrollBars = ssBoth + TabOrder = 4 + WantReturns = False + WordWrap = False + end +end Property changes on: trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.dfm ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas 2006-08-10 09:51:20 UTC (rev 1714) +++ trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas 2006-08-10 09:58:31 UTC (rev 1715) @@ -1,641 +1,641 @@ -{****************************************************************************} -{ } -{ Project JEDI Code Library (JCL) } -{ } -{ The contents of this file are subject to the Mozilla Public License } -{ Version 1.1 (the "License"); you may not use this file except in } -{ compliance with the License. You may obtain a copy of the License at } -{ http://www.mozilla.org/MPL/ } -{ } -{ Software distributed under the License is distributed on an "AS IS" basis, } -{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License } -{ for the specific language governing rights and limitations under the } -{ License. } -{ } -{ The Original Code is ExceptDlg.pas. } -{ } -{ The Initial Developer of the Original Code is Petr Vones. } -{ Portions created by Petr Vones are Copyright (C) of Petr Vones. } -{ } -{****************************************************************************} -{ } -{ Last modified: $Date: 2006-05-18 18:04:47 +0200 (jeu., 18 mai 2006) $ } -{ } -{****************************************************************************} - -unit %MODULENAME%; - -interface - -uses - Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, - Dialogs, StdCtrls, ExtCtrls, - JclSysUtils,%if SendEMail JclMapi,%endif JclDebug; - -const - UM_CREATEDETAILS = WM_USER + $100; - -type - T%FORMNAME% = class(%ANCESTORNAME%) -%if SendEMail SendBtn: TButton;%endif - TextLabel: TMemo; - OkBtn: TButton; - DetailsBtn: TButton; - BevelDetails: TBevel; - DetailsMemo: TMemo; -%if SendEMail procedure SendBtnClick(Sender: TObject);%endif - procedure FormPaint(Sender: TObject); - procedure FormCreate(Sender: TObject); - procedure FormShow(Sender: TObject); - procedure DetailsBtnClick(Sender: TObject); - procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); - procedure FormDestroy(Sender: TObject); - procedure FormResize(Sender: TObject); - private - private - FDetailsVisible: Boolean; - FIsMainThead: Boolean; -%if ActiveControls FLastActiveControl: TWinControl;%endif - FNonDetailsHeight: Integer; - FFullHeight: Integer; -%if LogFile FSimpleLog: TJclSimpleLog; - procedure ReportToLog;%endif - function GetReportAsText: string; - procedure SetDetailsVisible(const Value: Boolean); - procedure UMCreateDetails(var Message: TMessage); message UM_CREATEDETAILS; - protected - procedure AfterCreateDetails; dynamic; - procedure BeforeCreateDetails; dynamic; - procedure CreateDetails; dynamic; - procedure CreateReport; - function ReportMaxColumns: Integer; virtual; - function ReportNewBlockDelimiterChar: Char; virtual; - procedure NextDetailBlock; - procedure UpdateTextLabelScrollbars; - public - procedure CopyReportToClipboard; - class procedure ExceptionHandler(Sender: TObject; E: Exception); - class procedure ExceptionThreadHandler(Thread: TJclDebugThread); - class procedure ShowException(E: Exception; Thread: TJclDebugThread); - property DetailsVisible: Boolean read FDetailsVisible - write SetDetailsVisible; - property ReportAsText: string read GetReportAsText; -%if LogFile property SimpleLog: TJclSimpleLog read FSimpleLog;%endif - end; - - T%FORMNAME%Class = class of T%FORMNAME%; - -var - %FORMNAME%Class: T%FORMNAME%Class = T%FORMNAME%; - -implementation - -{$R *.dfm} - -uses - ClipBrd, Math, - JclBase, JclFileUtils, JclHookExcept, JclPeImage, JclStrings, JclSysInfo; - -resourcestring - RsAppError = '%s - application error'; - RsExceptionClass = 'Exception class: %s'; - RsExceptionAddr = 'Exception address: %p'; - RsStackList = 'Stack list, generated %s'; - RsModulesList = 'List of loaded modules:'; - RsOSVersion = 'System : %s %s, Version: %d.%d, Build: %x, "%s"'; - RsProcessor = 'Processor: %s, %s, %d MHz'; - RsMemory = 'Memory: %d; free %d'; - RsScreenRes = 'Display : %dx%d pixels, %d bpp'; - RsActiveControl = 'Active Controls hierarchy:'; - RsThread = 'Thread: %s'; - RsMissingVersionInfo = '(no version info)'; - -var - %FORMNAME%: T%FORMNAME%; - -//============================================================================ -// Helper routines -//============================================================================ - -// SortModulesListByAddressCompare -// sorts module by address -function SortModulesListByAddressCompare(List: TStringList; - Index1, Index2: Integer): Integer; -var - Addr1, Addr2: Cardinal; -begin - Addr1 := Cardinal(List.Objects[Index1]); - Addr2 := Cardinal(List.Objects[Index2]); - if Addr1 > Addr2 then - Result := 1 - else if Addr1 < Addr2 then - Result := -1 - else - Result := 0; -end; - -//============================================================================ -// TApplication.HandleException method code hooking for exceptions from DLLs -//============================================================================ - -// We need to catch the last line of TApplication.HandleException method: -// [...] -// end else -// SysUtils.ShowException(ExceptObject, ExceptAddr); -// end; - -procedure HookShowException(ExceptObject: TObject; ExceptAddr: Pointer); -begin - if JclValidateModuleAddress(ExceptAddr) - and (ExceptObject.InstanceSize >= Exception.InstanceSize) then - T%FORMNAME%.ExceptionHandler(nil, Exception(ExceptObject)) - else - SysUtils.ShowException(ExceptObject, ExceptAddr); -end; - -//---------------------------------------------------------------------------- - -function HookTApplicationHandleException: Boolean; -const - CallOffset = $86; - CallOffsetDebug = $94; -type - PCALLInstruction = ^TCALLInstruction; - TCALLInstruction = packed record - Call: Byte; - Address: Integer; - end; -var - TApplicationHandleExceptionAddr, SysUtilsShowExceptionAddr: Pointer; - CALLInstruction: TCALLInstruction; - CallAddress: Pointer; - OldProtect: DWORD; - - function CheckAddressForOffset(Offset: Cardinal): Boolean; - begin - try - CallAddress := Pointer(Cardinal(TApplicationHandleExceptionAddr) + Offset); - CALLInstruction.Call := $E8; - Result := PCALLInstruction(CallAddress)^.Call = CALLInstruction.Call; - if Result then - begin - if IsCompiledWithPackages then - Result := PeMapImgResolvePackageThunk(Pointer(Integer(CallAddress) + Integer(PCALLInstruction(CallAddress)^.Address) + SizeOf(CALLInstruction))) = SysUtilsShowExceptionAddr - else - Result := PCALLInstruction(CallAddress)^.Address = Integer(SysUtilsShowExceptionAddr) - Integer(CallAddress) - SizeOf(CALLInstruction); - end; - except - Result := False; - end; - end; - -begin - TApplicationHandleExceptionAddr := PeMapImgResolvePackageThunk(@TApplication.HandleException); - SysUtilsShowExceptionAddr := PeMapImgResolvePackageThunk(@SysUtils.ShowException); - Result := CheckAddressForOffset(CallOffset) or CheckAddressForOffset(CallOffsetDebug); - if Result then - begin - Result := VirtualProtect(CallAddress, sizeof(CallInstruction), PAGE_EXECUTE_READWRITE, OldProtect); - if Result then - try - CALLInstruction.Address := Integer(@HookShowException) - Integer(CallAddress) - SizeOf(CALLInstruction); - PCALLInstruction(CallAddress)^ := CALLInstruction; - if Result then - FlushInstructionCache(GetCurrentProcess, CallAddress, SizeOf(CALLInstruction)); - finally - VirtualProtect(CallAddress, sizeof(CallInstruction), OldProtect, OldProtect); - end; - end; -end; - -//============================================================================ -// Exception dialog with Send -//============================================================================ - -var - ExceptionShowing: Boolean; - -//=== { T%FORMNAME% } =============================================== - -procedure T%FORMNAME%.AfterCreateDetails; -begin -%if SendEMail SendBtn.Enabled := True;%endif -end; - -//---------------------------------------------------------------------------- - -procedure T%FORMNAME%.BeforeCreateDetails; -begin -%if SendEMail SendBtn.Enabled := False;%endif -end; - -//---------------------------------------------------------------------------- - -function T%FORMNAME%.ReportMaxColumns: Integer; -begin - Result := 78; -end; - -%if SendEMail//---------------------------------------------------------------------------- - -procedure T%FORMNAME%.SendBtnClick(Sender: TObject); -begin - with TJclEmail.Create do - try - ParentWnd := Application.Handle; - Recipients.Add(%StrValue EMailAddress); - Subject := %StrValue EMailSubject; - Body := ReportAsText; - SaveTaskWindows; - try - Send(True); - finally - RestoreTaskWindows; - end; - finally - Free; - end; -end; -%endif -//---------------------------------------------------------------------------- - -procedure T%FORMNAME%.CopyReportToClipboard; -begin - ClipBoard.AsText := ReportAsText; -end; - -//---------------------------------------------------------------------------- - -procedure T%FORMNAME%.CreateDetails; -begin - Screen.Cursor := crHourGlass; - DetailsMemo.Lines.BeginUpdate; - try - CreateReport; -%if LogFile ReportToLog;%endif - DetailsMemo.SelStart := 0; - SendMessage(DetailsMemo.Handle, EM_SCROLLCARET, 0, 0); - AfterCreateDetails; - finally - DetailsMemo.Lines.EndUpdate; - OkBtn.Enabled := True; - DetailsBtn.Enabled := True; - OkBtn.SetFocus; - Screen.Cursor := crDefault; - end; -end; - -//---------------------------------------------------------------------------- - -procedure T%FORMNAME%.CreateReport; -var -%if ModuleList SL: TStringList; - I: Integer; - ModuleName: TFileName; - NtHeaders: PImageNtHeaders; - ModuleBase: Cardinal; - ImageBaseStr: string;%endif -%if ActiveControls C: TWinControl;%endif -%if OSInfo CpuInfo: TCpuInfo; - ProcessorDetails: string;%endif -%if StackList StackList: TJclStackInfoList;%endif -begin - SL := TStringList.Create; - try -%if StackList // Stack list - StackList := JclLastExceptStackList; - if Assigned(StackList) then - begin - DetailsMemo.Lines.Add(Format(RsStackList, [DateTimeToStr(StackList.TimeStamp)])); - StackList.AddToStrings(DetailsMemo.Lines, %BoolValue ModuleName, %BoolValue ModuleOffset, %BoolValue CodeDetails, %BoolValue VirtualAddress); - NextDetailBlock; - end; -%endif - -%if OSInfo // System and OS information - DetailsMemo.Lines.Add(Format(RsOSVersion, [GetWindowsVersionString, NtProductTypeString, - Win32MajorVersion, Win32MinorVersion, Win32BuildNumber, Win32CSDVersion])); - GetCpuInfo(CpuInfo); - with CpuInfo do - begin - ProcessorDetails := Format(RsProcessor, [Manufacturer, CpuName, - RoundFrequency(FrequencyInfo.NormFreq)]); - if not IsFDIVOK then - ProcessorDetails := ProcessorDetails + ' [FDIV Bug]'; - if ExMMX then - ProcessorDetails := ProcessorDetails + ' MMXex' - else if MMX then - ProcessorDetails := ProcessorDetails + ' MMX'; - if SSE > 0 then - ProcessorDetails := Format('%s SSE%d', [ProcessorDetails, SSE]); - if Ex3DNow then - ProcessorDetails := ProcessorDetails + ' 3DNow!ex' - else if _3DNow then - ProcessorDetails := ProcessorDetails + ' 3DNow!'; - if Is64Bits then - ProcessorDetails := ProcessorDetails + ' 64 bits'; - if DEPEnabled then - ProcessorDetails := ProcessorDetails + ' DEP'; - end; - DetailsMemo.Lines.Add(ProcessorDetails); - DetailsMemo.Lines.Add(Format(RsMemory, [GetTotalPhysicalMemory div 1024 div 1024, - GetFreePhysicalMemory div 1024 div 1024])); - DetailsMemo.Lines.Add(Format(RsScreenRes, [Screen.Width, Screen.Height, GetBPP])); - NextDetailBlock; -%endif - -%if ModuleList // Modules list - if LoadedModulesList(SL, GetCurrentProcessId) then - begin - DetailsMemo.Lines.Add(RsModulesList); - SL.CustomSort(SortModulesListByAddressCompare); - for I := 0 to SL.Count - 1 do - begin - ModuleName := SL[I]; - ModuleBase := Cardinal(SL.Objects[I]); - DetailsMemo.Lines.Add(Format('[%.8x] %s', [ModuleBase, ModuleName])); - NtHeaders := PeMapImgNtHeaders(Pointer(ModuleBase)); - if (NtHeaders <> nil) and (NtHeaders^.OptionalHeader.ImageBase <> ModuleBase) then - ImageBaseStr := Format('<%.8x> ', [NtHeaders^.OptionalHeader.ImageBase]) - else - ImageBaseStr := StrRepeat(' ', 11); - if VersionResourceAvailable(ModuleName) then - with TJclFileVersionInfo.Create(ModuleName) do - try - DetailsMemo.Lines.Add(ImageBaseStr + BinFileVersion + ' - ' + FileVersion); - if FileDescription <> '' then - DetailsMemo.Lines.Add(StrRepeat(' ', 11) + FileDescription); - finally - Free; - end - else - DetailsMemo.Lines.Add(ImageBaseStr + RsMissingVersionInfo); - end; - NextDetailBlock; - end; -%endif - -%if ActiveControls // Active controls - if (FLastActiveControl <> nil) then - begin - DetailsMemo.Lines.Add(RsActiveControl); - C := FLastActiveControl; - while C <> nil do - begin - DetailsMemo.Lines.Add(Format('%s "%s"', [C.ClassName, C.Name])); - C := C.Parent; - end; - NextDetailBlock; - end; -%endif - finally - SL.Free; - end; -end; - -//-------------------------------------------------------------------------------------------------- - -procedure T%FORMNAME%.DetailsBtnClick(Sender: TObject); -begin - DetailsVisible := not DetailsVisible; -end; - -//---------------------------... [truncated message content] |
|
From: <ou...@us...> - 2006-08-10 09:51:38
|
Revision: 1714 Author: outchy Date: 2006-08-10 02:51:20 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1714&view=rev Log Message: ----------- set mime-type for images Property Changed: ---------------- trunk/jcl/docs/cps_files/strucv1.jpg trunk/jcl/experts/common/JclConfigure.ico trunk/jcl/experts/common/JclSplash.bmp trunk/jcl/experts/debug/dialog/ClxExceptDlg.ico trunk/jcl/experts/debug/dialog/ExceptDlg.ico trunk/jcl/experts/debug/dialog/ExceptDlgCpp.ico trunk/jcl/experts/debug/dialog/ExceptDlgMail.ico Property changes on: trunk/jcl/docs/cps_files/strucv1.jpg ___________________________________________________________________ Name: svn:mime-type - application/octet-stream + image/jpeg Property changes on: trunk/jcl/experts/common/JclConfigure.ico ___________________________________________________________________ Name: svn:mime-type - application/octet-stream + image/x-icon Property changes on: trunk/jcl/experts/common/JclSplash.bmp ___________________________________________________________________ Name: svn:mime-type - application/octet-stream + image/bmp Property changes on: trunk/jcl/experts/debug/dialog/ClxExceptDlg.ico ___________________________________________________________________ Name: svn:mime-type - application/octet-stream + image/x-icon Property changes on: trunk/jcl/experts/debug/dialog/ExceptDlg.ico ___________________________________________________________________ Name: svn:mime-type - application/octet-stream + image/x-icon Property changes on: trunk/jcl/experts/debug/dialog/ExceptDlgCpp.ico ___________________________________________________________________ Name: svn:mime-type - application/octet-stream + image/x-icon Property changes on: trunk/jcl/experts/debug/dialog/ExceptDlgMail.ico ___________________________________________________________________ Name: svn:mime-type - application/octet-stream + image/x-icon This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-10 09:40:23
|
Revision: 1713 Author: outchy Date: 2006-08-10 02:39:38 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1713&view=rev Log Message: ----------- new trunk for thirdparty products used by the JCL Added Paths: ----------- trunk/thirdparty/ trunk/thirdparty/zlib/ trunk/thirdparty/zlib/LICENCE.txt trunk/thirdparty/zlib/how-to-update.txt trunk/thirdparty/zlib/zlib-1.2.3.tar.gz Added: trunk/thirdparty/zlib/LICENCE.txt =================================================================== --- trunk/thirdparty/zlib/LICENCE.txt (rev 0) +++ trunk/thirdparty/zlib/LICENCE.txt 2006-08-10 09:39:38 UTC (rev 1713) @@ -0,0 +1,25 @@ +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.3, July 18th, 2005 + + Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly jl...@gz... + Mark Adler ma...@al... + +*/ Property changes on: trunk/thirdparty/zlib/LICENCE.txt ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/thirdparty/zlib/how-to-update.txt =================================================================== --- trunk/thirdparty/zlib/how-to-update.txt (rev 0) +++ trunk/thirdparty/zlib/how-to-update.txt 2006-08-10 09:39:38 UTC (rev 1713) @@ -0,0 +1,5 @@ +// Version 1.0, august 2006 + +1. Extract the source in jcl/source/zlib-X.Y.Z +2. Set the current directory to jcl/source/windows/obj +3. Execute makefile.mak Property changes on: trunk/thirdparty/zlib/how-to-update.txt ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/thirdparty/zlib/zlib-1.2.3.tar.gz =================================================================== (Binary files differ) Property changes on: trunk/thirdparty/zlib/zlib-1.2.3.tar.gz ___________________________________________________________________ Name: 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...> - 2006-08-09 10:06:31
|
Revision: 1712 Author: outchy Date: 2006-08-09 03:06:09 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1712&view=rev Log Message: ----------- updated zlib to version 1.2.3 Modified Paths: -------------- trunk/jcl/source/windows/obj/adler32.obj trunk/jcl/source/windows/obj/compress.obj trunk/jcl/source/windows/obj/crc32.obj trunk/jcl/source/windows/obj/deflate.obj trunk/jcl/source/windows/obj/gzio.obj trunk/jcl/source/windows/obj/infback.obj trunk/jcl/source/windows/obj/inffast.obj trunk/jcl/source/windows/obj/inflate.obj trunk/jcl/source/windows/obj/inftrees.obj trunk/jcl/source/windows/obj/makefile.mak trunk/jcl/source/windows/obj/trees.obj trunk/jcl/source/windows/obj/uncompr.obj trunk/jcl/source/windows/obj/zutil.obj Modified: trunk/jcl/source/windows/obj/adler32.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/compress.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/crc32.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/deflate.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/gzio.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/infback.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/inffast.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/inflate.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/inftrees.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/makefile.mak =================================================================== --- trunk/jcl/source/windows/obj/makefile.mak 2006-08-08 15:27:17 UTC (rev 1711) +++ trunk/jcl/source/windows/obj/makefile.mak 2006-08-09 10:06:09 UTC (rev 1712) @@ -2,7 +2,7 @@ # makefile to make zlib .obj files using Borland's C++ compiler bcc32 # derived from a makefile generated by BCB6' bpr2mak # -# if zlib source directory is different from $(JLC)\source\zlib-1.2.2, use +# if zlib source directory is different from $(JLC)\source\zlib-1.2.3, use # "make -Dzlibsrc=<path to zlib sources>" to tell make where to find the # source files # @@ -16,6 +16,10 @@ # # >C:\Program Files\Borland\CBuilder6\Bin\make # +# or, if you want to use Borland Developer Studio 2006: +# +# >C:\Program files\Borland\BDS\4.0\bin\make +# # To choose the target CPU, pass "-DCPU=n" as option to make, with n being a # number between 3 and 6, with the following meanings: # @@ -40,7 +44,7 @@ BCC = $(BCB) !if !$d(zlibsrc) -zlibsrc = ..\..\zlib-1.2.2 +zlibsrc = ..\..\zlib-1.2.3 !endif !if !$d(CPU) Modified: trunk/jcl/source/windows/obj/trees.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/uncompr.obj =================================================================== (Binary files differ) Modified: trunk/jcl/source/windows/obj/zutil.obj =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-08 15:27:30
|
Revision: 1711 Author: outchy Date: 2006-08-08 08:27:17 -0700 (Tue, 08 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1711&view=rev Log Message: ----------- Fixed AV clicking on the IDE menu when no file was opened Modified Paths: -------------- trunk/jcl/experts/versioncontrol/VersionControlImpl.pas Modified: trunk/jcl/experts/versioncontrol/VersionControlImpl.pas =================================================================== --- trunk/jcl/experts/versioncontrol/VersionControlImpl.pas 2006-08-03 15:46:14 UTC (rev 1710) +++ trunk/jcl/experts/versioncontrol/VersionControlImpl.pas 2006-08-08 15:27:17 UTC (rev 1711) @@ -1425,7 +1425,7 @@ end; if HideActions and not VersionControlActionInfos[AControlAction].AllPlugins then - BMenuItem.Visible := Assigned(AFileCache.Plugin) + BMenuItem.Visible := Assigned(AFileCache) and Assigned(AFileCache.Plugin) and (AControlAction in AFileCache.Plugin.SupportActions) else BMenuItem.Visible := True; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <mar...@us...> - 2006-08-03 15:46:22
|
Revision: 1710 Author: marquardt Date: 2006-08-03 08:46:14 -0700 (Thu, 03 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1710&view=rev Log Message: ----------- resource strings placed in JclResources.pas and some prefixing of resourcestrings Modified Paths: -------------- trunk/jcl/source/common/JclBase.pas trunk/jcl/source/common/JclBorlandTools.pas trunk/jcl/source/common/JclResources.pas Modified: trunk/jcl/source/common/JclBase.pas =================================================================== --- trunk/jcl/source/common/JclBase.pas 2006-08-03 15:07:15 UTC (rev 1709) +++ trunk/jcl/source/common/JclBase.pas 2006-08-03 15:46:14 UTC (rev 1710) @@ -353,6 +353,7 @@ end; {$IFDEF CLR} + function GetBytesEx(const Value): TBytes; begin if TObject(Value) is TBytes then @@ -365,7 +366,7 @@ BitConverter.GetBytes(UInt32(Value)) { TODO : Add further types } else - raise EJclError.CreateFmt('GetBytesEx(): Unsupported value type: %s', [TObject(Value).GetType.FullName]); + raise EJclError.CreateFmt(RsEGetBytesExFmt, [TObject(Value).GetType.FullName]); end; procedure SetBytesEx(var Value; Bytes: TBytes); @@ -380,7 +381,7 @@ Value := BitConverter.ToUInt32(Bytes, 0) { TODO : Add further types } else - raise EJclError.CreateFmt('SetBytesEx(): Unsupported value type: %s', [TObject(Value).GetType.FullName]); + raise EJclError.CreateFmt(RsESetBytesExFmt, [TObject(Value).GetType.FullName]); end; procedure SetIntegerSet(var DestSet: TIntegerSet; Value: UInt32); Modified: trunk/jcl/source/common/JclBorlandTools.pas =================================================================== --- trunk/jcl/source/common/JclBorlandTools.pas 2006-08-03 15:07:15 UTC (rev 1709) +++ trunk/jcl/source/common/JclBorlandTools.pas 2006-08-03 15:46:14 UTC (rev 1710) @@ -1237,7 +1237,7 @@ if SameText(PackageExtension, SourceExtensionBCBPackage) then GetBPKFileInfo(PackageFileName, RunOnly, @Result) else - raise EJclBorRadException.CreateResFmt(@RsUnknownPackageExtension, [PackageExtension]); + raise EJclBorRadException.CreateResFmt(@RsEUnknownPackageExtension, [PackageExtension]); Result := PathAddSeparator(BPLPath) + Result; end; @@ -1266,7 +1266,7 @@ if SameText(ProjectExtension, SourceExtensionBCBProject) then GetBPRFileInfo(ProjectFileName, Result) else - raise EJclBorRadException.CreateResFmt(@RsUnknownProjectExtension, [ProjectExtension]); + raise EJclBorRadException.CreateResFmt(@RsEUnknownProjectExtension, [ProjectExtension]); Result := PathAddSeparator(OutputPath) + Result; end; @@ -1436,7 +1436,7 @@ S := 'bcb'; else //brBorlandDevStudio : - raise EJclBorRadException.Create('open help not present in Borland Developer Studio'); + raise EJclBorRadException.CreateRes(@RsENoOpenHelp); end; Result := Format(FormatName, [RootDir, S, VersionNumber]); end; @@ -1716,7 +1716,7 @@ procedure TJclBorRADToolIdeTool.CheckIndex(Index: Integer); begin if (Index < 0) or (Index >= Count) then - raise EJclError.CreateRes(@RsIndexOufOfRange); + raise EJclError.CreateRes(@RsEIndexOufOfRange); end; function TJclBorRADToolIdeTool.GetCount: Integer; @@ -2085,7 +2085,7 @@ procedure TJclBorlandCommandLineTool.CheckOutputValid; begin if Assigned(FOutputCallback) then - raise EJclCommandLineToolError.CreateResFmt(@RsCmdLineToolOutputInvalid, [GetExeName]); + raise EJclCommandLineToolError.CreateResFmt(@RsECmdLineToolOutputInvalid, [GetExeName]); end; function TJclBorlandCommandLineTool.Execute(const CommandLine: string): Boolean; @@ -2744,7 +2744,7 @@ OutputString(Format(RsCompilingPackage, [PackageName])); if not IsBCBPackage(PackageName) then - raise EJclBorRADException.CreateResFmt(@RsNotABCBPackage, [PackageName]); + raise EJclBorRADException.CreateResFmt(@RsENotABCBPackage, [PackageName]); PackagePath := PathRemoveSeparator(ExtractFilePath(PackageName)); SaveDir := GetCurrentDir; @@ -2785,7 +2785,7 @@ OutputString(Format(RsCompilingProject, [ProjectName])); if not IsBCBProject(ProjectName) then - raise EJclBorRADException.CreateResFmt(@RsNotADelphiProject, [ProjectName]); + raise EJclBorRADException.CreateResFmt(@RsENotADelphiProject, [ProjectName]); PackagePath := PathRemoveSeparator(ExtractFilePath(ProjectName)); SaveDir := GetCurrentDir; @@ -2832,7 +2832,7 @@ OutputString(Format(RsCompilingPackage, [PackageName])); if not IsDelphiPackage(PackageName) then - raise EJclBorRADException.CreateResFmt(@RsNotADelphiPackage, [PackageName]); + raise EJclBorRADException.CreateResFmt(@RsENotADelphiPackage, [PackageName]); if MapCreate then NewOptions := ExtraOptions + ' -GD' @@ -2860,7 +2860,7 @@ OutputString(Format(RsCompilingProject, [ProjectName])); if not IsDelphiProject(ProjectName) then - raise EJclBorRADException.CreateResFmt(@RsNotADelphiProject, [ProjectName]); + raise EJclBorRADException.CreateResFmt(@RsENotADelphiProject, [ProjectName]); if MapCreate then ExtraOptions := '-GD' @@ -2892,7 +2892,7 @@ if SameText(PackageExtension, SourceExtensionDelphiPackage) then Result := CompileDelphiPackage(PackageName, BPLPath, DCPPath) else - raise EJclBorRadException.CreateResFmt(@RsUnknownPackageExtension, [PackageExtension]); + raise EJclBorRadException.CreateResFmt(@RsEUnknownPackageExtension, [PackageExtension]); end; function TJclBorRADToolInstallation.CompileProject(const ProjectName, @@ -2907,7 +2907,7 @@ if SameText(ProjectExtension, SourceExtensionDelphiProject) then Result := CompileDelphiProject(ProjectName, OutputDir, DcpSearchPath) else - raise EJclBorRadException.CreateResFmt(@RsUnknownProjectExtension, [ProjectExtension]); + raise EJclBorRadException.CreateResFmt(@RsEUnknownProjectExtension, [ProjectExtension]); end; function TJclBorRADToolInstallation.FindFolderInPath(Folder: string; List: TStrings): Integer; @@ -2934,7 +2934,7 @@ if not Assigned(FBpr2Mak) then begin if not (clProj2Mak in CommandLineTools) then - raise EJclBorRadException.CreateResFmt(@RsNotFound, [Bpr2MakExeName]); + raise EJclBorRadException.CreateResFmt(@RsENotFound, [Bpr2MakExeName]); FBpr2Mak := TJclBpr2Mak.Create(Self); end; Result := FBpr2Mak; @@ -2945,7 +2945,7 @@ if not Assigned(FBCC32) then begin if not (clBcc32 in CommandLineTools) then - raise EJclBorRadException.CreateResFmt(@RsNotFound, [Bcc32ExeName]); + raise EJclBorRadException.CreateResFmt(@RsENotFound, [Bcc32ExeName]); FBCC32 := TJclBCC32.Create(Self); end; Result := FBCC32; @@ -2956,7 +2956,7 @@ if not Assigned(FDCC32) then begin if not (clDcc32 in CommandLineTools) then - raise EJclBorRadException.CreateResFmt(@RsNotFound, [Dcc32ExeName]); + raise EJclBorRadException.CreateResFmt(@RsENotFound, [Dcc32ExeName]); FDCC32 := TJclDCC32.Create(Self); end; Result := FDCC32; @@ -3116,7 +3116,7 @@ if not Assigned(FMake) then begin if not (clMake in CommandLineTools) then - raise EJclBorRadException.CreateResFmt(@RsNotFound, [MakeExeName]); + raise EJclBorRadException.CreateResFmt(@RsENotFound, [MakeExeName]); {$IFDEF KYLIX} FMake := TJclCommandLineTool.Create(MakeExeName); {$ELSE ~KYLIX} @@ -3208,7 +3208,7 @@ GetBPKFileInfo(PackageName, RunOnly, @BinaryFileName, @Description); BinaryFileName := PathAddSeparator(BPLPath) + BinaryFileName; if RunOnly then - raise EJclBorRadException.CreateResFmt(@RsCannotInstallRunOnly, [PackageName]); + raise EJclBorRadException.CreateResFmt(@RsECannotInstallRunOnly, [PackageName]); Result := CompileBCBPackage(PackageName, BPLPath, DCPPath) and RegisterIdePackage(BinaryFileName, Description); @@ -3226,7 +3226,7 @@ GetBPKFileInfo(PackageName, RunOnly, @BinaryFileName, @Description); BinaryFileName := PathAddSeparator(BPLPath) + BinaryFileName; if RunOnly then - raise EJclBorRadException.CreateResFmt(@RsCannotInstallRunOnly, [PackageName]); + raise EJclBorRadException.CreateResFmt(@RsECannotInstallRunOnly, [PackageName]); Result := CompileBCBPackage(PackageName, BPLPath, DCPPath) and RegisterPackage(BinaryFileName, Description); @@ -3263,7 +3263,7 @@ GetDPKFileInfo(PackageName, RunOnly, @LibSuffix, @Description); if RunOnly then - raise EJclBorRadException.CreateResFmt(@RsCannotInstallRunOnly, [PackageName]); + raise EJclBorRadException.CreateResFmt(@RsECannotInstallRunOnly, [PackageName]); BPLFileName := PathAddSeparator(BPLPath) + PathExtractFileNameNoExt(PackageName) + LibSuffix + BinaryExtensionPackage; @@ -3282,7 +3282,7 @@ GetDPKFileInfo(PackageName, RunOnly, @LibSuffix, @Description); if RunOnly then - raise EJclBorRadException.CreateResFmt(@RsCannotInstallRunOnly, [PackageName]); + raise EJclBorRadException.CreateResFmt(@RsECannotInstallRunOnly, [PackageName]); BPLFileName := PathAddSeparator(BPLPath) + PathExtractFileNameNoExt(PackageName) + LibSuffix + BinaryExtensionPackage; @@ -3303,7 +3303,7 @@ if SameText(ProjectExtension, SourceExtensionDelphiProject) then Result := InstallDelphiExpert(ProjectName, OutputDir, DcpSearchPath) else - raise EJclBorRADException.CreateResFmt(@RsUnknownProjectExtension, [ProjectExtension]); + raise EJclBorRADException.CreateResFmt(@RsEUnknownProjectExtension, [ProjectExtension]); end; function TJclBorRADToolInstallation.InstallIDEPackage(const PackageName, BPLPath, DCPPath: string): Boolean; @@ -3317,7 +3317,7 @@ if SameText(PackageExtension, SourceExtensionDelphiPackage) then Result := InstallDelphiIdePackage(PackageName, BPLPath, DCPPath) else - raise EJclBorRADException.CreateResFmt(@RsUnknownIdePackageExtension, [PackageExtension]); + raise EJclBorRADException.CreateResFmt(@RsEUnknownIdePackageExtension, [PackageExtension]); end; function TJclBorRADToolInstallation.InstallPackage(const PackageName, BPLPath, DCPPath: string): Boolean; @@ -3331,7 +3331,7 @@ if SameText(PackageExtension, SourceExtensionDelphiPackage) then Result := InstallDelphiPackage(PackageName, BPLPath, DCPPath) else - raise EJclBorRADException.CreateResFmt(@RsUnknownPackageExtension, [PackageExtension]); + raise EJclBorRADException.CreateResFmt(@RsEUnknownPackageExtension, [PackageExtension]); end; {$IFDEF KEEP_DEPRECATED} @@ -3688,7 +3688,7 @@ OutputString(Format(RsExpertUninstallationStarted, [ProjectName])); if not IsBCBProject(ProjectName) then - raise EJclBorRADException.CreateResFmt(@RsNotABCBProject, [ProjectName]); + raise EJclBorRADException.CreateResFmt(@RsENotABCBProject, [ProjectName]); GetBPRFileInfo(ProjectName, BinaryFileName); BinaryFileName := PathAddSeparator(OutputDir) + BinaryFileName; @@ -3713,7 +3713,7 @@ OutputString(Format(RsIdePackageUninstallationStarted, [PackageName])); if not IsBCBPackage(PackageName) then - raise EJclBorRADException.CreateResFmt(@RsNotABCBPackage, [PackageName]); + raise EJclBorRADException.CreateResFmt(@RsENotABCBPackage, [PackageName]); GetBPKFileInfo(PackageName, RunOnly, @BinaryFileName); @@ -3754,7 +3754,7 @@ OutputString(Format(RsPackageUninstallationStarted, [PackageName])); if not IsBCBPackage(PackageName) then - raise EJclBorRADException.CreateResFmt(@RsNotABCBPackage, [PackageName]); + raise EJclBorRADException.CreateResFmt(@RsENotABCBPackage, [PackageName]); GetBPKFileInfo(PackageName, RunOnly, @BinaryFileName); @@ -3793,7 +3793,7 @@ OutputString(Format(RsExpertUninstallationStarted, [ProjectName])); if not IsDelphiProject(ProjectName) then - raise EJclBorRADException.CreateResFmt(@RsNotADelphiProject, [ProjectName]); + raise EJclBorRADException.CreateResFmt(@RsENotADelphiProject, [ProjectName]); BaseName := PathExtractFileNameNoExt(ProjectName); GetDPRFileInfo(ProjectName, BinaryExtension, @LibSuffix); @@ -3821,7 +3821,7 @@ OutputString(Format(RsIdePackageUninstallationStarted, [PackageName])); if not IsDelphiPackage(PackageName) then - raise EJclBorRADException.CreateResFmt(@RsNotADelphiPackage, [PackageName]); + raise EJclBorRADException.CreateResFmt(@RsENotADelphiPackage, [PackageName]); GetDPKFileInfo(PackageName, RunOnly, @LibSuffix); BaseName := PathExtractFileNameNoExt(PackageName); @@ -3857,7 +3857,7 @@ OutputString(Format(RsPackageUninstallationStarted, [PackageName])); if not IsDelphiPackage(PackageName) then - raise EJclBorRADException.CreateResFmt(@RsNotADelphiPackage, [PackageName]); + raise EJclBorRADException.CreateResFmt(@RsENotADelphiPackage, [PackageName]); GetDPKFileInfo(PackageName, RunOnly, @LibSuffix); BaseName := PathExtractFileNameNoExt(PackageName); @@ -3894,7 +3894,7 @@ if SameText(ProjectExtension, SourceExtensionDelphiProject) then Result := UninstallDelphiExpert(ProjectName, OutputDir) else - raise EJclBorRadException.CreateResFmt(@RsUnknownProjectExtension, [ProjectExtension]); + raise EJclBorRadException.CreateResFmt(@RsEUnknownProjectExtension, [ProjectExtension]); end; function TJclBorRADToolInstallation.UninstallIDEPackage(const PackageName, BPLPath, DCPPath: string): Boolean; @@ -3908,7 +3908,7 @@ if SameText(PackageExtension, SourceExtensionDelphiPackage) then Result := UninstallDelphiIdePackage(PackageName, BPLPath, DCPPath) else - raise EJclBorRadException.CreateResFmt(@RsUnknownIdePackageExtension, [PackageExtension]); + raise EJclBorRadException.CreateResFmt(@RsEUnknownIdePackageExtension, [PackageExtension]); end; function TJclBorRADToolInstallation.UninstallPackage(const PackageName, BPLPath, DCPPath: string): Boolean; @@ -3922,7 +3922,7 @@ if SameText(PackageExtension, SourceExtensionDelphiPackage) then Result := UninstallDelphiPackage(PackageName, BPLPath, DCPPath) else - raise EJclBorRadException.CreateResFmt(@RsUnknownPackageExtension, [PackageExtension]); + raise EJclBorRadException.CreateResFmt(@RsEUnknownPackageExtension, [PackageExtension]); end; function TJclBorRADToolInstallation.UnregisterExpert(const BinaryFileName: string): Boolean; @@ -4113,7 +4113,7 @@ Include(FPersonalities, bpDelphi32); if FPersonalities = [] then - raise EJclBorRadException.CreateRes(@RsNoSupportedPersonality); + raise EJclBorRadException.CreateRes(@RsENoSupportedPersonality); end; destructor TJclBDSInstallation.Destroy; @@ -4185,7 +4185,7 @@ if DualPackageInstallation then begin if not (bpBCBuilder32 in Personalities) then - raise EJclBorRadException.CreateResFmt(@RsDualPackageNotSupported, [Name]); + raise EJclBorRadException.CreateResFmt(@RsEDualPackageNotSupported, [Name]); NewOptions := Format('%s -JL -NB"%s" -NO"%s" -N1"%s"', [ExtraOptions, DcpPath, DcpPath, VclIncludeDir]); @@ -4205,7 +4205,7 @@ OutputString(Format(RsCompilingProject, [ProjectName])); if not IsDelphiProject(ProjectName) then - raise EJclBorRADException.CreateResFmt(@RsNotADelphiProject, [ProjectName]); + raise EJclBorRADException.CreateResFmt(@RsENotADelphiProject, [ProjectName]); if MapCreate then ExtraOptions := '-GD' @@ -4340,7 +4340,7 @@ function TJclBDSInstallation.GetVclIncludeDir: string; begin if not (bpBCBuilder32 in Personalities) then - raise EJclBorRadException.CreateResFmt(@RsDualPackageNotSupported, [Name]); + raise EJclBorRadException.CreateResFmt(@RsEDualPackageNotSupported, [Name]); Result := inherited GetVclIncludeDir; end; @@ -4416,7 +4416,7 @@ procedure TJclBDSInstallation.SetDualPackageInstallation(const Value: Boolean); begin if Value and not (bpBCBuilder32 in Personalities) then - raise EJclBorRadException.CreateResFmt(@RsDualPackageNotSupported, [Name]); + raise EJclBorRadException.CreateResFmt(@RsEDualPackageNotSupported, [Name]); FDualPackageInstallation := Value; end; Modified: trunk/jcl/source/common/JclResources.pas =================================================================== --- trunk/jcl/source/common/JclResources.pas 2006-08-03 15:07:15 UTC (rev 1709) +++ trunk/jcl/source/common/JclResources.pas 2006-08-03 15:46:14 UTC (rev 1710) @@ -59,15 +59,13 @@ RsWin32Prefix = 'Win32: %s (%u)'; RsDynArrayError = 'DynArrayInitialize: ElementSize out of bounds'; RsSysErrorMessageFmt = 'Win32 Error %d (%x)'; + {$IFDEF CLR} + RsEGetBytesExFmt = 'GetBytesEx(): Unsupported value type: %s'; + RsESetBytesExFmt = 'SetBytesEx(): Unsupported value type: %s'; + {$ENDIF CLR} //=== JclBorlandTools ======================================================== resourcestring - RsNotFound = '%s not found'; - RsNotABcbPackage = '%s not a C++Builder package source file'; - RsNotABcbProject = '%s not a C++Builder project source file'; - RsNotADelphiPackage = '%s not a Delphi package source file'; - RsNotADelphiProject = '%s not a Delphi project source file'; - RsIndexOufOfRange = 'Index out of range'; RsNeedUpdate = 'You should install latest Update Pack #%d for %s'; RsUpdatePackName = 'Update Pack #%d'; RsDelphiName = 'Delphi'; @@ -92,19 +90,11 @@ RsPersonal = 'Personal'; RsProfessional = 'Professional'; - RsNoSupportedPersonality = 'No personalities supported'; - RsDualPackageNotSupported = 'This installation of %s doesn''t support dual packages'; RsCommandLineToolMissing = 'No compiler available for %s'; - RsUnknownProjectExtension = '%s not a known project extension'; - RsUnknownPackageExtension = '%s not a known package extension'; - RsUnknownIdePackageExtension = '%s not a known ide package extension'; - - RsCannotInstallRunOnly = 'A run-only package cannot be installed'; RsUnknownProjectType = '%s not a known project type'; RsBorlandStudioProjects = 'Borland Studio Projects'; - RsCmdLineToolOutputInvalid = '%s: Output invalid, when OutputCallback assigned.'; RsPackageInstallationStarted = 'Installing package %s'; RsPackageInstallationFinished = 'Installation of package finished'; @@ -145,6 +135,23 @@ RsCleaningOk = 'Cleaning ok'; RsCleaningFailed = 'Cleaning failed'; + RsEUnknownPackageExtension = '%s not a known package extension'; + RsEUnknownProjectExtension = '%s not a known project extension'; + RsEUnknownIdePackageExtension = '%s not a known IDE package extension'; + RsEIndexOufOfRange = 'Index out of range'; + RsECmdLineToolOutputInvalid = '%s: Output invalid, when OutputCallback assigned.'; + RsENotABcbPackage = '%s not a C++Builder package source file'; + RsENotADelphiProject = '%s not a Delphi project source file'; + RsENotADelphiPackage = '%s not a Delphi package source file'; + RsENotFound = '%s not found'; + RsECannotInstallRunOnly = 'A run-only package cannot be installed'; + RsENotABcbProject = '%s not a C++Builder project source file'; + RsENoSupportedPersonality = 'No personalities supported'; + RsEDualPackageNotSupported = 'This installation of %s doesn''t support dual packages'; + {$IFDEF MSWINDOWS} + RsENoOpenHelp = 'open help not present in Borland Developer Studio'; + {$ENDIF MSWINDOWS} + //=== JclCIL ================================================================= resourcestring RsInstructionStreamInvalid = 'Invalid IL instruction stream'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-08-03 15:07:23
|
Revision: 1709 Author: outchy Date: 2006-08-03 08:07:15 -0700 (Thu, 03 Aug 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1709&view=rev Log Message: ----------- include file is not touched when unchanged Modified Paths: -------------- trunk/jcl/install/JclInstall.pas Modified: trunk/jcl/install/JclInstall.pas =================================================================== --- trunk/jcl/install/JclInstall.pas 2006-08-03 15:06:11 UTC (rev 1708) +++ trunk/jcl/install/JclInstall.pas 2006-08-03 15:07:15 UTC (rev 1709) @@ -2229,7 +2229,7 @@ IncludeFileName, IncludeLine, Symbol: string; IncludeFile: TStrings; IndexLine, DefinePos, SymbolEnd: Integer; - Defined, NotDefined: Boolean; + Defined, NotDefined, Changed: Boolean; const DefineText = '$DEFINE'; NotDefineText = '.' + DefineText; @@ -2239,6 +2239,8 @@ IncludeFileName := Format('%sjcl%s.inc', [PathAddSeparator(Distribution.SourceDir), Target.VersionNumberStr]); try + Changed := False; + IncludeFile := TStringList.Create; try IncludeFile.LoadFromFile(IncludeFileName); @@ -2266,18 +2268,29 @@ DefinePos := Defines.IndexOf(Symbol); if (DefinePos >= 0) and NotDefined then + begin IncludeLine := StringReplace(IncludeLine, NotDefineText, DefineText, [rfIgnoreCase]); + Changed := True; + end; if (DefinePos < 0) and Defined then + begin IncludeLine := StringReplace(IncludeLine, DefineText, NotDefineText, [rfIgnoreCase]); + Changed := True; + end; IncludeFile.Strings[IndexLine] := IncludeLine; end; end; end; - IncludeFile.SaveToFile(IncludeFileName); - WriteLog('Include file saved'); + if Changed then + begin + IncludeFile.SaveToFile(IncludeFileName); + WriteLog('Include file saved'); + end + else + WriteLog('No changes were made'); finally IncludeFile.Free; end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |