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-07-02 19:41:33
|
Revision: 1683 Author: outchy Date: 2006-07-02 12:41:17 -0700 (Sun, 02 Jul 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1683&view=rev Log Message: ----------- Mantis 3783 scales correctly when using big fonts Modified Paths: -------------- trunk/jcl/examples/common/containers/algorithms/AlgorithmsExampleMain.dfm trunk/jcl/examples/common/containers/hashing/HashingExampleMain.dfm trunk/jcl/examples/common/containers/lists/ListExampleMain.dfm trunk/jcl/examples/common/containers/performance/ContainerPerformanceMain.dfm trunk/jcl/examples/common/filesearch/QFileSearchDemoMain.dfm trunk/jcl/examples/common/graphics/StretchGraphicDemoMain.dfm trunk/jcl/examples/common/multimedia/MidiOutExampleMain.dfm Modified: trunk/jcl/examples/common/containers/algorithms/AlgorithmsExampleMain.dfm =================================================================== --- trunk/jcl/examples/common/containers/algorithms/AlgorithmsExampleMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) +++ trunk/jcl/examples/common/containers/algorithms/AlgorithmsExampleMain.dfm 2006-07-02 19:41:17 UTC (rev 1683) @@ -1,8 +1,8 @@ object MainForm: TMainForm Left = 280 Top = 180 - Width = 392 - Height = 330 + ClientWidth = 384 + ClientHeight = 304 ActiveControl = PageControl1 Caption = 'Algos' Color = clBtnFace @@ -13,7 +13,6 @@ Font.Pitch = fpVariable Font.Style = [] OldCreateOrder = True - Scaled = False OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 Modified: trunk/jcl/examples/common/containers/hashing/HashingExampleMain.dfm =================================================================== --- trunk/jcl/examples/common/containers/hashing/HashingExampleMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) +++ trunk/jcl/examples/common/containers/hashing/HashingExampleMain.dfm 2006-07-02 19:41:17 UTC (rev 1683) @@ -1,8 +1,8 @@ object MainForm: TMainForm Left = 281 Top = 201 - Width = 497 - Height = 279 + ClientWidth = 489 + ClientHeight = 253 HorzScrollBar.Range = 476 VertScrollBar.Range = 209 ActiveControl = btnIntfIntfHashMap @@ -16,7 +16,6 @@ Font.Pitch = fpVariable Font.Style = [] OldCreateOrder = True - Scaled = False PixelsPerInch = 96 TextHeight = 13 object btnIntfIntfHashMap: TButton Modified: trunk/jcl/examples/common/containers/lists/ListExampleMain.dfm =================================================================== --- trunk/jcl/examples/common/containers/lists/ListExampleMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) +++ trunk/jcl/examples/common/containers/lists/ListExampleMain.dfm 2006-07-02 19:41:17 UTC (rev 1683) @@ -1,8 +1,8 @@ object MainForm: TMainForm Left = 276 Top = 195 - Width = 548 - Height = 276 + ClientWidth = 540 + ClientHeight = 250 HorzScrollBar.Range = 508 VertScrollBar.Range = 217 ActiveControl = btnIntfArrayList @@ -16,7 +16,6 @@ Font.Pitch = fpVariable Font.Style = [] OldCreateOrder = True - Scaled = False PixelsPerInch = 96 TextHeight = 13 object btnIntfArrayList: TButton Modified: trunk/jcl/examples/common/containers/performance/ContainerPerformanceMain.dfm =================================================================== --- trunk/jcl/examples/common/containers/performance/ContainerPerformanceMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) +++ trunk/jcl/examples/common/containers/performance/ContainerPerformanceMain.dfm 2006-07-02 19:41:17 UTC (rev 1683) @@ -14,7 +14,6 @@ Font.Style = [] Menu = MainMenu1 OldCreateOrder = True - Scaled = False OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 Modified: trunk/jcl/examples/common/filesearch/QFileSearchDemoMain.dfm =================================================================== --- trunk/jcl/examples/common/filesearch/QFileSearchDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) +++ trunk/jcl/examples/common/filesearch/QFileSearchDemoMain.dfm 2006-07-02 19:41:17 UTC (rev 1683) @@ -1,8 +1,8 @@ object FileSearchForm: TFileSearchForm Left = 258 Top = 301 - Width = 787 - Height = 508 + ClientWidth = 779 + ClientHeight = 482 HorzScrollBar.Range = 378 VertScrollBar.Range = 252 ActiveControl = StartBtn @@ -19,7 +19,6 @@ Font.Style = [] OldCreateOrder = True Position = poDefaultPosOnly - Scaled = False OnCreate = FormCreate OnDestroy = FormDestroy PixelsPerInch = 96 Modified: trunk/jcl/examples/common/graphics/StretchGraphicDemoMain.dfm =================================================================== --- trunk/jcl/examples/common/graphics/StretchGraphicDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) +++ trunk/jcl/examples/common/graphics/StretchGraphicDemoMain.dfm 2006-07-02 19:41:17 UTC (rev 1683) @@ -1,8 +1,8 @@ object StretchDemoForm: TStretchDemoForm Left = 255 Top = 208 - Width = 788 - Height = 609 + ClientWidth = 780 + ClientHeight = 583 VertScrollBar.Range = 19 ActiveControl = PageControl AutoScroll = False @@ -17,7 +17,6 @@ KeyPreview = True Menu = MainMenu OldCreateOrder = True - Scaled = False ShowHint = True OnCreate = FormCreate OnKeyDown = FormKeyDown Modified: trunk/jcl/examples/common/multimedia/MidiOutExampleMain.dfm =================================================================== --- trunk/jcl/examples/common/multimedia/MidiOutExampleMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) +++ trunk/jcl/examples/common/multimedia/MidiOutExampleMain.dfm 2006-07-02 19:41:17 UTC (rev 1683) @@ -1,8 +1,8 @@ object Keyboard: TKeyboard Left = 145 Top = 347 - Width = 528 - Height = 243 + ClientWidth = 520 + ClientHeight = 223 HorzScrollBar.Range = 517 VertScrollBar.Range = 209 ActiveControl = MidiProgramNum @@ -16,7 +16,6 @@ Font.Pitch = fpVariable Font.Style = [] OldCreateOrder = True - Scaled = False ShowHint = True OnCreate = FormCreate PixelsPerInch = 96 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-07-02 19:09:35
|
Revision: 1682 Author: outchy Date: 2006-07-02 12:08:38 -0700 (Sun, 02 Jul 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1682&view=rev Log Message: ----------- Mantis 3783 scales correctly when using big fonts Modified Paths: -------------- trunk/jcl/examples/common/containers/trees/TreeExampleMain.dfm trunk/jcl/examples/common/expreval/ExprEvalExampleMain.dfm trunk/jcl/examples/common/pcre/PCREDemoMain.dfm trunk/jcl/examples/common/rtti/RTTIDemoMain.dfm trunk/jcl/examples/common/textreader/TextReaderDemoMain.dfm trunk/jcl/examples/windows/appinst/SingleInstDemoMain.dfm trunk/jcl/examples/windows/asuser/CreateProcAsUserDemoMain.dfm trunk/jcl/examples/windows/debug/framestrack/FramesTrackDemoMain.dfm trunk/jcl/examples/windows/debug/reportconverter/formConverter.dfm trunk/jcl/examples/windows/debug/sourceloc/SourceLocDemoMain.dfm trunk/jcl/examples/windows/debug/stacktrack/StackTrackDemoMain.dfm trunk/jcl/examples/windows/delphitools/peviewer/PeGenDef.dfm trunk/jcl/examples/windows/delphitools/toolhelpview/ViewTemplate.dfm trunk/jcl/examples/windows/edisdk/EDICOMExampleMain.dfm trunk/jcl/examples/windows/fileversion/VerInfoDemoMain.dfm trunk/jcl/examples/windows/lanman/LanManDemoMain.dfm trunk/jcl/examples/windows/locales/LocalesDemoMain.dfm trunk/jcl/examples/windows/mapi/MapiDemoMain.dfm trunk/jcl/examples/windows/multimedia/MultimediaDemoMain.dfm trunk/jcl/examples/windows/ntservice/NtSvcDemoMain.dfm trunk/jcl/examples/windows/peimage/ApiHookDemoMain.dfm trunk/jcl/examples/windows/registry/RegistryDemoMain.dfm trunk/jcl/examples/windows/structstorage/PropsFrm.dfm trunk/jcl/examples/windows/sysinfo/SysInfoDemoMain.dfm trunk/jcl/experts/common/JclOtaActionConfigureSheet.dfm trunk/jcl/experts/common/JclOtaConfigurationForm.dfm trunk/jcl/experts/common/JclOtaExceptionForm.dfm trunk/jcl/install/JediInstallerMain.dfm trunk/jcl/install/QJediInstallerMain.xfm Modified: trunk/jcl/examples/common/containers/trees/TreeExampleMain.dfm =================================================================== --- trunk/jcl/examples/common/containers/trees/TreeExampleMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/common/containers/trees/TreeExampleMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object MainForm: TMainForm Left = 328 Top = 237 - Width = 470 - Height = 295 + ClientWidth = 462 + ClientHeight = 259 Caption = 'Binary Tree' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/examples/common/expreval/ExprEvalExampleMain.dfm =================================================================== --- trunk/jcl/examples/common/expreval/ExprEvalExampleMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/common/expreval/ExprEvalExampleMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object Form1: TForm1 Left = 222 Top = 107 - Width = 487 - Height = 357 + ClientWidth = 479 + ClientHeight = 321 Caption = 'JclExprEval Example' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/examples/common/pcre/PCREDemoMain.dfm =================================================================== --- trunk/jcl/examples/common/pcre/PCREDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/common/pcre/PCREDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object frmMain: TfrmMain Left = 300 Top = 115 - Width = 470 - Height = 370 + ClientWidth = 462 + ClientHeight = 334 Caption = 'JclPCRE Demo' Color = clBtnFace Constraints.MinHeight = 370 Modified: trunk/jcl/examples/common/rtti/RTTIDemoMain.dfm =================================================================== --- trunk/jcl/examples/common/rtti/RTTIDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/common/rtti/RTTIDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object Form1: TForm1 Left = 98 Top = 153 - Width = 975 - Height = 466 + ClientWidth = 967 + ClientHeight = 440 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/examples/common/textreader/TextReaderDemoMain.dfm =================================================================== --- trunk/jcl/examples/common/textreader/TextReaderDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/common/textreader/TextReaderDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object MainForm: TMainForm Left = 275 Top = 163 - Width = 771 - Height = 641 + ClientWidth = 763 + ClientHeight = 605 Caption = 'TJclMappedTextReader class demo' Color = clBtnFace Constraints.MinHeight = 200 Modified: trunk/jcl/examples/windows/appinst/SingleInstDemoMain.dfm =================================================================== --- trunk/jcl/examples/windows/appinst/SingleInstDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/appinst/SingleInstDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object Form1: TForm1 Left = 194 Top = 107 - Width = 278 - Height = 181 + ClientWidth = 270 + ClientHeight = 145 Caption = 'Single application instance only' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/examples/windows/asuser/CreateProcAsUserDemoMain.dfm =================================================================== --- trunk/jcl/examples/windows/asuser/CreateProcAsUserDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/asuser/CreateProcAsUserDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object Form1: TForm1 Left = 386 Top = 230 - Width = 398 - Height = 370 + ClientWidth = 390 + ClientHeight = 344 Caption = 'CreateProcAsUser Demo' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/examples/windows/debug/framestrack/FramesTrackDemoMain.dfm =================================================================== --- trunk/jcl/examples/windows/debug/framestrack/FramesTrackDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/debug/framestrack/FramesTrackDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object Form1: TForm1 Left = 192 Top = 136 - Width = 790 - Height = 500 + ClientWidth = 782 + ClientHeight = 474 Caption = 'Exception frame tracking example' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/examples/windows/debug/reportconverter/formConverter.dfm =================================================================== --- trunk/jcl/examples/windows/debug/reportconverter/formConverter.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/debug/reportconverter/formConverter.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object frmConverter: TfrmConverter Left = 227 Top = 119 - Width = 462 - Height = 106 + ClientWidth = 454 + ClientHeight = 80 Caption = 'Exception Report Converter' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/examples/windows/debug/sourceloc/SourceLocDemoMain.dfm =================================================================== --- trunk/jcl/examples/windows/debug/sourceloc/SourceLocDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/debug/sourceloc/SourceLocDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object Form1: TForm1 Left = 192 Top = 107 - Width = 646 - Height = 511 + ClientWidth = 638 + ClientHeight = 485 Caption = 'JclDebug Source location example' Color = clBtnFace Constraints.MinHeight = 300 Modified: trunk/jcl/examples/windows/debug/stacktrack/StackTrackDemoMain.dfm =================================================================== --- trunk/jcl/examples/windows/debug/stacktrack/StackTrackDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/debug/stacktrack/StackTrackDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object MainForm: TMainForm Left = 342 Top = 197 - Width = 614 - Height = 523 + ClientWidth = 606 + ClientHeight = 497 Caption = 'Tracking unhandled exceptions in VCL application' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/examples/windows/delphitools/peviewer/PeGenDef.dfm =================================================================== --- trunk/jcl/examples/windows/delphitools/peviewer/PeGenDef.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/delphitools/peviewer/PeGenDef.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object PeGenDefChild: TPeGenDefChild Left = 278 Top = 149 - Width = 409 - Height = 338 + ClientWidth = 401 + ClientHeight = 312 Caption = 'Pascal unit generator' Color = clBtnFace Constraints.MinHeight = 230 Modified: trunk/jcl/examples/windows/delphitools/toolhelpview/ViewTemplate.dfm =================================================================== --- trunk/jcl/examples/windows/delphitools/toolhelpview/ViewTemplate.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/delphitools/toolhelpview/ViewTemplate.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object ViewForm: TViewForm Left = 288 Top = 168 - Width = 348 - Height = 301 + ClientWidth = 340 + ClientHeight = 284 BorderStyle = bsSizeToolWin Caption = 'ViewForm' Color = clBtnFace Modified: trunk/jcl/examples/windows/edisdk/EDICOMExampleMain.dfm =================================================================== --- trunk/jcl/examples/windows/edisdk/EDICOMExampleMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/edisdk/EDICOMExampleMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object Form1: TForm1 Left = 192 Top = 107 - Width = 696 - Height = 480 + ClientWidth = 688 + ClientHeight = 454 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/examples/windows/fileversion/VerInfoDemoMain.dfm =================================================================== --- trunk/jcl/examples/windows/fileversion/VerInfoDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/fileversion/VerInfoDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object Form1: TForm1 Left = 203 Top = 116 - Width = 537 - Height = 420 + ClientWidth = 529 + ClientHeight = 394 Caption = 'TJclFileVersionInfo example' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/examples/windows/lanman/LanManDemoMain.dfm =================================================================== --- trunk/jcl/examples/windows/lanman/LanManDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/lanman/LanManDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object Form1: TForm1 Left = 339 Top = 230 - Width = 724 - Height = 416 + ClientWidth = 716 + ClientHeight = 390 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/examples/windows/locales/LocalesDemoMain.dfm =================================================================== --- trunk/jcl/examples/windows/locales/LocalesDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/locales/LocalesDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object MainForm: TMainForm Left = 199 Top = 112 - Width = 640 - Height = 597 + ClientWidth = 632 + ClientHeight = 571 Caption = 'JclLocales demo' Color = clBtnFace Constraints.MinHeight = 570 Modified: trunk/jcl/examples/windows/mapi/MapiDemoMain.dfm =================================================================== --- trunk/jcl/examples/windows/mapi/MapiDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/mapi/MapiDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object MainForm: TMainForm Left = 285 Top = 165 - Width = 700 - Height = 520 + ClientWidth = 692 + ClientHeight = 494 Caption = 'JclMapi (TJclEmail class) example' Color = clBtnFace Constraints.MinHeight = 350 Modified: trunk/jcl/examples/windows/multimedia/MultimediaDemoMain.dfm =================================================================== --- trunk/jcl/examples/windows/multimedia/MultimediaDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/multimedia/MultimediaDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object MainForm: TMainForm Left = 313 Top = 238 - Width = 677 - Height = 567 + ClientWidth = 669 + ClientHeight = 541 Caption = 'Multimedia example' Color = clBtnFace Constraints.MinHeight = 515 Modified: trunk/jcl/examples/windows/ntservice/NtSvcDemoMain.dfm =================================================================== --- trunk/jcl/examples/windows/ntservice/NtSvcDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/ntservice/NtSvcDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object frmMain: TfrmMain Left = 271 Top = 251 - Width = 640 - Height = 480 + ClientWidth = 640 + ClientHeight = 426 Caption = 'NT Service Control Demo' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/examples/windows/peimage/ApiHookDemoMain.dfm =================================================================== --- trunk/jcl/examples/windows/peimage/ApiHookDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/peimage/ApiHookDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object Form1: TForm1 Left = 193 Top = 103 - Width = 458 - Height = 356 + ClientWidth = 450 + ClientHeight = 330 Caption = 'TJclPeMapImgHooks demo' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/examples/windows/registry/RegistryDemoMain.dfm =================================================================== --- trunk/jcl/examples/windows/registry/RegistryDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/registry/RegistryDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object Form1: TForm1 Left = 211 Top = 136 - Width = 649 - Height = 474 + ClientWidth = 641 + ClientHeight = 448 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/examples/windows/structstorage/PropsFrm.dfm =================================================================== --- trunk/jcl/examples/windows/structstorage/PropsFrm.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/structstorage/PropsFrm.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object frmProps: TfrmProps Left = 798 Top = 376 - Width = 339 - Height = 385 + ClientWidth = 331 + ClientHeight = 349 BorderIcons = [biSystemMenu] Caption = 'Properties' Color = clBtnFace Modified: trunk/jcl/examples/windows/sysinfo/SysInfoDemoMain.dfm =================================================================== --- trunk/jcl/examples/windows/sysinfo/SysInfoDemoMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/examples/windows/sysinfo/SysInfoDemoMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object MainForm: TMainForm Left = 382 Top = 187 - Width = 484 - Height = 459 + ClientWidth = 476 + ClientHeight = 433 Caption = 'JCL SysInfo demo' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/experts/common/JclOtaActionConfigureSheet.dfm =================================================================== --- trunk/jcl/experts/common/JclOtaActionConfigureSheet.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/experts/common/JclOtaActionConfigureSheet.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -48,7 +48,6 @@ Left = 80 Top = 330 Width = 121 - Height = 19 Anchors = [akLeft, akBottom] HotKey = 0 InvalidKeys = [hcNone] Modified: trunk/jcl/experts/common/JclOtaConfigurationForm.dfm =================================================================== --- trunk/jcl/experts/common/JclOtaConfigurationForm.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/experts/common/JclOtaConfigurationForm.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object JclOtaOptionsForm: TJclOtaOptionsForm - Left = 337 - Top = 238 - Width = 562 - Height = 522 + Left = 0 + Top = 0 + ClientWidth = 554 + ClientHeight = 486 Caption = 'RsOtaConfigurationCaption' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Modified: trunk/jcl/experts/common/JclOtaExceptionForm.dfm =================================================================== --- trunk/jcl/experts/common/JclOtaExceptionForm.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/experts/common/JclOtaExceptionForm.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object JclExpertExceptionForm: TJclExpertExceptionForm Left = 157 Top = 183 - Width = 559 - Height = 459 + ClientWidth = 551 + ClientHeight = 423 BorderIcons = [biSystemMenu] Caption = 'RsReportFormCaption' Color = clBtnFace Modified: trunk/jcl/install/JediInstallerMain.dfm =================================================================== --- trunk/jcl/install/JediInstallerMain.dfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/install/JediInstallerMain.dfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,8 +1,8 @@ object MainForm: TMainForm Left = 347 Top = 123 - Width = 800 - Height = 608 + ClientWidth = 792 + ClientHeight = 582 ActiveControl = QuitBtn Caption = 'JEDI Installer' Color = clBtnFace @@ -16,7 +16,6 @@ Font.Style = [] OldCreateOrder = True Position = poScreenCenter - Scaled = False ShowHint = True OnCreate = FormCreate OnDestroy = FormDestroy Modified: trunk/jcl/install/QJediInstallerMain.xfm =================================================================== --- trunk/jcl/install/QJediInstallerMain.xfm 2006-06-30 15:58:56 UTC (rev 1681) +++ trunk/jcl/install/QJediInstallerMain.xfm 2006-07-02 19:08:38 UTC (rev 1682) @@ -1,15 +1,13 @@ object MainForm: TMainForm Left = 280 Top = 163 - Width = 846 - Height = 614 + ClientWidth = 838 + ClientHeight = 608 VertScrollBar.Range = 49 ActiveControl = ReadmePane AutoScroll = False Caption = 'JEDI Installer' Color = clButton - Constraints.MinHeight = 600 - Constraints.MinWidth = 800 Font.Color = clText Font.Height = 12 Font.Name = 'helvetica' @@ -18,7 +16,6 @@ Font.Weight = 40 ParentFont = False Position = poScreenCenter - Scaled = False ShowHint = True OnCreate = FormCreate OnDestroy = FormDestroy This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ob...@us...> - 2006-06-30 15:59:06
|
Revision: 1681 Author: obones Date: 2006-06-30 08:58:56 -0700 (Fri, 30 Jun 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1681&view=rev Log Message: ----------- OpenGL libraries are now unloaded as soon as the required information has been read from them. Modified Paths: -------------- trunk/jcl/source/common/JclSysInfo.pas Modified: trunk/jcl/source/common/JclSysInfo.pas =================================================================== --- trunk/jcl/source/common/JclSysInfo.pas 2006-06-28 17:02:44 UTC (rev 1680) +++ trunk/jcl/source/common/JclSysInfo.pas 2006-06-30 15:58:56 UTC (rev 1681) @@ -3155,15 +3155,6 @@ TwglDeleteContextFunc = function(p1: HGLRC): BOOL; stdcall; TwglMakeCurrentFunc = function(DC: HDC; p2: HGLRC): BOOL; stdcall; -var - glGetStringFunc: TglGetStringFunc = nil; - glGetErrorFunc: TglGetErrorFunc = nil; - gluErrorStringFunc: TgluErrorStringFunc = nil; - - wglCreateContextFunc: TwglCreateContextFunc = nil; - wglDeleteContextFunc: TwglDeleteContextFunc = nil; - wglMakeCurrentFunc: TwglMakeCurrentFunc = nil; - const glu32 = 'glu32.dll'; // do not localize glGetStringName = 'glGetString'; // do not localize @@ -3181,6 +3172,16 @@ GL_VENDOR = $1F00; GL_VERSION = $1F02; var + OpenGlLib, Glu32Lib: HModule; + + glGetStringFunc: TglGetStringFunc; + glGetErrorFunc: TglGetErrorFunc; + gluErrorStringFunc: TgluErrorStringFunc; + + wglCreateContextFunc: TwglCreateContextFunc; + wglDeleteContextFunc: TwglDeleteContextFunc; + wglMakeCurrentFunc: TwglMakeCurrentFunc; + pfd: TPixelFormatDescriptor; iFormatIndex: Integer; hGLContext: HGLRC; @@ -3190,7 +3191,6 @@ bError: Boolean; sOpenGLVersion, sOpenGLVendor: string; Save8087CW: Word; - OpenGlLib, Glu32Lib: HModule; procedure FunctionFailedError(Name: string); begin @@ -3198,9 +3198,17 @@ end; begin - if not Assigned(glGetStringFunc) then - begin - OpenGlLib := SafeLoadLibrary(opengl32); + @glGetStringFunc := nil; + @glGetErrorFunc := nil; + @gluErrorStringFunc := nil; + + @wglCreateContextFunc := nil; + @wglDeleteContextFunc := nil; + @wglMakeCurrentFunc := nil; + + Glu32Lib := 0; + OpenGlLib := SafeLoadLibrary(opengl32); + try if OpenGlLib <> 0 then begin Glu32Lib := SafeLoadLibrary(glu32); // do not localize @@ -3215,6 +3223,7 @@ wglMakeCurrentFunc := GetProcAddress(OpenGlLib, wglMakeCurrentName); end; end; + if not (Assigned(glGetStringFunc) and Assigned(glGetErrorFunc) and Assigned(gluErrorStringFunc) and Assigned(wglCreateContextFunc) and Assigned(wglDeleteContextFunc) and Assigned(wglMakeCurrentFunc)) then begin @@ -3224,103 +3233,107 @@ Version := RsOpenGLInfoError; Exit; end; - end; + { To call for the version information string we must first have an active + context established for use. We can, of course, close this after use } + Save8087CW := Get8087ControlWord; + try + Set8087CW($133F); + hGLContext := 0; + Result := False; + bError := False; - { To call for the version information string we must first have an active - context established for use. We can, of course, close this after use } - Save8087CW := Get8087ControlWord; - try - Set8087CW($133F); - hGLContext := 0; - Result := False; - bError := False; + if Win = 0 then + begin + Result := False; + Vendor := RsOpenGLInfoError; + Version := RsOpenGLInfoError; + Exit; + end; - if Win = 0 then - begin - Result := False; - Vendor := RsOpenGLInfoError; - Version := RsOpenGLInfoError; - Exit; - end; + FillChar(pfd, SizeOf(pfd), 0); + with pfd do + begin + nSize := SizeOf(pfd); + nVersion := 1; { The Current Version of the descriptor is 1 } + dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL; + iPixelType := PFD_TYPE_RGBA; + cColorBits := 24; { support 24-bit colour } + cDepthBits := 32; { Depth of the z-buffer } + iLayerType := PFD_MAIN_PLANE; + end; - FillChar(pfd, SizeOf(pfd), 0); - with pfd do - begin - nSize := SizeOf(pfd); - nVersion := 1; { The Current Version of the descriptor is 1 } - dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL; - iPixelType := PFD_TYPE_RGBA; - cColorBits := 24; { support 24-bit colour } - cDepthBits := 32; { Depth of the z-buffer } - iLayerType := PFD_MAIN_PLANE; - end; + hGLDC := GetDC(Win); + try + iFormatIndex := ChoosePixelFormat(hGLDC, @pfd); + if iFormatIndex = 0 then + FunctionFailedError(ChoosePixelFormatName); - hGLDC := GetDC(Win); - try - iFormatIndex := ChoosePixelFormat(hGLDC, @pfd); - if iFormatIndex = 0 then - FunctionFailedError(ChoosePixelFormatName); + if not SetPixelFormat(hGLDC, iFormatIndex, @pfd) then + FunctionFailedError(SetPixelFormatName); - if not SetPixelFormat(hGLDC, iFormatIndex, @pfd) then - FunctionFailedError(SetPixelFormatName); + hGLContext := wglCreateContextFunc(hGLDC); + if hGLContext = 0 then + FunctionFailedError(wglCreateContextName); - hGLContext := wglCreateContextFunc(hGLDC); - if hGLContext = 0 then - FunctionFailedError(wglCreateContextName); + if not wglMakeCurrentFunc(hGLDC, hGLContext) then + FunctionFailedError(wglMakeCurrentName); - if not wglMakeCurrentFunc(hGLDC, hGLContext) then - FunctionFailedError(wglMakeCurrentName); - - { TODO : Review the following. Not sure I am 100% happy with this code - in its current structure. } - pcTemp := glGetStringFunc(GL_VERSION); - if pcTemp <> nil then - begin - { TODO : Store this information in a Global Variable, and return that?? - This would save this work being performed again with later calls } - sOpenGLVersion := StrPas(pcTemp); - end - else - begin - bError := True; - glErr := glGetErrorFunc; - if glErr <> GL_NO_ERROR then + { TODO : Review the following. Not sure I am 100% happy with this code + in its current structure. } + pcTemp := glGetStringFunc(GL_VERSION); + if pcTemp <> nil then begin - sOpenGLVersion := gluErrorStringFunc(glErr); - sOpenGLVendor := ''; + { TODO : Store this information in a Global Variable, and return that?? + This would save this work being performed again with later calls } + sOpenGLVersion := StrPas(pcTemp); + end + else + begin + bError := True; + glErr := glGetErrorFunc; + if glErr <> GL_NO_ERROR then + begin + sOpenGLVersion := gluErrorStringFunc(glErr); + sOpenGLVendor := ''; + end; end; - end; - pcTemp := glGetStringFunc(GL_VENDOR); - if pcTemp <> nil then - begin - { TODO : Store this information in a Global Variable, and return that?? - This would save this work being performed again with later calls } - sOpenGLVendor := StrPas(pcTemp); - end - else - begin - bError := True; - glErr := glGetErrorFunc; - if glErr <> GL_NO_ERROR then + pcTemp := glGetStringFunc(GL_VENDOR); + if pcTemp <> nil then begin - sOpenGLVendor := gluErrorStringFunc(glErr); - Exit; + { TODO : Store this information in a Global Variable, and return that?? + This would save this work being performed again with later calls } + sOpenGLVendor := StrPas(pcTemp); + end + else + begin + bError := True; + glErr := glGetErrorFunc; + if glErr <> GL_NO_ERROR then + begin + sOpenGLVendor := gluErrorStringFunc(glErr); + Exit; + end; end; + + Result := (not bError); + Version := sOpenGLVersion; + Vendor := sOpenGLVendor; + finally + { Close all resources } + wglMakeCurrentFunc(hGLDC, 0); + if hGLContext <> 0 then + wglDeleteContextFunc(hGLContext); end; - - Result := (not bError); - Version := sOpenGLVersion; - Vendor := sOpenGLVendor; finally - { Close all resources } - wglMakeCurrentFunc(hGLDC, 0); - if hGLContext <> 0 then - wglDeleteContextFunc(hGLContext); + Set8087CW(Save8087CW); end; finally - Set8087CW(Save8087CW); + if (OpenGlLib <> 0) then + FreeLibrary(OpenGlLib); + if (Glu32Lib <> 0) then + FreeLibrary(Glu32Lib); end; end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-06-28 17:02:56
|
Revision: 1680 Author: outchy Date: 2006-06-28 10:02:44 -0700 (Wed, 28 Jun 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1680&view=rev Log Message: ----------- Mantis 3780 : access violation when GetOpenGLVersion was called Modified Paths: -------------- trunk/jcl/source/common/JclSysInfo.pas Modified: trunk/jcl/source/common/JclSysInfo.pas =================================================================== --- trunk/jcl/source/common/JclSysInfo.pas 2006-06-25 09:23:25 UTC (rev 1679) +++ trunk/jcl/source/common/JclSysInfo.pas 2006-06-28 17:02:44 UTC (rev 1680) @@ -3145,15 +3145,36 @@ function glGetError: Cardinal; stdcall; external opengl32; function gluErrorString(errCode: Cardinal): PChar; stdcall; external 'glu32.dll'; } + +type + TglGetStringFunc = function(name: Cardinal): PChar; stdcall; + TglGetErrorFunc = function: Cardinal; stdcall; + TgluErrorStringFunc = function(errCode: Cardinal): PChar; stdcall; + + TwglCreateContextFunc = function(DC: HDC): HGLRC; stdcall; + TwglDeleteContextFunc = function(p1: HGLRC): BOOL; stdcall; + TwglMakeCurrentFunc = function(DC: HDC; p2: HGLRC): BOOL; stdcall; + var - glGetString: function(name: Cardinal): PChar; stdcall; - glGetError: function: Cardinal; stdcall; - gluErrorString: function(errCode: Cardinal): PChar; stdcall; + glGetStringFunc: TglGetStringFunc = nil; + glGetErrorFunc: TglGetErrorFunc = nil; + gluErrorStringFunc: TgluErrorStringFunc = nil; - wglCreateContext: function(DC: HDC): HGLRC; stdcall; - wglDeleteContext: function(p1: HGLRC): BOOL; stdcall; - wglMakeCurrent: function(DC: HDC; p2: HGLRC): BOOL; stdcall; + wglCreateContextFunc: TwglCreateContextFunc = nil; + wglDeleteContextFunc: TwglDeleteContextFunc = nil; + wglMakeCurrentFunc: TwglMakeCurrentFunc = nil; +const + glu32 = 'glu32.dll'; // do not localize + glGetStringName = 'glGetString'; // do not localize + glGetErrorName = 'glGetError'; // do not localize + gluErrorStringName = 'gluErrorString'; // do not localize + wglCreateContextName = 'wglCreateContext'; // do not localize + wglDeleteContextName = 'wglDeleteContext'; // do not localize + wglMakeCurrentName = 'wglMakeCurrent'; // do not localize + ChoosePixelFormatName = 'ChoosePixelFormat'; // do not localize + SetPixelFormatName = 'SetPixelFormat'; // do not localize + function GetOpenGLVersion(const Win: THandle; out Version, Vendor: AnsiString): Boolean; const GL_NO_ERROR = 0; @@ -3177,27 +3198,27 @@ end; begin - if not Assigned(glGetString) then + if not Assigned(glGetStringFunc) then begin OpenGlLib := SafeLoadLibrary(opengl32); if OpenGlLib <> 0 then begin - Glu32Lib := SafeLoadLibrary('glu32.dll'); + Glu32Lib := SafeLoadLibrary(glu32); // do not localize if (OpenGlLib <> 0) and (Glu32Lib <> 0) then begin - glGetString := GetProcAddress(OpenGlLib, 'glGetString'); - glGetError := GetProcAddress(OpenGlLib, 'glGetError'); - gluErrorString := GetProcAddress(Glu32Lib, 'gluErrorString'); - - wglCreateContext := GetProcAddress(OpenGlLib, 'wglCreateContext'); - wglDeleteContext := GetProcAddress(OpenGlLib, 'wglDeleteContext'); - wglMakeCurrent := GetProcAddress(OpenGlLib, 'wglMakeCurrent'); + glGetStringFunc := GetProcAddress(OpenGlLib, glGetStringName); + glGetErrorFunc := GetProcAddress(OpenGlLib, glGetErrorName); + gluErrorStringFunc := GetProcAddress(Glu32Lib, gluErrorStringName); + + wglCreateContextFunc := GetProcAddress(OpenGlLib, wglCreateContextName); + wglDeleteContextFunc := GetProcAddress(OpenGlLib, wglDeleteContextName); + wglMakeCurrentFunc := GetProcAddress(OpenGlLib, wglMakeCurrentName); end; end; - if not (Assigned(glGetString) and Assigned(glGetError) and Assigned(gluErrorString) and - Assigned(wglCreateContext) and Assigned(wglDeleteContext) and Assigned(wglMakeCurrent)) then + if not (Assigned(glGetStringFunc) and Assigned(glGetErrorFunc) and Assigned(gluErrorStringFunc) and + Assigned(wglCreateContextFunc) and Assigned(wglDeleteContextFunc) and Assigned(wglMakeCurrentFunc)) then begin - @glGetString := nil; + @glGetStringFunc := nil; Result := False; Vendor := RsOpenGLInfoError; Version := RsOpenGLInfoError; @@ -3239,21 +3260,21 @@ try iFormatIndex := ChoosePixelFormat(hGLDC, @pfd); if iFormatIndex = 0 then - FunctionFailedError('ChoosePixelFormat'); + FunctionFailedError(ChoosePixelFormatName); if not SetPixelFormat(hGLDC, iFormatIndex, @pfd) then - FunctionFailedError('SetPixelFormat'); + FunctionFailedError(SetPixelFormatName); - hGLContext := wglCreateContext(hGLDC); + hGLContext := wglCreateContextFunc(hGLDC); if hGLContext = 0 then - FunctionFailedError('wglCreateContext'); + FunctionFailedError(wglCreateContextName); - if not wglMakeCurrent(hGLDC, hGLContext) then - FunctionFailedError('wglMakeCurrent'); + if not wglMakeCurrentFunc(hGLDC, hGLContext) then + FunctionFailedError(wglMakeCurrentName); { TODO : Review the following. Not sure I am 100% happy with this code in its current structure. } - pcTemp := glGetString(GL_VERSION); + pcTemp := glGetStringFunc(GL_VERSION); if pcTemp <> nil then begin { TODO : Store this information in a Global Variable, and return that?? @@ -3263,15 +3284,15 @@ else begin bError := True; - glErr := glGetError; + glErr := glGetErrorFunc; if glErr <> GL_NO_ERROR then begin - sOpenGLVersion := gluErrorString(glErr); + sOpenGLVersion := gluErrorStringFunc(glErr); sOpenGLVendor := ''; end; end; - pcTemp := glGetString(GL_VENDOR); + pcTemp := glGetStringFunc(GL_VENDOR); if pcTemp <> nil then begin { TODO : Store this information in a Global Variable, and return that?? @@ -3281,10 +3302,10 @@ else begin bError := True; - glErr := glGetError; + glErr := glGetErrorFunc; if glErr <> GL_NO_ERROR then begin - sOpenGLVendor := gluErrorString(glErr); + sOpenGLVendor := gluErrorStringFunc(glErr); Exit; end; end; @@ -3294,9 +3315,9 @@ Vendor := sOpenGLVendor; finally { Close all resources } - wglMakeCurrent(hGLDC, 0); + wglMakeCurrentFunc(hGLDC, 0); if hGLContext <> 0 then - wglDeleteContext(hGLContext); + wglDeleteContextFunc(hGLContext); end; finally Set8087CW(Save8087CW); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <el...@us...> - 2006-06-25 09:23:35
|
Revision: 1679 Author: elahn Date: 2006-06-25 02:23:25 -0700 (Sun, 25 Jun 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1679&view=rev Log Message: ----------- Added missing .res file. Added Paths: ----------- trunk/jcl/examples/windows/debug/reportconverter/ExceptionReportConverter.res Added: trunk/jcl/examples/windows/debug/reportconverter/ExceptionReportConverter.res =================================================================== (Binary files differ) Property changes on: trunk/jcl/examples/windows/debug/reportconverter/ExceptionReportConverter.res ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ah...@us...> - 2006-06-22 16:41:59
|
Revision: 1678 Author: ahuser Date: 2006-06-22 09:41:52 -0700 (Thu, 22 Jun 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1678&view=rev Log Message: ----------- Bugfix: pcAnywhere 10.5 crashes if DirectX <= 8.0 is installed. JclSysInfo compiled into a package requires ddraw.dll (indirectly required by opengl32.dll) what causes problems. The OpenGl32 functions are now imported by LoadLibrary and GetProcAddress. Modified Paths: -------------- trunk/jcl/source/common/JclSysInfo.pas Modified: trunk/jcl/source/common/JclSysInfo.pas =================================================================== --- trunk/jcl/source/common/JclSysInfo.pas 2006-06-18 10:25:20 UTC (rev 1677) +++ trunk/jcl/source/common/JclSysInfo.pas 2006-06-22 16:41:52 UTC (rev 1678) @@ -3140,10 +3140,20 @@ // Imports copied from OpenGL unit. Direct using of OpenGL unit might cause unexpected problems due // setting 8087CW in the intialization section -function glGetString(name: Cardinal): PChar; stdcall; external opengl32; +{ +function glGetString(name: Cardinal): PChar; stdcall; external opengl32; function glGetError: Cardinal; stdcall; external opengl32; function gluErrorString(errCode: Cardinal): PChar; stdcall; external 'glu32.dll'; +} +var + glGetString: function(name: Cardinal): PChar; stdcall; + glGetError: function: Cardinal; stdcall; + gluErrorString: function(errCode: Cardinal): PChar; stdcall; + wglCreateContext: function(DC: HDC): HGLRC; stdcall; + wglDeleteContext: function(p1: HGLRC): BOOL; stdcall; + wglMakeCurrent: function(DC: HDC; p2: HGLRC): BOOL; stdcall; + function GetOpenGLVersion(const Win: THandle; out Version, Vendor: AnsiString): Boolean; const GL_NO_ERROR = 0; @@ -3159,6 +3169,7 @@ bError: Boolean; sOpenGLVersion, sOpenGLVendor: string; Save8087CW: Word; + OpenGlLib, Glu32Lib: HModule; procedure FunctionFailedError(Name: string); begin @@ -3166,6 +3177,35 @@ end; begin + if not Assigned(glGetString) then + begin + OpenGlLib := SafeLoadLibrary(opengl32); + if OpenGlLib <> 0 then + begin + Glu32Lib := SafeLoadLibrary('glu32.dll'); + if (OpenGlLib <> 0) and (Glu32Lib <> 0) then + begin + glGetString := GetProcAddress(OpenGlLib, 'glGetString'); + glGetError := GetProcAddress(OpenGlLib, 'glGetError'); + gluErrorString := GetProcAddress(Glu32Lib, 'gluErrorString'); + + wglCreateContext := GetProcAddress(OpenGlLib, 'wglCreateContext'); + wglDeleteContext := GetProcAddress(OpenGlLib, 'wglDeleteContext'); + wglMakeCurrent := GetProcAddress(OpenGlLib, 'wglMakeCurrent'); + end; + end; + if not (Assigned(glGetString) and Assigned(glGetError) and Assigned(gluErrorString) and + Assigned(wglCreateContext) and Assigned(wglDeleteContext) and Assigned(wglMakeCurrent)) then + begin + @glGetString := nil; + Result := False; + Vendor := RsOpenGLInfoError; + Version := RsOpenGLInfoError; + Exit; + end; + end; + + { To call for the version information string we must first have an active context established for use. We can, of course, close this after use } Save8087CW := Get8087ControlWord; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-06-18 10:25:29
|
Revision: 1677 Author: outchy Date: 2006-06-18 03:25:20 -0700 (Sun, 18 Jun 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1677&view=rev Log Message: ----------- Fix from Eric Grange: empty name when no info matches the address. Modified Paths: -------------- trunk/jcl/source/windows/JclDebug.pas Modified: trunk/jcl/source/windows/JclDebug.pas =================================================================== --- trunk/jcl/source/windows/JclDebug.pas 2006-06-13 17:28:30 UTC (rev 1676) +++ trunk/jcl/source/windows/JclDebug.pas 2006-06-18 10:25:20 UTC (rev 1677) @@ -2382,19 +2382,23 @@ Value, Name: Integer; StartAddr, ModuleStartAddr, ItemAddr: DWORD; P: Pointer; + Found: Boolean; begin ModuleStartAddr := ModuleStartFromAddr(Addr); P := MakePtr(PJclDbgHeader(FStream.Memory)^.SourceNames); Name := 0; StartAddr := 0; ItemAddr := 0; + Found := False; while ReadValue(P, Value) do begin Inc(StartAddr, Value); if Addr < StartAddr then begin if ItemAddr < ModuleStartAddr then - Name := 0; + Name := 0 + else + Found := True; Break; end else @@ -2404,7 +2408,10 @@ Inc(Name, Value); end; end; - Result := DataToStr(Name); + if Found then + Result := DataToStr(Name) + else + Result := ''; end; //=== { TJclDebugInfoSource } ================================================ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-06-13 17:28:48
|
Revision: 1676 Author: outchy Date: 2006-06-13 10:28:30 -0700 (Tue, 13 Jun 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1676&view=rev Log Message: ----------- Paths are now concatenated. Modified Paths: -------------- trunk/jcl/source/windows/JclDebug.pas Modified: trunk/jcl/source/windows/JclDebug.pas =================================================================== --- trunk/jcl/source/windows/JclDebug.pas 2006-06-10 18:56:24 UTC (rev 1675) +++ trunk/jcl/source/windows/JclDebug.pas 2006-06-13 17:28:30 UTC (rev 1676) @@ -2812,9 +2812,9 @@ begin SearchPath := StrEnsureSuffix(DirSeparator, ExtractFilePath(GetModulePath(GetCurrentProcess)) + GetCurrentFolder); if GetEnvironmentVar(EnvironmentVarNtSymbolPath, EnvironmentVarValue) then - SearchPath := StrEnsureSuffix(DirSeparator, EnvironmentVarValue); + SearchPath := StrEnsureSuffix(DirSeparator, EnvironmentVarValue) + SearchPath; if GetEnvironmentVar(EnvironmentVarAlternateNtSymbolPath, EnvironmentVarValue) then - SearchPath := StrEnsureSuffix(DirSeparator, EnvironmentVarValue); + SearchPath := StrEnsureSuffix(DirSeparator, EnvironmentVarValue) + SearchPath; if IsWinNT then Result := SymInitializeFunc(GetCurrentProcess, PChar(SearchPath), False) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-06-10 18:56:36
|
Revision: 1675 Author: outchy Date: 2006-06-10 11:56:24 -0700 (Sat, 10 Jun 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1675&view=rev Log Message: ----------- New debug source implementation using DbgHlp functions Modified Paths: -------------- trunk/jcl/source/jcl.inc trunk/jcl/source/prototypes/JclWin32.pas trunk/jcl/source/prototypes/win32api/ImageHlp.int trunk/jcl/source/windows/JclDebug.pas trunk/jcl/source/windows/JclWin32.pas Modified: trunk/jcl/source/jcl.inc =================================================================== --- trunk/jcl/source/jcl.inc 2006-06-10 18:52:16 UTC (rev 1674) +++ trunk/jcl/source/jcl.inc 2006-06-10 18:56:24 UTC (rev 1675) @@ -81,10 +81,12 @@ // debug sources +// defining these symbols will the debug source to be automatically registered {.$DEFINE DEBUG_NO_BINARY} {.$DEFINE DEBUG_NO_TD32} {.$DEFINE DEBUG_NO_MAP} {.$DEFINE DEBUG_NO_EXPORTS} +{.$DEFINE DEBUG_NO_SYMBOLS} {$IFDEF CLR} {$WARN UNSAFE_TYPE ON} Modified: trunk/jcl/source/prototypes/JclWin32.pas =================================================================== --- trunk/jcl/source/prototypes/JclWin32.pas 2006-06-10 18:52:16 UTC (rev 1674) +++ trunk/jcl/source/prototypes/JclWin32.pas 2006-06-10 18:56:24 UTC (rev 1675) @@ -29,6 +29,7 @@ { Olivier Sannier (obones) } { Matthias Thoma (mthoma) } { Petr Vones (pvones) } +{ Florent Ouchet (outchy) } { } {**************************************************************************************************} { } Modified: trunk/jcl/source/prototypes/win32api/ImageHlp.int =================================================================== --- trunk/jcl/source/prototypes/win32api/ImageHlp.int 2006-06-10 18:52:16 UTC (rev 1674) +++ trunk/jcl/source/prototypes/win32api/ImageHlp.int 2006-06-10 18:56:24 UTC (rev 1675) @@ -127,6 +127,23 @@ {$IFDEF CLR}external 'imagehlp.dll' name 'UnDecorateSymbolName';{$ENDIF} {$EXTERNALSYM UnDecorateSymbolName} +// line 1342 + +type + _IMAGEHLP_LINE = packed record + SizeOfStruct: DWORD; // set to sizeof(IMAGEHLP_LINE) + Key: Pointer; // internal + LineNumber: DWORD; // line number in file + FileName: PChar; // full filename + Address: DWORD; // first instruction of line + end; + + IMAGEHLP_LINE = _IMAGEHLP_LINE; + PIMAGEHLP_LINE = ^_IMAGEHLP_LINE; + + TImageHlpLine = _IMAGEHLP_LINE; + PImageHlpLine = PIMAGEHLP_LINE; + // line 1475 // Modified: trunk/jcl/source/windows/JclDebug.pas =================================================================== --- trunk/jcl/source/windows/JclDebug.pas 2006-06-10 18:52:16 UTC (rev 1674) +++ trunk/jcl/source/windows/JclDebug.pas 2006-06-10 18:56:24 UTC (rev 1675) @@ -404,6 +404,16 @@ function GetLocationInfo(const Addr: Pointer; var Info: TJclLocationInfo): Boolean; override; end; + TJclDebugInfoSymbols = class(TJclDebugInfoSource) + public + class function LoadDebugFunctions: Boolean; + class function UnloadDebugFunctions: Boolean; + class function InitializeDebugSymbols: Boolean; + class function CleanupDebugSymbols: Boolean; + function InitializeSource: Boolean; override; + function GetLocationInfo(const Addr: Pointer; var Info: TJclLocationInfo): Boolean; override; + end; + // Source location functions function Caller(Level: Integer = 0; FastStackWalk: Boolean = False): Pointer; @@ -715,13 +725,18 @@ {$EXTERNALSYM __LINE__} {$ENDIF SUPPORTS_EXTSYM} +const + EnvironmentVarNtSymbolPath = '_NT_SYMBOL_PATH'; // do not localize + EnvironmentVarAlternateNtSymbolPath = '_NT_ALTERNATE_SYMBOL_PATH'; // do not localize + implementation uses + ImageHlp, {$IFDEF MSWINDOWS} JclRegistry, {$ENDIF MSWINDOWS} - JclHookExcept, JclLogic, JclStrings, JclSysInfo, JclSysUtils; + JclHookExcept, JclLogic, JclStrings, JclSysInfo, JclSysUtils, JclWin32; //=== Helper assembler routines ============================================== @@ -2502,6 +2517,9 @@ {$IFNDEF DEBUG_NO_EXPORTS} InfoSourceClassList.Add(Pointer(TJclDebugInfoExports)); {$ENDIF !DEBUG_NO_EXPORTS} + {$IFNDEF DEBUG_NO_SYMBOLS} + InfoSourceClassList.Add(Pointer(TJclDebugInfoSymbols)); + {$ENDIF !DEBUG_NO_SYMBOLS} end; end; @@ -2736,6 +2754,226 @@ end; end; +//=== { TJclDebugInfoSymbols } =============================================== + +type + TSymInitializeFunc = function (hProcess: THandle; UserSearchPath: LPSTR; + fInvadeProcess: Bool): Bool; stdcall; + TSymGetOptionsFunc = function: DWORD; stdcall; + TSymSetOptionsFunc = function (SymOptions: DWORD): DWORD; stdcall; + TSymCleanupFunc = function (hProcess: THandle): Bool; stdcall; + TSymGetSymFromAddrFunc = function (hProcess: THandle; dwAddr: DWORD; + pdwDisplacement: PDWORD; var Symbol: TImagehlpSymbol): Bool; stdcall; + TSymGetModuleInfoFunc = function (hProcess: THandle; dwAddr: DWORD; + var ModuleInfo: TImagehlpModule): Bool; stdcall; + TSymLoadModuleFunc = function (hProcess: THandle; hFile: THandle; ImageName, + ModuleName: LPSTR; BaseOfDll, SizeOfDll: DWORD): Bool; stdcall; + TSymGetLineFromAddrFunc = function (hProcess: THandle; dwAddr: DWORD; + pdwDisplacement: PDWORD; var Line: TImageHlpLine): Bool; stdcall; + +var + DebugSymbolsInitialized: Boolean = False; + DebugSymbolsLoadFailed: Boolean = False; + ImageHlpDllHandle: THandle = 0; + SymInitializeFunc: TSymInitializeFunc = nil; + SymGetOptionsFunc: TSymGetOptionsFunc = nil; + SymSetOptionsFunc: TSymSetOptionsFunc = nil; + SymCleanupFunc: TSymCleanupFunc = nil; + SymGetSymFromAddrFunc: TSymGetSymFromAddrFunc = nil; + SymGetModuleInfoFunc: TSymGetModuleInfoFunc = nil; + SymLoadModuleFunc: TSymLoadModuleFunc = nil; + SymGetLineFromAddrFunc: TSymGetLineFromAddrFunc = nil; + +const + ImageHlpDllName = 'imagehlp.dll'; // do not localize + SymInitializeFuncName = 'SymInitialize'; // do not localize + SymGetOptionsFuncName = 'SymGetOptions'; // do not localize + SymSetOptionsFuncName = 'SymSetOptions'; // do not localize + SymCleanupFuncName = 'SymCleanup'; // do not localize + SymGetSymFromAddrFuncName = 'SymGetSymFromAddr'; // do not localize + SymGetModuleInfoFuncName = 'SymGetModuleInfo'; // do not localize + SymLoadModuleFuncName = 'SymLoadModule'; // do not localize + SymGetLineFromAddrName = 'SymGetLineFromAddr'; // do not localize + +class function TJclDebugInfoSymbols.InitializeDebugSymbols: Boolean; +var + EnvironmentVarValue, SearchPath: string; + SymOptions: Cardinal; +begin + if DebugSymbolsLoadFailed then + Result := False + else if not DebugSymbolsInitialized then + begin + DebugSymbolsLoadFailed := LoadDebugFunctions; + + Result := not DebugSymbolsLoadFailed; + + if Result then + begin + SearchPath := StrEnsureSuffix(DirSeparator, ExtractFilePath(GetModulePath(GetCurrentProcess)) + GetCurrentFolder); + if GetEnvironmentVar(EnvironmentVarNtSymbolPath, EnvironmentVarValue) then + SearchPath := StrEnsureSuffix(DirSeparator, EnvironmentVarValue); + if GetEnvironmentVar(EnvironmentVarAlternateNtSymbolPath, EnvironmentVarValue) then + SearchPath := StrEnsureSuffix(DirSeparator, EnvironmentVarValue); + + if IsWinNT then + Result := SymInitializeFunc(GetCurrentProcess, PChar(SearchPath), False) + else + Result := SymInitializeFunc(GetCurrentProcessId, PChar(SearchPath), False); + if Result then + begin + SymOptions := SymGetOptionsFunc or SYMOPT_DEFERRED_LOADS + or SYMOPT_FAIL_CRITICAL_ERRORS or SYMOPT_INCLUDE_32BIT_MODULES or SYMOPT_LOAD_LINES; + SymOptions := SymOptions and (not (SYMOPT_NO_UNQUALIFIED_LOADS or SYMOPT_UNDNAME)); + SymSetOptionsFunc(SymOptions); + end; + + DebugSymbolsInitialized := Result; + end + else + UnloadDebugFunctions; + end + else + Result := DebugSymbolsInitialized; +end; + +class function TJclDebugInfoSymbols.CleanupDebugSymbols: Boolean; +begin + Result := True; + + if DebugSymbolsInitialized then + Result := SymCleanupFunc(GetCurrentProcess); + + UnloadDebugFunctions; +end; + +function TJclDebugInfoSymbols.GetLocationInfo(const Addr: Pointer; + var Info: TJclLocationInfo): Boolean; +const + SymbolNameLength = 1000; + SymbolSize = SizeOf(TImagehlpSymbol) + SymbolNameLength; + UndecoratedLength = 100; +var + Displacement: DWORD; + Symbol: PImagehlpSymbol; + SymbolName: PChar; + ProcessHandle: THandle; + UndecoratedName: array [0..UndecoratedLength] of Char; + Line: TImageHlpLine; +begin + GetMem(Symbol, SymbolSize); + try + ProcessHandle := GetCurrentProcess; + + ZeroMemory(Symbol, SymbolSize); + Symbol^.SizeOfStruct := SizeOf(TImageHlpSymbol); + Symbol^.MaxNameLength := SymbolNameLength; + Displacement := 0; + + Result := SymGetSymFromAddrFunc(ProcessHandle, DWORD(Addr), @Displacement, Symbol^); + + if Result then + begin + Info.DebugInfo := Self; + Info.Address := Addr; + Info.BinaryFileName := FileName; + Info.OffsetFromProcName := Displacement; + SymbolName := Symbol^.Name; + SetString(Info.ProcedureName, UndecoratedName, UnDecorateSymbolName(SymbolName, UndecoratedName, UndecoratedLength, UNDNAME_NAME_ONLY or UNDNAME_NO_ARGUMENTS)); + end; + finally + FreeMem(Symbol); + end; + + // line number is optional + if Result and Assigned(SymGetLineFromAddrFunc) then + begin + ZeroMemory(@Line, SizeOf(Line)); + Line.SizeOfStruct := SizeOf(Line); + Displacement := 0; + + if SymGetLineFromAddrFunc(ProcessHandle, DWORD(Addr), @Displacement, Line) then + begin + Info.LineNumber := Line.LineNumber; + Info.UnitName := Line.FileName; + Info.OffsetFromLineNumber := Displacement; + end; + end; +end; + +function TJclDebugInfoSymbols.InitializeSource: Boolean; +var + ModuleFileName: string; + ModuleInfo: TImagehlpModule; + ProcessHandle: THandle; +begin + Result := InitializeDebugSymbols; + + if Result then + begin + ProcessHandle := GetCurrentProcess; + + ZeroMemory(@ModuleInfo, SizeOf(ModuleInfo)); + ModuleInfo.SizeOfStruct := SizeOf(ModuleInfo); + + if Result + and ((not SymGetModuleInfoFunc(ProcessHandle, Module, ModuleInfo)) + or (ModuleInfo.BaseOfImage = 0)) then + begin + ModuleFileName := GetModulePath(Module); + Result := (DWORD(SymLoadModuleFunc(ProcessHandle, 0, PChar(ModuleFileName), nil, 0, 0)) <> 0); + + ZeroMemory(@ModuleInfo, SizeOf(ModuleInfo)); + ModuleInfo.SizeOfStruct := SizeOf(ModuleInfo); + Result := Result and SymGetModuleInfoFunc(ProcessHandle, Module, ModuleInfo); + end; + + Result := Result and (ModuleInfo.SymType <> SymNone); + end; +end; + +class function TJclDebugInfoSymbols.LoadDebugFunctions: Boolean; +begin + ImageHlpDllHandle := LoadLibrary(ImageHlpDllName); + + if ImageHlpDllHandle <> 0 then + begin + SymInitializeFunc := GetProcAddress(ImageHlpDllHandle, SymInitializeFuncName); + SymGetOptionsFunc := GetProcAddress(ImageHlpDllHandle, SymGetOptionsFuncName); + SymSetOptionsFunc := GetProcAddress(ImageHlpDllHandle, SymSetOptionsFuncName); + SymCleanupFunc := GetProcAddress(ImageHlpDllHandle, SymCleanupFuncName); + SymGetSymFromAddrFunc := GetProcAddress(ImageHlpDllHandle, SymGetSymFromAddrFuncName); + SymGetModuleInfoFunc := GetProcAddress(ImageHlpDllHandle, SymGetModuleInfoFuncName); + SymLoadModuleFunc := GetProcAddress(ImageHlpDllHandle, SymLoadModuleFuncName); + SymGetLineFromAddrFunc := GetProcAddress(ImageHlpDllHandle, SymGetLineFromAddrName); + end; + + // SymGetLineFromAddrFunc is optional + Result := (ImageHlpDllHandle = 0) or (not Assigned(SymInitializeFunc)) + or (not Assigned(SymGetOptionsFunc)) or (not Assigned(SymSetOptionsFunc)) + or (not Assigned(SymCleanupFunc)) or (not Assigned(SymGetSymFromAddrFunc)) + or (not Assigned(SymGetModuleInfoFunc)) or (not Assigned(SymLoadModuleFunc)); +end; + +class function TJclDebugInfoSymbols.UnloadDebugFunctions: Boolean; +begin + Result := ImageHlpDllHandle <> 0; + + if Result then + FreeLibrary(ImageHlpDllHandle); + + ImageHlpDllHandle := 0; + + SymInitializeFunc := nil; + SymGetOptionsFunc := nil; + SymSetOptionsFunc := nil; + SymCleanupFunc := nil; + SymGetSymFromAddrFunc := nil; + SymGetModuleInfoFunc := nil; + SymLoadModuleFunc := nil; + SymGetLineFromAddrFunc := nil; +end; + //=== Source location functions ============================================== {$STACKFRAMES ON} @@ -4223,6 +4461,7 @@ the code without a real need. Although there doesn't seem to be a way to unhook exceptions safely because we need to be covered by JclHookExcept.Notifiers critical section } JclStopExceptionTracking; + FreeAndNil(RegisteredThreadList); FreeAndNil(DebugInfoList); FreeAndNil(GlobalStackList); @@ -4230,4 +4469,6 @@ FreeAndNil(DebugInfoCritSect); FreeAndNil(InfoSourceClassList); + TJclDebugInfoSymbols.CleanupDebugSymbols; + end. Modified: trunk/jcl/source/windows/JclWin32.pas =================================================================== --- trunk/jcl/source/windows/JclWin32.pas 2006-06-10 18:52:16 UTC (rev 1674) +++ trunk/jcl/source/windows/JclWin32.pas 2006-06-10 18:56:24 UTC (rev 1675) @@ -33,6 +33,7 @@ { Olivier Sannier (obones) } { Matthias Thoma (mthoma) } { Petr Vones (pvones) } +{ Florent Ouchet (outchy) } { } {**************************************************************************************************} { } @@ -3222,6 +3223,23 @@ {$IFDEF CLR}external 'imagehlp.dll' name 'UnDecorateSymbolName';{$ENDIF} {$EXTERNALSYM UnDecorateSymbolName} +// line 1342 + +type + _IMAGEHLP_LINE = packed record + SizeOfStruct: DWORD; // set to sizeof(IMAGEHLP_LINE) + Key: Pointer; // internal + LineNumber: DWORD; // line number in file + FileName: PChar; // full filename + Address: DWORD; // first instruction of line + end; + + IMAGEHLP_LINE = _IMAGEHLP_LINE; + PIMAGEHLP_LINE = ^_IMAGEHLP_LINE; + + TImageHlpLine = _IMAGEHLP_LINE; + PImageHlpLine = PIMAGEHLP_LINE; + // line 1475 // This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-06-10 18:52:24
|
Revision: 1674 Author: outchy Date: 2006-06-10 11:52:16 -0700 (Sat, 10 Jun 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1674&view=rev Log Message: ----------- Page access rights are now explicit Modified Paths: -------------- trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas Modified: trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas 2006-05-30 20:27:21 UTC (rev 1673) +++ trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas 2006-06-10 18:52:16 UTC (rev 1674) @@ -30,7 +30,7 @@ uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, - JclSysUtils,%if SendEMail JclMapi%endif, JclDebug; + JclSysUtils,%if SendEMail JclMapi,%endif JclDebug; const UM_CREATEDETAILS = WM_USER + $100; @@ -169,7 +169,7 @@ TApplicationHandleExceptionAddr, SysUtilsShowExceptionAddr: Pointer; CALLInstruction: TCALLInstruction; CallAddress: Pointer; - NW: DWORD; + OldProtect: DWORD; function CheckAddressForOffset(Offset: Cardinal): Boolean; begin @@ -195,10 +195,16 @@ Result := CheckAddressForOffset(CallOffset) or CheckAddressForOffset(CallOffsetDebug); if Result then begin - CALLInstruction.Address := Integer(@HookShowException) - Integer(CallAddress) - SizeOf(CALLInstruction); - Result := WriteProcessMemory(GetCurrentProcess, CallAddress, @CALLInstruction, SizeOf(CALLInstruction), NW); + Result := VirtualProtect(CallAddress, sizeof(CallInstruction), PAGE_EXECUTE_READWRITE, OldProtect); if Result then - FlushInstructionCache(GetCurrentProcess, CallAddress, SizeOf(CALLInstruction)); + 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; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ah...@us...> - 2006-05-30 20:27:30
|
Revision: 1673 Author: ahuser Date: 2006-05-30 13:27:21 -0700 (Tue, 30 May 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1673&view=rev Log Message: ----------- Fixed Delphi 5 compiler errors Modified Paths: -------------- trunk/jcl/source/common/JclStrings.pas Modified: trunk/jcl/source/common/JclStrings.pas =================================================================== --- trunk/jcl/source/common/JclStrings.pas 2006-05-30 18:28:12 UTC (rev 1672) +++ trunk/jcl/source/common/JclStrings.pas 2006-05-30 20:27:21 UTC (rev 1673) @@ -4314,7 +4314,15 @@ const BoolToStr: array[Boolean] of string[5] = ('false', 'true'); +{$IFDEF COMPILER5} + MaxCurrency: Currency = 922337203685477.5807; + varShortInt = $0010; { vt_i1 16 } + varWord = $0012; { vt_ui2 18 } + varLongWord = $0013; { vt_ui4 19 } + varInt64 = $0014; { vt_i8 20 } +{$ENDIF COMPILER5} + type TInterfacedObjectAccess = class(TInterfacedObject); @@ -4388,16 +4396,25 @@ Result := V.VOleStr; varBoolean: Result := BoolToStr[V.VBoolean <> False]; - varShortInt: - Result := IntToStr(V.VShortInt); - varByte: + varByte: Result := IntToStr(V.VByte); + {$IFDEF COMPILER5} varWord: + Result := IntToStr(Word(V.VSmallint)); + varShortInt: + Result := IntToStr(ShortInt(V.VByte)); + varLongWord: + Result := IntToStr(V.VError); + {$ELSE} + varWord: Result := IntToStr(V.VWord); + varShortInt: + Result := IntToStr(V.VShortInt); varLongWord: Result := IntToStr(V.VLongWord); varInt64: Result := IntToStr(V.VInt64); + {$ENDIF COMPILER5} varString: Result := string(V.VString); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ah...@us...> - 2006-05-30 18:28:21
|
Revision: 1672 Author: ahuser Date: 2006-05-30 11:28:12 -0700 (Tue, 30 May 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1672&view=rev Log Message: ----------- TStringBuilder class + DotNetFormat() Modified Paths: -------------- trunk/jcl/source/common/JclResources.pas trunk/jcl/source/common/JclStrings.pas Modified: trunk/jcl/source/common/JclResources.pas =================================================================== --- trunk/jcl/source/common/JclResources.pas 2006-05-29 22:02:45 UTC (rev 1671) +++ trunk/jcl/source/common/JclResources.pas 2006-05-30 18:28:12 UTC (rev 1672) @@ -1549,6 +1549,11 @@ RsBlankSearchString = 'Search string cannot be blank'; RsInvalidEmptyStringItem = 'String list passed to StringsToMultiSz cannot contain empty strings.'; RsNumericConstantTooLarge = 'Numeric constant too large.'; + RsFormatException = 'Format exception'; + RsDotNetFormatNullFormat = 'Format string is null'; + RsArgumentIsNull = 'Argument %d is null'; + RsDotNetFormatArgumentNotSupported = 'Argument type of %d is not supported'; + RsArgumentOutOfRange = 'Argument out of range'; //=== JclStructStorage ======================================================= resourcestring Modified: trunk/jcl/source/common/JclStrings.pas =================================================================== --- trunk/jcl/source/common/JclStrings.pas 2006-05-29 22:02:45 UTC (rev 1671) +++ trunk/jcl/source/common/JclStrings.pas 2006-05-30 18:28:12 UTC (rev 1672) @@ -236,7 +236,7 @@ function StrStrCount(const S, SubS: string): Integer; function StrCompare(const S1, S2: string): Integer; function StrCompareRange(const S1, S2: string; const Index, Count: Integer): Integer; -function StrFillChar(const C: Char; Count: Integer): string; +function StrFillChar(const C: Char; Count: Integer): string; function StrFind(const Substr, S: string; const Index: Integer = 1): Integer; function StrHasPrefix(const S: string; const Prefixes: array of string): Boolean; function StrIndex(const S: string; const List: array of string): Integer; @@ -363,6 +363,106 @@ function TryStrToCurr(const S: string; out Value: Currency): Boolean; {$ENDIF COMPILER5} + +{$IFDEF CLR} +type + TStringBuilder = System.Text.StringBuilder; + +function DotNetFormat(const Fmt: string; const Args: array of System.Object): string; overload; +function DotNetFormat(const Fmt: string; const Arg0: System.Object): string; overload; +function DotNetFormat(const Fmt: string; const Arg0, Arg1: System.Object): string; overload; +function DotNetFormat(const Fmt: string; const Arg0, Arg1, Arg2: System.Object): string; overload; + +{$ELSE} + +type + FormatException = class(Exception); + ArgumentException = class(Exception); + ArgumentNullException = class(Exception); + ArgumentOutOfRangeException = class(Exception); + + IToString = interface + ['{C4ABABB4-1029-46E7-B5FA-99800F130C05}'] + function ToString: string; + end; + + TCharDynArray = array of Char; + + // The TStringBuilder class is a Delphi implementation of the .NET + // System.Text.StringBuilder. + // It is zero based and the method that allow an TObject (Append, Insert, + // AppendFormat) are limited to IToString implementors. + TStringBuilder = class(TInterfacedObject, IToString) + private + FChars: TCharDynArray; + FLength: Integer; + FMaxCapacity: Integer; + FLock: TRTLCriticalSection; + + function GetCapacity: Integer; + procedure SetCapacity(const Value: Integer); + function GetChars(Index: Integer): Char; + procedure SetChars(Index: Integer; const Value: Char); + procedure Set_Length(const Value: Integer); + + function AppendPChar(Value: PChar; Count: Integer; RepeatCount: Integer = 1): TStringBuilder; + function InsertPChar(Index: Integer; Value: PChar; Count: Integer; RepeatCount: Integer = 1): TStringBuilder; + public + constructor Create(const Value: string; Capacity: Integer = 16); overload; + constructor Create(Capacity: Integer = 16; MaxCapacity: Integer = MaxInt); overload; + constructor Create(const Value: string; StartIndex, Length, Capacity: Integer); overload; + destructor Destroy; override; + + function Append(const Value: string): TStringBuilder; overload; + function Append(const Value: string; StartIndex, Length: Integer): TStringBuilder; overload; + function Append(Value: Boolean): TStringBuilder; overload; + function Append(Value: Char; RepeatCount: Integer = 1): TStringBuilder; overload; + function Append(const Value: array of Char): TStringBuilder; overload; + function Append(const Value: array of Char; StartIndex, Length: Integer): TStringBuilder; overload; + function Append(Value: Cardinal): TStringBuilder; overload; + function Append(Value: Integer): TStringBuilder; overload; + function Append(Value: Double): TStringBuilder; overload; + function Append(Value: Int64): TStringBuilder; overload; + function Append(Obj: TObject): TStringBuilder; overload; + function AppendFormat(const Fmt: string; const Args: array of const): TStringBuilder; overload; + function AppendFormat(const Fmt: string; Arg0: Variant): TStringBuilder; overload; + function AppendFormat(const Fmt: string; Arg0, Arg1: Variant): TStringBuilder; overload; + function AppendFormat(const Fmt: string; Arg0, Arg1, Arg2: Variant): TStringBuilder; overload; + + function Insert(Index: Integer; const Value: string; Count: Integer = 1): TStringBuilder; overload; + function Insert(Index: Integer; Value: Boolean): TStringBuilder; overload; + function Insert(Index: Integer; const Value: array of Char): TStringBuilder; overload; + function Insert(Index: Integer; const Value: array of Char; StartIndex, Length: Integer): TStringBuilder; overload; + function Insert(Index: Integer; Value: Cardinal): TStringBuilder; overload; + function Insert(Index: Integer; Value: Integer): TStringBuilder; overload; + function Insert(Index: Integer; Value: Double): TStringBuilder; overload; + function Insert(Index: Integer; Value: Int64): TStringBuilder; overload; + function Insert(Index: Integer; Obj: TObject): TStringBuilder; overload; + + function Replace(OldChar, NewChar: Char; StartIndex: Integer = 0; Count: Integer = -1): TStringBuilder; overload; + function Replace(OldValue, NewValue: string; StartIndex: Integer = 0; Count: Integer = -1): TStringBuilder; overload; + + function Remove(StartIndex, Length: Integer): TStringBuilder; + function EnsureCapacity(Capacity: Integer): Integer; + + function ToString: string; + + property __Chars__[Index: Integer]: Char read GetChars write SetChars; default; + property Chars: TCharDynArray read FChars; + property Length: Integer read FLength write Set_Length; + property Capacity: Integer read GetCapacity write SetCapacity; + property MaxCapacity: Integer read FMaxCapacity; + end; + + +// DotNetFormat() uses the .NET format style: "{argX}" +function DotNetFormat(const Fmt: string; const Args: array of const): string; overload; +function DotNetFormat(const Fmt: string; const Arg0: Variant): string; overload; +function DotNetFormat(const Fmt: string; const Arg0, Arg1: Variant): string; overload; +function DotNetFormat(const Fmt: string; const Arg0, Arg1, Arg2: Variant): string; overload; + +{$ENDIF CLR} + // Exceptions type EJclStringError = EJclError; @@ -4188,7 +4288,675 @@ end; {$ENDIF COMPILER5} +{$IFDEF CLR} +function DotNetFormat(const Fmt: string; const Args: array of System.Object): string; +begin + Result := System.String.Format(Fmt, Args); +end; + +function DotNetFormat(const Fmt: string; const Arg0: System.Object): string; +begin + Result := System.String.Format(Fmt, Arg0); +end; + +function DotNetFormat(const Fmt: string; const Arg0, Arg1: System.Object): string; +begin + Result := System.String.Format(Fmt, Arg0, Arg1); +end; + +function DotNetFormat(const Fmt: string; const Arg0, Arg1, Arg2: System.Object): string; +begin + Result := System.String.Format(Fmt, Arg0, Arg1, Arg2); +end; + +{$ELSE} + +const + BoolToStr: array[Boolean] of string[5] = ('false', 'true'); + +type + TInterfacedObjectAccess = class(TInterfacedObject); + +procedure MoveChar(const Source; var Dest; Count: Integer); +begin + if Count > 0 then + Move(Source, Dest, Count * SizeOf(Char)); +end; + +function DotNetFormat(const Fmt: string; const Arg0: Variant): string; +begin + Result := DotNetFormat(Fmt, [Arg0]); +end; + +function DotNetFormat(const Fmt: string; const Arg0, Arg1: Variant): string; +begin + Result := DotNetFormat(Fmt, [Arg0, Arg1]); +end; + +function DotNetFormat(const Fmt: string; const Arg0, Arg1, Arg2: Variant): string; +begin + Result := DotNetFormat(Fmt, [Arg0, Arg1, Arg2]); +end; + +function DotNetFormat(const Fmt: string; const Args: array of const): string; +var + F, P: PChar; + Len, Capacity, Count: Integer; + Index, ErrorCode: Integer; + S: string; + + procedure Grow(Count: Integer); + begin + if Len + Count > Capacity then + begin + Capacity := Capacity * 5 div 3 + Count; + SetLength(Result, Capacity); + end; + end; + + function InheritsFrom(AClass: TClass; const ClassName: string): Boolean; + begin + Result := True; + while AClass <> nil do + begin + if CompareText(AClass.ClassName, ClassName) = 0 then + Exit; + AClass := AClass.ClassParent; + end; + Result := False; + end; + + function GetStringOf(const V: TVarData; Index: Integer): string; overload; + begin + case V.VType of + varEmpty, varNull: + raise ArgumentNullException.CreateRes(@RsArgumentIsNull); + varSmallInt: + Result := IntToStr(V.VSmallInt); + varInteger: + Result := IntToStr(V.VInteger); + varSingle: + Result := FloatToStr(V.VSingle); + varDouble: + Result := FloatToStr(V.VDouble); + varCurrency: + Result := CurrToStr(V.VCurrency); + varDate: + Result := DateTimeToStr(V.VDate); + varOleStr: + Result := V.VOleStr; + varBoolean: + Result := BoolToStr[V.VBoolean <> False]; + varShortInt: + Result := IntToStr(V.VShortInt); + varByte: + Result := IntToStr(V.VByte); + varWord: + Result := IntToStr(V.VWord); + varLongWord: + Result := IntToStr(V.VLongWord); + varInt64: + Result := IntToStr(V.VInt64); + varString: + Result := string(V.VString); + + {varArray, + varDispatch, + varError, + varUnknown, + varAny, + varByRef:} + else + raise ArgumentNullException.CreateResFmt(@RsDotNetFormatArgumentNotSupported, [Index]); + end; + end; + + function GetStringOf(Index: Integer): string; overload; + var + V: TVarRec; + Intf: IToString; + begin + V := Args[Index]; + if (V.VInteger = 0) and + (V.VType in [vtExtended, vtString, vtObject, vtClass, vtCurrency, + vtInterface, vtInt64]) then + raise ArgumentNullException.CreateResFmt(@RsArgumentIsNull, [Index]); + + case V.VType of + vtInteger: + Result := IntToStr(V.VInteger); + vtBoolean: + Result := BoolToStr[V.VBoolean]; + vtChar: + Result := V.VChar; + vtExtended: + Result := FloatToStr(V.VExtended^); + vtString: + Result := V.VString^; + vtPointer: + Result := IntToHex(Cardinal(V.VPointer), 8); + vtPChar: + Result := V.VPChar; + vtObject: + if (V.VObject is TInterfacedObject) and V.VObject.GetInterface(IToString, Intf) then + begin + Result := Intf.ToString; + Pointer(Intf) := nil; // do not release the object + // undo the RefCount change + Dec(TInterfacedObjectAccess(V.VObject).FRefCount); + end + else if InheritsFrom(V.VObject.ClassType, 'TComponent') and V.VObject.GetInterface(IToString, Intf) then + Result := Intf.ToString + else + raise ArgumentNullException.CreateResFmt(@RsDotNetFormatArgumentNotSupported, [Index]); + vtClass: + Result := V.VClass.ClassName; + vtWideChar: + Result := V.VWideChar; + vtPWideChar: + Result := V.VPWideChar; + vtAnsiString: + Result := string(V.VAnsiString); + vtCurrency: + Result := CurrToStr(V.VCurrency^); + vtVariant: + Result := GetStringOf(TVarData(V.VVariant^), Index); + vtInterface: + if IInterface(V.VInterface).QueryInterface(IToString, Intf) = 0 then + Result := IToString(Intf).ToString + else + raise ArgumentNullException.CreateResFmt(@RsDotNetFormatArgumentNotSupported, [Index]); + vtWideString: + Result := WideString(V.VWideString); + vtInt64: + Result := IntToStr(V.VInt64^); + else + raise ArgumentNullException.CreateResFmt(@RsDotNetFormatArgumentNotSupported, [Index]); + end; + end; + +begin + if Length(Args) = 0 then + begin + Result := Fmt; + Exit; + end; + Len := 0; + Capacity := Length(Fmt); + SetLength(Result, Capacity); + if Capacity = 0 then + raise ArgumentNullException.CreateRes(@RsDotNetFormatNullFormat); + + P := Pointer(Fmt); + F := P; + while True do + begin + if (P[0] = #0) or (P[0] = '{') then + begin + Count := P - F; + Inc(P); + if (P[-1] <> #0) and (P[0] = '{') then + Inc(Count); // include '{' + + if Count > 0 then + begin + Grow(Count); + MoveChar(F[0], Result[Len + 1], Count); + Inc(Len, Count); + end; + + if P[-1] = #0 then + Break; + + if P[0] <> '{' then + begin + F := P; + Inc(P); + while (P[0] <> #0) and (P[0] <> '}') do + Inc(P); + SetString(S, F, P - F); + Val(S, Index, ErrorCode); + if ErrorCode <> 0 then + raise FormatException.CreateRes(@RsFormatException); + if (Index < 0) or (Index > High(Args)) then + raise FormatException.CreateRes(@RsFormatException); + S := GetStringOf(Index); + if S <> '' then + begin + Grow(Length(S)); + MoveChar(S[1], Result[Len + 1], Length(S)); + Inc(Len, Length(S)); + end; + + if P[0] = #0 then + Break; + end; + F := P + 1; + end + else + if (P[0] = '}') and (P[1] = '}') then + begin + Count := P - F + 1; + Inc(P); // skip next '}' + + Grow(Count); + MoveChar(F[0], Result[Len + 1], Count); + Inc(Len, Count); + F := P + 1; + end; + + Inc(P); + end; + + SetLength(Result, Len); +end; + +{ TStringBuilder } + +constructor TStringBuilder.Create(Capacity: Integer; MaxCapacity: Integer); +begin + inherited Create; + InitializeCriticalSection(FLock); + SetLength(FChars, Capacity); + FMaxCapacity := MaxCapacity; +end; + +destructor TStringBuilder.Destroy; +begin + DeleteCriticalSection(FLock); + inherited Destroy; +end; + +constructor TStringBuilder.Create(const Value: string; Capacity: Integer); +begin + Create(Capacity); + Append(Value); +end; + +constructor TStringBuilder.Create(const Value: string; StartIndex, + Length, Capacity: Integer); +begin + Create(Capacity); + Append(Value, StartIndex + 1, Length); +end; + +function TStringBuilder.ToString: string; +begin + if FLength > 0 then + SetString(Result, PChar(@FChars[0]), FLength) + else + Result := ''; +end; + +function TStringBuilder.EnsureCapacity(Capacity: Integer): Integer; +begin + if System.Length(FChars) < Capacity then + SetCapacity(Capacity); + Result := System.Length(FChars); +end; + +procedure TStringBuilder.SetCapacity(const Value: Integer); +begin + if Value <> System.Length(FChars) then + begin + SetLength(FChars, Value); + if Value < FLength then + FLength := Value; + end; +end; + +function TStringBuilder.GetChars(Index: Integer): Char; +begin + Result := FChars[Index]; +end; + +procedure TStringBuilder.SetChars(Index: Integer; const Value: Char); +begin + FChars[Index] := Value; +end; + +procedure TStringBuilder.Set_Length(const Value: Integer); +begin + FLength := Value; +end; + +function TStringBuilder.GetCapacity: Integer; +begin + Result := System.Length(FChars); +end; + +function TStringBuilder.AppendPChar(Value: PChar; Count: Integer; RepeatCount: Integer): TStringBuilder; +var + Capacity: Integer; + IsMultiThreaded: Boolean; +begin + if (Count > 0) and (RepeatCount > 0) then + begin + IsMultiThreaded := IsMultiThread; + if IsMultiThreaded then + EnterCriticalSection(FLock); + try + repeat + Capacity := System.Length(FChars); + if Capacity + Count > MaxCapacity then + raise ArgumentOutOfRangeException.CreateRes(@RsArgumentOutOfRange); + if Capacity < FLength + Count then + SetLength(FChars, Capacity * 5 div 3 + Count); + if Count = 1 then + FChars[FLength] := Value[0] + else + MoveChar(Value[0], FChars[FLength], Count); + Inc(FLength, Count); + + Dec(RepeatCount); + until RepeatCount <= 0; + finally + if IsMultiThreaded then + LeaveCriticalSection(FLock); + end; + end; + Result := Self; +end; + +function TStringBuilder.InsertPChar(Index: Integer; Value: PChar; Count, + RepeatCount: Integer): TStringBuilder; +var + Capacity: Integer; + IsMultiThreaded: Boolean; +begin + if (Index < 0) or (Index > FLength) then + raise ArgumentOutOfRangeException.CreateRes(@RsArgumentOutOfRange); + + if Index = FLength then + begin + AppendPChar(Value, Count, RepeatCount); + end + else + if (Count > 0) and (RepeatCount > 0) then + begin + IsMultiThreaded := IsMultiThread; + if IsMultiThreaded then + EnterCriticalSection(FLock); + try + repeat + Capacity := System.Length(FChars); + if Capacity + Count > MaxCapacity then + raise ArgumentOutOfRangeException.CreateRes(@RsArgumentOutOfRange); + if Capacity < FLength + Count then + SetLength(FChars, Capacity * 5 div 3 + Count); + MoveChar(FChars[Index], FChars[Index + Count], FLength - Index); + if Count = 1 then + FChars[Index] := Value[0] + else + MoveChar(Value[0], FChars[Index], Count); + Inc(FLength, Count); + + Dec(RepeatCount); + + Inc(Index, Count); // little optimization + until RepeatCount <= 0; + finally + if IsMultiThreaded then + LeaveCriticalSection(FLock); + end; + end; + Result := Self; +end; + +function TStringBuilder.Append(const Value: array of Char): TStringBuilder; +var + Len: Integer; +begin + Len := System.Length(Value); + if Len > 0 then + AppendPChar(@Value[0], Len); + Result := Self; +end; + +function TStringBuilder.Append(const Value: array of Char; StartIndex, Length: Integer): TStringBuilder; +var + Len: Integer; +begin + Len := System.Length(Value); + if (Length > 0) and (StartIndex < Len) then + begin + if StartIndex + Length > Len then + Length := Len - StartIndex; + AppendPChar(PChar(@Value[0]) + StartIndex, Length); + end; + Result := Self; +end; + +function TStringBuilder.Append(Value: Char; RepeatCount: Integer = 1): TStringBuilder; +begin + Result := AppendPChar(@Value, 1, RepeatCount); +end; + +function TStringBuilder.Append(const Value: string): TStringBuilder; +var + Len: Integer; +begin + Len := System.Length(Value); + if Len > 0 then + AppendPChar(Pointer(Value), Len); + Result := Self; +end; + +function TStringBuilder.Append(const Value: string; StartIndex, Length: Integer): TStringBuilder; +var + Len: Integer; +begin + Len := System.Length(Value); + if (Length > 0) and (StartIndex < Len) then + begin + if StartIndex + Length > Len then + Length := Len - StartIndex; + AppendPChar(PChar(Pointer(Value)) + StartIndex, Length); + end; + Result := Self; +end; + +function TStringBuilder.Append(Value: Boolean): TStringBuilder; +begin + Result := Append(BoolToStr[Value]); +end; + +function TStringBuilder.Append(Value: Cardinal): TStringBuilder; +begin + Result := Append(IntToStr(Value)); +end; + +function TStringBuilder.Append(Value: Integer): TStringBuilder; +begin + Result := Append(IntToStr(Value)); +end; + +function TStringBuilder.Append(Value: Double): TStringBuilder; +begin + Result := Append(FloatToStr(Value)); +end; + +function TStringBuilder.Append(Value: Int64): TStringBuilder; +begin + Result := Append(IntToStr(Value)); +end; + +function TStringBuilder.Append(Obj: TObject): TStringBuilder; +begin + Result := Append(DotNetFormat('{0}', [Obj])); +end; + +function TStringBuilder.AppendFormat(const Fmt: string; Arg0: Variant): TStringBuilder; +begin + Result := Append(DotNetFormat(Fmt, [Arg0])); +end; + +function TStringBuilder.AppendFormat(const Fmt: string; Arg0, Arg1: Variant): TStringBuilder; +begin + Result := Append(DotNetFormat(Fmt, [Arg0, Arg1])); +end; + +function TStringBuilder.AppendFormat(const Fmt: string; Arg0, Arg1, Arg2: Variant): TStringBuilder; +begin + Result := Append(DotNetFormat(Fmt, [Arg0, Arg1, Arg2])); +end; + +function TStringBuilder.AppendFormat(const Fmt: string; const Args: array of const): TStringBuilder; +begin + Result := Append(DotNetFormat(Fmt, Args)); +end; + +function TStringBuilder.Insert(Index: Integer; const Value: array of Char): TStringBuilder; +var + Len: Integer; +begin + Len := System.Length(Value); + if Len > 0 then + InsertPChar(Index, @Value[0], Len); + Result := Self; +end; + +function TStringBuilder.Insert(Index: Integer; const Value: string; Count: Integer): TStringBuilder; +var + Len: Integer; +begin + Len := System.Length(Value); + if Len > 0 then + InsertPChar(Index, Pointer(Value), Len, Count); + Result := Self; +end; + +function TStringBuilder.Insert(Index: Integer; Value: Boolean): TStringBuilder; +begin + Result := Insert(Index, BoolToStr[Value]); +end; + +function TStringBuilder.Insert(Index: Integer; const Value: array of Char; + StartIndex, Length: Integer): TStringBuilder; +var + Len: Integer; +begin + Len := System.Length(Value); + if (Length > 0) and (StartIndex < Len) then + begin + if StartIndex + Length > Len then + Length := Len - StartIndex; + InsertPChar(Index, PChar(@Value[0]) + StartIndex, Length); + end; + Result := Self; +end; + +function TStringBuilder.Insert(Index: Integer; Value: Double): TStringBuilder; +begin + Result := Insert(Index, FloatToStr(Value)); +end; + +function TStringBuilder.Insert(Index: Integer; Value: Int64): TStringBuilder; +begin + Result := Insert(Index, IntToStr(Value)); +end; + +function TStringBuilder.Insert(Index: Integer; Value: Cardinal): TStringBuilder; +begin + Result := Insert(Index, IntToStr(Value)); +end; + +function TStringBuilder.Insert(Index, Value: Integer): TStringBuilder; +begin + Result := Insert(Index, IntToStr(Value)); +end; + +function TStringBuilder.Insert(Index: Integer; Obj: TObject): TStringBuilder; +begin + Result := Insert(Index, Format('{0}', [Obj])); +end; + +function TStringBuilder.Remove(StartIndex, Length: Integer): TStringBuilder; +begin + if (StartIndex < 0) or (Length < 0) or (StartIndex + Length > FLength) then + raise ArgumentOutOfRangeException.CreateRes(@RsArgumentOutOfRange); + if Length > 0 then + begin + MoveChar(FChars[StartIndex + Length], FChars[StartIndex], Length); + Dec(FLength, Length); + end; + Result := Self; +end; + +function TStringBuilder.Replace(OldChar, NewChar: Char; StartIndex, + Count: Integer): TStringBuilder; +var + i: Integer; +begin + if Count = -1 then + Count := FLength; + if (StartIndex < 0) or (Count < 0) or (StartIndex + Count > FLength) then + raise ArgumentOutOfRangeException.CreateRes(@RsArgumentOutOfRange); + if (Count > 0) and (OldChar <> NewChar) then + begin + for i := StartIndex to StartIndex + Length - 1 do + if FChars[i] = OldChar then + FChars[i] := NewChar; + end; + Result := Self; +end; + +function TStringBuilder.Replace(OldValue, NewValue: string; StartIndex, + Count: Integer): TStringBuilder; +var + i: Integer; + Offset: Integer; + NewLen, OldLen, Capacity: Integer; +begin + if Count = -1 then + Count := FLength; + if (StartIndex < 0) or (Count < 0) or (StartIndex + Count > FLength) then + raise ArgumentOutOfRangeException.CreateRes(@RsArgumentOutOfRange); + if OldValue = '' then + raise ArgumentException.CreateResFmt(@RsArgumentIsNull, [0]); + + if (Count > 0) and (OldValue <> NewValue) then + begin + OldLen := System.Length(OldValue); + NewLen := System.Length(NewValue); + Offset := NewLen - OldLen; + Capacity := System.Length(FChars); + for i := StartIndex to StartIndex + Length - 1 do + if FChars[i] = OldValue[1] then + begin + if OldLen > 1 then + if StrLComp(@FChars[i + 1], PChar(OldValue) + 1, OldLen - 1) <> 0 then + Continue; + if Offset <> 0 then + begin + if FLength - OldLen + NewLen > MaxCurrency then + raise ArgumentOutOfRangeException.CreateRes(@RsArgumentOutOfRange); + if Capacity < FLength + Offset then + begin + Capacity := Capacity * 5 div 3 + Offset; + SetLength(FChars, Capacity); + end; + if Offset < 0 then + MoveChar(FChars[i - Offset], FChars[i], FLength - i) + else + MoveChar(FChars[i + OldLen], FChars[i + OldLen + Offset], FLength - OldLen - i); + Inc(FLength, Offset); + end; + if NewLen > 0 then + begin + if (OldLen = 1) and (NewLen = 1) then + FChars[i] := NewValue[1] + else + MoveChar(NewValue[1], FChars[i], NewLen); + end; + end; + end; + Result := Self; +end; +{$ENDIF CLR} + + {$IFNDEF CLR} initialization LoadCharTypes; // this table first This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-05-29 22:05:30
|
Revision: 1671 Author: outchy Date: 2006-05-29 15:02:45 -0700 (Mon, 29 May 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1671&view=rev Log Message: ----------- Deletion of outdated history logs not filled by subversion. Modified Paths: -------------- trunk/jcl/examples/common/unitversioning/UnitVersioningTestMain.pas trunk/jcl/examples/windows/delphitools/common/About.pas trunk/jcl/examples/windows/delphitools/common/D6MdiMsgFix.pas trunk/jcl/examples/windows/delphitools/common/FindDlg.pas trunk/jcl/examples/windows/delphitools/common/ToolsUtils.pas trunk/jcl/examples/windows/delphitools/dependencyviewer/DependViewMain.pas trunk/jcl/examples/windows/delphitools/dependencyviewer/FileViewer.pas trunk/jcl/examples/windows/delphitools/peviewer/PeDump.pas trunk/jcl/examples/windows/delphitools/peviewer/PeGenDef.pas trunk/jcl/examples/windows/delphitools/peviewer/PeResView.pas trunk/jcl/examples/windows/delphitools/peviewer/PeResource.pas trunk/jcl/examples/windows/delphitools/peviewer/PeSearch.pas trunk/jcl/examples/windows/delphitools/peviewer/PeViewerControl.pas trunk/jcl/examples/windows/delphitools/peviewer/PeViewerMain.pas trunk/jcl/examples/windows/delphitools/resfix/ResFixMain.pas trunk/jcl/examples/windows/delphitools/screenjpg/Main.pas trunk/jcl/examples/windows/delphitools/toolhelpview/ChangePriority.pas trunk/jcl/examples/windows/delphitools/toolhelpview/Global.pas trunk/jcl/examples/windows/delphitools/toolhelpview/HeapDump.pas trunk/jcl/examples/windows/delphitools/toolhelpview/Main.pas trunk/jcl/examples/windows/delphitools/toolhelpview/MemoryDump.pas trunk/jcl/examples/windows/delphitools/toolhelpview/ModulesDump.pas trunk/jcl/examples/windows/delphitools/toolhelpview/ViewTemplate.pas trunk/jcl/examples/windows/edisdk/comserver/JclEDICOM_ANSIX12.pas trunk/jcl/examples/windows/structstorage/PropsFrm.pas trunk/jcl/examples/windows/structstorage/StructStorageExampleMain.pas trunk/jcl/experts/common/JclOtaConsts.pas trunk/jcl/experts/common/JclOtaExceptionForm.pas trunk/jcl/experts/common/JclOtaResources.pas trunk/jcl/experts/common/JclOtaUtils.pas trunk/jcl/experts/debug/JclDebugIdeResult.pas trunk/jcl/experts/debug/dialog/ClxExceptDlg.pas trunk/jcl/experts/debug/dialog/ExceptDlg.pas trunk/jcl/experts/debug/dialog/ExceptDlgMail.pas trunk/jcl/experts/debug/simdview/JclSIMDCpuInfo.pas trunk/jcl/experts/debug/simdview/JclSIMDModifyForm.pas trunk/jcl/experts/debug/simdview/JclSIMDTestBCB.cpp trunk/jcl/experts/debug/simdview/JclSIMDTestDelphi.dpr trunk/jcl/experts/debug/simdview/JclSIMDUtils.pas trunk/jcl/experts/debug/simdview/JclSIMDView.pas trunk/jcl/experts/debug/simdview/JclSIMDViewForm.pas trunk/jcl/experts/debug/threadnames/JclIdeThreadStatus.pas trunk/jcl/experts/debug/threadnames/ThreadExpertSharedNames.pas trunk/jcl/experts/debug/threadnames/ThreadExpertUnit.pas trunk/jcl/experts/debug/tools/MapToJdbgMain.pas trunk/jcl/experts/debug/tools/TlbToMapMain.pas trunk/jcl/experts/favfolders/IdeOpenDlgFavoriteUnit.pas trunk/jcl/experts/favfolders/OpenDlgFavAdapter.pas trunk/jcl/experts/useswizard/JCLOptionsFrame.pas trunk/jcl/experts/useswizard/JCLUsesWizard.pas trunk/jcl/experts/useswizard/JclParseUses.pas trunk/jcl/experts/useswizard/JclUsesDialog.pas trunk/jcl/experts/versioncontrol/JclVersionCtrlCVSImpl.pas trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.pas trunk/jcl/experts/versioncontrol/JclVersionCtrlSVNImpl.pas trunk/jcl/experts/versioncontrol/VersionControlImpl.pas trunk/jcl/install/JclInstall.pas trunk/jcl/install/JediInstall.pas trunk/jcl/source/common/Jcl8087.pas trunk/jcl/source/common/JclAbstractContainers.pas trunk/jcl/source/common/JclAlgorithms.pas trunk/jcl/source/common/JclAnsiStrings.pas trunk/jcl/source/common/JclArrayLists.pas trunk/jcl/source/common/JclArraySets.pas trunk/jcl/source/common/JclBase.pas trunk/jcl/source/common/JclBinaryTrees.pas trunk/jcl/source/common/JclBorlandTools.pas trunk/jcl/source/common/JclComplex.pas trunk/jcl/source/common/JclCompression.pas trunk/jcl/source/common/JclContainerIntf.pas trunk/jcl/source/common/JclCounter.pas trunk/jcl/source/common/JclDateTime.pas trunk/jcl/source/common/JclExprEval.pas trunk/jcl/source/common/JclFileUtils.pas trunk/jcl/source/common/JclHashMaps.pas trunk/jcl/source/common/JclHashSets.pas trunk/jcl/source/common/JclIniFiles.pas trunk/jcl/source/common/JclLinkedLists.pas trunk/jcl/source/common/JclLogic.pas trunk/jcl/source/common/JclMIDI.pas trunk/jcl/source/common/JclMath.pas trunk/jcl/source/common/JclMime.pas trunk/jcl/source/common/JclPCRE.pas trunk/jcl/source/common/JclQueues.pas trunk/jcl/source/common/JclRTTI.pas trunk/jcl/source/common/JclResources.pas trunk/jcl/source/common/JclSchedule.pas trunk/jcl/source/common/JclStacks.pas trunk/jcl/source/common/JclStatistics.pas trunk/jcl/source/common/JclStrHashMap.pas trunk/jcl/source/common/JclStreams.pas trunk/jcl/source/common/JclStrings.pas trunk/jcl/source/common/JclSysInfo.pas trunk/jcl/source/common/JclSysUtils.pas trunk/jcl/source/common/JclUnitConv.pas trunk/jcl/source/common/JclUnitVersioning.pas trunk/jcl/source/common/JclUnitVersioningProviders.pas trunk/jcl/source/common/JclValidation.pas trunk/jcl/source/common/JclVectors.pas trunk/jcl/source/common/JclWideStrings.pas trunk/jcl/source/common/pcre.pas trunk/jcl/source/jcl.inc trunk/jcl/source/jedi.inc trunk/jcl/source/prototypes/Hardlinks.pas trunk/jcl/source/prototypes/JclWin32.pas trunk/jcl/source/prototypes/_GraphUtils.pas trunk/jcl/source/prototypes/_Graphics.pas trunk/jcl/source/unixonly.inc trunk/jcl/source/vcl/JclGraphUtils.pas trunk/jcl/source/vcl/JclGraphics.pas trunk/jcl/source/vcl/JclPrint.pas trunk/jcl/source/visclx/JclQGraphUtils.pas trunk/jcl/source/visclx/JclQGraphics.pas trunk/jcl/source/windows/Hardlinks.pas trunk/jcl/source/windows/JclAppInst.pas trunk/jcl/source/windows/JclCIL.pas trunk/jcl/source/windows/JclCLR.pas trunk/jcl/source/windows/JclCOM.pas trunk/jcl/source/windows/JclConsole.pas trunk/jcl/source/windows/JclDebug.pas trunk/jcl/source/windows/JclDotNet.pas trunk/jcl/source/windows/JclHookExcept.pas trunk/jcl/source/windows/JclLANMan.pas trunk/jcl/source/windows/JclLocales.pas trunk/jcl/source/windows/JclMapi.pas trunk/jcl/source/windows/JclMetadata.pas trunk/jcl/source/windows/JclMiscel.pas trunk/jcl/source/windows/JclMsdosSys.pas trunk/jcl/source/windows/JclMultimedia.pas trunk/jcl/source/windows/JclNTFS.pas trunk/jcl/source/windows/JclPeImage.pas trunk/jcl/source/windows/JclRegistry.pas trunk/jcl/source/windows/JclSecurity.pas trunk/jcl/source/windows/JclShell.pas trunk/jcl/source/windows/JclStructStorage.pas trunk/jcl/source/windows/JclSvcCtrl.pas trunk/jcl/source/windows/JclSynch.pas trunk/jcl/source/windows/JclTD32.pas trunk/jcl/source/windows/JclTask.pas trunk/jcl/source/windows/JclUnicode.pas trunk/jcl/source/windows/JclWideFormat.pas trunk/jcl/source/windows/JclWin32.pas trunk/jcl/source/windows/JclWinMIDI.pas trunk/jcl/source/windows/Snmp.pas trunk/jcl/source/windowsonly.inc Modified: trunk/jcl/examples/common/unitversioning/UnitVersioningTestMain.pas =================================================================== --- trunk/jcl/examples/common/unitversioning/UnitVersioningTestMain.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/common/unitversioning/UnitVersioningTestMain.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -27,7 +27,6 @@ {**************************************************************************************************} // Last modified: $Date$ -// For history see end of file unit UnitVersioningTestMain; @@ -288,14 +287,4 @@ ShowMessage('Can''t insert section - DLL still loaded and unload failed...'); end; -// History: - -// $Log$ -// Revision 1.1 2005/10/17 13:19:01 rrossmair -// - moved over from examples\vcl\* -// -// Revision 1.1 2005/03/07 18:47:42 uschuster -// new example for UnitVersioning -// - end. Modified: trunk/jcl/examples/windows/delphitools/common/About.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/common/About.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/common/About.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -177,11 +177,4 @@ OpenURL(GetLinkURL(TLabel(Sender).Tag - 1)); end; -// History: - -// $Log$ -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/common/D6MdiMsgFix.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/common/D6MdiMsgFix.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/common/D6MdiMsgFix.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -82,11 +82,4 @@ {$ENDIF DELPHI6} -// History: - -// $Log$ -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/common/FindDlg.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/common/FindDlg.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/common/FindDlg.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -199,11 +199,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/common/ToolsUtils.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/common/ToolsUtils.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/common/ToolsUtils.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -361,11 +361,4 @@ end; {$ENDIF} -// History: - -// $Log$ -// Revision 1.2 2005/10/27 13:03:49 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/dependencyviewer/DependViewMain.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/dependencyviewer/DependViewMain.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/dependencyviewer/DependViewMain.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -343,14 +343,4 @@ Application.BringToFront; end; -// History: - -// $Log$ -// Revision 1.3 2005/11/22 10:23:35 ahuser -// FileDrop support -// -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/dependencyviewer/FileViewer.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/dependencyviewer/FileViewer.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/dependencyviewer/FileViewer.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -660,14 +660,4 @@ MainForm.DumpPe1.Execute; end; -// History: - -// $Log$ -// Revision 1.3 2005/12/04 10:10:57 obones -// Borland Developer Studio 2006 support -// -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/peviewer/PeDump.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/peviewer/PeDump.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/peviewer/PeDump.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -920,15 +920,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.3 2006/01/15 11:21:32 outchy -// Removed Log tag -// Changed DELPHI5 to COMPILER5 -// -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/peviewer/PeGenDef.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/peviewer/PeGenDef.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/peviewer/PeGenDef.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -340,11 +340,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/peviewer/PeResView.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/peviewer/PeResView.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/peviewer/PeResView.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -707,11 +707,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/peviewer/PeResource.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/peviewer/PeResource.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/peviewer/PeResource.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -1535,11 +1535,4 @@ finalization FreeAndNil(JclLocalesList); -// History: - -// $Log$ -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/peviewer/PeSearch.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/peviewer/PeSearch.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/peviewer/PeSearch.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -223,11 +223,4 @@ MainForm.OpenLibrary1.Execute; end; -// History: - -// $Log$ -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/peviewer/PeViewerControl.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/peviewer/PeViewerControl.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/peviewer/PeViewerControl.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -80,15 +80,4 @@ TAutoObjectFactory.Create(ComServer, TPeViewerControl, Class_PeViewerControl, ciMultiInstance, tmApartment); -// History: - -// $Log$ -// Revision 1.3 2006/01/15 11:21:32 outchy -// Removed Log tag -// Changed DELPHI5 to COMPILER5 -// -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/peviewer/PeViewerMain.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/peviewer/PeViewerMain.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/peviewer/PeViewerMain.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -626,16 +626,6 @@ OleInitialize(nil); finalization - OleUninitialize; + OleUninitialize; -// History: - -// $Log$ -// Revision 1.3 2005/11/22 10:24:00 ahuser -// FileDrop support -// -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/resfix/ResFixMain.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/resfix/ResFixMain.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/resfix/ResFixMain.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -260,11 +260,4 @@ D4FixCoolBarResizePaint(Sender); end; -// History: - -// $Log$ -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/screenjpg/Main.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/screenjpg/Main.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/screenjpg/Main.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -282,11 +282,4 @@ D4FixCoolBarResizePaint(Sender); end; -// History: - -// $Log$ -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/toolhelpview/ChangePriority.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/toolhelpview/ChangePriority.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/toolhelpview/ChangePriority.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -111,11 +111,4 @@ MessBox(sCantChange, MB_ICONERROR); end; -// History: - -// $Log$ -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/toolhelpview/Global.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/toolhelpview/Global.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/toolhelpview/Global.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -129,11 +129,4 @@ initialization CheckWindowsVersion; -// History: - -// $Log$ -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/toolhelpview/HeapDump.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/toolhelpview/HeapDump.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/toolhelpview/HeapDump.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -331,11 +331,4 @@ BuildHeapList; end; -// History: - -// $Log$ -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/toolhelpview/Main.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/toolhelpview/Main.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/toolhelpview/Main.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -933,15 +933,4 @@ D4FixCoolBarResizePaint(Sender); end; -// History: - -// $Log$ -// Revision 1.3 2006/01/15 11:21:32 outchy -// Removed Log tag -// Changed DELPHI5 to COMPILER5 -// -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/toolhelpview/MemoryDump.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/toolhelpview/MemoryDump.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/toolhelpview/MemoryDump.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -511,11 +511,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS $Log$ tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/toolhelpview/ModulesDump.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/toolhelpview/ModulesDump.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/toolhelpview/ModulesDump.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -242,11 +242,4 @@ DumpPe1.Enabled := GlobalModule.PeViewerRegistred and Assigned(ModulesListView.Selected) end; -// History: - -// $Log$ -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/delphitools/toolhelpview/ViewTemplate.pas =================================================================== --- trunk/jcl/examples/windows/delphitools/toolhelpview/ViewTemplate.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/delphitools/toolhelpview/ViewTemplate.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -152,11 +152,4 @@ ShowFindDialog(ActiveControl as TListView); end; -// History: - -// $Log$ -// Revision 1.2 2005/10/27 01:44:51 rrossmair -// - added MPL headers and CVS Log tags -// - end. Modified: trunk/jcl/examples/windows/edisdk/comserver/JclEDICOM_ANSIX12.pas =================================================================== --- trunk/jcl/examples/windows/edisdk/comserver/JclEDICOM_ANSIX12.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/edisdk/comserver/JclEDICOM_ANSIX12.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -1056,9 +1056,4 @@ TAutoObjectFactory.Create(ComServer, TEDICOMFile, Class_EDICOMFile, ciMultiInstance, tmApartment); -// History - -// rrossmair 2004-07-17: -// - removed unit Dialogs usage - end. Modified: trunk/jcl/examples/windows/structstorage/PropsFrm.pas =================================================================== --- trunk/jcl/examples/windows/structstorage/PropsFrm.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/structstorage/PropsFrm.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -168,19 +168,5 @@ end; end; -// History: - -// $Log$ -// Revision 1.1 2005/10/17 13:35:15 rrossmair -// - moved over from examples\vcl\* -// -// Revision 1.2 2004/10/02 05:47:27 marquardt -// added check for incompatible jedi.inc -// replaced jedi.inc with jvcl.inc -// -// Revision 1.1 2004/06/12 03:44:00 rrossmair -// structured storage demo initial check-in; adapted for JCL -// - end. Modified: trunk/jcl/examples/windows/structstorage/StructStorageExampleMain.pas =================================================================== --- trunk/jcl/examples/windows/structstorage/StructStorageExampleMain.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/examples/windows/structstorage/StructStorageExampleMain.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -934,22 +934,5 @@ end; end; -// History: - -// $Log$ -// Revision 1.1 2005/10/17 13:35:15 rrossmair -// - moved over from examples\vcl\* -// -// Revision 1.3 2004/10/02 05:47:27 marquardt -// added check for incompatible jedi.inc -// replaced jedi.inc with jvcl.inc -// -// Revision 1.2 2004/06/12 04:44:16 rrossmair -// mistakenly commited the wrong (outdated) file version at first; corrected -// -// Revision 1.1 2004/06/12 03:44:01 rrossmair -// structured storage demo initial check-in; adapted for JCL -// - end. Modified: trunk/jcl/experts/common/JclOtaConsts.pas =================================================================== --- trunk/jcl/experts/common/JclOtaConsts.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/common/JclOtaConsts.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -122,38 +122,4 @@ implementation -// History: - -// $Log$ -// Revision 1.6 2006/01/08 17:16:56 outchy -// Settings reworked. -// Common window for expert configurations -// -// Revision 1.5 2005/12/16 23:46:24 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.4 2005/10/26 03:29:44 rrossmair -// - improved header information, added $Date$ and $Log$ -// - improved header information, added $Date$ and Revision 1.6 2006/01/08 17:16:56 outchy -// - improved header information, added $Date$ and Settings reworked. -// - improved header information, added $Date$ and Common window for expert configurations -// - improved header information, added $Date$ and -// - improved header information, added $Date$ and Revision 1.5 2005/12/16 23:46:24 outchy -// - improved header information, added $Date$ and Added expert stack form. -// - improved header information, added $Date$ and Added code to display call stack on expert exception. -// - improved header information, added $Date$ and Fixed package extension for D2006. -// - improved header information, added $Date$ and CVS tags. -// -// Revision 1.3 2005/10/23 12:53:36 marquardt -// further expert cleanup and integration, use of JclRegistry -// -// Revision 1.2 2005/10/22 14:24:18 marquardt -// more expert integration and cleanup -// -// Revision 1.1 2005/10/21 12:24:41 marquardt -// experts reorganized with new directory common -// - end. Modified: trunk/jcl/experts/common/JclOtaExceptionForm.pas =================================================================== --- trunk/jcl/experts/common/JclOtaExceptionForm.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/common/JclOtaExceptionForm.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -131,12 +131,3 @@ end; end. - -// History: - -// $Log$ -// Revision 1.1 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// \ No newline at end of file Modified: trunk/jcl/experts/common/JclOtaResources.pas =================================================================== --- trunk/jcl/experts/common/JclOtaResources.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/common/JclOtaResources.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -319,46 +319,4 @@ implementation -// History: - -// $Log: JclOtaResources.pas,v $ -// Revision 1.11 2006/03/13 22:05:31 outchy -// Fixed error message to display project name -// -// Revision 1.10 2006/01/08 17:16:56 outchy -// Settings reworked. -// Common window for expert configurations -// -// Revision 1.9 2005/12/26 18:03:39 outchy -// Enhanced bds support (including C#1 and D8) -// Introduction of dll experts -// Project types in templates -// -// Revision 1.8 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.7 2005/10/27 13:50:39 rrossmair -// - cleaned up mistakenly expanded check-in comments -// -// Revision 1.6 2005/10/27 08:31:08 outchy -// Items add in the splash screen and in the about box of Delphi (requires at least D2005) -// -// Revision 1.5 2005/10/26 03:29:44 rrossmair -// - improved header information, added Date and Log CVS tags. -// -// Revision 1.4 2005/10/24 12:05:51 marquardt -// further cleanup -// -// Revision 1.3 2005/10/23 12:53:36 marquardt -// further expert cleanup and integration, use of JclRegistry -// -// Revision 1.2 2005/10/22 14:24:18 marquardt -// more expert integration and cleanup -// -// Revision 1.1 2005/10/21 12:24:41 marquardt -// experts reorganized with new directory common -// - end. Modified: trunk/jcl/experts/common/JclOtaUtils.pas =================================================================== --- trunk/jcl/experts/common/JclOtaUtils.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/common/JclOtaUtils.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -1219,95 +1219,4 @@ end; } -// History: - -// $Log: JclOtaUtils.pas,v $ -// Revision 1.19 2006/03/26 20:22:19 outchy -// Command registration moved out of expert constructors and destructors -// -// Revision 1.18 2006/03/02 18:48:08 outchy -// Updated function prototype (fixing link error with C++Builder 6) -// -// Revision 1.17 2006/02/02 19:57:08 outchy -// IT3464: EFOpenError when the bdsproj is not on drive -// -// Revision 1.16 2006/01/15 19:14:41 ahuser -// Delphi 7 JCL Option bugfix and layout -// -// Revision 1.15 2006/01/08 17:16:56 outchy -// Settings reworked. -// Common window for expert configurations -// -// Revision 1.14 2005/12/26 18:03:40 outchy -// Enhanced bds support (including C#1 and D8) -// Introduction of dll experts -// Project types in templates -// -// Revision 1.13 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.12 2005/10/28 04:34:27 rrossmair -// - replaced {$IFDEF RTL170_UP} by more appropriate {$IFDEF BDS} -// -// Revision 1.11 2005/10/27 13:50:39 rrossmair -// - cleaned up mistakenly expanded check-in comments -// -// Revision 1.10 2005/10/27 11:00:43 marquardt -// cleaned up the sources and created a .rc file -// -// Revision 1.9 2005/10/27 08:31:08 outchy -// Items add in the splash screen and in the about box of Delphi (requires at least D2005) -// -// Revision 1.8 2005/10/26 08:29:53 marquardt -// Kylix dummy Load results fixed -// -// Revision 1.7 2005/10/26 03:29:44 rrossmair -// - improved header information, added Date and Log CVS tags. -// -// Revision 1.6 2005/10/25 14:45:22 uschuster -// some changes for Kylix -// -// Revision 1.5 2005/10/25 13:00:12 marquardt -// Load and Save methods for TJclOTAExpertBase -// -// Revision 1.4 2005/10/25 08:27:22 marquardt -// minor cleanups, deactivated unused function -// -// Revision 1.3 2005/10/24 12:05:51 marquardt -// further cleanup -// -// Revision 1.2 2005/10/23 12:53:36 marquardt -// further expert cleanup and integration, use of JclRegistry -// -// Revision 1.1 2005/10/21 12:24:41 marquardt -// experts reorganized with new directory common -// -// Revision 1.3 2005/10/20 22:55:17 outchy -// Experts are now generated by the package generator. -// No WEAKPACKAGEUNIT in design-time packages. -// -// Revision 1.2 2005/10/20 17:19:30 outchy -// Moving function calls out of Asserts -// -// Revision 1.1 2005/10/03 16:15:58 rrossmair -// - moved over from jcl\examples\vcl\debugextension -// -// Revision 1.10 2005/09/17 23:01:46 outchy -// user's settings are now stored in the registry (HKEY_CURRENT_USER) -// -// Revision 1.9 2005/08/07 13:42:38 outchy -// IT3115: Adding system and user environment variables. -// -// Revision 1.8 2005/07/26 17:41:06 outchy -// Icons can now be placed in the IDE's toolbars via the customize dialog. They are restored at the IDE's startup. -// -// Revision 1.7 2005/05/08 15:43:28 outchy -// Compiler conditions modified for C++Builder -// -// Revision 1.6 2005/03/14 05:56:27 rrossmair -// - fixed issue #2752 (TJclOTAUtils.SubstitutePath does not support nested environment variables) as proposed by the reporter. -// - end. Modified: trunk/jcl/experts/debug/JclDebugIdeResult.pas =================================================================== --- trunk/jcl/experts/debug/JclDebugIdeResult.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/JclDebugIdeResult.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -197,28 +197,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.5 2006/02/16 16:53:11 outchy -// Fixed fomat bug -// -// Revision 1.4 2006/01/08 17:16:56 outchy -// Settings reworked. -// Common window for expert configurations -// -// Revision 1.3 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.2 2005/10/21 12:24:41 marquardt -// experts reorganized with new directory common -// -// Revision 1.1 2005/10/03 16:15:58 rrossmair -// - moved over from jcl\examples\vcl\debugextension -// -// Revision 1.3 2004/07/25 06:29:51 rrossmair -// ImgList added to uses clause -// end. Modified: trunk/jcl/experts/debug/dialog/ClxExceptDlg.pas =================================================================== --- trunk/jcl/experts/debug/dialog/ClxExceptDlg.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/dialog/ClxExceptDlg.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -745,11 +745,4 @@ {$IFEND Defined(MSWINDOWS)} {$ENDIF DELPHI6_UP} -// History: - -// $Log$ -// Revision 1.2 2005/10/26 03:29:44 rrossmair -// - improved header information, added Date and Log CVS tags. -// - end. Modified: trunk/jcl/experts/debug/dialog/ExceptDlg.pas =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlg.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/dialog/ExceptDlg.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -735,11 +735,4 @@ finalization UnInitializeHandler; -// History: - -// $Log$ -// Revision 1.2 2005/10/26 03:29:44 rrossmair -// - improved header information, added Date and Log CVS tags. -// - end. Modified: trunk/jcl/experts/debug/dialog/ExceptDlgMail.pas =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlgMail.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/dialog/ExceptDlgMail.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -755,11 +755,4 @@ finalization UnInitializeHandler; -// History: - -// $Log$ -// Revision 1.2 2005/10/26 03:29:44 rrossmair -// - improved header information, added Date and Log CVS tags. -// - end. Modified: trunk/jcl/experts/debug/simdview/JclSIMDCpuInfo.pas =================================================================== --- trunk/jcl/experts/debug/simdview/JclSIMDCpuInfo.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/simdview/JclSIMDCpuInfo.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -94,16 +94,4 @@ ShowModal; end; -// History: - -// $Log$ -// Revision 1.5 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.4 2005/10/26 03:29:44 rrossmair -// - improved header information, added Date and Log CVS tags. -// - end. Modified: trunk/jcl/experts/debug/simdview/JclSIMDModifyForm.pas =================================================================== --- trunk/jcl/experts/debug/simdview/JclSIMDModifyForm.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/simdview/JclSIMDModifyForm.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -528,38 +528,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.9 2006/01/08 17:16:56 outchy -// Settings reworked. -// Common window for expert configurations -// -// Revision 1.8 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.7 2005/12/04 10:10:57 obones -// Borland Developer Studio 2006 support -// -// Revision 1.6 2005/11/21 21:25:40 outchy -// Modified the get/set methods of thread context for Delphi 2005 -// -// Revision 1.5 2005/10/26 03:29:44 rrossmair -// - improved header information, added $Date$ and $Log$ -// - improved header information, added $Date$ and Revision 1.9 2006/01/08 17:16:56 outchy -// - improved header information, added $Date$ and Settings reworked. -// - improved header information, added $Date$ and Common window for expert configurations -// - improved header information, added $Date$ and -// - improved header information, added $Date$ and Revision 1.8 2005/12/16 23:46:25 outchy -// - improved header information, added $Date$ and Added expert stack form. -// - improved header information, added $Date$ and Added code to display call stack on expert exception. -// - improved header information, added $Date$ and Fixed package extension for D2006. -// - improved header information, added $Date$ and -// - improved header information, added $Date$ and Revision 1.7 2005/12/04 10:10:57 obones -// - improved header information, added $Date$ and Borland Developer Studio 2006 support -// - improved header information, added $Date$ and CVS tags. -// - end. Modified: trunk/jcl/experts/debug/simdview/JclSIMDTestBCB.cpp =================================================================== --- trunk/jcl/experts/debug/simdview/JclSIMDTestBCB.cpp 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/simdview/JclSIMDTestBCB.cpp 2006-05-29 22:02:45 UTC (rev 1671) @@ -100,11 +100,3 @@ return 0; } //--------------------------------------------------------------------------- - -// History: - -// $Log$ -// Revision 1.2 2005/10/26 03:29:44 rrossmair -// - improved header information, added Date and Log CVS tags. -// - Modified: trunk/jcl/experts/debug/simdview/JclSIMDTestDelphi.dpr =================================================================== --- trunk/jcl/experts/debug/simdview/JclSIMDTestDelphi.dpr 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/simdview/JclSIMDTestDelphi.dpr 2006-05-29 22:02:45 UTC (rev 1671) @@ -85,11 +85,4 @@ WriteLn('Program terminated'); ReadLn; -// History: - -// $Log$ -// Revision 1.2 2005/10/26 03:29:44 rrossmair -// - improved header information, added Date and Log CVS tags. -// - end. Modified: trunk/jcl/experts/debug/simdview/JclSIMDUtils.pas =================================================================== --- trunk/jcl/experts/debug/simdview/JclSIMDUtils.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/simdview/JclSIMDUtils.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -884,31 +884,5 @@ end; {$ENDIF COMPILER9_UP} -// History: - -// $Log$ -// Revision 1.6 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.5 2005/12/04 10:10:57 obones -// Borland Developer Studio 2006 support -// -// Revision 1.4 2005/11/21 21:25:40 outchy -// Modified the get/set methods of thread context for Delphi 2005 -// -// Revision 1.3 2005/10/26 03:29:44 rrossmair -// - improved header information, added $Date$ and $Log$ -// - improved header information, added $Date$ and Revision 1.6 2005/12/16 23:46:25 outchy -// - improved header information, added $Date$ and Added expert stack form. -// - improved header information, added $Date$ and Added code to display call stack on expert exception. -// - improved header information, added $Date$ and Fixed package extension for D2006. -// - improved header information, added $Date$ and -// - improved header information, added $Date$ and Revision 1.5 2005/12/04 10:10:57 obones -// - improved header information, added $Date$ and Borland Developer Studio 2006 support -// - improved header information, added $Date$ and CVS tags. -// - end. Modified: trunk/jcl/experts/debug/simdview/JclSIMDView.pas =================================================================== --- trunk/jcl/experts/debug/simdview/JclSIMDView.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/simdview/JclSIMDView.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -626,25 +626,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.10 2006/01/08 17:16:56 outchy -// Settings reworked. -// Common window for expert configurations -// -// Revision 1.9 2005/12/26 18:03:40 outchy -// Enhanced bds support (including C#1 and D8) -// Introduction of dll experts -// Project types in templates -// -// Revision 1.8 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.7 2005/10/26 03:29:44 rrossmair -// - improved header information, added Date and Log CVS tags. -// - end. Modified: trunk/jcl/experts/debug/simdview/JclSIMDViewForm.pas =================================================================== --- trunk/jcl/experts/debug/simdview/JclSIMDViewForm.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/simdview/JclSIMDViewForm.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -948,44 +948,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.10 2006/02/12 11:31:39 outchy -// The form can now be docked -// -// Revision 1.9 2006/01/08 17:16:56 outchy -// Settings reworked. -// Common window for expert configurations -// -// Revision 1.8 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.7 2005/12/04 10:10:57 obones -// Borland Developer Studio 2006 support -// -// Revision 1.6 2005/11/21 21:25:40 outchy -// Modified the get/set methods of thread context for Delphi 2005 -// -// Revision 1.5 2005/10/26 03:29:44 rrossmair -// - improved header information, added $Date$ and $Log$ -// - improved header information, added $Date$ and Revision 1.10 2006/02/12 11:31:39 outchy -// - improved header information, added $Date$ and The form can now be docked -// - improved header information, added $Date$ and -// - improved header information, added $Date$ and Revision 1.9 2006/01/08 17:16:56 outchy -// - improved header information, added $Date$ and Settings reworked. -// - improved header information, added $Date$ and Common window for expert configurations -// - improved header information, added $Date$ and -// - improved header information, added $Date$ and Revision 1.8 2005/12/16 23:46:25 outchy -// - improved header information, added $Date$ and Added expert stack form. -// - improved header information, added $Date$ and Added code to display call stack on expert exception. -// - improved header information, added $Date$ and Fixed package extension for D2006. -// - improved header information, added $Date$ and -// - improved header information, added $Date$ and Revision 1.7 2005/12/04 10:10:57 obones -// - improved header information, added $Date$ and Borland Developer Studio 2006 support -// - improved header information, added $Date$ and CVS tags. -// - end. Modified: trunk/jcl/experts/debug/threadnames/JclIdeThreadStatus.pas =================================================================== --- trunk/jcl/experts/debug/threadnames/JclIdeThreadStatus.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/threadnames/JclIdeThreadStatus.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -190,11 +190,4 @@ FreeAndNil(HookImports); FreeAndNil(SharedThreadNames); -// History: - -// $Log$ -// Revision 1.3 2005/10/26 03:29:44 rrossmair -// - improved header information, added Date and Log CVS tags. -// - end. Modified: trunk/jcl/experts/debug/threadnames/ThreadExpertSharedNames.pas =================================================================== --- trunk/jcl/experts/debug/threadnames/ThreadExpertSharedNames.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/threadnames/ThreadExpertSharedNames.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -326,11 +326,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.4 2005/10/26 03:29:44 rrossmair -// - improved header information, added Date and Log CVS tags. -// - end. Modified: trunk/jcl/experts/debug/threadnames/ThreadExpertUnit.pas =================================================================== --- trunk/jcl/experts/debug/threadnames/ThreadExpertUnit.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/threadnames/ThreadExpertUnit.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -398,25 +398,4 @@ FExpert.UpdateContent; end; -// History: - -// $Log$ -// Revision 1.7 2006/01/08 17:16:56 outchy -// Settings reworked. -// Common window for expert configurations -// -// Revision 1.6 2005/12/26 18:03:40 outchy -// Enhanced bds support (including C#1 and D8) -// Introduction of dll experts -// Project types in templates -// -// Revision 1.5 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.4 2005/10/26 03:29:44 rrossmair -// - improved header information, added Date and Log CVS tags -// - end. Modified: trunk/jcl/experts/debug/tools/MapToJdbgMain.pas =================================================================== --- trunk/jcl/experts/debug/tools/MapToJdbgMain.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/tools/MapToJdbgMain.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -21,6 +21,7 @@ { Last modified: $Date$ } { } {**************************************************************************************************} + unit MapToJdbgMain; interface @@ -201,11 +202,4 @@ Convert1.Enabled := FilesListView.Items.Count > 0; end; -// History: - -// $Log$ -// Revision 1.2 2005/10/26 03:29:44 rrossmair -// - improved header information, added Date and Log CVS tags. -// - end. Modified: trunk/jcl/experts/debug/tools/TlbToMapMain.pas =================================================================== --- trunk/jcl/experts/debug/tools/TlbToMapMain.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/debug/tools/TlbToMapMain.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -21,6 +21,7 @@ { Last modified: $Date$ } { } {**************************************************************************************************} + unit TlbToMapMain; interface @@ -386,11 +387,4 @@ VersionMemo.Repaint; end; -// History: - -// $Log$ -// Revision 1.2 2005/10/26 03:29:44 rrossmair -// - improved header information, added Date and Log CVS tags. -// - end. Modified: trunk/jcl/experts/favfolders/IdeOpenDlgFavoriteUnit.pas =================================================================== --- trunk/jcl/experts/favfolders/IdeOpenDlgFavoriteUnit.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/favfolders/IdeOpenDlgFavoriteUnit.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -155,45 +155,4 @@ inherited UnregisterCommands; end; -// History: - -// $Log$ -// Revision 1.9 2006/03/26 20:22:19 outchy -// Command registration moved out of expert constructors and destructors -// -// Revision 1.8 2006/01/08 17:16:57 outchy -// Settings reworked. -// Common window for expert configurations -// -// Revision 1.7 2005/12/26 18:03:41 outchy -// Enhanced bds support (including C#1 and D8) -// Introduction of dll experts -// Project types in templates -// -// Revision 1.6 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.5 2005/10/26 03:29:44 rrossmair -// - improved header information, added $Date$ and $Log$ -// - improved header information, added $Date$ and Revision 1.9 2006/03/26 20:22:19 outchy -// - improved header information, added $Date$ and Command registration moved out of expert constructors and destructors -// - improved header information, added $Date$ and -// - improved header information, added $Date$ and Revision 1.8 2006/01/08 17:16:57 outchy -// - improved header information, added $Date$ and Settings reworked. -// - improved header information, added $Date$ and Common window for expert configurations -// - improved header information, added $Date$ and -// - improved header information, added $Date$ and Revision 1.7 2005/12/26 18:03:41 outchy -// - improved header information, added $Date$ and Enhanced bds support (including C#1 and D8) -// - improved header information, added $Date$ and Introduction of dll experts -// - improved header information, added $Date$ and Project types in templates -// - improved header information, added $Date$ and -// - improved header information, added $Date$ and Revision 1.6 2005/12/16 23:46:25 outchy -// - improved header information, added $Date$ and Added expert stack form. -// - improved header information, added $Date$ and Added code to display call stack on expert exception. -// - improved header information, added $Date$ and Fixed package extension for D2006. -// - improved header information, added $Date$ and CVS tags. -// - end. Modified: trunk/jcl/experts/favfolders/OpenDlgFavAdapter.pas =================================================================== --- trunk/jcl/experts/favfolders/OpenDlgFavAdapter.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/favfolders/OpenDlgFavAdapter.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -25,7 +25,6 @@ {**************************************************************************************************} // Last modified: $Date$ -// For history see end of file unit OpenDlgFavAdapter; @@ -522,29 +521,4 @@ end; end; - -// History: - -// $Log$ -// Revision 1.4 2005/12/26 18:03:41 outchy -// Enhanced bds support (including C#1 and D8) -// Introduction of dll experts -// Project types in templates -// -// Revision 1.3 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.2 2005/10/21 12:24:41 marquardt -// experts reorganized with new directory common -// -// Revision 1.1 2005/10/03 16:27:37 rrossmair -// - moved over from jcl\examples\vcl\idefavopendialogs -// -// Revision 1.5 2005/02/26 17:36:01 rrossmair -// - applied Salvatore Besso's fix for truncation of Add button when using large fonts. -// - some cleaning, module header updated. -// - end. Modified: trunk/jcl/experts/useswizard/JCLOptionsFrame.pas =================================================================== --- trunk/jcl/experts/useswizard/JCLOptionsFrame.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/useswizard/JCLOptionsFrame.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -126,29 +126,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.6 2006/01/08 17:16:57 outchy -// Settings reworked. -// Common window for expert configurations -// -// Revision 1.5 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.4 2005/10/26 03:29:44 rrossmair -// - improved header information, added $Date$ and $Log$ -// - improved header information, added $Date$ and Revision 1.6 2006/01/08 17:16:57 outchy -// - improved header information, added $Date$ and Settings reworked. -// - improved header information, added $Date$ and Common window for expert configurations -// - improved header information, added $Date$ and -// - improved header information, added $Date$ and Revision 1.5 2005/12/16 23:46:25 outchy -// - improved header information, added $Date$ and Added expert stack form. -// - improved header information, added $Date$ and Added code to display call stack on expert exception. -// - improved header information, added $Date$ and Fixed package extension for D2006. -// - improved header information, added $Date$ and CVS tags. -// - end. Modified: trunk/jcl/experts/useswizard/JCLUsesWizard.pas =================================================================== --- trunk/jcl/experts/useswizard/JCLUsesWizard.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/useswizard/JCLUsesWizard.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -1022,39 +1022,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.9 2006/01/08 17:16:57 outchy -// Settings reworked. -// Common window for expert configurations -// -// Revision 1.8 2005/12/26 18:03:41 outchy -// Enhanced bds support (including C#1 and D8) -// Introduction of dll experts -// Project types in templates -// -// Revision 1.7 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.6 2005/10/26 03:29:44 rrossmair -// - improved header information, added $Date$ and $Log$ -// - improved header information, added $Date$ and Revision 1.9 2006/01/08 17:16:57 outchy -// - improved header information, added $Date$ and Settings reworked. -// - improved header information, added $Date$ and Common window for expert configurations -// - improved header information, added $Date$ and -// - improved header information, added $Date$ and Revision 1.8 2005/12/26 18:03:41 outchy -// - improved header information, added $Date$ and Enhanced bds support (including C#1 and D8) -// - improved header information, added $Date$ and Introduction of dll experts -// - improved header information, added $Date$ and Project types in templates -// - improved header information, added $Date$ and -// - improved header information, added $Date$ and Revision 1.7 2005/12/16 23:46:25 outchy -// - improved header information, added $Date$ and Added expert stack form. -// - improved header information, added $Date$ and Added code to display call stack on expert exception. -// - improved header information, added $Date$ and Fixed package extension for D2006. -// - improved header information, added $Date$ and CVS tags. -// - end. Modified: trunk/jcl/experts/useswizard/JclParseUses.pas =================================================================== --- trunk/jcl/experts/useswizard/JclParseUses.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/useswizard/JclParseUses.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -882,21 +882,4 @@ inherited Destroy; end; -// History: - -// $Log$ -// Revision 1.4 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.3 2005/10/26 03:29:44 rrossmair -// - improved header information, added $Date$ and $Log$ -// - improved header information, added $Date$ and Revision 1.4 2005/12/16 23:46:25 outchy -// - improved header information, added $Date$ and Added expert stack form. -// - improved header information, added $Date$ and Added code to display call stack on expert exception. -// - improved header information, added $Date$ and Fixed package extension for D2006. -// - improved header information, added $Date$ and CVS tags. -// - end. Modified: trunk/jcl/experts/useswizard/JclUsesDialog.pas =================================================================== --- trunk/jcl/experts/useswizard/JclUsesDialog.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/useswizard/JclUsesDialog.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -190,21 +190,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.4 2005/12/16 23:46:25 outchy -// Added expert stack form. -// Added code to display call stack on expert exception. -// Fixed package extension for D2006. -// -// Revision 1.3 2005/10/26 03:29:44 rrossmair -// - improved header information, added $Date$ and $Log$ -// - improved header information, added $Date$ and Revision 1.4 2005/12/16 23:46:25 outchy -// - improved header information, added $Date$ and Added expert stack form. -// - improved header information, added $Date$ and Added code to display call stack on expert exception. -// - improved header information, added $Date$ and Fixed package extension for D2006. -// - improved header information, added $Date$ and CVS tags. -// - end. Modified: trunk/jcl/experts/versioncontrol/JclVersionCtrlCVSImpl.pas =================================================================== --- trunk/jcl/experts/versioncontrol/JclVersionCtrlCVSImpl.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/versioncontrol/JclVersionCtrlCVSImpl.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -364,19 +364,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.3 2006/03/13 22:14:59 outchy -// PathSeparator renamed to DirDelimiter -// Installer checks paths -// -// Revision 1.2 2006/01/25 20:32:29 outchy -// Fixed issue with invalid cvs subdirectory -// -// Revision 1.1 2006/01/15 00:51:22 outchy -// cvs support in version control expert -// version control expert integration in the installer -// - end. Modified: trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.pas =================================================================== --- trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/versioncontrol/JclVersionCtrlCommonOptions.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -561,16 +561,4 @@ AllowEdit := Assigned(Node) and (Node.Text <> '-') and not Assigned(Node.Data); end; -// History: - -// $Log$ -// Revision 1.2 2006/01/15 20:58:03 outchy -// Delphi 5 support: no TCustomAction.AutoCheck property -// Removed unused resources -// -// Revision 1.1 2006/01/15 00:51:22 outchy -// cvs support in version control expert -// version control expert integration in the installer -// - end. Modified: trunk/jcl/experts/versioncontrol/JclVersionCtrlSVNImpl.pas =================================================================== --- trunk/jcl/experts/versioncontrol/JclVersionCtrlSVNImpl.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/versioncontrol/JclVersionCtrlSVNImpl.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -407,22 +407,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.4 2006/03/13 22:14:59 outchy -// PathSeparator renamed to DirDelimiter -// Installer checks paths -// -// Revision 1.3 2006/01/26 06:15:17 outchy -// Repository browser now works -// -// Revision 1.2 2006/01/25 20:33:27 outchy -// Added _svn as a valid subdirectory -// -// Revision 1.1 2006/01/15 00:51:22 outchy -// cvs support in version control expert -// version control expert integration in the installer -// - end. Modified: trunk/jcl/experts/versioncontrol/VersionControlImpl.pas =================================================================== --- trunk/jcl/experts/versioncontrol/VersionControlImpl.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/experts/versioncontrol/VersionControlImpl.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -2141,30 +2141,4 @@ end; end; -// History: - -// $Log$ -// Revision 1.9 2006/03/13 22:14:59 outchy -// PathSeparator renamed to DirDelimiter -// Installer checks paths -// -// Revision 1.8 2006/02/02 08:06:36 elahn -// Add "Explore Folder" to TJclVersionControlSystemPlugin. Change RsVersionCtrlContextMenuCaption to "Context Menu (right-click)". -// -// Revision 1.7 2006/01/25 20:34:38 outchy -// Multiple plugins can be active at the same time. -// New plugin for common (system) actions. -// -// Revision 1.6 2006/01/19 07:58:11 elahn -// Bugfix - ContextMenu not appearing at Mouse.CursorPos -// -// Revision 1.5 2006/01/15 20:58:03 outchy -// Delphi 5 support: no TCustomAction.AutoCheck property -// Removed unused resources -// -// Revision 1.4 2006/01/15 11:33:21 outchy -// cvs support in version control expert -// version control expert integration in the installer -// - end. Modified: trunk/jcl/install/JclInstall.pas =================================================================== --- trunk/jcl/install/JclInstall.pas 2006-05-29 16:44:47 UTC (rev 1670) +++ trunk/jcl/install/JclInstall.pas 2006-05-29 22:02:45 UTC (rev 1671) @@ -2692,207 +2692,4 @@ {$ENDIF ~KYLIX} end; -// History: - -// $Log$ -// Revision 1.100 2006/03/23 21:29:59 outchy -// Help 2.0 code moved to runtime units -// Fixed compilation of TLB files for BCB -// -// Revision 1.99 2006/03/22 19:52:17 outchy -// Fixed c5 and d5 compilation -// -// Revision 1.98 2006/03/15 20:48:34 outchy -// Fixed thread safe support -// -// Revision 1.97 2006/03/13 22:15:00 outchy -// PathSeparator renamed to DirDelimiter -// Installer checks paths -// -// Revision 1.96 2006/03/04 21:22:10 outchy -// Jcl directories added to the C++ side of BDS 2006 -// -// Revision 1.95 2006/03/02 13:28:48 obones -// Now compiles fine with C5/D5, the help2 functions doing nothing at all in this case -// -// Revision 1.94 2006/02/28 18:41:55 ahuser -// Fixed BplDir <-> DcpDir swap -// -// Revision 1.93 2006/02/28 16:30:20 ahuser -// Jedi Registry Information record -// -// Revision 1.92 2006/02/26 18:31:42 outchy -// Chm help can now be removed -// Alpha version for the help 2.0 -// -// Revision 1.91 2006/02/26 12:41:20 outchy -// Minor style cleaning -// -// Revision 1.90 2006/02/09 13:57:33 outchy -// Delete old compiler files -// -// Revision 1.89 2006/02/05 13:26:14 outchy -// dcp, bpi and lib files are created in \lib\ver -// -// Revision 1.88 2006/02/02 20:33:39 outchy -// Package cache cleaned -// -// Revision 1.87 2006/01/15 00:51:22 outchy -// cvs support in version control expert -// version control expert integration in the installer -// -// Revision 1.86 2006/01/13 16:52:00 outchy -// Warning of packages are not installed. -// -// Revision 1.85 2006/01/... [truncated message content] |
|
From: <ah...@us...> - 2006-05-29 16:44:55
|
Revision: 1670 Author: ahuser Date: 2006-05-29 09:44:47 -0700 (Mon, 29 May 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1670&view=rev Log Message: ----------- Modified Paths: -------------- trunk/jcl/source/windows/JclTD32.pas Modified: trunk/jcl/source/windows/JclTD32.pas =================================================================== --- trunk/jcl/source/windows/JclTD32.pas 2006-05-27 20:02:53 UTC (rev 1669) +++ trunk/jcl/source/windows/JclTD32.pas 2006-05-29 16:44:47 UTC (rev 1670) @@ -778,11 +778,14 @@ FModules: TObjectList; FSourceModules: TObjectList; FSymbols: TObjectList; + FProcSymbols: TList; FValidData: Boolean; function GetName(const Idx: Integer): string; function GetNameCount: Integer; function GetSymbol(const Idx: Integer): TJclSymbolInfo; function GetSymbolCount: Integer; + function GetProcSymbol(const Idx: Integer): TJclProcSymbolInfo; + function GetProcSymbolCount: Integer; function GetModule(const Idx: Integer): TJclModuleInfo; function GetModuleCount: Integer; function GetSourceModule(const Idx: Integer): TJclSourceModuleInfo; @@ -809,6 +812,8 @@ property NameCount: Integer read GetNameCount; property Symbols[const Idx: Integer]: TJclSymbolInfo read GetSymbol; property SymbolCount: Integer read GetSymbolCount; + property ProcSymbols[const Idx: Integer]: TJclProcSymbolInfo read GetProcSymbol; + property ProcSymbolCount: Integer read GetProcSymbolCount; property Modules[const Idx: Integer]: TJclModuleInfo read GetModule; property ModuleCount: Integer read GetModuleCount; property SourceModules[const Idx: Integer]: TJclSourceModuleInfo read GetSourceModule; @@ -1087,6 +1092,7 @@ FModules := TObjectList.Create; FSourceModules := TObjectList.Create; FSymbols := TObjectList.Create; + FProcSymbols := TList.Create; FNames.Add(nil); FData := ATD32Data; FBase := FData.Memory; @@ -1097,6 +1103,7 @@ destructor TJclTD32InfoParser.Destroy; begin + FreeAndNil(FProcSymbols); FreeAndNil(FSymbols); FreeAndNil(FSourceModules); FreeAndNil(FModules); @@ -1290,9 +1297,15 @@ pInfo := PSymbolInfo(DWORD(pSymbols) + Offset); case pInfo.SymbolType of SYMBOL_TYPE_LPROC32: - Symbol := TJclLocalProcSymbolInfo.Create(pInfo); + begin + Symbol := TJclLocalProcSymbolInfo.Create(pInfo); + FProcSymbols.Add(Symbol); + end; SYMBOL_TYPE_GPROC32: - Symbol := TJclGlobalProcSymbolInfo.Create(pInfo); + begin + Symbol := TJclGlobalProcSymbolInfo.Create(pInfo); + FProcSymbols.Add(Symbol); + end; SYMBOL_TYPE_OBJNAME: Symbol := TJclObjNameSymbolInfo.Create(pInfo); SYMBOL_TYPE_LDATA32: @@ -1387,6 +1400,16 @@ Result := FSymbols.Count; end; +function TJclTD32InfoParser.GetProcSymbol(const Idx: Integer): TJclProcSymbolInfo; +begin + Result := TJclProcSymbolInfo(FProcSymbols.Items[Idx]); +end; + +function TJclTD32InfoParser.GetProcSymbolCount: Integer; +begin + Result := FProcSymbols.Count; +end; + function TJclTD32InfoParser.FindModule(const AAddr: DWORD; var AMod: TJclModuleInfo): Boolean; var @@ -1397,14 +1420,11 @@ with Modules[I] do for J := 0 to SegmentCount - 1 do begin - if AAddr >= FSegments[J].Offset then + if (AAddr >= FSegments[J].Offset) and (AAddr - FSegments[J].Offset <= Segment[J].Size) then begin - if AAddr - FSegments[J].Offset <= Segment[J].Size then - begin - Result := True; - AMod := Modules[I]; - Exit; - end; + Result := True; + AMod := Modules[I]; + Exit; end; end; Result := False; @@ -1420,15 +1440,15 @@ for I := 0 to SourceModuleCount - 1 do with SourceModules[I] do for J := 0 to SegmentCount - 1 do - with Segment[J] do - if (StartOffset <= AAddr) and (AAddr < EndOffset) then - begin - Result := True; - ASrcMod := SourceModules[I]; - Exit; - end; + with Segment[J] do + if (StartOffset <= AAddr) and (AAddr < EndOffset) then + begin + Result := True; + ASrcMod := SourceModules[I]; + Exit; + end; + ASrcMod := nil; Result := False; - ASrcMod := nil; end; function TJclTD32InfoParser.FindProc(const AAddr: DWORD; var AProc: TJclProcSymbolInfo): Boolean; @@ -1436,17 +1456,18 @@ I: Integer; begin if ValidData then - for I := 0 to SymbolCount - 1 do - if Symbols[I].InheritsFrom(TJclProcSymbolInfo) then - with Symbols[I] as TJclProcSymbolInfo do + for I := 0 to ProcSymbolCount - 1 do + begin + AProc := ProcSymbols[I]; + with AProc do if (Offset <= AAddr) and (AAddr < Offset + Size) then begin Result := True; - AProc := TJclProcSymbolInfo(Symbols[I]); Exit; end; + end; + AProc := nil; Result := False; - AProc := nil; end; class function TJclTD32InfoParser.IsTD32DebugInfoValid( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-05-27 20:03:31
|
Revision: 1669 Author: outchy Date: 2006-05-27 13:02:53 -0700 (Sat, 27 May 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1669&view=rev Log Message: ----------- Latest changes moved to the prototypes Style cleaning to make error insight happy Some new constants from imagehlp.h Modified Paths: -------------- trunk/jcl/source/prototypes/JclWin32.pas trunk/jcl/source/prototypes/win32api/AclApi.imp trunk/jcl/source/prototypes/win32api/AclApi.int trunk/jcl/source/prototypes/win32api/DelayImp.int trunk/jcl/source/prototypes/win32api/ImageHlp.imp trunk/jcl/source/prototypes/win32api/ImageHlp.int trunk/jcl/source/prototypes/win32api/LmAccess.imp trunk/jcl/source/prototypes/win32api/LmAccess.int trunk/jcl/source/prototypes/win32api/LmApiBuf.imp trunk/jcl/source/prototypes/win32api/LmApiBuf.int trunk/jcl/source/prototypes/win32api/Nb30.imp trunk/jcl/source/prototypes/win32api/Nb30.int trunk/jcl/source/prototypes/win32api/WinBase.imp trunk/jcl/source/prototypes/win32api/WinBase.int trunk/jcl/source/prototypes/win32api/WinNLS.imp trunk/jcl/source/prototypes/win32api/WinNLS.int trunk/jcl/source/prototypes/win32api/WinNT.imp trunk/jcl/source/prototypes/win32api/WinNT.int trunk/jcl/source/prototypes/win32api/WinUser.int trunk/jcl/source/windows/JclWin32.pas Modified: trunk/jcl/source/prototypes/JclWin32.pas =================================================================== --- trunk/jcl/source/prototypes/JclWin32.pas 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/JclWin32.pas 2006-05-27 20:02:53 UTC (rev 1669) @@ -63,11 +63,21 @@ uses Windows, SysUtils, {$IFNDEF FPC} - AccCtrl, ActiveX, + {$IFDEF CLR} + System.Runtime.InteropServices, System.Security, + {$ELSE} + AccCtrl, + {$ENDIF CLR} + ActiveX, {$ENDIF ~FPC} JclBase; {$HPPEMIT ''} +{$IFDEF COMPILER5} +{$HPPEMIT '// To lift ambiguity between LONG64 and System::LONG64'} +{$HPPEMIT '#define LONG64 System::LONG64'} +{$HPPEMIT ''} +{$ENDIF COMPILER5} {$HPPEMIT '#include "WinDef.h"'} {$HPPEMIT '#include "WinNT.h"'} {$HPPEMIT '#include "WinBase.h"'} @@ -76,7 +86,9 @@ {$HPPEMIT '#include "lm.h"'} {$HPPEMIT '#include "Nb30.h"'} {$HPPEMIT '#include "RasDlg.h"'} +{$IFDEF COMPILER6_UP} {$HPPEMIT '#include "Reason.h"'} +{$ENDIF COMPILER6_UP} {$HPPEMIT '#include "ShlWApi.h"'} {$HPPEMIT '#include "WinError.h"'} {$HPPEMIT '#include "WinIoCtl.h"'} @@ -85,6 +97,17 @@ {$HPPEMIT '#include <delayimp.h>'} {$HPPEMIT ''} +{$IFDEF CLR} +type + LPSTR = string; + LPWSTR = string; + LPCSTR = string; + LPCWSTR = string; + LPCTSTR = string; + PLongWord = ^LongWord; + PByte = IntPtr; +{$ENDIF CLR} + {$IFDEF FPC} // include file for FPC compatibility {$I win32api\fpc.inc} @@ -114,69 +137,72 @@ {$IFDEF MSWINDOWS} +{$IFNDEF CLR} + const RtdlSetNamedSecurityInfoW: function(pObjectName: LPWSTR; ObjectType: SE_OBJECT_TYPE; SecurityInfo: SECURITY_INFORMATION; psidOwner, psidGroup: PSID; - pDacl, pSacl: PACL): DWORD; stdcall = SetNamedSecurityInfoW; + pDacl, pSacl: PACL): DWORD stdcall = SetNamedSecurityInfoW; RtdlSetWaitableTimer: function(hTimer: THandle; var lpDueTime: TLargeInteger; lPeriod: Longint; pfnCompletionRoutine: TFNTimerAPCRoutine; - lpArgToCompletionRoutine: Pointer; fResume: BOOL): BOOL; stdcall = SetWaitableTimer; + lpArgToCompletionRoutine: Pointer; fResume: BOOL): BOOL stdcall = SetWaitableTimer; RtdlNetUserAdd: function(servername: LPCWSTR; level: DWORD; - buf: PByte; parm_err: PDWord): NET_API_STATUS; stdcall = NetUserAdd; + buf: PByte; parm_err: PDWord): NET_API_STATUS stdcall = NetUserAdd; RtdlNetUserDel: function(servername: LPCWSTR; - username: LPCWSTR): NET_API_STATUS; stdcall = NetUserDel; + username: LPCWSTR): NET_API_STATUS stdcall = NetUserDel; RtdlNetGroupAdd: function(servername: LPCWSTR; level: DWORD; buf: PByte; - parm_err: PDWord): NET_API_STATUS; stdcall = NetGroupAdd; + parm_err: PDWord): NET_API_STATUS stdcall = NetGroupAdd; RtdlNetGroupEnum: function(servername: LPCWSTR; level: DWORD; out bufptr: PByte; prefmaxlen: DWORD; out entriesread, totalentries: DWORD; - resume_handle: PDWORD_PTR): NET_API_STATUS; stdcall = NetGroupEnum; + resume_handle: PDWORD_PTR): NET_API_STATUS stdcall = NetGroupEnum; RtdlNetGroupDel: function(servername: LPCWSTR; - groupname: LPCWSTR): NET_API_STATUS; stdcall = NetGroupDel; + groupname: LPCWSTR): NET_API_STATUS stdcall = NetGroupDel; RtdlNetLocalGroupAdd: function(servername: LPCWSTR; level: DWORD; - buf: PByte; parm_err: PDWord): NET_API_STATUS; stdcall = NetLocalGroupAdd; + buf: PByte; parm_err: PDWord): NET_API_STATUS stdcall = NetLocalGroupAdd; RtdlNetLocalGroupEnum: function(servername: LPCWSTR; level: DWORD; out bufptr: PByte; prefmaxlen: DWORD; out entriesread, totalentries: DWORD; - resumehandle: PDWORD_PTR): NET_API_STATUS; stdcall = NetLocalGroupEnum; + resumehandle: PDWORD_PTR): NET_API_STATUS stdcall = NetLocalGroupEnum; RtdlNetLocalGroupDel: function(servername: LPCWSTR; - groupname: LPCWSTR): NET_API_STATUS; stdcall = NetLocalGroupDel; + groupname: LPCWSTR): NET_API_STATUS stdcall = NetLocalGroupDel; RtdlNetLocalGroupAddMembers: function(servername: LPCWSTR; groupname: LPCWSTR; level: DWORD; buf: PByte; - totalentries: DWORD): NET_API_STATUS; stdcall = NetLocalGroupAddMembers; + totalentries: DWORD): NET_API_STATUS stdcall = NetLocalGroupAddMembers; - RtdlNetApiBufferFree: function(Buffer: Pointer): NET_API_STATUS; stdcall = NetApiBufferFree; + RtdlNetApiBufferFree: function(Buffer: Pointer): NET_API_STATUS stdcall = NetApiBufferFree; RtdlGetCalendarInfoA: function(Locale: LCID; Calendar: CALID; CalType: CALTYPE; lpCalData: PAnsiChar; cchData: Integer; - lpValue: PDWORD): Integer; stdcall = GetCalendarInfoA; + lpValue: PDWORD): Integer stdcall = GetCalendarInfoA; RtdlGetCalendarInfoW: function(Locale: LCID; Calendar: CALID; CalType: CALTYPE; lpCalData: PWideChar; cchData: Integer; - lpValue: PDWORD): Integer; stdcall = GetCalendarInfoW; + lpValue: PDWORD): Integer stdcall = GetCalendarInfoW; RtdlEnumCalendarInfoExA: function(lpCalInfoEnumProc: TCalInfoEnumProcExA; - Locale: LCID; Calendar: CALID; CalType: CALTYPE): BOOL; stdcall = EnumCalendarInfoExA; + Locale: LCID; Calendar: CALID; CalType: CALTYPE): BOOL stdcall = EnumCalendarInfoExA; RtdlGetVolumeNameForVolumeMountPoint: function(lpszVolumeMountPoint: LPCSTR; - lpszVolumeName: LPSTR; cchBufferLength: DWORD): BOOL; stdcall = GetVolumeNameForVolumeMountPoint; + lpszVolumeName: LPSTR; cchBufferLength: DWORD): BOOL stdcall = GetVolumeNameForVolumeMountPoint; RtdlSetVolumeMountPoint: function(lpszVolumeMountPoint: LPCSTR; - lpszVolumeName: LPCSTR): BOOL; stdcall = SetVolumeMountPoint; + lpszVolumeName: LPCSTR): BOOL stdcall = SetVolumeMountPoint; - RtdlDeleteVolumeMountPoint: function(lpszVolumeMountPoint: LPCSTR): BOOL; + RtdlDeleteVolumeMountPoint: function(lpszVolumeMountPoint: LPCSTR): BOOL stdcall = DeleteVolumeMountPoint; - RtdlNetBios: function(P: PNCB): UCHAR; stdcall = NetBios; + RtdlNetBios: function(P: PNCB): UCHAR stdcall = NetBios; +{$ENDIF ~CLR} {$ENDIF MSWINDOWS} implementation @@ -191,6 +217,7 @@ AWSuffix = 'A'; {$ENDIF ~UNICODE} +{$IFNDEF CLR} procedure GetProcedureAddress(var P: Pointer; const ModuleName, ProcName: string); var ModuleHandle: HMODULE; @@ -209,6 +236,7 @@ raise EJclError.CreateResFmt(@RsEFunctionNotFound, [ModuleName, ProcName]); end; end; +{$ENDIF ~CLR} {$I win32api\AclApi.imp} {$I win32api\ImageHlp.imp} Modified: trunk/jcl/source/prototypes/win32api/AclApi.imp =================================================================== --- trunk/jcl/source/prototypes/win32api/AclApi.imp 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/AclApi.imp 2006-05-27 20:02:53 UTC (rev 1669) @@ -1,5 +1,6 @@ {$IFDEF MSWINDOWS} +{$IFNDEF CLR} const aclapilib = 'advapi32.dll'; @@ -15,5 +16,6 @@ jmp [_SetNamedSecurityInfoW] end; end; +{$ENDIF ~CLR} {$ENDIF MSWINDOWS} Modified: trunk/jcl/source/prototypes/win32api/AclApi.int =================================================================== --- trunk/jcl/source/prototypes/win32api/AclApi.int 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/AclApi.int 2006-05-27 20:02:53 UTC (rev 1669) @@ -3,8 +3,10 @@ // line 185 {$IFDEF MSWINDOWS} +{$IFNDEF CLR} function SetNamedSecurityInfoW(pObjectName: LPWSTR; ObjectType: SE_OBJECT_TYPE; SecurityInfo: SECURITY_INFORMATION; psidOwner, psidGroup: PSID; pDacl, pSacl: PACL): DWORD; stdcall; {$EXTERNALSYM SetNamedSecurityInfoW} +{$ENDIF ~CLR} {$ENDIF MSWINDOWS} \ No newline at end of file Modified: trunk/jcl/source/prototypes/win32api/DelayImp.int =================================================================== --- trunk/jcl/source/prototypes/win32api/DelayImp.int 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/DelayImp.int 2006-05-27 20:02:53 UTC (rev 1669) @@ -1,3 +1,4 @@ +{$IFNDEF CLR} type { TODO : Source unknown } @@ -38,7 +39,7 @@ TImgDelayDescr = ImgDelayDescr; PImgDelayDescr = ^ImgDelayDescr; - + // Microsoft version (64 bit SDK) {$EXTERNALSYM RVA} RVA = DWORD; @@ -59,3 +60,5 @@ PImgDelayDescr = ImgDelayDescr; TImgDelayDescr = ImgDelayDescr; *) + +{$ENDIF ~CLR} \ No newline at end of file Modified: trunk/jcl/source/prototypes/win32api/ImageHlp.imp =================================================================== --- trunk/jcl/source/prototypes/win32api/ImageHlp.imp 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/ImageHlp.imp 2006-05-27 20:02:53 UTC (rev 1669) @@ -1,5 +1,6 @@ {$IFDEF MSWINDOWS} +{$IFNDEF CLR} const ImageHlpLib = 'imagehlp.dll'; @@ -200,4 +201,6 @@ Result := 0; end; +{$ENDIF ~CLR} + {$ENDIF UNIX} Modified: trunk/jcl/source/prototypes/win32api/ImageHlp.int =================================================================== --- trunk/jcl/source/prototypes/win32api/ImageHlp.int 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/ImageHlp.int 2006-05-27 20:02:53 UTC (rev 1669) @@ -1,3 +1,6 @@ + +{$IFNDEF CLR} + const IMAGE_SEPARATION = (64*1024); {$EXTERNALSYM IMAGE_SEPARATION} @@ -74,6 +77,8 @@ LastRvaSection: PPImageSectionHeader): Pointer; stdcall; {$EXTERNALSYM ImageRvaToVa} +{$ENDIF ~CLR} + // line 461 // @@ -117,8 +122,60 @@ UNDNAME_NO_SPECIAL_SYMS = ($4000); // Don't undecorate special names (v-table, vcall, vector xxx, metatype, etc) {$EXTERNALSYM UNDNAME_NO_SPECIAL_SYMS} -function UnDecorateSymbolName(DecoratedName: PAnsiChar; UnDecoratedName: PAnsiChar; - UndecoratedLength: DWORD; Flags: DWORD): DWORD; stdcall; +function UnDecorateSymbolName(DecoratedName: {$IFDEF CLR}string{$ELSE}PAnsiChar{$ENDIF}; + UnDecoratedName: {$IFDEF CLR}string{$ELSE}PAnsiChar{$ENDIF}; UndecoratedLength: DWORD; Flags: DWORD): DWORD; stdcall; + {$IFDEF CLR}external 'imagehlp.dll' name 'UnDecorateSymbolName';{$ENDIF} {$EXTERNALSYM UnDecorateSymbolName} +// line 1475 +// +// options that are set/returned by SymSetOptions() & SymGetOptions() +// these are used as a mask +// + +const +// defined in ImageHlp.pas +// SYMOPT_CASE_INSENSITIVE = $00000001; +// {$EXTERNALSYM SYMOPT_CASE_INSENSITIVE} +// SYMOPT_UNDNAME = $00000002; +// {$EXTERNALSYM SYMOPT_UNDNAME} +// SYMOPT_DEFERRED_LOADS = $00000004; +// {$EXTERNALSYM SYMOPT_DEFERRED_LOADS} +// SYMOPT_NO_CPP = $00000008; +// {$EXTERNALSYM SYMOPT_NO_CPP} + SYMOPT_LOAD_LINES = $00000010; + {$EXTERNALSYM SYMOPT_LOAD_LINES} + SYMOPT_OMAP_FIND_NEAREST = $00000020; + {$EXTERNALSYM SYMOPT_OMAP_FIND_NEAREST} + SYMOPT_LOAD_ANYTHING = $00000040; + {$EXTERNALSYM SYMOPT_LOAD_ANYTHING} + SYMOPT_IGNORE_CVREC = $00000080; + {$EXTERNALSYM SYMOPT_IGNORE_CVREC} + SYMOPT_NO_UNQUALIFIED_LOADS = $00000100; + {$EXTERNALSYM SYMOPT_NO_UNQUALIFIED_LOADS} + SYMOPT_FAIL_CRITICAL_ERRORS = $00000200; + {$EXTERNALSYM SYMOPT_FAIL_CRITICAL_ERRORS} + SYMOPT_EXACT_SYMBOLS = $00000400; + {$EXTERNALSYM SYMOPT_EXACT_SYMBOLS} + SYMOPT_ALLOW_ABSOLUTE_SYMBOLS = $00000800; + {$EXTERNALSYM SYMOPT_ALLOW_ABSOLUTE_SYMBOLS} + SYMOPT_IGNORE_NT_SYMPATH = $00001000; + {$EXTERNALSYM SYMOPT_IGNORE_NT_SYMPATH} + SYMOPT_INCLUDE_32BIT_MODULES = $00002000; + {$EXTERNALSYM SYMOPT_INCLUDE_32BIT_MODULES} + SYMOPT_PUBLICS_ONLY = $00004000; + {$EXTERNALSYM SYMOPT_PUBLICS_ONLY} + SYMOPT_NO_PUBLICS = $00008000; + {$EXTERNALSYM SYMOPT_NO_PUBLICS} + SYMOPT_AUTO_PUBLICS = $00010000; + {$EXTERNALSYM SYMOPT_AUTO_PUBLICS} + SYMOPT_NO_IMAGE_SEARCH = $00020000; + {$EXTERNALSYM SYMOPT_NO_IMAGE_SEARCH} + SYMOPT_SECURE = $00040000; + {$EXTERNALSYM SYMOPT_SECURE} + SYMOPT_NO_PROMPTS = $00080000; + {$EXTERNALSYM SYMOPT_NO_PROMPTS} + + SYMOPT_DEBUG = $80000000; + {$EXTERNALSYM SYMOPT_DEBUG} Modified: trunk/jcl/source/prototypes/win32api/LmAccess.imp =================================================================== --- trunk/jcl/source/prototypes/win32api/LmAccess.imp 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/LmAccess.imp 2006-05-27 20:02:53 UTC (rev 1669) @@ -1,4 +1,5 @@ {$IFDEF MSWINDOWS} +{$IFNDEF CLR} var _NetUserAdd: Pointer; @@ -403,4 +404,5 @@ end; end; +{$ENDIF ~CLR} {$ENDIF MSWINDOWS} Modified: trunk/jcl/source/prototypes/win32api/LmAccess.int =================================================================== --- trunk/jcl/source/prototypes/win32api/LmAccess.int 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/LmAccess.int 2006-05-27 20:02:53 UTC (rev 1669) @@ -5,6 +5,7 @@ // {$IFDEF MSWINDOWS} +{$IFNDEF CLR} function NetUserAdd(servername: LPCWSTR; level: DWORD; buf: PByte; parm_err: LPDWORD): NET_API_STATUS; stdcall; {$EXTERNALSYM NetUserAdd} @@ -39,6 +40,7 @@ function NetUserChangePassword(domainname, username, oldpassword, newpassword: LPCWSTR): NET_API_STATUS; stdcall; {$EXTERNALSYM NetUserChangePassword} +{$ENDIF ~CLR} {$ENDIF MSWINDOWS} // @@ -102,7 +104,7 @@ usri2_acct_expires: DWORD; usri2_max_storage: DWORD; usri2_units_per_week: DWORD; - usri2_logon_hours: PBYTE; + usri2_logon_hours: {$IFDEF CLR}IntPtr{$ELSE}PBYTE{$ENDIF}; usri2_bad_pw_count: DWORD; usri2_num_logons: DWORD; usri2_logon_server: LPWSTR; @@ -247,6 +249,7 @@ // {$IFDEF MSWINDOWS} +{$IFNDEF CLR} function NetGroupAdd(servername: LPCWSTR; level: DWORD; buf: PByte; parm_err: LPDWORD): NET_API_STATUS; stdcall; {$EXTERNALSYM NetGroupAdd} @@ -276,6 +279,7 @@ function NetGroupSetUsers(servername, groupname: LPCWSTR; level: DWORD; buf: PByte; totalentries: DWORD): NET_API_STATUS; stdcall; {$EXTERNALSYM NetGroupSetUsers} +{$ENDIF ~CLR} {$ENDIF MSWINDOWS} // @@ -321,6 +325,7 @@ // {$IFDEF MSWINDOWS} +{$IFNDEF CLR} function NetLocalGroupAdd(servername: LPCWSTR; level: DWORD; buf: PByte; parm_err: LPDWORD): NET_API_STATUS; stdcall; {$EXTERNALSYM NetLocalGroupAdd} @@ -356,6 +361,7 @@ function NetLocalGroupDelMembers(servername, groupname: LPCWSTR; level: DWORD; buf: PByte; totalentries: DWORD): NET_API_STATUS; stdcall; {$EXTERNALSYM NetLocalGroupDelMembers} +{$ENDIF ~CLR} {$ENDIF MSWINDOWS} // Modified: trunk/jcl/source/prototypes/win32api/LmApiBuf.imp =================================================================== --- trunk/jcl/source/prototypes/win32api/LmApiBuf.imp 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/LmApiBuf.imp 2006-05-27 20:02:53 UTC (rev 1669) @@ -1,5 +1,7 @@ {$IFDEF MSWINDOWS} +{$IFNDEF CLR} + var _NetApiBufferFree: Pointer; @@ -13,4 +15,6 @@ end; end; +{$ENDIF ~CLR} + {$ENDIF MSWINDOWS} Modified: trunk/jcl/source/prototypes/win32api/LmApiBuf.int =================================================================== --- trunk/jcl/source/prototypes/win32api/LmApiBuf.int 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/LmApiBuf.int 2006-05-27 20:02:53 UTC (rev 1669) @@ -1,4 +1,8 @@ {$IFDEF MSWINDOWS} +{$IFNDEF CLR} + function NetApiBufferFree(Buffer: Pointer): NET_API_STATUS; stdcall; {$EXTERNALSYM NetApiBufferFree} + +{$ENDIF ~CLR} {$ENDIF MSWINDOWS} Modified: trunk/jcl/source/prototypes/win32api/Nb30.imp =================================================================== --- trunk/jcl/source/prototypes/win32api/Nb30.imp 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/Nb30.imp 2006-05-27 20:02:53 UTC (rev 1669) @@ -1,5 +1,7 @@ {$IFDEF MSWINDOWS} +{$IFNDEF CLR} + var _Netbios: Pointer; @@ -13,4 +15,6 @@ end; end; +{$ENDIF ~CLR} + {$ENDIF MSWINDOWS} Modified: trunk/jcl/source/prototypes/win32api/Nb30.int =================================================================== --- trunk/jcl/source/prototypes/win32api/Nb30.int 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/Nb30.int 2006-05-27 20:02:53 UTC (rev 1669) @@ -1,3 +1,5 @@ +{$IFNDEF CLR} + (**************************************************************** * * * Data structure templates * @@ -260,6 +262,8 @@ MS_NBF = 'MNBF'; {$EXTERNALSYM MS_NBF} +{$ENDIF ~CLR} + (**************************************************************** * * * Special values and constants * @@ -419,6 +423,8 @@ ****************************************************************) {$IFDEF MSWINDOWS} +{$IFNDEF CLR} function Netbios(pncb: PNCB): UCHAR; stdcall; {$EXTERNALSYM Netbios} +{$ENDIF ~CLR} {$ENDIF MSWINDOWS} Modified: trunk/jcl/source/prototypes/win32api/WinBase.imp =================================================================== --- trunk/jcl/source/prototypes/win32api/WinBase.imp 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/WinBase.imp 2006-05-27 20:02:53 UTC (rev 1669) @@ -1,5 +1,7 @@ {$IFDEF MSWINDOWS} +{$IFNDEF CLR} + var _BackupSeek: Pointer; @@ -163,4 +165,6 @@ end; end; +{$ENDIF ~CLR} + {$ENDIF MSWINDOWS} Modified: trunk/jcl/source/prototypes/win32api/WinBase.int =================================================================== --- trunk/jcl/source/prototypes/win32api/WinBase.int 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/WinBase.int 2006-05-27 20:02:53 UTC (rev 1669) @@ -34,14 +34,24 @@ {$IFDEF MSWINDOWS} function BackupSeek(hFile: THandle; dwLowBytesToSeek, dwHighBytesToSeek: DWORD; - out lpdwLowByteSeeked, lpdwHighByteSeeked: DWORD; var lpContext: Pointer): BOOL; stdcall; + out lpdwLowByteSeeked, lpdwHighByteSeeked: DWORD; + var lpContext: {$IFDEF CLR}IntPtr{$ELSE}Pointer{$ENDIF}): BOOL; stdcall; + {$IFDEF CLR}external kernel32 name 'BackupSeek';{$ENDIF} {$EXTERNALSYM BackupSeek} // line 5454 function AdjustTokenPrivileges(TokenHandle: THandle; DisableAllPrivileges: BOOL; const NewState: TTokenPrivileges; BufferLength: DWORD; - PreviousState: PTokenPrivileges; ReturnLength: PDWORD): BOOL; stdcall; + {$IFDEF CLR} + out PreviousState: TTokenPrivileges; + out ReturnLength: DWORD + {$ELSE} + PreviousState: PTokenPrivileges; + ReturnLength: PDWORD + {$ENDIF CLR} + ): BOOL; stdcall; + {$IFDEF CLR} external advapi32 name 'AdjustTokenPrivileges';{$ENDIF} {$EXTERNALSYM AdjustTokenPrivileges} { @@ -73,18 +83,22 @@ Ray Lischner, author of Delphi in a Nutshell (coming later this year) http://www.bardware.com and http://www.tempest-sw.com } +{$IFNDEF CLR} function CreateMutex(lpMutexAttributes: PSecurityAttributes; bInitialOwner: DWORD; lpName: PChar): THandle; stdcall; {$EXTERNALSYM CreateMutex} +{$ENDIF ~CLR} // alternative conversion for WinNT 4.0 SP6 and later (OSVersionInfoEx instead of OSVersionInfo) {$EXTERNALSYM GetVersionEx} function GetVersionEx(var lpVersionInformation: TOSVersionInfoEx): BOOL; stdcall; overload; + {$IFDEF CLR}external version name 'GetVersionEx';{$ENDIF} +{$IFNDEF CLR} {$EXTERNALSYM GetVersionEx} function GetVersionEx(lpVersionInformation: POSVERSIONINFOEX): BOOL; stdcall; overload; {$IFDEF SUPPORTS_DEPRECATED} deprecated; {$ENDIF} // line 3585 - + function SetWaitableTimer(hTimer: THandle; var lpDueTime: TLargeInteger; lPeriod: Longint; pfnCompletionRoutine: TFNTimerAPCRoutine; lpArgToCompletionRoutine: Pointer; fResume: BOOL): BOOL; stdcall; @@ -127,4 +141,6 @@ lpszVolumeName: LPSTR; cchBufferLength: DWORD): BOOL; stdcall; {$EXTERNALSYM GetVolumeNameForVolumeMountPoint} +{$ENDIF ~CLR} + {$ENDIF MSWINDOWS} Modified: trunk/jcl/source/prototypes/win32api/WinNLS.imp =================================================================== --- trunk/jcl/source/prototypes/win32api/WinNLS.imp 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/WinNLS.imp 2006-05-27 20:02:53 UTC (rev 1669) @@ -1,5 +1,7 @@ {$IFDEF MSWINDOWS} +{$IFNDEF CLR} + var _GetCalendarInfoA: Pointer; @@ -39,4 +41,6 @@ end; end; +{$ENDIF ~CLR} + {$ENDIF MSWINDOWS} Modified: trunk/jcl/source/prototypes/win32api/WinNLS.int =================================================================== --- trunk/jcl/source/prototypes/win32api/WinNLS.int 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/WinNLS.int 2006-05-27 20:02:53 UTC (rev 1669) @@ -121,6 +121,8 @@ {$IFDEF MSWINDOWS} +{$IFNDEF CLR} + function GetCalendarInfoA(Locale: LCID; Calendar: CALID; CalType: CALTYPE; lpCalData: LPSTR; cchData: Integer; lpValue: LPDWORD): Integer; stdcall; {$EXTERNALSYM GetCalendarInfoA} @@ -134,4 +136,6 @@ Locale: LCID; Calendar: CALID; CalType: CALTYPE): BOOL; stdcall; {$EXTERNALSYM EnumCalendarInfoExA} +{$ENDIF ~CLR} + {$ENDIF MSWINDOWS} Modified: trunk/jcl/source/prototypes/win32api/WinNT.imp =================================================================== --- trunk/jcl/source/prototypes/win32api/WinNT.imp 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/WinNT.imp 2006-05-27 20:02:53 UTC (rev 1669) @@ -57,6 +57,8 @@ Result := (Tag and ULONG($20000000)) <> 0; end; +{$IFNDEF CLR} + // IMAGE_FIRST_SECTION by Nico Bendlin - supplied by Markus Fuchs function FieldOffset(const Struc; const Field): Cardinal; @@ -103,3 +105,4 @@ Result := ((Ordinal and IMAGE_ORDINAL_FLAG32) <> 0); end; +{$ENDIF ~CLR} Modified: trunk/jcl/source/prototypes/win32api/WinNT.int =================================================================== --- trunk/jcl/source/prototypes/win32api/WinNT.int 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/WinNT.int 2006-05-27 20:02:53 UTC (rev 1669) @@ -2,6 +2,7 @@ // presumable from any older WinNT.h or from WinIfs.h //================================================================================================== +{$IFNDEF CLR} //-------------------------------------------------------------------------------------------------- // NTFS Reparse Points //-------------------------------------------------------------------------------------------------- @@ -98,6 +99,7 @@ const {$EXTERNALSYM IO_REPARSE_TAG_VALID_VALUES} IO_REPARSE_TAG_VALID_VALUES = DWORD($E000FFFF); +{$ENDIF ~CLR} //================================================================================================== @@ -273,8 +275,10 @@ SID_RECOMMENDED_SUB_AUTHORITIES = (1); // Will change to around 6 in a future release. {$EXTERNALSYM SID_RECOMMENDED_SUB_AUTHORITIES} + {$IFNDEF CLR} SECURITY_MAX_SID_SIZE = SizeOf(SID) - SizeOf(DWORD) + (SID_MAX_SUB_AUTHORITIES * SizeOf(DWORD)); {$EXTERNALSYM SECURITY_MAX_SID_SIZE} + {$ENDIF ~CLR} {$IFNDEF FPC} SidTypeUser = 1; @@ -956,6 +960,8 @@ // File header format. // +{$IFNDEF CLR} + type PIMAGE_FILE_HEADER = ^IMAGE_FILE_HEADER; {$EXTERNALSYM PIMAGE_FILE_HEADER} @@ -1293,7 +1299,7 @@ PImageNtHeaders = PIMAGE_NT_HEADERS; -{$ENDIF FPC} +{$ENDIF FPC} // Subsystem Values @@ -1447,7 +1453,7 @@ function IMAGE_FIRST_SECTION(NtHeader: PImageNtHeaders): PImageSectionHeader; {$EXTERNALSYM IMAGE_FIRST_SECTION} - + const IMAGE_SIZEOF_SECTION_HEADER = 40; {$EXTERNALSYM IMAGE_SIZEOF_SECTION_HEADER} @@ -2496,6 +2502,8 @@ MAX_PACKAGE_NAME = 1024; {$EXTERNALSYM MAX_PACKAGE_NAME} +{$ENDIF ~CLR} + // COM+ 2.0 header structure. type @@ -2528,9 +2536,13 @@ ManagedNativeHeader: IMAGE_DATA_DIRECTORY; end; + {$IFDEF COMPILER6_UP} {$EXTERNALSYM IMAGE_COR20_HEADER} + {$ENDIF COMPILER6_UP} PIMAGE_COR20_HEADER = ^IMAGE_COR20_HEADER; + {$IFDEF COMPILER6_UP} {$EXTERNALSYM PIMAGE_COR20_HEADER} + {$ENDIF COMPILER6_UP} TImageCor20Header = IMAGE_COR20_HEADER; PImageCor20Header = PIMAGE_COR20_HEADER; Modified: trunk/jcl/source/prototypes/win32api/WinUser.int =================================================================== --- trunk/jcl/source/prototypes/win32api/WinUser.int 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/prototypes/win32api/WinUser.int 2006-05-27 20:02:53 UTC (rev 1669) @@ -1,8 +1,13 @@ type + {$IFDEF CLR} + MAKEINTRESOURCEA = Integer; + MAKEINTRESOURCEW = Integer; + {$ELSE} MAKEINTRESOURCEA = LPSTR; {$EXTERNALSYM MAKEINTRESOURCEA} MAKEINTRESOURCEW = LPWSTR; {$EXTERNALSYM MAKEINTRESOURCEW} + {$ENDIF CLR} {$IFDEF UNICODE} MAKEINTRESOURCE = MAKEINTRESOURCEW; {$EXTERNALSYM MAKEINTRESOURCE} Modified: trunk/jcl/source/windows/JclWin32.pas =================================================================== --- trunk/jcl/source/windows/JclWin32.pas 2006-05-27 09:50:59 UTC (rev 1668) +++ trunk/jcl/source/windows/JclWin32.pas 2006-05-27 20:02:53 UTC (rev 1669) @@ -81,7 +81,7 @@ {$HPPEMIT '#include "lm.h"'} {$HPPEMIT '#include "Nb30.h"'} {$HPPEMIT '#include "RasDlg.h"'} -{$IFDEF COMPILER6_UP} // Reason.h is not in BCB5. +{$IFDEF COMPILER6_UP} {$HPPEMIT '#include "Reason.h"'} {$ENDIF COMPILER6_UP} {$HPPEMIT '#include "ShlWApi.h"'} @@ -1150,6 +1150,7 @@ // // File header format. // + {$IFNDEF CLR} type @@ -2961,10 +2962,11 @@ {$EXTERNALSYM FILE_FLAG_FIRST_PIPE_INSTANCE} // line 3189 + - function BackupSeek(hFile: THandle; dwLowBytesToSeek, dwHighBytesToSeek: DWORD; - out lpdwLowByteSeeked, lpdwHighByteSeeked: DWORD; var lpContext: {$IFDEF CLR}IntPtr{$ELSE}Pointer{$ENDIF}): BOOL; stdcall; + out lpdwLowByteSeeked, lpdwHighByteSeeked: DWORD; + var lpContext: {$IFDEF CLR}IntPtr{$ELSE}Pointer{$ENDIF}): BOOL; stdcall; {$IFDEF CLR}external kernel32 name 'BackupSeek';{$ENDIF} {$EXTERNALSYM BackupSeek} @@ -3072,6 +3074,7 @@ {$ENDIF ~CLR} + type {$EXTERNALSYM ULONG_PTR} ULONG_PTR = LongWord; // Need to have the same size like Pointer @@ -3089,6 +3092,10 @@ SecurityInfo: SECURITY_INFORMATION; psidOwner, psidGroup: PSID; pDacl, pSacl: PACL): DWORD; stdcall; {$EXTERNALSYM SetNamedSecurityInfoW} +{$ENDIF ~CLR} + +{$IFNDEF CLR} + const IMAGE_SEPARATION = (64*1024); {$EXTERNALSYM IMAGE_SEPARATION} @@ -3215,9 +3222,60 @@ {$IFDEF CLR}external 'imagehlp.dll' name 'UnDecorateSymbolName';{$ENDIF} {$EXTERNALSYM UnDecorateSymbolName} +// line 1475 +// +// options that are set/returned by SymSetOptions() & SymGetOptions() +// these are used as a mask +// +const +// defined in ImageHlp.pas +// SYMOPT_CASE_INSENSITIVE = $00000001; +// {$EXTERNALSYM SYMOPT_CASE_INSENSITIVE} +// SYMOPT_UNDNAME = $00000002; +// {$EXTERNALSYM SYMOPT_UNDNAME} +// SYMOPT_DEFERRED_LOADS = $00000004; +// {$EXTERNALSYM SYMOPT_DEFERRED_LOADS} +// SYMOPT_NO_CPP = $00000008; +// {$EXTERNALSYM SYMOPT_NO_CPP} + SYMOPT_LOAD_LINES = $00000010; + {$EXTERNALSYM SYMOPT_LOAD_LINES} + SYMOPT_OMAP_FIND_NEAREST = $00000020; + {$EXTERNALSYM SYMOPT_OMAP_FIND_NEAREST} + SYMOPT_LOAD_ANYTHING = $00000040; + {$EXTERNALSYM SYMOPT_LOAD_ANYTHING} + SYMOPT_IGNORE_CVREC = $00000080; + {$EXTERNALSYM SYMOPT_IGNORE_CVREC} + SYMOPT_NO_UNQUALIFIED_LOADS = $00000100; + {$EXTERNALSYM SYMOPT_NO_UNQUALIFIED_LOADS} + SYMOPT_FAIL_CRITICAL_ERRORS = $00000200; + {$EXTERNALSYM SYMOPT_FAIL_CRITICAL_ERRORS} + SYMOPT_EXACT_SYMBOLS = $00000400; + {$EXTERNALSYM SYMOPT_EXACT_SYMBOLS} + SYMOPT_ALLOW_ABSOLUTE_SYMBOLS = $00000800; + {$EXTERNALSYM SYMOPT_ALLOW_ABSOLUTE_SYMBOLS} + SYMOPT_IGNORE_NT_SYMPATH = $00001000; + {$EXTERNALSYM SYMOPT_IGNORE_NT_SYMPATH} + SYMOPT_INCLUDE_32BIT_MODULES = $00002000; + {$EXTERNALSYM SYMOPT_INCLUDE_32BIT_MODULES} + SYMOPT_PUBLICS_ONLY = $00004000; + {$EXTERNALSYM SYMOPT_PUBLICS_ONLY} + SYMOPT_NO_PUBLICS = $00008000; + {$EXTERNALSYM SYMOPT_NO_PUBLICS} + SYMOPT_AUTO_PUBLICS = $00010000; + {$EXTERNALSYM SYMOPT_AUTO_PUBLICS} + SYMOPT_NO_IMAGE_SEARCH = $00020000; + {$EXTERNALSYM SYMOPT_NO_IMAGE_SEARCH} + SYMOPT_SECURE = $00040000; + {$EXTERNALSYM SYMOPT_SECURE} + SYMOPT_NO_PROMPTS = $00080000; + {$EXTERNALSYM SYMOPT_NO_PROMPTS} + SYMOPT_DEBUG = $80000000; + {$EXTERNALSYM SYMOPT_DEBUG} + + const NERR_Success = 0; // Success {$EXTERNALSYM NERR_Success} @@ -4432,6 +4490,7 @@ {$EXTERNALSYM NetUserChangePassword} {$ENDIF ~CLR} + // // Data Structures - User // @@ -4855,6 +4914,10 @@ function NetApiBufferFree(Buffer: Pointer): NET_API_STATUS; stdcall; {$EXTERNALSYM NetApiBufferFree} +{$ENDIF ~CLR} + +{$IFNDEF CLR} + (**************************************************************** * * * Data structure templates * @@ -5286,7 +5349,7 @@ PRasDialDlg = ^TRasDialDlg; tagRASDIALDLG = packed record dwSize: DWORD; - hwndOwner: THandle; + hwndOwner: HWND; dwFlags: DWORD; xDlg: Longint; yDlg: Longint; @@ -6449,6 +6512,7 @@ {$IFNDEF CLR} + function GetCalendarInfoA(Locale: LCID; Calendar: CALID; CalType: CALTYPE; lpCalData: LPSTR; cchData: Integer; lpValue: LPDWORD): Integer; stdcall; {$EXTERNALSYM GetCalendarInfoA} @@ -6464,6 +6528,7 @@ {$ENDIF ~CLR} + type {$IFDEF CLR} MAKEINTRESOURCEA = Integer; @@ -6617,68 +6682,73 @@ TImgDelayDescr = ImgDelayDescr; *) +{$ENDIF ~CLR} + + +{$IFNDEF CLR} + const RtdlSetNamedSecurityInfoW: function(pObjectName: LPWSTR; ObjectType: SE_OBJECT_TYPE; SecurityInfo: SECURITY_INFORMATION; psidOwner, psidGroup: PSID; - pDacl, pSacl: PACL): DWORD; stdcall = SetNamedSecurityInfoW; + pDacl, pSacl: PACL): DWORD stdcall = SetNamedSecurityInfoW; RtdlSetWaitableTimer: function(hTimer: THandle; var lpDueTime: TLargeInteger; lPeriod: Longint; pfnCompletionRoutine: TFNTimerAPCRoutine; - lpArgToCompletionRoutine: Pointer; fResume: BOOL): BOOL; stdcall = SetWaitableTimer; + lpArgToCompletionRoutine: Pointer; fResume: BOOL): BOOL stdcall = SetWaitableTimer; RtdlNetUserAdd: function(servername: LPCWSTR; level: DWORD; - buf: PByte; parm_err: PDWord): NET_API_STATUS; stdcall = NetUserAdd; + buf: PByte; parm_err: PDWord): NET_API_STATUS stdcall = NetUserAdd; RtdlNetUserDel: function(servername: LPCWSTR; - username: LPCWSTR): NET_API_STATUS; stdcall = NetUserDel; + username: LPCWSTR): NET_API_STATUS stdcall = NetUserDel; RtdlNetGroupAdd: function(servername: LPCWSTR; level: DWORD; buf: PByte; - parm_err: PDWord): NET_API_STATUS; stdcall = NetGroupAdd; + parm_err: PDWord): NET_API_STATUS stdcall = NetGroupAdd; RtdlNetGroupEnum: function(servername: LPCWSTR; level: DWORD; out bufptr: PByte; prefmaxlen: DWORD; out entriesread, totalentries: DWORD; - resume_handle: PDWORD_PTR): NET_API_STATUS; stdcall = NetGroupEnum; + resume_handle: PDWORD_PTR): NET_API_STATUS stdcall = NetGroupEnum; RtdlNetGroupDel: function(servername: LPCWSTR; - groupname: LPCWSTR): NET_API_STATUS; stdcall = NetGroupDel; + groupname: LPCWSTR): NET_API_STATUS stdcall = NetGroupDel; RtdlNetLocalGroupAdd: function(servername: LPCWSTR; level: DWORD; - buf: PByte; parm_err: PDWord): NET_API_STATUS; stdcall = NetLocalGroupAdd; + buf: PByte; parm_err: PDWord): NET_API_STATUS stdcall = NetLocalGroupAdd; RtdlNetLocalGroupEnum: function(servername: LPCWSTR; level: DWORD; out bufptr: PByte; prefmaxlen: DWORD; out entriesread, totalentries: DWORD; - resumehandle: PDWORD_PTR): NET_API_STATUS; stdcall = NetLocalGroupEnum; + resumehandle: PDWORD_PTR): NET_API_STATUS stdcall = NetLocalGroupEnum; RtdlNetLocalGroupDel: function(servername: LPCWSTR; - groupname: LPCWSTR): NET_API_STATUS; stdcall = NetLocalGroupDel; + groupname: LPCWSTR): NET_API_STATUS stdcall = NetLocalGroupDel; RtdlNetLocalGroupAddMembers: function(servername: LPCWSTR; groupname: LPCWSTR; level: DWORD; buf: PByte; - totalentries: DWORD): NET_API_STATUS; stdcall = NetLocalGroupAddMembers; + totalentries: DWORD): NET_API_STATUS stdcall = NetLocalGroupAddMembers; - RtdlNetApiBufferFree: function(Buffer: Pointer): NET_API_STATUS; stdcall = NetApiBufferFree; + RtdlNetApiBufferFree: function(Buffer: Pointer): NET_API_STATUS stdcall = NetApiBufferFree; RtdlGetCalendarInfoA: function(Locale: LCID; Calendar: CALID; CalType: CALTYPE; lpCalData: PAnsiChar; cchData: Integer; - lpValue: PDWORD): Integer; stdcall = GetCalendarInfoA; + lpValue: PDWORD): Integer stdcall = GetCalendarInfoA; RtdlGetCalendarInfoW: function(Locale: LCID; Calendar: CALID; CalType: CALTYPE; lpCalData: PWideChar; cchData: Integer; - lpValue: PDWORD): Integer; stdcall = GetCalendarInfoW; + lpValue: PDWORD): Integer stdcall = GetCalendarInfoW; RtdlEnumCalendarInfoExA: function(lpCalInfoEnumProc: TCalInfoEnumProcExA; - Locale: LCID; Calendar: CALID; CalType: CALTYPE): BOOL; stdcall = EnumCalendarInfoExA; + Locale: LCID; Calendar: CALID; CalType: CALTYPE): BOOL stdcall = EnumCalendarInfoExA; RtdlGetVolumeNameForVolumeMountPoint: function(lpszVolumeMountPoint: LPCSTR; - lpszVolumeName: LPSTR; cchBufferLength: DWORD): BOOL; stdcall = GetVolumeNameForVolumeMountPoint; + lpszVolumeName: LPSTR; cchBufferLength: DWORD): BOOL stdcall = GetVolumeNameForVolumeMountPoint; RtdlSetVolumeMountPoint: function(lpszVolumeMountPoint: LPCSTR; - lpszVolumeName: LPCSTR): BOOL; stdcall = SetVolumeMountPoint; + lpszVolumeName: LPCSTR): BOOL stdcall = SetVolumeMountPoint; - RtdlDeleteVolumeMountPoint: function(lpszVolumeMountPoint: LPCSTR): BOOL; + RtdlDeleteVolumeMountPoint: function(lpszVolumeMountPoint: LPCSTR): BOOL stdcall = DeleteVolumeMountPoint; - RtdlNetBios: function(P: PNCB): UCHAR; stdcall = NetBios; + RtdlNetBios: function(P: PNCB): UCHAR stdcall = NetBios; {$ENDIF ~CLR} @@ -6695,7 +6765,6 @@ {$ENDIF ~UNICODE} {$IFNDEF CLR} - procedure GetProcedureAddress(var P: Pointer; const ModuleName, ProcName: string); var ModuleHandle: HMODULE; @@ -6714,8 +6783,10 @@ raise EJclError.CreateResFmt(@RsEFunctionNotFound, [ModuleName, ProcName]); end; end; +{$ENDIF ~CLR} +{$IFNDEF CLR} const aclapilib = 'advapi32.dll'; @@ -6731,9 +6802,11 @@ jmp [_SetNamedSecurityInfoW] end; end; +{$ENDIF ~CLR} +{$IFNDEF CLR} const ImageHlpLib = 'imagehlp.dll'; @@ -6867,9 +6940,12 @@ end; end; +{$ENDIF MSWINDOWS} +{$IFNDEF CLR} + var _NetUserAdd: Pointer; @@ -7273,8 +7349,11 @@ end; end; +{$ENDIF ~CLR} +{$IFNDEF CLR} + var _NetApiBufferFree: Pointer; @@ -7288,8 +7367,12 @@ end; end; +{$ENDIF ~CLR} + +{$IFNDEF CLR} + var _Netbios: Pointer; @@ -7303,8 +7386,12 @@ end; end; +{$ENDIF ~CLR} + +{$IFNDEF CLR} + var _BackupSeek: Pointer; @@ -7468,8 +7555,12 @@ end; end; +{$ENDIF ~CLR} + +{$IFNDEF CLR} + var _GetCalendarInfoA: Pointer; @@ -7511,6 +7602,7 @@ {$ENDIF ~CLR} + // line 9078 function MAKELANGID(PrimaryLang, SubLang: USHORT): WORD; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ah...@us...> - 2006-05-27 09:51:23
|
Revision: 1668 Author: ahuser Date: 2006-05-27 02:50:59 -0700 (Sat, 27 May 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1668&view=rev Log Message: ----------- Added additional function UnhookByBaseAddress Protected against unloaded libraries Modified Paths: -------------- trunk/jcl/source/windows/JclPeImage.pas Modified: trunk/jcl/source/windows/JclPeImage.pas =================================================================== --- trunk/jcl/source/windows/JclPeImage.pas 2006-05-25 16:42:26 UTC (rev 1667) +++ trunk/jcl/source/windows/JclPeImage.pas 2006-05-27 09:50:59 UTC (rev 1668) @@ -942,6 +942,7 @@ class function SystemBase: Pointer; procedure UnhookAll; function UnhookByNewAddress(NewAddress: Pointer): Boolean; + procedure UnhookByBaseAddress(BaseAddress: Pointer); property Items[Index: Integer]: TJclPeMapImgHookItem read GetItems; default; property ItemFromOriginalAddress[OriginalAddress: Pointer]: TJclPeMapImgHookItem read GetItemFromOriginalAddress; property ItemFromNewAddress[NewAddress: Pointer]: TJclPeMapImgHookItem read GetItemFromNewAddress; @@ -4916,8 +4917,13 @@ end; function TJclPeMapImgHookItem.InternalUnhook: Boolean; +var + Buf: TMemoryBasicInformation; begin - Result := TJclPeMapImgHooks.ReplaceImport(FBaseAddress, ModuleName, NewAddress, OriginalAddress); + if (VirtualQuery(FBaseAddress, Buf, SizeOf(Buf)) = SizeOf(Buf)) and (Buf.State and MEM_FREE = 0) then + Result := TJclPeMapImgHooks.ReplaceImport(FBaseAddress, ModuleName, NewAddress, OriginalAddress) + else + Result := True; // PE image is not available anymore (DLL got unloaded) if Result then FBaseAddress := nil; end; @@ -5103,6 +5109,15 @@ Result := (Item <> nil) and Item.Unhook; end; +procedure TJclPeMapImgHooks.UnhookByBaseAddress(BaseAddress: Pointer); +var + I: Integer; +begin + for I := Count - 1 downto 0 do + if Items[I].BaseAddress = BaseAddress then + Items[I].Unhook; +end; + // Image access under a debbuger function InternalReadProcMem(ProcessHandle: THandle; Address: DWORD; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-05-25 16:42:46
|
Revision: 1667 Author: outchy Date: 2006-05-25 09:42:26 -0700 (Thu, 25 May 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1667&view=rev Log Message: ----------- Mantis 3723 Windows 98 SE Security CD not recognized. Modified Paths: -------------- trunk/jcl/source/common/JclSysInfo.pas Modified: trunk/jcl/source/common/JclSysInfo.pas =================================================================== --- trunk/jcl/source/common/JclSysInfo.pas 2006-05-25 15:59:11 UTC (rev 1666) +++ trunk/jcl/source/common/JclSysInfo.pas 2006-05-25 16:42:26 UTC (rev 1667) @@ -2894,7 +2894,7 @@ if KernelVersionHi = $0004005A then // 4.90.x.x Result := wvWinME else - if TrimmedWin32CSDVersion = 'A' then + if (TrimmedWin32CSDVersion = 'A') or (TrimmedWin32CSDVersion = 'B') then Result := wvWin98SE else Result := wvWin98; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ob...@us...> - 2006-05-25 15:59:23
|
Revision: 1666 Author: obones Date: 2006-05-25 08:59:11 -0700 (Thu, 25 May 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1666&view=rev Log Message: ----------- BCB5 Compatibility issues with the generated HPP file. Modified Paths: -------------- trunk/jcl/source/windows/JclWin32.pas Modified: trunk/jcl/source/windows/JclWin32.pas =================================================================== --- trunk/jcl/source/windows/JclWin32.pas 2006-05-23 09:07:25 UTC (rev 1665) +++ trunk/jcl/source/windows/JclWin32.pas 2006-05-25 15:59:11 UTC (rev 1666) @@ -68,6 +68,11 @@ JclBase; {$HPPEMIT ''} +{$IFDEF COMPILER5} +{$HPPEMIT '// To lift ambiguity between LONG64 and System::LONG64'} +{$HPPEMIT '#define LONG64 System::LONG64'} +{$HPPEMIT ''} +{$ENDIF COMPILER5} {$HPPEMIT '#include "WinDef.h"'} {$HPPEMIT '#include "WinNT.h"'} {$HPPEMIT '#include "WinBase.h"'} @@ -76,7 +81,9 @@ {$HPPEMIT '#include "lm.h"'} {$HPPEMIT '#include "Nb30.h"'} {$HPPEMIT '#include "RasDlg.h"'} +{$IFDEF COMPILER6_UP} // Reason.h is not in BCB5. {$HPPEMIT '#include "Reason.h"'} +{$ENDIF COMPILER6_UP} {$HPPEMIT '#include "ShlWApi.h"'} {$HPPEMIT '#include "WinError.h"'} {$HPPEMIT '#include "WinIoCtl.h"'} @@ -2719,9 +2726,13 @@ ManagedNativeHeader: IMAGE_DATA_DIRECTORY; end; + {$IFDEF COMPILER6_UP} {$EXTERNALSYM IMAGE_COR20_HEADER} + {$ENDIF COMPILER6_UP} PIMAGE_COR20_HEADER = ^IMAGE_COR20_HEADER; + {$IFDEF COMPILER6_UP} {$EXTERNALSYM PIMAGE_COR20_HEADER} + {$ENDIF COMPILER6_UP} TImageCor20Header = IMAGE_COR20_HEADER; PImageCor20Header = PIMAGE_COR20_HEADER; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-05-23 09:08:07
|
Revision: 1665 Author: outchy Date: 2006-05-23 02:07:25 -0700 (Tue, 23 May 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1665&view=rev Log Message: ----------- Mantis 3691 Packages groups updated .net assemblies moved to d9.net and d10.net (Mantis #3691) Modified Paths: -------------- trunk/jcl/packages/JclDevPackagesD50.bpg trunk/jcl/packages/JclDevPackagesD60.bpg trunk/jcl/packages/JclDevPackagesD70.bpg trunk/jcl/packages/JclDevPackagesDK3.bpg trunk/jcl/packages/JclPackagesC50.bpg trunk/jcl/packages/JclPackagesC60.bpg trunk/jcl/packages/JclPackagesCK3.bpg trunk/jcl/packages/JclPackagesD100.bdsgroup trunk/jcl/packages/JclPackagesD50.bpg trunk/jcl/packages/JclPackagesD60.bpg trunk/jcl/packages/JclPackagesD70.bpg trunk/jcl/packages/JclPackagesD90.bdsgroup trunk/jcl/packages/JclPackagesDK3.bpg trunk/jcl/packages/d6.dev/JclVClx.dpk Added Paths: ----------- trunk/jcl/packages/JclNetPackagesD100.bdsgroup trunk/jcl/packages/JclNetPackagesD90.bdsgroup Removed Paths: ------------- trunk/jcl/packages/JclDevPackagesD90.bdsgroup trunk/jcl/packages/d10/Jedi.Jcl.bdsproj trunk/jcl/packages/d10/Jedi.Jcl.cfg trunk/jcl/packages/d10/Jedi.Jcl.dpr trunk/jcl/packages/d9/Jedi.Jcl.bdsproj trunk/jcl/packages/d9/Jedi.Jcl.cfg trunk/jcl/packages/d9/Jedi.Jcl.dpr Modified: trunk/jcl/packages/JclDevPackagesD50.bpg =================================================================== --- trunk/jcl/packages/JclDevPackagesD50.bpg 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/JclDevPackagesD50.bpg 2006-05-23 09:07:25 UTC (rev 1665) @@ -9,25 +9,42 @@ DCC = $(ROOT)\bin\dcc32.exe $** BRCC = $(ROOT)\bin\brcc32.exe $** #------------------------------------------------------------------------------ -PROJECTS = DJCL50.bpl IdeOpenDlgFavoriteD50.bpl JclDebugIdeD50.bpl \ - ProjectAnalyzerD50.bpl ThreadNameExpertD50.bpl +PROJECTS = JclD50.bpl JclBaseExpertD50.bpl JclDebugExpertD50.bpl \ + JclFavoriteFoldersExpertD50.bpl JclProjectAnalysisExpertD50.bpl \ + JclRepositoryExpertD50.bpl JclSIMDViewExpertD50.bpl JclThreadNameExpertD50.bpl \ + JclUsesExpertD50.bpl JclVersionControlExpertD50.bpl #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ -DJCL50.bpl: d5.dev\DJCL50.dpk +JclBaseExpertD50.bpl: d5\JclBaseExpertD50.dpk $(DCC) -JclDebugIdeD50.bpl: ..\examples\vcl\debugextension\JclDebugIdeD50.dpk +JclDebugExpertD50.bpl: d5\JclDebugExpertD50.dpk $(DCC) -ThreadNameExpertD50.bpl: ..\examples\vcl\debugextension\threadnames\ThreadNameExpertD50.dpk +JclFavoriteFoldersExpertD50.bpl: d5\JclFavoriteFoldersExpertD50.dpk $(DCC) -ProjectAnalyzerD50.bpl: ..\examples\vcl\projectanalyzer\ProjectAnalyzerD50.dpk +JclProjectAnalysisExpertD50.bpl: d5\JclProjectAnalysisExpertD50.dpk $(DCC) -IdeOpenDlgFavoriteD50.bpl: ..\examples\vcl\idefavopendialogs\IdeOpenDlgFavoriteD50.dpk +JclRepositoryExpertD50.bpl: d5\JclRepositoryExpertD50.dpk $(DCC) +JclSIMDViewExpertD50.bpl: d5\JclSIMDViewExpertD50.dpk + $(DCC) +JclThreadNameExpertD50.bpl: d5\JclThreadNameExpertD50.dpk + $(DCC) + +JclUsesExpertD50.bpl: d5\JclUsesExpertD50.dpk + $(DCC) + +JclVersionControlExpertD50.bpl: d5\JclVersionControlExpertD50.dpk + $(DCC) + +JclD50.bpl: d5.dev\JclD50.dpk + $(DCC) + + Modified: trunk/jcl/packages/JclDevPackagesD60.bpg =================================================================== --- trunk/jcl/packages/JclDevPackagesD60.bpg 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/JclDevPackagesD60.bpg 2006-05-23 09:07:25 UTC (rev 1665) @@ -9,31 +9,45 @@ DCC = $(ROOT)\bin\dcc32.exe $** BRCC = $(ROOT)\bin\brcc32.exe $** #------------------------------------------------------------------------------ -PROJECTS = DJcl60.bpl DJclVcl60.bpl DJclVClx60.bpl IdeOpenDlgFavoriteD60.bpl \ - JclDebugIdeD60.bpl ProjectAnalyzerD60.bpl ThreadNameExpertD60.bpl +PROJECTS = JclD60.bpl JclVclD60.bpl JclVClxD60.bpl JclBaseExpertD60.bpl \ + JclDebugExpertD60.bpl JclFavoriteFoldersExpertD60.bpl \ + JclProjectAnalysisExpertD60.bpl JclRepositoryExpertD60.bpl \ + JclSIMDViewExpertD60.bpl JclThreadNameExpertD60.bpl JclUsesExpertD60.bpl #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ +JclBaseExpertD60.bpl: d6\JclBaseExpert.dpk + $(DCC) -DJcl60.bpl: D6\DJcl.dpk +JclDebugExpertD60.bpl: d6\JclDebugExpert.dpk $(DCC) -DJclVcl60.bpl: D6.dev\DJclVcl.dpk +JclFavoriteFoldersExpertD60.bpl: d6\JclFavoriteFoldersExpert.dpk $(DCC) -DJclVClx60.bpl: D6.dev\DJclVClx.dpk +JclProjectAnalysisExpertD60.bpl: d6\JclProjectAnalysisExpert.dpk $(DCC) -JclDebugIdeD60.bpl: ..\examples\vcl\debugextension\JclDebugIdeD60.dpk +JclRepositoryExpertD60.bpl: d6\JclRepositoryExpert.dpk $(DCC) -ThreadNameExpertD60.bpl: ..\examples\vcl\debugextension\threadnames\ThreadNameExpertD60.dpk +JclSIMDViewExpertD60.bpl: d6\JclSIMDViewExpert.dpk $(DCC) -ProjectAnalyzerD60.bpl: ..\examples\vcl\projectanalyzer\ProjectAnalyzerD60.dpk +JclThreadNameExpertD60.bpl: d6\JclThreadNameExpert.dpk $(DCC) -IdeOpenDlgFavoriteD60.bpl: ..\examples\vcl\idefavopendialogs\IdeOpenDlgFavoriteD60.dpk +JclUsesExpertD60.bpl: d6\JclUsesExpert.dpk $(DCC) +JclD60.bpl: d6\Jcl.dpk + $(DCC) + +JclVclD60.bpl: d6.dev\JclVcl.dpk + $(DCC) + +JclVClxD60.bpl: d6.dev\JclVClx.dpk + $(DCC) + + Modified: trunk/jcl/packages/JclDevPackagesD70.bpg =================================================================== --- trunk/jcl/packages/JclDevPackagesD70.bpg 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/JclDevPackagesD70.bpg 2006-05-23 09:07:25 UTC (rev 1665) @@ -9,29 +9,49 @@ DCC = $(ROOT)\bin\dcc32.exe $** BRCC = $(ROOT)\bin\brcc32.exe $** #------------------------------------------------------------------------------ -PROJECTS = DJcl70.bpl DJclVcl70.bpl DJclVClx70.bpl +PROJECTS = Jcl70.bpl JclVcl70.bpl JclVClx70.bpl JclBaseExpert70.bpl \ + JclDebugExpert70.bpl JclFavoriteFoldersExpert70.bpl \ + JclProjectAnalysisExpert70.bpl JclRepositoryExpert70.bpl \ + JclSIMDViewExpert70.bpl JclThreadNameExpert70.bpl JclUsesExpert70.bpl \ + JclVersionControlExpert70.bpl #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ -DJcl70.bpl: D7\DJcl.dpk +Jcl70.bpl: d7\Jcl.dpk $(DCC) -DJclVcl70.bpl: D7.dev\DJclVcl.dpk +JclBaseExpert70.bpl: d7\JclBaseExpert.dpk $(DCC) -DJclVClx70.bpl: D7.dev\DJclVClx.dpk +JclDebugExpert70.bpl: d7\JclDebugExpert.dpk $(DCC) -JclDebugIdeD70.bpl: ..\examples\vcl\debugextension\JclDebugIdeD70.dpk +JclFavoriteFoldersExpert70.bpl: d7\JclFavoriteFoldersExpert.dpk $(DCC) -ThreadNameExpertD70.bpl: ..\examples\vcl\debugextension\threadnames\ThreadNameExpertD70.dpk +JclProjectAnalysisExpert70.bpl: d7\JclProjectAnalysisExpert.dpk $(DCC) -ProjectAnalyzerD70.bpl: ..\examples\vcl\projectanalyzer\ProjectAnalyzerD70.dpk +JclRepositoryExpert70.bpl: d7\JclRepositoryExpert.dpk $(DCC) -IdeOpenDlgFavoriteD70.bpl: ..\examples\vcl\idefavopendialogs\IdeOpenDlgFavoriteD70.dpk +JclSIMDViewExpert70.bpl: d7\JclSIMDViewExpert.dpk $(DCC) +JclThreadNameExpert70.bpl: d7\JclThreadNameExpert.dpk + $(DCC) + +JclUsesExpert70.bpl: d7\JclUsesExpert.dpk + $(DCC) + +JclVersionControlExpert70.bpl: d7\JclVersionControlExpert.dpk + $(DCC) + +JclVcl70.bpl: d7.dev\JclVcl.dpk + $(DCC) + +JclVClx70.bpl: d7.dev\JclVClx.dpk + $(DCC) + + Deleted: trunk/jcl/packages/JclDevPackagesD90.bdsgroup =================================================================== --- trunk/jcl/packages/JclDevPackagesD90.bdsgroup 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/JclDevPackagesD90.bdsgroup 2006-05-23 09:07:25 UTC (rev 1665) @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<BorlandProject> - <PersonalityInfo> - <Option> - <Option Name="Personality">Default.Personality</Option> - <Option Name="ProjectType"></Option> - <Option Name="Version">1.0</Option> - <Option Name="GUID">{7348C7A5-562B-4C05-ABBE-8D11460B51B3}</Option> - </Option> - </PersonalityInfo> - <Default.Personality> - - <Projects> - <Projects Name="DJcl90.bpl">D9\DJcl.bdsproj</Projects> - <Projects Name="DJclVcl90.bpl">D9.dev\DJclVcl.bdsproj</Projects> - <Projects Name="Targets">DJcl90.bpl DJclVcl90.bpl</Projects> - </Projects> - <Dependencies/> - </Default.Personality> -</BorlandProject> Modified: trunk/jcl/packages/JclDevPackagesDK3.bpg =================================================================== --- trunk/jcl/packages/JclDevPackagesDK3.bpg 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/JclDevPackagesDK3.bpg 2006-05-23 09:07:25 UTC (rev 1665) @@ -8,17 +8,17 @@ MAKE = make -$(MAKEFLAGS) -f$** DCC =dcc $< #------------------------------------------------------------------------------ -PROJECTS = bplDJclK3.so.1.95.1 bplDJclVClxK3.so.1.95.1 +PROJECTS = bplJclK3.so.1.95.1 bplJclVClxK3.so.1.95.1 #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ -bplDJclK3.so.1.95.1: k3/DJcl.dpk +bplDJclK3.so.1.95.1: k3/Jcl.dpk $(DCC) -bplDJclVClxK3.so.1.95.1: k3.dev/DJclVClx.dpk +bplDJclVClxK3.so.1.95.1: k3.dev/JclVClx.dpk $(DCC) Added: trunk/jcl/packages/JclNetPackagesD100.bdsgroup =================================================================== --- trunk/jcl/packages/JclNetPackagesD100.bdsgroup (rev 0) +++ trunk/jcl/packages/JclNetPackagesD100.bdsgroup 2006-05-23 09:07:25 UTC (rev 1665) @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<BorlandProject> + <PersonalityInfo> + <Option> + <Option Name="Personality">Default.Personality</Option> + <Option Name="ProjectType"></Option> + <Option Name="Version">1.0</Option> + <Option Name="GUID">{6169CDCD-590F-4AB5-8774-A49130647FD8}</Option> + </Option> + </PersonalityInfo> + <Default.Personality> + + <Projects> + <Projects Name="Jedi.Jcl.dll">d10.net\Jedi.Jcl.bdsproj</Projects> + <Projects Name="Targets">Jedi.Jcl.dll</Projects> + </Projects> + <Dependencies/> + </Default.Personality> +</BorlandProject> Added: trunk/jcl/packages/JclNetPackagesD90.bdsgroup =================================================================== --- trunk/jcl/packages/JclNetPackagesD90.bdsgroup (rev 0) +++ trunk/jcl/packages/JclNetPackagesD90.bdsgroup 2006-05-23 09:07:25 UTC (rev 1665) @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<BorlandProject> + <PersonalityInfo> + <Option> + <Option Name="Personality">Default.Personality</Option> + <Option Name="ProjectType"></Option> + <Option Name="Version">1.0</Option> + <Option Name="GUID">{17C1C5C4-F24E-47C9-BAFF-EED03FBD0971}</Option> + </Option> + </PersonalityInfo> + <Default.Personality> + + <Projects> + <Projects Name="Jedi.Jcl9.dll">d9.net\Jedi.Jcl.bdsproj</Projects> + <Projects Name="Targets">Jedi.Jcl9.dll</Projects> + </Projects> + <Dependencies/> + </Default.Personality> +</BorlandProject> Modified: trunk/jcl/packages/JclPackagesC50.bpg =================================================================== --- trunk/jcl/packages/JclPackagesC50.bpg 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/JclPackagesC50.bpg 2006-05-23 09:07:25 UTC (rev 1665) @@ -9,28 +9,52 @@ DCC = $(ROOT)\bin\dcc32.exe $** BRCC = $(ROOT)\bin\brcc32.exe $** #------------------------------------------------------------------------------ -PROJECTS = CJcl50.bpl IdeOpenDlgFavoriteC50.bpl JclDebugIdeC50.bpl \ - ThreadNameExpertC50.bpl +PROJECTS = JclC50.bpl JclBaseExpertC50.bpl JclDebugExpertC50.bpl \ + JclFavoriteFoldersExpertC50.bpl JclProjectAnalysisExpertC50.bpl \ + JclRepositoryExpertC50.bpl JclSIMDViewExpertC50.bpl JclThreadNameExpertC50.bpl \ + JclUsesExpertC50.bpl JclVersionControlExpertC50.bpl #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ +JclC50.bpl: c5\JclC50.bpk + $(ROOT)\bin\bpr2mak $** + $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak +JclBaseExpertC50.bpl: c5\JclBaseExpertC50.bpk + $(ROOT)\bin\bpr2mak $** + $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak -CJcl50.bpl: c5\CJcl50.bpk +JclDebugExpertC50.bpl: c5\JclDebugExpertC50.bpk $(ROOT)\bin\bpr2mak $** $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak -IdeOpenDlgFavoriteC50.bpl: ..\examples\vcl\idefavopendialogs\IdeOpenDlgFavoriteC50.bpk +JclFavoriteFoldersExpertC50.bpl: c5\JclFavoriteFoldersExpertC50.bpk $(ROOT)\bin\bpr2mak $** $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak -JclDebugIdeC50.bpl: ..\examples\vcl\debugextension\JclDebugIdeC50.bpk +JclProjectAnalysisExpertC50.bpl: c5\JclProjectAnalysisExpertC50.bpk $(ROOT)\bin\bpr2mak $** $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak -ThreadNameExpertC50.bpl: ..\examples\vcl\debugextension\threadnames\ThreadNameExpertC50.bpk +JclRepositoryExpertC50.bpl: c5\JclRepositoryExpertC50.bpk $(ROOT)\bin\bpr2mak $** $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak +JclSIMDViewExpertC50.bpl: c5\JclSIMDViewExpertC50.bpk + $(ROOT)\bin\bpr2mak $** + $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak +JclThreadNameExpertC50.bpl: c5\JclThreadNameExpertC50.bpk + $(ROOT)\bin\bpr2mak $** + $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak + +JclUsesExpertC50.bpl: c5\JclUsesExpertC50.bpk + $(ROOT)\bin\bpr2mak $** + $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak + +JclVersionControlExpertC50.bpl: c5\JclVersionControlExpertC50.bpk + $(ROOT)\bin\bpr2mak $** + $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak + + Modified: trunk/jcl/packages/JclPackagesC60.bpg =================================================================== --- trunk/jcl/packages/JclPackagesC60.bpg 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/JclPackagesC60.bpg 2006-05-23 09:07:25 UTC (rev 1665) @@ -9,36 +9,61 @@ DCC = $(ROOT)\bin\dcc32.exe $** BRCC = $(ROOT)\bin\brcc32.exe $** #------------------------------------------------------------------------------ -PROJECTS = CJcl60.bpl CJclVcl60.bpl CJclVClx60.bpl IdeOpenDlgFavoriteC60.bpl \ - JclDebugIdeC60.bpl ThreadNameExpertC60.bpl +PROJECTS = JclC60.bpl JclVclC60.bpl JclVClxC60.bpl JclBaseExpertC60.bpl \ + JclDebugExpertC60.bpl JclFavoriteFoldersExpertC60.bpl \ + JclProjectAnalysisExpertC60.bpl JclRepositoryExpertC60.bpl \ + JclSIMDViewExpertC60.bpl JclThreadNameExpertC60.bpl JclUsesExpertC60.bpl \ + JclVersionControlExpertC60.bpl #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ +JclC60.bpl: c6\Jcl.bpk + $(ROOT)\bin\bpr2mak $** + $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak +JclVclC60.bpl: c6\JclVcl.bpk + $(ROOT)\bin\bpr2mak $** + $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak -CJcl60.bpl: c6\CJcl.bpk +JclVClxC60.bpl: c6\JclVClx.bpk $(ROOT)\bin\bpr2mak $** $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak -CJclVcl60.bpl: c6\CJclVcl.bpk +JclBaseExpertC60.bpl: c6\JclBaseExpert.bpk $(ROOT)\bin\bpr2mak $** $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak -CJclVClx60.bpl: c6\CJclVClx.bpk +JclDebugExpertC60.bpl: c6\JclDebugExpert.bpk $(ROOT)\bin\bpr2mak $** $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak -IdeOpenDlgFavoriteC60.bpl: ..\examples\vcl\idefavopendialogs\IdeOpenDlgFavoriteC60.bpk +JclFavoriteFoldersExpertC60.bpl: c6\JclFavoriteFoldersExpert.bpk $(ROOT)\bin\bpr2mak $** $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak -JclDebugIdeC60.bpl: ..\examples\vcl\debugextension\JclDebugIdeC60.bpk +JclProjectAnalysisExpertC60.bpl: c6\JclProjectAnalysisExpert.bpk $(ROOT)\bin\bpr2mak $** $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak -ThreadNameExpertC60.bpl: ..\examples\vcl\debugextension\threadnames\ThreadNameExpertC60.bpk +JclRepositoryExpertC60.bpl: c6\JclRepositoryExpert.bpk $(ROOT)\bin\bpr2mak $** $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak +JclSIMDViewExpertC60.bpl: c6\JclSIMDViewExpert.bpk + $(ROOT)\bin\bpr2mak $** + $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak +JclThreadNameExpertC60.bpl: c6\JclThreadNameExpert.bpk + $(ROOT)\bin\bpr2mak $** + $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak + +JclUsesExpertC60.bpl: c6\JclUsesExpert.bpk + $(ROOT)\bin\bpr2mak $** + $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak + +JclVersionControlExpertC60.bpl: c6\JclVersionControlExpert.bpk + $(ROOT)\bin\bpr2mak $** + $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak + + Modified: trunk/jcl/packages/JclPackagesCK3.bpg =================================================================== --- trunk/jcl/packages/JclPackagesCK3.bpg 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/JclPackagesCK3.bpg 2006-05-23 09:07:25 UTC (rev 1665) @@ -8,16 +8,16 @@ MAKE = make -$(MAKEFLAGS) -f$** DCC =dcc $< #------------------------------------------------------------------------------ -PROJECTS = bplCJclK3.so.1.90.0 bplCJclVClxK3.so.1.90.0 +PROJECTS = bplJclK3.so.1.90.0 bplJclVClxK3.so.1.90.0 #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ -bplCJclK3.so.1.90.0: k3/CJcl.bpk +bplCJclK3.so.1.90.0: k3/Jcl.bpk $(ROOT)/bin/bpr2mak $< make -$(MAKEFLAGS) -f$(basename $<).mak -bplCJclVClxK3.so.1.90.0: k3/CJclVClx.bpk +bplCJclVClxK3.so.1.90.0: k3/JclVClx.bpk $(ROOT)/bin/bpr2mak $< make -$(MAKEFLAGS) -f$(basename $<).mak Modified: trunk/jcl/packages/JclPackagesD100.bdsgroup =================================================================== --- trunk/jcl/packages/JclPackagesD100.bdsgroup 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/JclPackagesD100.bdsgroup 2006-05-23 09:07:25 UTC (rev 1665) @@ -1,27 +1,26 @@ <?xml version="1.0" encoding="utf-8"?> <BorlandProject> - <PersonalityInfo> - <Option> - <Option Name="Personality">Default.Personality</Option> - <Option Name="ProjectType"></Option> - <Option Name="Version">1.0</Option> - <Option Name="GUID">{BFBAF4DB-7647-483D-8D66-9EF5E8B03D32}</Option> - </Option> - </PersonalityInfo> - <Default.Personality> <Projects> - <Projects Name="JediInstaller.exe">..\install\JediInstaller.bdsproj</Projects> - <Projects Name="pgEdit.exe">..\..\JVCL\JVCL3\devtools\PackagesGenerator\pgEdit.bdsproj</Projects> - <Projects Name="pg.exe">..\..\JVCL\JVCL3\devtools\PackagesGenerator\pg.bdsproj</Projects> - <Projects Name="JVCLInstall.exe">..\..\JVCL\JVCL3\install\JVCLInstall\JVCLInstall.bdsproj</Projects> + <PersonalityInfo> + <Option> + <Option Name="Personality">Default.Personality</Option> + <Option Name="ProjectType"></Option> + <Option Name="Version">1.0</Option> + <Option Name="GUID">{E7B4DBC9-B036-40B2-88E6-984F5D7843B1}</Option> + </Option> + </PersonalityInfo> + <Default.Personality> + + <Projects> <Projects Name="Jcl100.bpl">d10\Jcl.bdsproj</Projects> + <Projects Name="JclVcl100.bpl">d10\JclVcl.bdsproj</Projects> <Projects Name="JclBaseExpert100.bpl">d10\JclBaseExpert.bdsproj</Projects> <Projects Name="JclDebugExpert100.bpl">d10\JclDebugExpert.bdsproj</Projects> <Projects Name="JclFavoriteFoldersExpert100.bpl">d10\JclFavoriteFoldersExpert.bdsproj</Projects> <Projects Name="JclProjectAnalysisExpert100.bpl">d10\JclProjectAnalysisExpert.bdsproj</Projects> - <Projects Name="JclSIMDViewExpert100.bpl">d10\JclSIMDViewExpert.bdsproj</Projects> + <Projects Name="JclRepositoryExpert100.bpl">d10\JclRepositoryExpert.bdsproj</Projects> <Projects Name="JclUsesExpert100.bpl">d10\JclUsesExpert.bdsproj</Projects> - <Projects Name="JclThreadNameExpert100.bpl">d10\JclThreadNameExpert.bdsproj</Projects> - <Projects Name="Targets">JediInstaller.exe pgEdit.exe pg.exe JVCLInstall.exe Jcl100.bpl JclBaseExpert100.bpl JclDebugExpert100.bpl JclFavoriteFoldersExpert100.bpl JclProjectAnalysisExpert100.bpl JclSIMDViewExpert100.bpl JclUsesExpert100.bpl JclThreadNameExpert100.bpl</Projects> + <Projects Name="JclVersionControlExpert100.bpl">d10\JclVersionControlExpert.bdsproj</Projects> + <Projects Name="Targets">Jcl100.bpl JclVcl100.bpl JclBaseExpert100.bpl JclDebugExpert100.bpl JclFavoriteFoldersExpert100.bpl JclProjectAnalysisExpert100.bpl JclRepositoryExpert100.bpl JclUsesExpert100.bpl JclVersionControlExpert100.bpl</Projects> </Projects> <Dependencies/> </Default.Personality> Modified: trunk/jcl/packages/JclPackagesD50.bpg =================================================================== --- trunk/jcl/packages/JclPackagesD50.bpg 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/JclPackagesD50.bpg 2006-05-23 09:07:25 UTC (rev 1665) @@ -9,25 +9,42 @@ DCC = $(ROOT)\bin\dcc32.exe $** BRCC = $(ROOT)\bin\brcc32.exe $** #------------------------------------------------------------------------------ -PROJECTS = DJCL50.bpl IdeOpenDlgFavoriteD50.bpl JclDebugIdeD50.bpl \ - ProjectAnalyzerD50.bpl ThreadNameExpertD50.bpl +PROJECTS = JclD50.bpl JclBaseExpertD50.bpl JclDebugExpertD50.bpl \ + JclFavoriteFoldersExpertD50.bpl JclProjectAnalysisExpertD50.bpl \ + JclRepositoryExpertD50.bpl JclSIMDViewExpertD50.bpl JclThreadNameExpertD50.bpl \ + JclUsesExpertD50.bpl JclVersionControlExpertD50.bpl #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ -DJCL50.bpl: d5\DJCL50.dpk +JclD50.bpl: d5\JclD50.dpk $(DCC) -JclDebugIdeD50.bpl: ..\examples\vcl\debugextension\JclDebugIdeD50.dpk +JclBaseExpertD50.bpl: d5\JclBaseExpertD50.dpk $(DCC) -ThreadNameExpertD50.bpl: ..\examples\vcl\debugextension\threadnames\ThreadNameExpertD50.dpk +JclDebugExpertD50.bpl: d5\JclDebugExpertD50.dpk $(DCC) -ProjectAnalyzerD50.bpl: ..\examples\vcl\projectanalyzer\ProjectAnalyzerD50.dpk +JclFavoriteFoldersExpertD50.bpl: d5\JclFavoriteFoldersExpertD50.dpk $(DCC) -IdeOpenDlgFavoriteD50.bpl: ..\examples\vcl\idefavopendialogs\IdeOpenDlgFavoriteD50.dpk +JclProjectAnalysisExpertD50.bpl: d5\JclProjectAnalysisExpertD50.dpk $(DCC) +JclRepositoryExpertD50.bpl: d5\JclRepositoryExpertD50.dpk + $(DCC) +JclSIMDViewExpertD50.bpl: d5\JclSIMDViewExpertD50.dpk + $(DCC) + +JclThreadNameExpertD50.bpl: d5\JclThreadNameExpertD50.dpk + $(DCC) + +JclUsesExpertD50.bpl: d5\JclUsesExpertD50.dpk + $(DCC) + +JclVersionControlExpertD50.bpl: d5\JclVersionControlExpertD50.dpk + $(DCC) + + Modified: trunk/jcl/packages/JclPackagesD60.bpg =================================================================== --- trunk/jcl/packages/JclPackagesD60.bpg 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/JclPackagesD60.bpg 2006-05-23 09:07:25 UTC (rev 1665) @@ -9,38 +9,45 @@ DCC = $(ROOT)\bin\dcc32.exe $** BRCC = $(ROOT)\bin\brcc32.exe $** #------------------------------------------------------------------------------ -PROJECTS = DJcl60.bpl DJclVcl60.bpl DJclVClx60.bpl IdeOpenDlgFavoriteD60.bpl JclDebugIdeD60.bpl \ - ProjectAnalyzerD60.bpl ThreadNameExpertD60.bpl JclSIMDViewD6.bpl JediUsesD60.bpl +PROJECTS = JclD60.bpl JclVclD60.bpl JclVClxD60.bpl JclBaseExpertD60.bpl \ + JclDebugExpertD60.bpl JclFavoriteFoldersExpertD60.bpl \ + JclProjectAnalysisExpertD60.bpl JclRepositoryExpertD60.bpl \ + JclSIMDViewExpertD60.bpl JclThreadNameExpertD60.bpl JclUsesExpertD60.bpl #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ +JclD60.bpl: d6\Jcl.dpk + $(DCC) -DJcl60.bpl: D6\DJcl.dpk +JclBaseExpertD60.bpl: d6\JclBaseExpert.dpk $(DCC) -DJclVcl60.bpl: D6\DJclVcl.dpk +JclDebugExpertD60.bpl: d6\JclDebugExpert.dpk $(DCC) -DJclVClx60.bpl: D6\DJclVClx.dpk +JclFavoriteFoldersExpertD60.bpl: d6\JclFavoriteFoldersExpert.dpk $(DCC) -JclDebugIdeD60.bpl: ..\examples\vcl\debugextension\JclDebugIdeD60.dpk +JclProjectAnalysisExpertD60.bpl: d6\JclProjectAnalysisExpert.dpk $(DCC) -ThreadNameExpertD60.bpl: ..\examples\vcl\debugextension\threadnames\ThreadNameExpertD60.dpk +JclRepositoryExpertD60.bpl: d6\JclRepositoryExpert.dpk $(DCC) -ProjectAnalyzerD60.bpl: ..\examples\vcl\projectanalyzer\ProjectAnalyzerD60.dpk +JclSIMDViewExpertD60.bpl: d6\JclSIMDViewExpert.dpk $(DCC) -IdeOpenDlgFavoriteD60.bpl: ..\examples\vcl\idefavopendialogs\IdeOpenDlgFavoriteD60.dpk +JclThreadNameExpertD60.bpl: d6\JclThreadNameExpert.dpk $(DCC) -JclSIMDViewD6.bpl: ..\examples\vcl\debugextension\SIMDView\JclSIMDViewD6.dpk +JclUsesExpertD60.bpl: d6\JclUsesExpert.dpk $(DCC) -JediUsesD60.bpl: ..\examples\vcl\JUW\JediUsesD60.dpk +JclVclD60.bpl: d6\JclVcl.dpk $(DCC) +JclVClxD60.bpl: d6\JclVClx.dpk + $(DCC) + Modified: trunk/jcl/packages/JclPackagesD70.bpg =================================================================== --- trunk/jcl/packages/JclPackagesD70.bpg 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/JclPackagesD70.bpg 2006-05-23 09:07:25 UTC (rev 1665) @@ -9,34 +9,49 @@ DCC = $(ROOT)\bin\dcc32.exe $** BRCC = $(ROOT)\bin\brcc32.exe $** #------------------------------------------------------------------------------ -PROJECTS = DJcl70.bpl DJclVcl70.bpl DJclVClx70.bpl IdeOpenDlgFavoriteD70.bpl JclDebugIdeD70.bpl \ - ProjectAnalyzerD70.bpl JclSIMDViewD7.bpl JediUsesD70.bpl +PROJECTS = Jcl70.bpl JclVcl70.bpl JclVClx70.bpl JclBaseExpert70.bpl \ + JclDebugExpert70.bpl JclFavoriteFoldersExpert70.bpl \ + JclProjectAnalysisExpert70.bpl JclRepositoryExpert70.bpl \ + JclSIMDViewExpert70.bpl JclThreadNameExpert70.bpl JclUsesExpert70.bpl \ + JclVersionControlExpert70.bpl #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ -DJcl70.bpl: D7\DJcl.dpk +Jcl70.bpl: d7\Jcl.dpk $(DCC) -DJclVcl70.bpl: D7\DJclVcl.dpk +JclVcl70.bpl: d7\JclVcl.dpk $(DCC) -DJclVClx70.bpl: D7\DJclVClx.dpk +JclVClx70.bpl: d7\JclVClx.dpk $(DCC) -JclDebugIdeD70.bpl: ..\examples\vcl\debugextension\JclDebugIdeD70.dpk +JclBaseExpert70.bpl: d7\JclBaseExpert.dpk $(DCC) -ProjectAnalyzerD70.bpl: ..\examples\vcl\projectanalyzer\ProjectAnalyzerD70.dpk +JclDebugExpert70.bpl: d7\JclDebugExpert.dpk $(DCC) -IdeOpenDlgFavoriteD70.bpl: ..\examples\vcl\idefavopendialogs\IdeOpenDlgFavoriteD70.dpk +JclFavoriteFoldersExpert70.bpl: d7\JclFavoriteFoldersExpert.dpk $(DCC) -JclSIMDViewD7.bpl: ..\examples\vcl\debugextension\SIMDView\JclSIMDViewD7.dpk +JclProjectAnalysisExpert70.bpl: d7\JclProjectAnalysisExpert.dpk $(DCC) -JediUsesD70.bpl: ..\examples\vcl\JUW\JediUsesD70.dpk +JclRepositoryExpert70.bpl: d7\JclRepositoryExpert.dpk $(DCC) +JclSIMDViewExpert70.bpl: d7\JclSIMDViewExpert.dpk + $(DCC) +JclThreadNameExpert70.bpl: d7\JclThreadNameExpert.dpk + $(DCC) + +JclUsesExpert70.bpl: d7\JclUsesExpert.dpk + $(DCC) + +JclVersionControlExpert70.bpl: d7\JclVersionControlExpert.dpk + $(DCC) + + Modified: trunk/jcl/packages/JclPackagesD90.bdsgroup =================================================================== --- trunk/jcl/packages/JclPackagesD90.bdsgroup 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/JclPackagesD90.bdsgroup 2006-05-23 09:07:25 UTC (rev 1665) @@ -1,13 +1,27 @@ <?xml version="1.0" encoding="utf-8"?> <BorlandProject> - <PersonalityInfo> - <Option> - <Option Name="Personality" Type="String">Default.Personality</Option> - <Option Name="ProjectType" Type="String"></Option> - <Option Name="Version" Type="String">1.0</Option> - <Option Name="GUID" Type="String">{7D3C6F18-762E-4A04-83D5-3C966D2D1A3C}</Option> - </Option> - </PersonalityInfo> - <Default.Personality> - <Projects><Projects Name="DJcl90.bpl">d9\DJcl.bdsproj</Projects><Projects Name="DJclVcl90.bpl">d9\DJclVcl.bdsproj</Projects><Projects Name="JclDebugIdeD90.bpl">..\examples\vcl\debugextension\JclDebugIdeD90.bdsproj</Projects><Projects Name="JclSIMDViewD9.bpl">..\examples\vcl\debugextension\SIMDView\JclSIMDViewD9.bdsproj</Projects><Projects Name="IdeOpenDlgFavoriteD90.bpl">..\examples\vcl\idefavopendialogs\IdeOpenDlgFavoriteD90.bdsproj</Projects><Projects Name="JediUsesD90.bpl">..\examples\vcl\JUW\JediUsesD90.bdsproj</Projects><Projects Name="ProjectAnalyzerD90.bpl">..\examples\vcl\projectanalyzer\ProjectAnalyzerD90.bdsproj</Projects><Projects Name="Targets">DJcl90.bpl DJclVcl90.bpl JclDebugIdeD90.bpl JclSIMDViewD9.bpl IdeOpenDlgFavoriteD90.bpl JediUsesD90.bpl ProjectAnalyzerD90.bpl</Projects></Projects><Dependencies><Dependency GUID="{56BD28A4-80E6-467C-BD0E-CAC01DE0CE04}"><Dependency GUID="{727821B9-CAC9-4A6B-8F7A-31B5E1CD3BC4}"/></Dependency></Dependencies></Default.Personality> + <PersonalityInfo> + <Option> + <Option Name="Personality">Default.Personality</Option> + <Option Name="ProjectType"></Option> + <Option Name="Version">1.0</Option> + <Option Name="GUID">{90322E9F-4353-4EE0-AE43-54D743F61068}</Option> + </Option> + </PersonalityInfo> + <Default.Personality> + + <Projects> + <Projects Name="Jcl90.bpl">d9\Jcl.bdsproj</Projects> + <Projects Name="JclVcl90.bpl">d9\JclVcl.bdsproj</Projects> + <Projects Name="JclBaseExpert90.bpl">d9\JclBaseExpert.bdsproj</Projects> + <Projects Name="JclDebugExpert90.bpl">d9\JclDebugExpert.bdsproj</Projects> + <Projects Name="JclFavoriteFoldersExpert90.bpl">d9\JclFavoriteFoldersExpert.bdsproj</Projects> + <Projects Name="JclProjectAnalysisExpert90.bpl">d9\JclProjectAnalysisExpert.bdsproj</Projects> + <Projects Name="JclRepositoryExpert90.bpl">d9\JclRepositoryExpert.bdsproj</Projects> + <Projects Name="JclUsesExpert90.bpl">d9\JclUsesExpert.bdsproj</Projects> + <Projects Name="JclVersionControlExpert90.bpl">d9\JclVersionControlExpert.bdsproj</Projects> + <Projects Name="Targets">Jcl90.bpl JclVcl90.bpl JclBaseExpert90.bpl JclDebugExpert90.bpl JclFavoriteFoldersExpert90.bpl JclProjectAnalysisExpert90.bpl JclRepositoryExpert90.bpl JclUsesExpert90.bpl JclVersionControlExpert90.bpl</Projects> + </Projects> + <Dependencies/> + </Default.Personality> </BorlandProject> Modified: trunk/jcl/packages/JclPackagesDK3.bpg =================================================================== --- trunk/jcl/packages/JclPackagesDK3.bpg 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/JclPackagesDK3.bpg 2006-05-23 09:07:25 UTC (rev 1665) @@ -8,15 +8,15 @@ MAKE = make -$(MAKEFLAGS) -f$** DCC =dcc -LN../lib/k3 -N../lib/k3 -U../lib/k3 $< #------------------------------------------------------------------------------ -PROJECTS = bplDJclK3.so.1.90.0 bplDJclVClxK3.so.1.90.0 +PROJECTS = bplJclK3.so.1.90.0 bplJclVClxK3.so.1.90.0 #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ -bplDJclK3.so.1.90.0: k3/DJcl.dpk +bplDJclK3.so.1.90.0: k3/Jcl.dpk $(DCC) -bplDJclVClxK3.so.1.90.0: k3/DJclVClx.dpk +bplDJclVClxK3.so.1.90.0: k3/JclVClx.dpk $(DCC) Deleted: trunk/jcl/packages/d10/Jedi.Jcl.bdsproj =================================================================== --- trunk/jcl/packages/d10/Jedi.Jcl.bdsproj 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/d10/Jedi.Jcl.bdsproj 2006-05-23 09:07:25 UTC (rev 1665) @@ -1,210 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<BorlandProject> - <PersonalityInfo> - <Option> - <Option Name="Personality">DelphiDotNet.Personality</Option> - <Option Name="ProjectType">Library</Option> - <Option Name="Version">1.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">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="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\d10</Directories> - <Directories Name="PackageDLLOutputDir"></Directories> - <Directories Name="PackageDCPOutputDir"></Directories> - <Directories Name="SearchPath">..\..\source</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">96</VersionInfo> - <VersionInfo Name="Release">1</VersionInfo> - <VersionInfo Name="Build">2070</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.96.1.2070</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.96.1.2070</VersionInfoKeys> - <VersionInfoKeys Name="Comments"></VersionInfoKeys> - </VersionInfoKeys> - <FileList> - <File FileName="" ContainerId="" ModuleName="System.Reflection"/> - <File FileName="" ContainerId="" ModuleName="System.Runtime.InteropServices"/> - <File FileName="..\..\source\common\JclAbstractContainers.pas" ContainerId="PascalCompiler" ModuleName="JclAbstractContainers"/> - <File FileName="..\..\source\common\JclAlgorithms.pas" ContainerId="PascalCompiler" ModuleName="JclAlgorithms"/> - <File FileName="..\..\source\common\JclAnsiStrings.pas" ContainerId="PascalCompiler" ModuleName="JclAnsiStrings"/> - <File FileName="..\..\source\common\JclArrayLists.pas" ContainerId="PascalCompiler" ModuleName="JclArrayLists"/> - <File FileName="..\..\source\common\JclArraySets.pas" ContainerId="PascalCompiler" ModuleName="JclArraySets"/> - <File FileName="..\..\source\common\JclBase.pas" ContainerId="PascalCompiler" ModuleName="JclBase"/> - <File FileName="..\..\source\common\JclBinaryTrees.pas" ContainerId="PascalCompiler" ModuleName="JclBinaryTrees"/> - <File FileName="..\..\source\common\JclComplex.pas" ContainerId="PascalCompiler" ModuleName="JclComplex"/> - <File FileName="..\..\source\common\JclContainerIntf.pas" ContainerId="PascalCompiler" ModuleName="JclContainerIntf"/> - <File FileName="..\..\source\common\JclDateTime.pas" ContainerId="PascalCompiler" ModuleName="JclDateTime"/> - <File FileName="..\..\source\common\JclFileUtils.pas" ContainerId="PascalCompiler" ModuleName="JclFileUtils"/> - <File FileName="..\..\source\common\JclHashSets.pas" ContainerId="PascalCompiler" ModuleName="JclHashSets"/> - <File FileName="..\..\source\common\JclIniFiles.pas" ContainerId="PascalCompiler" ModuleName="JclIniFiles"/> - <File FileName="..\..\source\common\JclLinkedLists.pas" ContainerId="PascalCompiler" ModuleName="JclLinkedLists"/> - <File FileName="..\..\source\common\JclLogic.pas" ContainerId="PascalCompiler" ModuleName="JclLogic"/> - <File FileName="..\..\source\common\JclMath.pas" ContainerId="PascalCompiler" ModuleName="JclMath"/> - <File FileName="..\..\source\common\JclMime.pas" ContainerId="PascalCompiler" ModuleName="JclMime"/> - <File FileName="..\..\source\common\JclQueues.pas" ContainerId="PascalCompiler" ModuleName="JclQueues"/> - <File FileName="..\..\source\common\JclResources.pas" ContainerId="PascalCompiler" ModuleName="JclResources"/> - <File FileName="..\..\source\common\JclRTTI.pas" ContainerId="PascalCompiler" ModuleName="JclRTTI"/> - <File FileName="..\..\source\common\JclStacks.pas" ContainerId="PascalCompiler" ModuleName="JclStacks"/> - <File FileName="..\..\source\common\JclStatistics.pas" ContainerId="PascalCompiler" ModuleName="JclStatistics"/> - <File FileName="..\..\source\common\JclStrings.pas" ContainerId="PascalCompiler" ModuleName="JclStrings"/> - <File FileName="..\..\source\common\JclSysInfo.pas" ContainerId="PascalCompiler" ModuleName="JclSysInfo"/> - <File FileName="..\..\source\common\JclSysUtils.pas" ContainerId="PascalCompiler" ModuleName="JclSysUtils"/> - <File FileName="..\..\source\common\JclUnitConv.pas" ContainerId="PascalCompiler" ModuleName="JclUnitConv"/> - <File FileName="..\..\source\common\JclValidation.pas" ContainerId="PascalCompiler" ModuleName="JclValidation"/> - <File FileName="..\..\source\common\JclVectors.pas" ContainerId="PascalCompiler" ModuleName="JclVectors"/> - <File FileName="..\..\source\common\JclHashMaps.pas" ContainerId="PascalCompiler" ModuleName="JclHashMaps"/> - </FileList> - </DelphiDotNet.Personality> -</BorlandProject> Deleted: trunk/jcl/packages/d10/Jedi.Jcl.cfg =================================================================== --- trunk/jcl/packages/d10/Jedi.Jcl.cfg 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/d10/Jedi.Jcl.cfg 2006-05-23 09:07:25 UTC (rev 1665) @@ -1,42 +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" --U"..\..\source" --O"..\..\source" --I"..\..\source" --R"..\..\source" --LU"" Deleted: trunk/jcl/packages/d10/Jedi.Jcl.dpr =================================================================== --- trunk/jcl/packages/d10/Jedi.Jcl.dpr 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/d10/Jedi.Jcl.dpr 2006-05-23 09:07:25 UTC (rev 1665) @@ -1,101 +0,0 @@ -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'; - -[assembly: AssemblyTitle('JEDI Code Library')] -[assembly: AssemblyDescription('Functions and classes')] -[assembly: AssemblyConfiguration('')] -[assembly: AssemblyCompany('')] -[assembly: AssemblyProduct('JCL')] -[assembly: AssemblyCopyright('')] -[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: - -[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. -// -[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)] - - -begin -end. Modified: trunk/jcl/packages/d6.dev/JclVClx.dpk =================================================================== --- trunk/jcl/packages/d6.dev/JclVClx.dpk 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/d6.dev/JclVClx.dpk 2006-05-23 09:07:25 UTC (rev 1665) @@ -38,9 +38,9 @@ requires rtl, visualclx - + ; contains JclQGraphUtils in '..\..\source\prototypes\JclQGraphUtils.pas' , JclQGraphics in '..\..\source\prototypes\JclQGraphics.pas' - + ; end. Deleted: trunk/jcl/packages/d9/Jedi.Jcl.bdsproj =================================================================== --- trunk/jcl/packages/d9/Jedi.Jcl.bdsproj 2006-05-23 01:55:12 UTC (rev 1664) +++ trunk/jcl/packages/d9/Jedi.Jcl.bdsproj 2006-05-23 09:07:25 UTC (rev 1665) @@ -1,206 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<BorlandProject> - <PersonalityInfo> - <Option> - <Option Name="Personality">DelphiDotNet.Personality</Option> - <Option Name="ProjectType">Library</Option> - <Option Name="Version">1.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">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="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> - <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> - <Directories> - <Directories Name="OutputDir">..\..\bin</Directories> - <Directories Name="UnitOutputDir">..\..\lib\d9</Directories> - <Directories Name="PackageDLLOutputDir"></Directories> - <Directories Name="PackageDCPOutputDir"></Directories> - <Directories Name="SearchPath">..\..\source</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> - <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">96</VersionInfo> - <VersionInfo Name="Release">1</VersionInfo> - <VersionInfo Name="Build">2070</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.96.1.2070</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.96.1.2070</VersionInfoKeys> - <VersionInfoKeys Name="Comments"></VersionInfoKeys> - </VersionInfoKeys> - <FileList> - <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"/> - <File FileName="..\..\source\common\JclArrayLists.pas" ContainerId="" ModuleName="JclArrayLists"/> - <File FileName="..\..\source\common\JclArraySets.pas" ContainerId="" ModuleName="JclArraySets"/> - <File FileName="..\..\source\common\JclBase.pas" ContainerId="" ModuleName="JclBase"/> - <File FileName="..\..\source\common\JclBinaryTrees.pas" ContainerId="" ModuleName="JclBinaryTrees"/> - <File FileName="..\..\source\common\JclComplex.pas" ContainerId="" ModuleName="JclComplex"/> - <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\JclHashSets.pas" ContainerId="" ModuleName="JclHashSets"/> - <File FileName="..\..\source\common\JclIniFiles.pas" ContainerId="" ModuleName="JclIniFiles"/> - <File FileName="..\..\source\common\JclLinkedLists.pas" ContainerId="" ModuleName="JclLinkedLists"/> - <File FileName="..\..\source\common\JclLogic.pas" ContainerId="" ModuleName="JclLogic"/> - <File FileName="..\..\source\common\JclMath.pas" ContainerId="" ModuleName="JclMath"/> - <File FileName="..\..\source\common\JclMime.pas" ContainerId="" ModuleName="JclMime"/> - <File FileName="..\..\source\common\JclQueues.pas" ContainerId="" ModuleName="JclQueues"/> - <File FileName="..\..\source\common\JclResources.pas" ContainerId="" ModuleName="JclResources"/> - <File FileName="..\..\source\common\JclRTTI.pas" ContainerId="" ModuleName="JclRTTI"/> - <File FileName="..\..\source\common\JclStacks.pas" ContainerId="" ModuleName="JclStacks"/> - <File FileName="..\..\source\common\JclStatistics.pas" ContainerId="" ModuleName="JclStatistics"/> - <File FileName="..\..\source\common\JclStrings.pas" ContainerId="" ModuleName="JclStrings"/> - <File FileName="..\..\source\common\JclSysInfo.pas" ContainerId="" ModuleName="JclSysInfo"/> - <File FileName="..\..\source\common\JclSysUtils.pas" ContainerId="" ModuleName="JclSysUtils"/> - <File FileName="..\..\sou... [truncated message content] |
|
From: <ou...@us...> - 2006-05-23 01:55:32
|
Revision: 1664 Author: outchy Date: 2006-05-22 18:55:12 -0700 (Mon, 22 May 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1664&view=rev Log Message: ----------- Regenerated by the resource makefile Modified Paths: -------------- trunk/jcl/packages/c5/JclVersionControlExpertC50.res trunk/jcl/packages/c6/JclVersionControlExpert.res trunk/jcl/packages/d10/JclDebugExpert.res trunk/jcl/packages/d10/JclFavoriteFoldersExpert.res trunk/jcl/packages/d10/JclProjectAnalysisExpert.RES trunk/jcl/packages/d10/JclSIMDViewExpert.res trunk/jcl/packages/d10/JclUsesExpert.res trunk/jcl/packages/d10/JclVersionControlExpert.res Modified: trunk/jcl/packages/c5/JclVersionControlExpertC50.res =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c6/JclVersionControlExpert.res =================================================================== (Binary files differ) Modified: trunk/jcl/packages/d10/JclDebugExpert.res =================================================================== (Binary files differ) Modified: trunk/jcl/packages/d10/JclFavoriteFoldersExpert.res =================================================================== (Binary files differ) Modified: trunk/jcl/packages/d10/JclProjectAnalysisExpert.RES =================================================================== (Binary files differ) Modified: trunk/jcl/packages/d10/JclSIMDViewExpert.res =================================================================== (Binary files differ) Modified: trunk/jcl/packages/d10/JclUsesExpert.res =================================================================== (Binary files differ) Modified: trunk/jcl/packages/d10/JclVersionControlExpert.res =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-05-23 01:29:18
|
Revision: 1663 Author: outchy Date: 2006-05-22 18:26:14 -0700 (Mon, 22 May 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1663&view=rev Log Message: ----------- repository expert introduction (C++ not supported yet) wizard fundamentals added to base expert Modified Paths: -------------- trunk/jcl/experts/common/JclOtaConsts.pas trunk/jcl/experts/common/JclOtaResources.pas trunk/jcl/experts/common/JclOtaUtils.pas trunk/jcl/experts/useswizard/JCLUsesWizard.pas trunk/jcl/install/JclInstall.pas trunk/jcl/install/JediInstall.pas trunk/jcl/packages/c5/JclBaseExpertC50.bpk trunk/jcl/packages/c5/JclBaseExpertC50.cpp trunk/jcl/packages/c5/JclBaseExpertC50.dpk trunk/jcl/packages/c6/JclBaseExpert.bpk trunk/jcl/packages/c6/JclBaseExpert.cpp trunk/jcl/packages/c6/JclBaseExpert.dpk trunk/jcl/packages/cs1/JclBaseExpert.dpk trunk/jcl/packages/d10/Jcl.res trunk/jcl/packages/d10/JclBaseExpert.dpk trunk/jcl/packages/d5/JclBaseExpertD50.dpk trunk/jcl/packages/d6/JclBaseExpert.dpk trunk/jcl/packages/d7/JclBaseExpert.dpk trunk/jcl/packages/d8/JclBaseExpert.dpk trunk/jcl/packages/d9/JclBaseExpert.dpk trunk/jcl/packages/resources.mak trunk/jcl/packages/xml/JclBaseExpert-D.xml trunk/jcl/source/common/JclBorlandTools.pas Added 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.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/ExceptDlgCpp.ico 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.RES 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/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/JclRepositoryExpertC50.res 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/c5/JclRepositoryExpertDLLC50.res 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/JclRepositoryExpert.res 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/c6/JclRepositoryExpertDLL.res 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/JclRepositoryExpert.res 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/JclRepositoryExpertDLL.res trunk/jcl/packages/d5/JclRepositoryExpertD50.dof trunk/jcl/packages/d5/JclRepositoryExpertD50.dpk trunk/jcl/packages/d5/JclRepositoryExpertD50.rc trunk/jcl/packages/d5/JclRepositoryExpertD50.res trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.dof trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.dpr trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.rc trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.res trunk/jcl/packages/d6/JclRepositoryExpert.dof trunk/jcl/packages/d6/JclRepositoryExpert.dpk trunk/jcl/packages/d6/JclRepositoryExpert.rc trunk/jcl/packages/d6/JclRepositoryExpert.res trunk/jcl/packages/d6/JclRepositoryExpertDLL.dof trunk/jcl/packages/d6/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d6/JclRepositoryExpertDLL.rc trunk/jcl/packages/d6/JclRepositoryExpertDLL.res trunk/jcl/packages/d7/JclRepositoryExpert.dof trunk/jcl/packages/d7/JclRepositoryExpert.dpk trunk/jcl/packages/d7/JclRepositoryExpert.rc trunk/jcl/packages/d7/JclRepositoryExpert.res trunk/jcl/packages/d7/JclRepositoryExpertDLL.dof trunk/jcl/packages/d7/JclRepositoryExpertDLL.dpr trunk/jcl/packages/d7/JclRepositoryExpertDLL.rc trunk/jcl/packages/d7/JclRepositoryExpertDLL.res 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/JclRepositoryExpert.res 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/d9/JclRepositoryExpertDLL.res trunk/jcl/packages/xml/JclRepositoryExpert-D.xml trunk/jcl/packages/xml/JclRepositoryExpertDLL-L.xml Modified: trunk/jcl/experts/common/JclOtaConsts.pas =================================================================== --- trunk/jcl/experts/common/JclOtaConsts.pas 2006-05-23 01:16:24 UTC (rev 1662) +++ trunk/jcl/experts/common/JclOtaConsts.pas 2006-05-23 01:26:14 UTC (rev 1663) @@ -31,9 +31,13 @@ {$I jcl.inc} +uses + ToolsApi; + const DelphiRootDirKeyValue = 'RootDir'; - JediIDESubKey = 'Jedi\JCL\IDE\'; + RegJclKey = 'Jedi\JCL\'; + RegJclIDEKey = RegJclKey + 'IDE\'; DelphiEnvironmentVar = 'DELPHI'; {$IFDEF COMPILER6_UP} EnvironmentVarsKey = 'Environment Variables'; @@ -51,6 +55,13 @@ JclWidth = 'Right'; JclHeight = 'Height'; + JclDesignerAny = {$IFDEF COMPILER6_UP} dAny {$ELSE COMPILER6_UP} '' {$ENDIF COMPILER6_UP}; + JclDesignerVcl = {$IFDEF COMPILER6_UP} dVcl {$ELSE COMPILER6_UP} '' {$ENDIF COMPILER6_UP}; + JclDesignerClx = {$IFDEF COMPILER6_UP} dClx {$ELSE COMPILER6_UP} '' {$ENDIF COMPILER6_UP}; + JclDelphiPersonality = {$IFDEF BDS} sDelphiPersonality {$ELSE BDS} '' {$ENDIF BDS}; + JclCBuilderPersonality = {$IFDEF BDS} sCBuilderPersonality {$ELSE BDS} '' {$ENDIF BDS}; + + //=== Configuration ======================================================== JclConfigurationSettings = 'JclExpertConfigurationForm'; JclActionSettings = 'Actions'; @@ -104,6 +115,11 @@ //=== Project analyser ===================================================== AnalyzerViewName = 'AnalyzerView'; + + //=== Repository Expert ==================================================== + JclRepositoryCategoryDelphiFiles = {$IFDEF BDS} sCategoryDelphiNewFiles {$ELSE BDS} '' {$ENDIF BDS}; + JclRepositoryCategoryCBuilderFiles = {$IFDEF BDS} sCategoryCBuilderNewFiles {$ELSE BDS} '' {$ENDIF BDS}; + implementation // History: Modified: trunk/jcl/experts/common/JclOtaResources.pas =================================================================== --- trunk/jcl/experts/common/JclOtaResources.pas 2006-05-23 01:16:24 UTC (rev 1662) +++ trunk/jcl/experts/common/JclOtaResources.pas 2006-05-23 01:26:14 UTC (rev 1663) @@ -42,6 +42,8 @@ RsENoModuleServices = 'Unable to get Borland Module Services'; RsENoWizardServices = 'Unable to get Borland Wizard Services'; RsENoPackageServices = 'Unable to get Borland Package Services'; + RsENoPersonalityServices = 'Unable to get Borland Personality Services'; + RsENoGalleryCategoryManager = 'Unable to get Borland Gallery Category Manager'; RsENoModule = 'Unable to get Module'; RsBadModuleHInstance = 'Unable to get module HInstance'; RsENoRootDir = 'RootDir is empty'; @@ -96,6 +98,58 @@ RsSelectPage = 'Select a page'; RsHomePage = '&JCL Home page'; +//=== JclOtaWizardForm.pas =================================================== +resourcestring + RsNext = '&Next'; + RsPrevious = '&Previous'; + RsFinish = '&Finish'; + RsWizardProgression = 'Page %d of %d: %s'; + +//=== JclOtaExcDlgWizard.pas ================================================= +resourcestring + RsExceptionDialogConfigure = 'New exception dialog...'; + +//=== JclOtaExcDlgFileFrame.pas ============================================== +resourcestring + RsExcDlgFileOptions = 'file options'; + RsLanguage = 'Language:'; + RsFileName = 'File name:'; + RsFormName = 'Form name:'; + RsFormAncestor = 'Form ancestor:'; + RsFileNameDialog = 'Save new file as...'; + +//=== JclOtaExcDlgFormFrame.pas ============================================== +resourcestring + RsExcDlgFormOptions = 'form options'; + RsDialogWithMailButton = 'Button to send stack trace by mail'; + RsEMail = 'EMail:'; + RsSubject = 'Subject:'; + RsModalDialog = 'Modal dialog'; + RsSizeableDialog = 'Sizeable dialog'; + RsAutoScrollBars = 'Automatic scroll bars'; + +//=== JclOtaExcDlgSystemFrame.pas ============================================ +resourcestring + RsExcDlgSystemOptions = 'system options'; + RsDelayedStackTrace = 'Delayed stack traces (faster)'; + RsLogTrace = 'Add crash data to log file'; + RsHookDll = 'Hook DLL'; + RsModuleList = 'Module list'; + RsOSInfo = 'Operating system informations'; + RsActiveControls = 'List of active controls'; + +//=== JclOtaExcDlgTraceFrame.pas ============================================= +resourcestring + RsExcDlgTraceOptions = 'trace options'; + RsStackList = 'Stack list'; + RsRawData = 'No debug informations'; + RsModuleName = 'Module name'; + //RsAddressOffset = 'Address offset'; + RsCodeDetails = 'Code details'; + RsVirtualAddress = 'Virtual address'; + RsModuleOffset = 'Module offset'; + RsPreview = 'Preview:'; + //=== OpenDlgFavAdapter.pas ================================================== resourcestring RsAdd = '<- Add'; @@ -253,11 +307,21 @@ resourcestring RsECantUpdateThreadContext = 'Unable to update the thread context'; +//=== JclOtaExcDlgRepository.pas ============================================= +resourcestring + RsRepositoryExcDlgPage = 'Exception dialog'; + + RsRepositoryExcDlgDelphiName = 'Jcl Exception dialog for Delphi'; + RsRepositoryExcDlgDelphiDescription = 'Create an exception dialog for your Delphi project'; + + RsRepositoryExcDlgCBuilderName = 'Jcl Exception dialog for C++Builder'; + RsRepositoryExcDlgCBuilderDescription = 'Create an exception dialog for your C++Builder'; + implementation // History: -// $Log$ +// $Log: JclOtaResources.pas,v $ // Revision 1.11 2006/03/13 22:05:31 outchy // Fixed error message to display project name // Modified: trunk/jcl/experts/common/JclOtaUtils.pas =================================================================== --- trunk/jcl/experts/common/JclOtaUtils.pas 2006-05-23 01:16:24 UTC (rev 1662) +++ trunk/jcl/experts/common/JclOtaUtils.pas 2006-05-23 01:26:14 UTC (rev 1663) @@ -38,6 +38,7 @@ {$IFDEF MSWINDOWS} JclDebug, {$ENDIF MSWINDOWS} + JclBorlandTools, ToolsAPI; const @@ -119,9 +120,12 @@ FEnvVariables: TStringList; FRootDir: string; FServices: IOTAServices; - FName: string; FNTAServices: INTAServices; + FOTAModuleServices: IOTAModuleServices; FSettings: TJclOTASettings; + {$IFDEF BDS} + FOTAPersonalityServices: IOTAPersonalityServices; + {$ENDIF BDS} function GetModuleHInstance: Cardinal; function GetActiveProject: IOTAProject; function GetProjectGroup: IOTAProjectGroup; @@ -129,6 +133,8 @@ procedure ReadEnvVariables; procedure ConfigurationActionUpdate(Sender: TObject); procedure ConfigurationActionExecute(Sender: TObject); + function GetActivePersonality: TJclBorPersonality; + function GetDesigner: string; public class procedure AddExpert(AExpert: TJclOTAExpertBase); class procedure RemoveExpert(AExpert: TJclOTAExpertBase); @@ -164,16 +170,22 @@ property ActiveProject: IOTAProject read GetActiveProject; property Settings: TJclOTASettings read FSettings; - property Name: string read FName; property NTAServices: INTAServices read FNTAServices; property ProjectGroup: IOTAProjectGroup read GetProjectGroup; property RootDir: string read GetRootDir; property Services: IOTAServices read FServices; + property OTAModuleServices: IOTAModuleServices read FOTAModuleServices; + {$IFDEF BDS} + property OTAPersonalityServices: IOTAPersonalityServices read FOTAPersonalityServices; + {$ENDIF BDS} + property ActivePersonality: TJclBorPersonality read GetActivePersonality; + property Designer: string read GetDesigner; + property ModuleHInstance: Cardinal read GetModuleHInstance; end; - TJclOTAExpert = class(TJclOTAExpertBase, IOTAWizard) + TJclOTAExpert = class(TJclOTAExpertBase, IOTAWizard, IOTANotifier) protected procedure AfterSave; virtual; procedure BeforeSave; virtual; @@ -187,6 +199,9 @@ // procedure SaveOptions(const Options: IOTAOptions; const FileName: string); function JclExpertShowExceptionDialog(AExceptionObj: TObject): Boolean; +{$IFDEF BDS} +function PersonalityTextToId(const PersonalityText: string): TJclBorPersonality; +{$ENDIF BDS} {$IFDEF BDS} procedure RegisterSplashScreen; @@ -199,7 +214,7 @@ {$IFDEF HAS_UNIT_VARIANTS} Variants, {$ENDIF HAS_UNIT_VARIANTS} - Forms, Graphics, Dialogs, + Forms, Graphics, Dialogs, ActiveX, {$IFDEF MSWINDOWS} ImageHlp, JclRegistry, {$ENDIF MSWINDOWS} @@ -208,11 +223,9 @@ {$ENDIF KYLIX} JclFileUtils, JclStrings, JclSysInfo, JclOtaConsts, JclOtaResources, JclOtaExceptionForm, JclOtaConfigurationForm, - JclOtaActionConfigureSheet; + JclOtaActionConfigureSheet, JclOtaWizardForm, JclOtaWizardFrame; -{$IFDEF BDS} {$R 'JclImages.res'} -{$ENDIF BDS} var GlobalActionList: TList = nil; @@ -265,6 +278,28 @@ end; end; +{$IFDEF BDS} +function PersonalityTextToId(const PersonalityText: string): TJclBorPersonality; +begin + if SameText(PersonalityText, sDelphiPersonality) then + Result := bpDelphi32 + else if SameText(PersonalityText, sDelphiDotNetPersonality) then + Result := bpDelphiNet32 + else if SameText(PersonalityText, sCBuilderPersonality) then + Result := bpBCBuilder32 + else if SameText(PersonalityText, sCSharpPersonality) then + Result := bpCSBuilder32 + else if SameText(PersonalityText, sVBPersonality) then + Result := bpVisualBasic32 + {$IFDEF COMPILER10_UP} + else if SameText(PersonalityText, sDesignPersonality) then + Result := bpDesign + {$ENDIF COMPILER10_UP} + else + Result := bpUnknown; +end; +{$ENDIF BDS} + //=== { EJclExpertException } ================================================ constructor EJclExpertException.CreateTrace(const Msg: string); @@ -297,7 +332,7 @@ FBaseKeyName := StrEnsureSuffix('\', OTAServices.GetBaseRegistryKey); - FKeyName := BaseKeyName + JediIDESubKey + ExpertName; + FKeyName := BaseKeyName + RegJclIDEKey + ExpertName; end; function TJclOTASettings.LoadBool(Name: string; Def: Boolean): Boolean; @@ -418,7 +453,7 @@ begin RemoveExpert(Self); UnregisterCommands; - + inherited BeforeDestruction; end; @@ -532,17 +567,26 @@ RegisterAboutBox; {$ENDIF BDS} - Supports(BorlandIDEServices,IOTAServices,FServices); + Supports(BorlandIDEServices, IOTAServices, FServices); if not Assigned(FServices) then raise EJclExpertException.CreateTrace(RsENoIDEServices); - Supports(FServices,INTAServices,FNTAServices); + Supports(BorlandIDEServices, INTAServices, FNTAServices); if not Assigned(FNTAServices) then raise EJclExpertException.CreateTrace(RsENoNTAServices); - FName := AName; + {$IFDEF BDS} + Supports(BorlandIDEServices, IOTAPersonalityServices, FOTAPersonalityServices); + if not Assigned(FOTAPersonalityServices) then + raise EJclExpertException.CreateTrace(RsENoPersonalityServices); + {$ENDIF BDS} + + Supports(BorlandIDEServices, IOTAModuleServices, FOTAModuleServices); + if not Assigned(FOTAModuleServices) then + raise EJclExpertException.CreateTrace(RsENoModuleServices); + FEnvVariables := TStringList.Create; - FSettings := TJclOTASettings.Create(FName); + FSettings := TJclOTASettings.Create(AName); end; destructor TJclOTAExpertBase.Destroy; @@ -608,6 +652,15 @@ Result := nil; end; +function TJclOTAExpertBase.GetDesigner: string; +begin + {$IFDEF COMPILER6_UP} + Result := Services.GetActiveDesignerType; + {$ELSE COMPILER6_UP} + Result := JclDesignerAny; + {$ENDIF COMPILER6_UP} +end; + function TJclOTAExpertBase.GetDrcFileName(const Project: IOTAProject): string; begin if not Assigned(Project) then @@ -671,19 +724,42 @@ Result := ExtractFilePath(Project.FileName); end; +function TJclOTAExpertBase.GetActivePersonality: TJclBorPersonality; +{$IFDEF BDS} +var + PersonalityText: string; + {$IFDEF COMPILER9_UP} + CurrentProject: IOTAProject; + {$ENDIF COMPILER9_UP} +{$ENDIF BDS} +begin +{$IFDEF BDS} + {$IFDEF COMPILER9_UP} + CurrentProject := ActiveProject; + if Assigned(CurrentProject) then + PersonalityText := CurrentProject.Personality + else + {$ENDIF COMPILER9_UP} + PersonalityText := OTAPersonalityServices.CurrentPersonality; + Result := PersonalityTextToId(PersonalityText); +{$ELSE BDS} +{$IFDEF DELPHI} + Result := bpDelphi32; +{$ENDIF DELPHI} +{$IFDEF BCB} + Result := bpBCBuilder32; +{$ENDIF BCB} +{$ENDIF BDS} +end; + function TJclOTAExpertBase.GetProjectGroup: IOTAProjectGroup; var - AModuleServices: IOTAModuleServices; AModule: IOTAModule; I: Integer; begin - Supports(BorlandIDEServices, IOTAModuleServices, AModuleServices); - if not Assigned(AModuleServices) then - raise EJclExpertException.CreateTrace(RsENoModuleServices); - - for I := 0 to AModuleServices.ModuleCount - 1 do + for I := 0 to OTAModuleServices.ModuleCount - 1 do begin - AModule := AModuleServices.Modules[I]; + AModule := OTAModuleServices.Modules[I]; if not Assigned(AModule) then raise EJclExpertException.CreateTrace(RsENoModule); if AModule.QueryInterface(IOTAProjectGroup, Result) = S_OK then @@ -1044,10 +1120,10 @@ procedure TJclOTAExpert.Modified; begin + end; {$IFDEF BDS} - var AboutBoxServices: IOTAAboutBoxServices = nil; AboutBoxIndex: Integer = -1; @@ -1103,6 +1179,9 @@ initialization +Classes.RegisterClass(TJclWizardForm); +Classes.RegisterClass(TJclWizardFrame); + finalization try @@ -1142,7 +1221,7 @@ // History: -// $Log$ +// $Log: JclOtaUtils.pas,v $ // Revision 1.19 2006/03/26 20:22:19 outchy // Command registration moved out of expert constructors and destructors // Added: trunk/jcl/experts/common/JclOtaWizardForm.dfm =================================================================== --- trunk/jcl/experts/common/JclOtaWizardForm.dfm (rev 0) +++ trunk/jcl/experts/common/JclOtaWizardForm.dfm 2006-05-23 01:26:14 UTC (rev 1663) @@ -0,0 +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 Added: trunk/jcl/experts/common/JclOtaWizardForm.pas =================================================================== --- trunk/jcl/experts/common/JclOtaWizardForm.pas (rev 0) +++ trunk/jcl/experts/common/JclOtaWizardForm.pas 2006-05-23 01:26:14 UTC (rev 1663) @@ -0,0 +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. Added: trunk/jcl/experts/common/JclOtaWizardFrame.dfm =================================================================== --- trunk/jcl/experts/common/JclOtaWizardFrame.dfm (rev 0) +++ trunk/jcl/experts/common/JclOtaWizardFrame.dfm 2006-05-23 01:26:14 UTC (rev 1663) @@ -0,0 +1,8 @@ +object JclWizardFrame: TJclWizardFrame + Left = 0 + Top = 0 + Width = 623 + Height = 298 + TabOrder = 0 + TabStop = True +end Added: trunk/jcl/experts/common/JclOtaWizardFrame.pas =================================================================== --- trunk/jcl/experts/common/JclOtaWizardFrame.pas (rev 0) +++ trunk/jcl/experts/common/JclOtaWizardFrame.pas 2006-05-23 01:26:14 UTC (rev 1663) @@ -0,0 +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. + Added: trunk/jcl/experts/debug/dialog/ExceptDlg.CBuilder32.cpp =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlg.CBuilder32.cpp (rev 0) +++ trunk/jcl/experts/debug/dialog/ExceptDlg.CBuilder32.cpp 2006-05-23 01:26:14 UTC (rev 1663) @@ -0,0 +1 @@ +TODO \ No newline at end of file Added: trunk/jcl/experts/debug/dialog/ExceptDlg.CBuilder32.dfm =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlg.CBuilder32.dfm (rev 0) +++ trunk/jcl/experts/debug/dialog/ExceptDlg.CBuilder32.dfm 2006-05-23 01:26:14 UTC (rev 1663) @@ -0,0 +1 @@ +TODO \ No newline at end of file Added: trunk/jcl/experts/debug/dialog/ExceptDlg.CBuilder32.h =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlg.CBuilder32.h (rev 0) +++ trunk/jcl/experts/debug/dialog/ExceptDlg.CBuilder32.h 2006-05-23 01:26:14 UTC (rev 1663) @@ -0,0 +1 @@ +TODO \ No newline at end of file Added: trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.dfm =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.dfm (rev 0) +++ trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.dfm 2006-05-23 01:26:14 UTC (rev 1663) @@ -0,0 +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 Added: trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas =================================================================== --- trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas (rev 0) +++ trunk/jcl/experts/debug/dialog/ExceptDlg.Delphi32.pas 2006-05-23 01:26:14 UTC (rev 1663) @@ -0,0 +1,635 @@ +{****************************************************************************} +{ } +{ 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; + NW: 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 + CALLInstruction.Address := Integer(@HookShowException) - Integer(CallAddress) - SizeOf(CALLInstruction); + Result := WriteProcessMemory(GetCurrentProcess, CallAddress, @CALLInstruction, SizeOf(CALLInstruction), NW); + if Result then + FlushInstructionCache(GetCurrentProcess, CallAddress, SizeOf(CALLInstruction)); + 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; + +//-------------------------------------------------------------------------------------------------- + +class procedure T%FORMNAME%.ExceptionHandler(Sender: TObject; E: Exception); +begin + if ExceptionShowing then + Application.ShowException(E) + else + begin + ExceptionShowing := True; + try + ShowException(E, nil); + finally + ExceptionShowing := False; + end; + end; +end; + +//-------------------------------------------------------------------------------------------------- + +class procedure T%FORMNAME%.ExceptionThreadHandler(Thread: TJclDebugThread); +begin + if ExceptionShowing then + Application.ShowException(Thread.SyncException) + else + begin + ExceptionShowing := True; + try + ShowException(Thread.SyncException, Thread); + finally + ExceptionShowing := False; + end; + end; +end; + +//-------------------------------------------------------------------------------------------------- + +procedure T%FORMNAME%.FormCreate(Sender: TObject); +begin +%if LogFile FSimpleLog := TJclSimpleLog.Create(%StrValue LogFileName);%endif + FFullHeight := ClientHeight; + DetailsVisible := False; + Caption := Format(RsAppError, [Application.Title]); +end; + +//-------------------------------------------------------------------------------------------------- + +procedure T%FORMNAME%.FormDestroy(Sender: TObject); +begin +%if LogFile FreeAndNil(FSimpleLog);%endif +end; + +//-------------------------------------------------------------------------------------------------- + +procedure T%FORMNAME%.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); +begin + if (Key = Ord('C')) and (ssCtrl in Shift) then + begin + CopyReportToClipboard; + MessageBeep(MB_OK); + end; +end; + +//-------------------------------------------------------------------------------------------------- + +procedure T%FORMNAME%.FormPaint(Sender: TObject); +begin + DrawIcon(Canvas.Handle, TextLabel.Left - GetSystemMetrics(SM_CXICON) - 15, + TextLabel.Top, LoadIcon(0, IDI_ERROR)); +end; + +//-------------------------------------------------------------------------------------------------- + +procedure T%FORMNAME%.FormResize(Sender: TObject); +begin + UpdateTextLabelScrollbars; +end; + +//-------------------------------------------------------------------------------------------------- + +procedure T%FORMNAME%.FormShow(Sender: TObject); +begin + BeforeCreateDetails; + MessageBeep(MB_ICONERROR); + if FIsMainThead and (GetWindowThreadProcessId(Handle, nil) = MainThreadID) then + PostMessage(Handle, UM_CREATEDETAILS, 0, 0) + else + CreateReport; +end; + +//-------------------------------------------------------------------------------------------------- + +function T%FORMNAME%.GetReportAsText: string; +begin + Result := StrEnsureSuffix(AnsiCrLf, TextLabel.Text) + AnsiCrLf + DetailsMemo.Text; +end; + +//-------------------------------------------------------------------------------------------------- + +procedure T%FORMNAME%.NextDetailBlock; +begin + DetailsMemo.Lines.Add(StrRepeat(ReportNewBlockDelimiterChar, ReportMaxColumns)); +end; + +//-------------------------------------------------------------------------------------------------- + +function T%FORMNAME%.ReportNewBlockDelimiterChar: Char; +begin + Result := '-'; +end; + +%if LogFile//-------------------------------------------------------------------------------------------------- + +procedure T%FORMNAME%.ReportToLog; +begin + if JclExcDlgReportToLog then + begin + FSimpleLog.WriteStamp(ReportMaxColumns); + try + FSimpleLog.Write(ReportAsText); + finally + FSimpleLog.CloseLog; + end; + end; +end; +%endif +//-------------------------------------------------------------------------------------------------- + +procedure T%FORMNAME%.SetDetailsVisible(const Value: Boolean); +var + DetailsCaption: string; +begin + FDetailsVisible := Value; + DetailsCaption := Trim(StrRemoveChars(DetailsBtn.Caption, ['<', '>'])); + if Value then + begin + Constraints.MinHeight := FNonDetailsHeight + 100; + Constraints.MaxHeight := Screen.Height; + DetailsCaption := '<< ' + DetailsCaption; + ClientHeight := FFullHeight; + DetailsMemo.Height := FFullHeight - DetailsMemo.Top - 3; + end + else + begin + FFullHeight := ClientHeight; + DetailsCaption := DetailsCaption + ' >>'; + if FNonDetailsHeight = 0 then + begin + ClientHeight := BevelDetails.Top; + FNonDetailsHeight := Height; + end + else + Height := FNonDetailsHeight; + Constraints.MinHeight := FNonDetailsHeight; + Constraints.MaxHeight := FNonDetailsHeight + end; + DetailsBtn.Caption := DetailsCaption; + DetailsMemo.Enabled := Value; +end; + +//-------------------------------------------------------------------------------------------------- + +class procedure T%FORMNAME%.ShowException(E: Exception; Thread: TJclDebugThread); +begin + if %FORMNAME% = nil then + %FORMNAME% := T%FORMNAME%Class.Create(Application); + try + with %FORMNAME% do + begin + FIsMainThead := (GetCurrentThreadId = MainThreadID); +%if ActiveControls FLastActiveControl := Screen.ActiveControl;%endif + TextLabel.Text := AdjustLineBreaks(StrEnsureSuffix('.', E.Message)); + UpdateTextLabelScrollbars; + DetailsMemo.Lines.Add(Format(RsExceptionClass, [E.ClassName])); + if Thread = nil then + DetailsMemo.Lines.Add(Format(RsExceptionAddr, [ExceptAddr])) + else + DetailsMemo.Lines.Add(Format(RsThread, [Thread.ThreadInfo])); + NextDetailBlock; + ShowModal; + end; + finally + FreeAndNil(%FORMNAME%); + end; +end; + +//-------------------------------------------------------------------------------------------------- + +procedure T%FORMNAME%.UMCreateDetails(var Message: TMessage); +begin + Update; + CreateDetails; +end; + +//-------------------------------------------------------------------------------------------------- + +procedure T%FORMNAME%.UpdateTextLabelScrollbars; +begin +%if AutoScrollBars Canvas.Font := TextLabel.Font; + if TextLabel.Lines.Count * Canvas.TextHeight('Wg') > TextLabel.ClientHeight then + TextLabel.ScrollBars := ssVertical + else + TextLabel.ScrollBars := ssNone;%endif +end; + +//================================================================================================== +// Exception handler initialization code +//================================================================================================== + +procedure InitializeHandler; +begin +%if RawData JclStackTrackingOptions := JclStackTrackingOptions + [stRawMode];%endif +%if HookDll JclStackTrackingOptions := JclStackTrackingOptions + [stStaticModuleList];%endif +%if DelayedTrace JclStackTrackingOptions := JclStackTrackingOptions + [stDelayedTrace];%endif + JclDebugThreadLis... [truncated message content] |
|
From: <ou...@us...> - 2006-05-23 01:16:48
|
Revision: 1662 Author: outchy Date: 2006-05-22 18:16:24 -0700 (Mon, 22 May 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1662&view=rev Log Message: ----------- BooleanToStr moved to JclSysUtils Modified Paths: -------------- trunk/jcl/examples/windows/clr/ClrDemoTableForm.pas trunk/jcl/examples/windows/fileversion/VerInfoDemoMain.pas trunk/jcl/source/common/JclAnsiStrings.pas trunk/jcl/source/common/JclStrings.pas trunk/jcl/source/common/JclSysUtils.pas trunk/jcl/source/windows/JclWideFormat.pas Modified: trunk/jcl/examples/windows/clr/ClrDemoTableForm.pas =================================================================== --- trunk/jcl/examples/windows/clr/ClrDemoTableForm.pas 2006-05-20 19:38:28 UTC (rev 1661) +++ trunk/jcl/examples/windows/clr/ClrDemoTableForm.pas 2006-05-23 01:16:24 UTC (rev 1662) @@ -59,7 +59,7 @@ {$IFDEF USE_JWA} JwaWinCrypt, JwaWinNT, {$ENDIF} - JclStrings, ClrDemoMain; + JclStrings, JclSysUtils, ClrDemoMain; { TfrmTable } Modified: trunk/jcl/examples/windows/fileversion/VerInfoDemoMain.pas =================================================================== --- trunk/jcl/examples/windows/fileversion/VerInfoDemoMain.pas 2006-05-20 19:38:28 UTC (rev 1661) +++ trunk/jcl/examples/windows/fileversion/VerInfoDemoMain.pas 2006-05-23 01:16:24 UTC (rev 1662) @@ -33,7 +33,7 @@ {$R *.DFM} uses - JclFileUtils, JclStrings; + JclFileUtils, JclStrings, JclSysUtils; { TForm1 } Modified: trunk/jcl/source/common/JclAnsiStrings.pas =================================================================== --- trunk/jcl/source/common/JclAnsiStrings.pas 2006-05-20 19:38:28 UTC (rev 1661) +++ trunk/jcl/source/common/JclAnsiStrings.pas 2006-05-23 01:16:24 UTC (rev 1662) @@ -333,7 +333,9 @@ function AddStringToStrings(const S: string; Strings: TStrings; const Unique: Boolean): Boolean; // Miscellaneous +{$IFDEF KEEP_DEPRECATED} function BooleanToStr(B: Boolean): AnsiString; +{$ENDIF KEEP_DEPRECATED} function FileToString(const FileName: AnsiString): AnsiString; procedure StringToFile(const FileName, Contents: AnsiString); function StrToken(var S: AnsiString; Separator: AnsiChar): AnsiString; @@ -3691,13 +3693,14 @@ end; //=== Miscellaneous ========================================================== - +{$IFDEF KEEP_DEPRECATED} function BooleanToStr(B: Boolean): AnsiString; const Bools: array [Boolean] of AnsiString = ('False', 'True'); begin Result := Bools[B]; end; +{$ENDIF KEEP_DEPRECATED} function FileToString(const FileName: AnsiString): AnsiString; var Modified: trunk/jcl/source/common/JclStrings.pas =================================================================== --- trunk/jcl/source/common/JclStrings.pas 2006-05-20 19:38:28 UTC (rev 1661) +++ trunk/jcl/source/common/JclStrings.pas 2006-05-23 01:16:24 UTC (rev 1662) @@ -334,7 +334,9 @@ function AddStringToStrings(const S: string; Strings: TStrings; const Unique: Boolean): Boolean; // Miscellaneous +{$IFDEF KEEP_DEPRECATED} function BooleanToStr(B: Boolean): string; +{$ENDIF KEEP_DEPRECATED} function FileToString(const FileName: string): AnsiString; procedure StringToFile(const FileName: string; const Contents: AnsiString); function StrToken(var S: string; Separator: Char): string; @@ -3797,12 +3799,14 @@ //=== Miscellaneous ========================================================== +{$IFDEF KEEP_DEPRECATED} function BooleanToStr(B: Boolean): string; const Bools: array [Boolean] of string = ('False', 'True'); begin Result := Bools[B]; end; +{$ENDIF KEEP_DEPRECATED} function FileToString(const FileName: string): AnsiString; var Modified: trunk/jcl/source/common/JclSysUtils.pas =================================================================== --- trunk/jcl/source/common/JclSysUtils.pas 2006-05-20 19:38:28 UTC (rev 1661) +++ trunk/jcl/source/common/JclSysUtils.pas 2006-05-23 01:16:24 UTC (rev 1662) @@ -437,6 +437,7 @@ EJclConversionError = class(EJclError); function StrToBoolean(const S: string): Boolean; +function BooleanToStr(B: Boolean): string; function IntToBool(I: Integer): Boolean; function BoolToInt(B: Boolean): Integer; @@ -2692,6 +2693,14 @@ end; end; +function BooleanToStr(B: Boolean): string; +begin + if B then + Result := DefaultTrueBoolStr + else + Result := DefaultFalseBoolStr; +end; + function IntToBool(I: Integer): Boolean; begin Result := I <> 0; Modified: trunk/jcl/source/windows/JclWideFormat.pas =================================================================== --- trunk/jcl/source/windows/JclWideFormat.pas 2006-05-20 19:38:28 UTC (rev 1661) +++ trunk/jcl/source/windows/JclWideFormat.pas 2006-05-23 01:16:24 UTC (rev 1662) @@ -86,7 +86,8 @@ JclBase, // for PByte and PCardinal JclMath, // for TDelphiSet JclResources, // for resourcestrings - JclStrings, // for BooleanToStr, StrLen + JclStrings, // for StrLen + JclSysUtils, // for BooleanToStr JclWideStrings; // for StrLenW, MoveWideChar type This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ob...@us...> - 2006-05-20 19:38:55
|
Revision: 1661 Author: obones Date: 2006-05-20 12:38:28 -0700 (Sat, 20 May 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1661&view=rev Log Message: ----------- Regenerated by installer Modified Paths: -------------- trunk/jcl/packages/c5/JclBaseExpertC50.res trunk/jcl/packages/c5/JclC50.res trunk/jcl/packages/c5/JclDebugExpertC50.RES trunk/jcl/packages/c5/JclFavoriteFoldersExpertC50.res trunk/jcl/packages/c5/JclProjectAnalysisExpertC50.RES trunk/jcl/packages/c5/JclSIMDViewExpertC50.res trunk/jcl/packages/c5/JclUsesExpertC50.RES trunk/jcl/packages/c6/Jcl.RES trunk/jcl/packages/c6/JclBaseExpert.res trunk/jcl/packages/c6/JclFavoriteFoldersExpert.RES trunk/jcl/packages/c6/JclProjectAnalysisExpert.RES trunk/jcl/packages/c6/JclSIMDViewExpert.res trunk/jcl/packages/c6/JclThreadNameExpert.RES trunk/jcl/packages/c6/JclUsesExpert.RES trunk/jcl/packages/c6/JclVClx.RES trunk/jcl/packages/c6/JclVcl.RES Modified: trunk/jcl/packages/c5/JclBaseExpertC50.res =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c5/JclC50.res =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c5/JclDebugExpertC50.RES =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c5/JclFavoriteFoldersExpertC50.res =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c5/JclProjectAnalysisExpertC50.RES =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c5/JclSIMDViewExpertC50.res =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c5/JclUsesExpertC50.RES =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c6/Jcl.RES =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c6/JclBaseExpert.res =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c6/JclFavoriteFoldersExpert.RES =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c6/JclProjectAnalysisExpert.RES =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c6/JclSIMDViewExpert.res =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c6/JclThreadNameExpert.RES =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c6/JclUsesExpert.RES =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c6/JclVClx.RES =================================================================== (Binary files differ) Modified: trunk/jcl/packages/c6/JclVcl.RES =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <el...@us...> - 2006-05-20 08:02:17
|
Revision: 1660 Author: elahn Date: 2006-05-20 01:02:04 -0700 (Sat, 20 May 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1660&view=rev Log Message: ----------- Bugfix - In TJclDCC32.SaveOptionsToFile, empty path options were being saved without a trailing double-quote + CRLF. Add event TJclDCC32.OnBeforeSaveOptionsToFile. Modified Paths: -------------- trunk/jcl/source/common/JclBorlandTools.pas Modified: trunk/jcl/source/common/JclBorlandTools.pas =================================================================== --- trunk/jcl/source/common/JclBorlandTools.pas 2006-05-18 22:41:27 UTC (rev 1659) +++ trunk/jcl/source/common/JclBorlandTools.pas 2006-05-20 08:02:04 UTC (rev 1660) @@ -388,6 +388,8 @@ end; TJclDCC32 = class(TJclBorlandCommandLineTool) + private + FOnBeforeSaveOptionsToFile: TNotifyEvent; protected constructor Create(AInstallation: TJclBorRADToolInstallation); override; function GetExeName: string; override; @@ -402,6 +404,7 @@ {$IFDEF KEEP_DEPRECATED} function SupportsLibSuffix: Boolean; {$ENDIF KEEP_DEPRECATED} + property OnBeforeSaveOptionsToFile: TNotifyEvent read FOnBeforeSaveOptionsToFile write FOnBeforeSaveOptionsToFile; end; {$IFDEF KEEP_DEPRECATED} TJclDCC = TJclDCC32; @@ -2228,6 +2231,8 @@ S: string; F: TextFile; begin + if Assigned(FOnBeforeSaveOptionsToFile) then + FOnBeforeSaveOptionsToFile(Self); AssignFile(F, ConfigFileName); Rewrite(F); List := TStringList.Create; @@ -2246,8 +2251,9 @@ begin for J := 0 to List.Count - 2 do Write(F, List[J], PathSep); - WriteLn(F, List[List.Count - 1], '"'); + Write(F, List[List.Count - 1]); end; + WriteLn(F, '"'); end else WriteLn(F, S); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <ou...@us...> - 2006-05-18 22:41:36
|
Revision: 1659 Author: outchy Date: 2006-05-18 15:41:27 -0700 (Thu, 18 May 2006) ViewCVS: http://svn.sourceforge.net/jcl/?rev=1659&view=rev Log Message: ----------- Access violation fix Modified Paths: -------------- trunk/jcl/source/windows/JclDebug.pas Modified: trunk/jcl/source/windows/JclDebug.pas =================================================================== --- trunk/jcl/source/windows/JclDebug.pas 2006-05-18 16:04:47 UTC (rev 1658) +++ trunk/jcl/source/windows/JclDebug.pas 2006-05-18 22:41:27 UTC (rev 1659) @@ -355,9 +355,13 @@ protected function CreateDebugInfo(const Module: HMODULE): TJclDebugInfoSource; public - class procedure RegisterDebugInfoSource(const InfoSourceClass: TJclDebugInfoSourceClass); - class procedure UnRegisterDebugInfoSource(const InfoSourceClass: TJclDebugInfoSourceClass); - class procedure NeedInfoSourceClassList; + class procedure RegisterDebugInfoSource( + const InfoSourceClass: TJclDebugInfoSourceClass); + class procedure UnRegisterDebugInfoSource( + const InfoSourceClass: TJclDebugInfoSourceClass); + class procedure RegisterDebugInfoSourceFirst( + const InfoSourceClass: TJclDebugInfoSourceClass); + class procedure NeedInfoSourceClassList; function GetLocationInfo(const Addr: Pointer; var Info: TJclLocationInfo): Boolean; property ItemFromModule[const Module: HMODULE]: TJclDebugInfoSource read GetItemFromModule; property Items[Index: Integer]: TJclDebugInfoSource read GetItems; @@ -2423,7 +2427,7 @@ var I: Integer; begin - NeedDebugInfoList; + NeedInfoSourceClassList; for I := 0 to InfoSourceClassList.Count - 1 do begin @@ -2510,6 +2514,14 @@ InfoSourceClassList.Add(Pointer(InfoSourceClass)); end; +class procedure TJclDebugInfoList.RegisterDebugInfoSourceFirst( + const InfoSourceClass: TJclDebugInfoSourceClass); +begin + NeedInfoSourceClassList; + + InfoSourceClassList.Insert(0, Pointer(InfoSourceClass)); +end; + class procedure TJclDebugInfoList.UnRegisterDebugInfoSource( const InfoSourceClass: TJclDebugInfoSourceClass); begin This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |