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-10-30 18:04:25
|
Revision: 1808
http://svn.sourceforge.net/jcl/?rev=1808&view=rev
Author: outchy
Date: 2006-10-30 10:04:11 -0800 (Mon, 30 Oct 2006)
Log Message:
-----------
Fixed compilation problem.
Modified Paths:
--------------
trunk/jcl/experts/useswizard/JCLUsesWizard.pas
Modified: trunk/jcl/experts/useswizard/JCLUsesWizard.pas
===================================================================
--- trunk/jcl/experts/useswizard/JCLUsesWizard.pas 2006-10-30 17:06:29 UTC (rev 1807)
+++ trunk/jcl/experts/useswizard/JCLUsesWizard.pas 2006-10-30 18:04:11 UTC (rev 1808)
@@ -775,7 +775,7 @@
end;
// attempt to recompile
- Project := GetActiveProject;
+ Project := ActiveProject;
if Assigned(Project) and Assigned(Project.ProjectBuilder) then
Project.ProjectBuilder.BuildProject(cmOTAMake, True, True);
end;
@@ -821,7 +821,7 @@
end;
// attempt to recompile
- Project := GetActiveProject;
+ Project := ActiveProject;
if Assigned(Project) and Assigned(Project.ProjectBuilder) then
Project.ProjectBuilder.BuildProject(cmOTAMake, True, True);
end;
@@ -900,7 +900,7 @@
end;
// attempt to recompile
- Project := GetActiveProject;
+ Project := ActiveProject;
if Assigned(Project) and Assigned(Project.ProjectBuilder) then
Project.ProjectBuilder.BuildProject(cmOTAMake, True, True);
end;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2006-10-30 17:09:57
|
Revision: 1807
http://svn.sourceforge.net/jcl/?rev=1807&view=rev
Author: outchy
Date: 2006-10-30 09:06:29 -0800 (Mon, 30 Oct 2006)
Log Message:
-----------
Mantis 3799 Value of configuration file not retained
Style cleanings in the uses expert, this expert should be heavily tested with BDS.
Modified Paths:
--------------
trunk/jcl/experts/common/JclOtaConsts.pas
trunk/jcl/experts/common/JclOtaUtils.pas
trunk/jcl/experts/useswizard/JCLUsesWizard.pas
Modified: trunk/jcl/experts/common/JclOtaConsts.pas
===================================================================
--- trunk/jcl/experts/common/JclOtaConsts.pas 2006-10-30 15:00:17 UTC (rev 1806)
+++ trunk/jcl/experts/common/JclOtaConsts.pas 2006-10-30 17:06:29 UTC (rev 1807)
@@ -101,10 +101,9 @@
SRegWizardActive = 'Uses Wizard Active';
SRegWizardConfirm = 'Uses Wizard Confirm';
SRegWizardIniFile = 'Configuration File';
+ JclRootDirValueName = 'RootDir';
+ JclIniFileLocation = 'experts\useswizard\JediUsesWizard.ini';
- SJCLUsesWizardID = 'JEDI.JCLUsesWizard'; // wizard ID
- SJCLUsesWizardName = 'JCL Uses Wizard'; // wizard name
-
//=== Project analyser =====================================================
AnalyzerViewName = 'AnalyzerView';
Modified: trunk/jcl/experts/common/JclOtaUtils.pas
===================================================================
--- trunk/jcl/experts/common/JclOtaUtils.pas 2006-10-30 15:00:17 UTC (rev 1806)
+++ trunk/jcl/experts/common/JclOtaUtils.pas 2006-10-30 17:06:29 UTC (rev 1807)
@@ -329,7 +329,7 @@
if not Assigned(OTAServices) then
raise EJclExpertException.CreateTrace(RsENoIDEServices);
- FBaseKeyName := StrEnsureSuffix('\', OTAServices.GetBaseRegistryKey);
+ FBaseKeyName := StrEnsureSuffix(AnsiBackSlash, OTAServices.GetBaseRegistryKey);
FKeyName := BaseKeyName + RegJclIDEKey + ExpertName;
end;
@@ -647,12 +647,17 @@
function TJclOTAExpertBase.GetActiveProject: IOTAProject;
var
TempProjectGroup: IOTAProjectGroup;
+ Index: Integer;
begin
+ Result := nil;
TempProjectGroup := ProjectGroup;
+
if Assigned(TempProjectGroup) then
Result := TempProjectGroup.ActiveProject
else
- Result := nil;
+ for Index := 0 to OTAModuleServices.ModuleCount - 1 do
+ if Supports(OTAModuleServices.Modules[Index], IOTAProject, Result) then
+ Exit;
end;
function TJclOTAExpertBase.GetDesigner: string;
Modified: trunk/jcl/experts/useswizard/JCLUsesWizard.pas
===================================================================
--- trunk/jcl/experts/useswizard/JCLUsesWizard.pas 2006-10-30 15:00:17 UTC (rev 1806)
+++ trunk/jcl/experts/useswizard/JCLUsesWizard.pas 2006-10-30 17:06:29 UTC (rev 1807)
@@ -58,7 +58,6 @@
FIniFile: string;
FNotifierIndex: Integer;
FFrameJclOptions: TFrameJclOptions;
- procedure SetIniFile(const Value: string);
procedure AppIdle(Sender: TObject; var Done: Boolean);
procedure ClearErrors;
function DoConfirmChanges(ChangeList: TStrings): TModalResult;
@@ -67,17 +66,19 @@
procedure ProcessUses;
procedure ResolveUsesName(Error: PErrorInfo);
procedure SetActive(Value: Boolean);
- procedure SetConfirmChanges(Value: Boolean);
public
Value: Integer;
constructor Create; reintroduce;
destructor Destroy; override;
- function LoadFromRegistry: Boolean;
+ procedure RegisterCommands; override;
+ procedure UnregisterCommands; override;
+ procedure LoadSettings;
+ procedure SaveSettings;
procedure AddConfigurationPages(AddPageFunc: TJclOTAAddPageFunc); override;
procedure ConfigurationClosed(AControl: TControl; SaveChanges: Boolean); override;
property Active: Boolean read FActive write SetActive;
- property ConfirmChanges: Boolean read FConfirmChanges write SetConfirmChanges;
- property IniFile: string read FIniFile write SetIniFile;
+ property ConfirmChanges: Boolean read FConfirmChanges write FConfirmChanges;
+ property IniFile: string read FIniFile write FIniFile;
end;
TJCLUsesWizardNotifier = class(TNotifierObject, IOTANotifier, IOTAIDENotifier, IOTAIDENotifier50)
@@ -108,61 +109,70 @@
uses
IniFiles,
- JclFileUtils, JclParseUses, JclRegistry, JclUsesDialog,
+ JclFileUtils, JclParseUses, JclRegistry, JclStrings,
+ JclUsesDialog,
JclOtaConsts, JclOtaResources;
-function FindClassForm(const AClassName: string): TForm;
-var
- I: Integer;
+// create and register wizard instance
+
+procedure Register;
begin
- Result := nil;
- with Screen do
- for I := 0 to FormCount - 1 do
- if Forms[I].ClassNameIs(AClassName) then
- begin
- Result := Forms[I];
- Break;
- end;
+ try
+ RegisterPackageWizard(TJCLUsesWizard.Create);
+ except
+ on ExceptionObj: TObject do
+ begin
+ JclExpertShowExceptionDialog(ExceptionObj);
+ raise;
+ end;
+ end;
end;
-function GetActiveProject: IOTAProject;
var
- ProjectGroup: IOTAProjectGroup;
- I: Integer;
+ JCLWizardIndex: Integer = -1;
+
+procedure JclWizardTerminate;
+var
+ OTAWizardServices: IOTAWizardServices;
begin
- Result := nil;
+ try
+ if JCLWizardIndex <> -1 then
+ begin
+ Supports(BorlandIDEServices, IOTAWizardServices, OTAWizardServices);
+ if not Assigned(OTAWizardServices) then
+ raise EJclExpertException.CreateTrace(RsENoWizardServices);
- with BorlandIDEServices as IOTAModuleServices do
- begin
- ProjectGroup := nil;
- for I := 0 to ModuleCount - 1 do
- if Supports(Modules[I], IOTAProjectGroup, ProjectGroup) then
- Break;
-
- if Assigned(ProjectGroup) then
- Result := ProjectGroup.ActiveProject
- else
- for I := 0 to ModuleCount - 1 do
- if Supports(Modules[I], IOTAProject, Result) then
- Break;
+ OTAWizardServices.RemoveWizard(JCLWizardIndex);
+ end;
+ except
+ on ExceptionObj: TObject do
+ begin
+ JclExpertShowExceptionDialog(ExceptionObj);
+ end;
end;
end;
-function GetLineNumber(S1, S2: PChar): Integer;
+function JCLWizardInit(const BorlandIDEServices: IBorlandIDEServices;
+ RegisterProc: TWizardRegisterProc;
+ var TerminateProc: TWizardTerminateProc): Boolean stdcall;
var
- P: PChar;
+ OTAWizardServices: IOTAWizardServices;
begin
- if S2 < S1 then
- Result := 0
- else
- begin
- Result := 1;
- P := StrPos(S1, #13#10);
- while (P <> nil) and (P <= S2) do
- begin
- Inc(Result);
+ try
+ TerminateProc := JclWizardTerminate;
- P := StrPos(P + 2, #13#10);
+ Supports(BorlandIDEServices, IOTAWizardServices, OTAWizardServices);
+ if not Assigned(OTAWizardServices) then
+ raise EJclExpertException.CreateTrace(RsENoWizardServices);
+
+ JCLWizardIndex := OTAWizardServices.AddWizard(TJCLUsesWizard.Create);
+
+ Result := True;
+ except
+ on ExceptionObj: TObject do
+ begin
+ JclExpertShowExceptionDialog(ExceptionObj);
+ Result := False;
end;
end;
end;
@@ -195,6 +205,38 @@
Result := '';
end;
+function FindClassForm(const AClassName: string): TForm;
+var
+ I: Integer;
+begin
+ Result := nil;
+ for I := 0 to Screen.FormCount - 1 do
+ if Screen.Forms[I].ClassNameIs(AClassName) then
+ begin
+ Result := Screen.Forms[I];
+ Break;
+ end;
+end;
+
+function GetLineNumber(S1, S2: PChar): Integer;
+var
+ P: PChar;
+begin
+ if S2 < S1 then
+ Result := 0
+ else
+ begin
+ Result := 1;
+ P := StrPos(S1, #13#10);
+ while (P <> nil) and (P <= S2) do
+ begin
+ Inc(Result);
+
+ P := StrPos(P + 2, #13#10);
+ end;
+ end;
+end;
+
// the message treeview is custom drawn; hence this hack
procedure GetCompilerMessages(List: TStrings);
@@ -272,35 +314,8 @@
end;
end;
-function ReadString(S: PChar; Len: Integer): string;
-begin
- SetString(Result, S, Len);
-end;
-
//=== { TJCLUsesWizardNotifier } =============================================
-// TJCLUsesWizardNotifier private: IOTAIDENotifier
-
-procedure TJCLUsesWizardNotifier.AfterCompile(Succeeded: Boolean);
-begin
- // do nothing
-end;
-
-procedure TJCLUsesWizardNotifier.BeforeCompile(const Project: IOTAProject; var Cancel: Boolean);
-begin
- // do nothing
-end;
-
-procedure TJCLUsesWizardNotifier.FileNotification(NotifyCode: TOTAFileNotification;
- const FileName: string; var Cancel: Boolean);
-begin
- // do nothing
-end;
-
-//=== { TJCLUsesWizardNotifier } =============================================
-
-// TJCLUsesWizardNotifier private: IOTAIDENotifier50
-
procedure TJCLUsesWizardNotifier.AfterCompile(Succeeded, IsCodeInsight: Boolean);
var
Messages: TStrings;
@@ -326,12 +341,22 @@
end;
end;
+procedure TJCLUsesWizardNotifier.AfterCompile(Succeeded: Boolean);
+begin
+ // do nothing
+end;
+
procedure TJCLUsesWizardNotifier.BeforeCompile(const Project: IOTAProject;
IsCodeInsight: Boolean; var Cancel: Boolean);
begin
// do nothing
end;
+procedure TJCLUsesWizardNotifier.BeforeCompile(const Project: IOTAProject; var Cancel: Boolean);
+begin
+ // do nothing
+end;
+
constructor TJCLUsesWizardNotifier.Create(AWizard: TJclUsesWizard);
begin
inherited Create;
@@ -339,10 +364,14 @@
FWizard := AWizard;
end;
+procedure TJCLUsesWizardNotifier.FileNotification(NotifyCode: TOTAFileNotification;
+ const FileName: string; var Cancel: Boolean);
+begin
+ // do nothing
+end;
+
//=== { TJCLUsesWizard } =====================================================
-// private
-
procedure TJCLUsesWizard.AddConfigurationPages(AddPageFunc: TJclOTAAddPageFunc);
begin
inherited AddConfigurationPages(AddPageFunc);
@@ -394,6 +423,27 @@
FErrors.Clear;
end;
+constructor TJCLUsesWizard.Create;
+begin
+ inherited Create(JclUsesExpertName);
+
+ FIdentifierLists := TStringList.Create;
+ FErrors := TList.Create;
+ FActive := False;
+ FConfirmChanges := False;
+ FNotifierIndex := -1;
+end;
+
+destructor TJCLUsesWizard.Destroy;
+begin
+ SetActive(False);
+ ClearErrors;
+ FErrors.Free;
+ FIdentifierLists.Free;
+
+ inherited Destroy;
+end;
+
function TJCLUsesWizard.DoConfirmChanges(ChangeList: TStrings): TModalResult;
var
Dialog: TFormUsesConfirm;
@@ -442,6 +492,20 @@
end;
end;
+procedure TJCLUsesWizard.LoadSettings;
+var
+ DefaultIniFile, DefaultRegKey: string;
+begin
+ DefaultRegKey := StrEnsureSuffix(AnsiBackslash, Services.GetBaseRegistryKey) + RegJclKey;
+ DefaultIniFile := RegReadStringDef(HKCU, DefaultRegKey, JclRootDirValueName, '');
+ if DefaultIniFile <> '' then
+ DefaultIniFile := PathAddSeparator(DefaultIniFile) + JclIniFileLocation;
+
+ ConfirmChanges := Settings.LoadBool(SRegWizardConfirm, True);
+ IniFile := Settings.LoadString(SRegWizardIniFile, DefaultIniFile);
+ Active := Settings.LoadBool(SRegWizardActive, False);
+end;
+
// load localized strings for the undeclared identifier error
procedure TJCLUsesWizard.ProcessCompilerMessages(Messages: TStrings);
@@ -849,6 +913,11 @@
end;
end;
+procedure TJCLUsesWizard.RegisterCommands;
+begin
+ LoadSettings;
+end;
+
procedure TJCLUsesWizard.ResolveUsesName(Error: PErrorInfo);
var
I: Integer;
@@ -879,6 +948,13 @@
end;
end;
+procedure TJCLUsesWizard.SaveSettings;
+begin
+ Settings.SaveBool(SRegWizardConfirm, ConfirmChanges);
+ Settings.SaveString(SRegWizardIniFile, IniFile);
+ Settings.SaveBool(SRegWizardActive, Active);
+end;
+
procedure TJCLUsesWizard.SetActive(Value: Boolean);
begin
if Value <> FActive then
@@ -902,124 +978,9 @@
end;
end;
-procedure TJCLUsesWizard.SetConfirmChanges(Value: Boolean);
+procedure TJCLUsesWizard.UnregisterCommands;
begin
- if Value <> FConfirmChanges then
- begin
- FConfirmChanges := Value;
- end;
+ SaveSettings;
end;
-procedure TJCLUsesWizard.SetIniFile(const Value: string);
-begin
- FIniFile := Value;
-end;
-
-//=== { TJCLUsesWizard } =====================================================
-
-// public
-
-constructor TJCLUsesWizard.Create;
-begin
- inherited Create(JclUsesExpertName);
- FIdentifierLists := TStringList.Create;
- FErrors := TList.Create;
- FActive := False;
- FConfirmChanges := False;
- FNotifierIndex := -1;
-
- LoadFromRegistry;
-end;
-
-destructor TJCLUsesWizard.Destroy;
-begin
- SetActive(False);
- ClearErrors;
- FErrors.Free;
- FIdentifierLists.Free;
- inherited Destroy;
-end;
-
-function TJCLUsesWizard.LoadFromRegistry: Boolean;
-var
- S: string;
- Root: DelphiHKEY;
-begin
- S := (BorlandIDEServices as IOTAServices).GetBaseRegistryKey + '\' + RegJclIDEKey + JclUsesExpertName;
- Root := HKEY_CURRENT_USER;
- Result := RegKeyExists(Root, S);
- if not Result then
- begin
- Root := HKEY_LOCAL_MACHINE;
- Result := RegKeyExists(Root, S);
- end;
- SetActive(RegReadBoolDef(Root, S, SRegWizardActive, False));
- FConfirmChanges := RegReadBoolDef(Root, S, SRegWizardConfirm, True);
- FIniFile := RegReadStringDef(Root, S, SRegWizardIniFile, '');
-end;
-
-// create and register wizard instance
-
-procedure Register;
-begin
- try
- RegisterPackageWizard(TJCLUsesWizard.Create);
- except
- on ExceptionObj: TObject do
- begin
- JclExpertShowExceptionDialog(ExceptionObj);
- raise;
- end;
- end;
-end;
-
-var
- JCLWizardIndex: Integer = -1;
-
-procedure JclWizardTerminate;
-var
- OTAWizardServices: IOTAWizardServices;
-begin
- try
- if JCLWizardIndex <> -1 then
- begin
- Supports(BorlandIDEServices, IOTAWizardServices, OTAWizardServices);
- if not Assigned(OTAWizardServices) then
- raise EJclExpertException.CreateTrace(RsENoWizardServices);
-
- OTAWizardServices.RemoveWizard(JCLWizardIndex);
- end;
- except
- on ExceptionObj: TObject do
- begin
- JclExpertShowExceptionDialog(ExceptionObj);
- end;
- end;
-end;
-
-function JCLWizardInit(const BorlandIDEServices: IBorlandIDEServices;
- RegisterProc: TWizardRegisterProc;
- var TerminateProc: TWizardTerminateProc): Boolean stdcall;
-var
- OTAWizardServices: IOTAWizardServices;
-begin
- try
- TerminateProc := JclWizardTerminate;
-
- Supports(BorlandIDEServices, IOTAWizardServices, OTAWizardServices);
- if not Assigned(OTAWizardServices) then
- raise EJclExpertException.CreateTrace(RsENoWizardServices);
-
- JCLWizardIndex := OTAWizardServices.AddWizard(TJCLUsesWizard.Create);
-
- Result := True;
- except
- on ExceptionObj: TObject do
- begin
- JclExpertShowExceptionDialog(ExceptionObj);
- Result := False;
- end;
- end;
-end;
-
end.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2006-10-30 15:01:33
|
Revision: 1806
http://svn.sourceforge.net/jcl/?rev=1806&view=rev
Author: outchy
Date: 2006-10-30 07:00:17 -0800 (Mon, 30 Oct 2006)
Log Message:
-----------
Debug expert moved to a dedicated directory (jcl\experts\debug\converter).
Debug expert can generate .jdbg files as well as adding them into the binary.
New configuration page to specify the operations to be made by the expert on compilation.
Some constants (.bdsproj, .drc) moved to run-time (JclBorlandTools.pas).
New overloaded version of ConvertMapFileToJdbgFile to return the size of the map file and the .jdbg file.
IDE message services to be available to all experts.
Modified Paths:
--------------
trunk/jcl/experts/common/JclOtaConsts.pas
trunk/jcl/experts/common/JclOtaResources.pas
trunk/jcl/experts/common/JclOtaUtils.pas
trunk/jcl/packages/JclPackagesD100.bdsgroup
trunk/jcl/packages/c5/JclDebugExpertC50.bpk
trunk/jcl/packages/c5/JclDebugExpertC50.cpp
trunk/jcl/packages/c5/JclDebugExpertC50.dpk
trunk/jcl/packages/c5/JclDebugExpertDLLC50.bpf
trunk/jcl/packages/c5/JclDebugExpertDLLC50.bpr
trunk/jcl/packages/c5/JclDebugExpertDLLC50.cpp
trunk/jcl/packages/c6/JclDebugExpert.bpk
trunk/jcl/packages/c6/JclDebugExpert.cpp
trunk/jcl/packages/c6/JclDebugExpert.dpk
trunk/jcl/packages/c6/JclDebugExpertDLL.bpf
trunk/jcl/packages/c6/JclDebugExpertDLL.bpr
trunk/jcl/packages/c6/JclDebugExpertDLL.cpp
trunk/jcl/packages/d10/JclDebugExpert.dpk
trunk/jcl/packages/d10/JclDebugExpertDLL.dpr
trunk/jcl/packages/d5/JclDebugExpertD50.dpk
trunk/jcl/packages/d5/JclDebugExpertDLLD50.dpr
trunk/jcl/packages/d6/JclDebugExpert.dpk
trunk/jcl/packages/d6/JclDebugExpertDLL.dpr
trunk/jcl/packages/d7/JclDebugExpert.dpk
trunk/jcl/packages/d7/JclDebugExpertDLL.dpr
trunk/jcl/packages/d9/JclDebugExpert.dpk
trunk/jcl/packages/d9/JclDebugExpertDLL.dpr
trunk/jcl/packages/xml/JclDebugExpert-D.xml
trunk/jcl/packages/xml/JclDebugExpertDLL-L.xml
trunk/jcl/source/common/JclBorlandTools.pas
trunk/jcl/source/windows/JclDebug.pas
Added Paths:
-----------
trunk/jcl/experts/debug/converter/
trunk/jcl/experts/debug/converter/JclDebugIdeConfigFrame.dfm
trunk/jcl/experts/debug/converter/JclDebugIdeConfigFrame.pas
trunk/jcl/experts/debug/converter/JclDebugIdeIcon.res
trunk/jcl/experts/debug/converter/JclDebugIdeImpl.pas
trunk/jcl/experts/debug/converter/JclDebugIdeResult.dfm
trunk/jcl/experts/debug/converter/JclDebugIdeResult.pas
Removed Paths:
-------------
trunk/jcl/experts/debug/JclDebugIdeIcon.res
trunk/jcl/experts/debug/JclDebugIdeImpl.pas
trunk/jcl/experts/debug/JclDebugIdeResult.dfm
trunk/jcl/experts/debug/JclDebugIdeResult.pas
Modified: trunk/jcl/experts/common/JclOtaConsts.pas
===================================================================
--- trunk/jcl/experts/common/JclOtaConsts.pas 2006-10-30 10:19:51 UTC (rev 1805)
+++ trunk/jcl/experts/common/JclOtaConsts.pas 2006-10-30 15:00:17 UTC (rev 1806)
@@ -42,12 +42,6 @@
{$IFDEF COMPILER6_UP}
EnvironmentVarsKey = 'Environment Variables';
{$ENDIF COMP\xCFLER6_UP}
- BPLExtension = '.bpl';
- DPKExtension = '.dpk';
- MAPExtension = '.map';
- DRCExtension = '.drc';
- DPRExtention = '.dpr';
- BDSPROJExtension = '.bdsproj';
//=== Various constants shared by different experts ========================
JclLeft = 'Left';
@@ -71,16 +65,19 @@
JclConfigureActionName = 'ActionJCLConfigure';
//=== Debug Expert =========================================================
- JclDebugExpertRegKey = 'JclDebugExpert';
- JclDebugEnabledRegValue = 'JclDebugEnabled';
- MapFileOptionName = 'MapFile';
- OutputDirOptionName = 'OutputDir';
- RuntimeOnlyOptionName = 'RuntimeOnly';
- PkgDllDirOptionName = 'PkgDllDir';
- BPLOutputDirOptionName = 'PackageDPLOutput';
- LIBPREFIXOptionName = 'SOPrefix';
- LIBSUFFIXOptionName = 'SOSuffix';
- ColumnRegName = 'Column%d';
+ JclDebugExpertRegKey = 'JclDebugExpert';
+ JclDebugEnabledRegValue = 'JclDebugEnabled';
+ JclDebugGenerateJdbgRegValue = 'JclDebugGenerateJdbg';
+ JclDebugInsertJdbgRegValue = 'JclDebugInsertJdbg';
+ MapFileOptionName = 'MapFile';
+ OutputDirOptionName = 'OutputDir';
+ RuntimeOnlyOptionName = 'RuntimeOnly';
+ PkgDllDirOptionName = 'PkgDllDir';
+ BPLOutputDirOptionName = 'PackageDPLOutput';
+ LIBPREFIXOptionName = 'SOPrefix';
+ LIBSUFFIXOptionName = 'SOSuffix';
+ ColumnRegName = 'Column%d';
+ JclDebugMessagePrefix = 'Jcl Debug Expert';
//=== Favorite Folders Expert ==============================================
JclFavoritesExpertName = 'JclFavoriteFoldersExpert';
Modified: trunk/jcl/experts/common/JclOtaResources.pas
===================================================================
--- trunk/jcl/experts/common/JclOtaResources.pas 2006-10-30 10:19:51 UTC (rev 1805)
+++ trunk/jcl/experts/common/JclOtaResources.pas 2006-10-30 15:00:17 UTC (rev 1806)
@@ -43,6 +43,7 @@
RsENoWizardServices = 'Unable to get Borland Wizard Services';
RsENoPackageServices = 'Unable to get Borland Package Services';
RsENoPersonalityServices = 'Unable to get Borland Personality Services';
+ RsENoMessageServices = 'Unable to get Borland Message Services';
RsENoGalleryCategoryManager = 'Unable to get Borland Gallery Category Manager';
RsENoModule = 'Unable to get Module';
RsBadModuleHInstance = 'Unable to get module HInstance';
@@ -218,7 +219,12 @@
RsInsertDataCaption = 'Insert JCL Debug data';
RsInsertDataActionName = 'ProjectJCLInsertDataCommand';
RsEExecutableNotFound = 'Executable file for project "%s" not found.' +
- 'JCL debug data can''t be added to the project.';
+ 'JCL debug data can''t be added to the binary.';
+ RsEMapFileNotFound = 'Map file "%s" for project "%s" not found.' +
+ 'No conversions of debug information were made';
+ RsConvertedMapToJdbg = 'Converted MAP file "%s" (%d bytes) to .jdbg (%d bytes)';
+ RsInsertedJdbg = 'Converted MAP file "%s" (%d bytes) and inserted debug information (%d bytes) into the binary';
+ RsEMapConversion = 'Failed to convert MAP file "%s"';
RsENoActiveProject = 'No active project';
RsENoProjectMenuItem = 'Project menu item not found';
RsENoBuildMenuItem = 'Build menu item not found';
@@ -227,7 +233,14 @@
RsENoBuildAction = 'Build action not found';
RsENoBuildAllAction = 'Build All action not found';
RsENoProjectGroup = 'No project group';
+ RsDebugConfigPageCaption = 'Debug info converter';
+//=== JclDebugIdeConfigFrame.pas =============================================
+resourcestring
+ RsDebugEnableExpert = 'Enable debug expert';
+ RsDebugGenerateJdbg = 'Generate .jdbg files';
+ RsDebugInsertJdbg = 'Insert data into the binary';
+
//=== JclSIMDView.pas ========================================================
resourcestring
RsENoDebuggerServices = 'Unable to get Borland Debugger Services';
Modified: trunk/jcl/experts/common/JclOtaUtils.pas
===================================================================
--- trunk/jcl/experts/common/JclOtaUtils.pas 2006-10-30 10:19:51 UTC (rev 1805)
+++ trunk/jcl/experts/common/JclOtaUtils.pas 2006-10-30 15:00:17 UTC (rev 1806)
@@ -126,6 +126,7 @@
{$IFDEF BDS}
FOTAPersonalityServices: IOTAPersonalityServices;
{$ENDIF BDS}
+ FOTAMessageServices: IOTAMessageServices;
function GetModuleHInstance: Cardinal;
function GetActiveProject: IOTAProject;
function GetProjectGroup: IOTAProjectGroup;
@@ -178,6 +179,7 @@
{$IFDEF BDS}
property OTAPersonalityServices: IOTAPersonalityServices read FOTAPersonalityServices;
{$ENDIF BDS}
+ property OTAMessageServices: IOTAMessageServices read FOTAMessageServices;
property ActivePersonality: TJclBorPersonality read GetActivePersonality;
property Designer: string read GetDesigner;
@@ -218,9 +220,6 @@
{$IFDEF MSWINDOWS}
ImageHlp, JclRegistry,
{$ENDIF MSWINDOWS}
- {$IFDEF KYLIX}
- JclBorlandTools,
- {$ENDIF KYLIX}
JclFileUtils, JclStrings, JclSysInfo,
JclOtaConsts, JclOtaResources, JclOtaExceptionForm, JclOtaConfigurationForm,
JclOtaActionConfigureSheet, JclOtaWizardForm, JclOtaWizardFrame;
@@ -585,6 +584,10 @@
if not Assigned(FOTAModuleServices) then
raise EJclExpertException.CreateTrace(RsENoModuleServices);
+ Supports(BorlandIDEServices, IOTAMessageServices, FOTAMessageServices);
+ if not Assigned(FOTAMessageServices) then
+ raise EJclExpertException.CreateTrace(RsENoMessageServices);
+
FEnvVariables := TStringList.Create;
FSettings := TJclOTASettings.Create(AName);
end;
@@ -666,7 +669,7 @@
if not Assigned(Project) then
raise EJclExpertException.CreateTrace(RsENoActiveProject);
- Result := ChangeFileExt(Project.FileName, DRCExtension);
+ Result := ChangeFileExt(Project.FileName, CompilerExtensionDRC);
end;
function TJclOTAExpertBase.GetMapFileName(const Project: IOTAProject): string;
@@ -688,7 +691,7 @@
LibSuffix := '';
{$ENDIF ~RTL140_UP}
Result := PathAddSeparator(OutputDirectory) + LibPrefix +
- PathExtractFileNameNoExt(ProjectFileName) + LibSuffix + MAPExtension;
+ PathExtractFileNameNoExt(ProjectFileName) + LibSuffix + CompilerExtensionMAP;
end;
function TJclOTAExpertBase.GetModuleHInstance: Cardinal;
@@ -839,7 +842,7 @@
for I := 0 to APackageServices.PackageCount - 1 do
begin
- PackageFileName := ChangeFileExt(APackageServices.PackageNames[I], BPLExtension);
+ PackageFileName := ChangeFileExt(APackageServices.PackageNames[I], BinaryExtensionPackage);
PackageFileName := GetModulePath(GetModuleHandle(PChar(PackageFileName)));
if AnsiSameText(ChangeFileExt(PackageFileName, ''), ExecutableNameNoExt) then
begin
@@ -863,7 +866,7 @@
FileName := Project.FileName;
FileExtension := ExtractFileExt(FileName);
- if AnsiSameText(FileExtension, BDSPROJExtension) and FileExists(FileName) then
+ if AnsiSameText(FileExtension, SourceExtensionBDSProject) and FileExists(FileName) then
begin
ProjectFile := TStringList.Create;
try
@@ -873,13 +876,13 @@
for Index := SourceNodePosition-1 downto 1 do
if ProjectContent[Index] = '.' then
Break;
- Result := AnsiSameText(Copy(ProjectContent, Index, SourceNodePosition-Index), DPKExtension);
+ Result := AnsiSameText(Copy(ProjectContent, Index, SourceNodePosition-Index), SourceExtensionDelphiPackage);
finally
ProjectFile.Free;
end;
end
else
- Result := AnsiSameText(FileExtension, DPKExtension);
+ Result := AnsiSameText(FileExtension, SourceExtensionDelphiPackage);
end;
procedure TJclOTAExpertBase.ReadEnvVariables;
Deleted: trunk/jcl/experts/debug/JclDebugIdeIcon.res
===================================================================
(Binary files differ)
Deleted: trunk/jcl/experts/debug/JclDebugIdeImpl.pas
===================================================================
--- trunk/jcl/experts/debug/JclDebugIdeImpl.pas 2006-10-30 10:19:51 UTC (rev 1805)
+++ trunk/jcl/experts/debug/JclDebugIdeImpl.pas 2006-10-30 15:00:17 UTC (rev 1806)
@@ -1,844 +0,0 @@
-{**************************************************************************************************}
-{ }
-{ 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 JclDebugIdeImpl.pas. }
-{ }
-{ The Initial Developer of the Original Code is documented in the accompanying }
-{ help file JCL.chm. Portions created by these individuals are Copyright (C) of these individuals. }
-{ }
-{**************************************************************************************************}
-{ }
-{ Unit owner: Petr Vones }
-{ Last modified: August 28, 2002 }
-{ }
-{**************************************************************************************************}
-
-unit JclDebugIdeImpl;
-
-{$I jcl.inc}
-
-{$UNDEF OldStyleExpert}
-
-// Delphi 5 can use both kind of the expert
-// Delphi 6 and + can use New expert style only
-
-// BCB 5 can use both kind of the expert
-// BCB 6 and + can use New expert style only
-
-interface
-
-uses
- Windows, Classes, Menus, ActnList, SysUtils, Graphics, Dialogs, Controls, Forms, ToolsAPI,
- JclOtaUtils;
-
-type
- TJclDebugDataInfo = record
- ProjectName: string;
- ExecutableFileName: TFileName;
- MapFileSize, JclDebugDataSize: Integer;
- LinkerBugUnit: string;
- LineNumberErrors: Integer;
- Success: Boolean;
- end;
-
- TJclDebugExtension = class(TJclOTAExpert)
- private
- FResultInfo: array of TJclDebugDataInfo;
- FStoreResults: Boolean;
- FImageIndex: Integer;
- FBuildError: Boolean;
- {$IFNDEF OldStyleExpert}
- FInsertDataItem: TMenuItem;
- FInsertDataAction: TAction;
- FDisabledImageIndex: Integer;
- FCurrentProject: IOTAProject;
- FSaveBuildProject: TAction;
- FSaveBuildProjectExecute: TNotifyEvent;
- FSaveBuildAllProjects: TAction;
- FSaveBuildAllProjectsExecute: TNotifyEvent;
- FNotifierIndex: Integer;
- FOptionsModifiedState: Boolean;
- FSaveMapFile: Integer;
- procedure ExpertActive(Active: Boolean);
- procedure HookBuildActions(Enable: Boolean);
- procedure InsertDataExecute(Sender: TObject);
- procedure LoadExpertValues;
- procedure SaveExpertValues;
- procedure BuildAllProjects(Sender: TObject); // (New) Build All Projects command hook
- procedure BuildProject(Sender: TObject); // (New) Build Project command hook
- {$ELSE OldStyleExpert}
- FBuildAllMenuItem: TMenuItem;
- FBuildAllAction: TAction;
- FBuildMenuItem: TMenuItem;
- FBuildAction: TAction;
- procedure BuildActionExecute(Sender: TObject); // (Old) Build JCL Debug command
- procedure BuildActionUpdate(Sender: TObject);
- procedure BuildAllActionExecute(Sender: TObject); // (Old) Build JCL Debug All Projects command
- procedure BuildAllActionUpdate(Sender: TObject);
- function InsertDataToProject(const ActiveProject: IOTAProject): Boolean;
- {$ENDIF OldStyleExpert}
- procedure BeginStoreResults;
- procedure DisplayResults;
- procedure EndStoreResults;
- public
- constructor Create; reintroduce;
- {$IFNDEF OldStyleExpert}
- procedure AfterCompile(Succeeded: Boolean);
- procedure BeforeCompile(const Project: IOTAProject; var Cancel: Boolean);
- {$ENDIF OldStyleExpert}
- procedure RegisterCommands; override;
- procedure UnregisterCommands; override;
- end;
-
- {$IFNDEF OldStyleExpert}
- TIdeNotifier = class(TNotifierObject, IOTANotifier, IOTAIDENotifier, IOTAIDENotifier50)
- private
- FDebugExtension: TJclDebugExtension;
- protected
- procedure AfterCompile(Succeeded: Boolean); overload;
- procedure AfterCompile(Succeeded: Boolean; IsCodeInsight: Boolean); overload;
- procedure BeforeCompile(const Project: IOTAProject; var Cancel: Boolean); overload;
- procedure BeforeCompile(const Project: IOTAProject; IsCodeInsight: Boolean; var Cancel: Boolean); overload;
- procedure FileNotification(NotifyCode: TOTAFileNotification; const FileName: string; var Cancel: Boolean);
- public
- constructor Create(ADebugExtension: TJclDebugExtension);
- end;
- {$ENDIF OldStyleExpert}
-
-// design package entry point
-procedure Register;
-
-// expert DLL entry point
-function JCLWizardInit(const BorlandIDEServices: IBorlandIDEServices;
- RegisterProc: TWizardRegisterProc;
- var TerminateProc: TWizardTerminateProc): Boolean; stdcall;
-
-implementation
-
-{$R JclDebugIdeIcon.res}
-
-uses
- JclDebug, JclDebugIdeResult,
- JclOtaConsts, JclOtaResources;
-
-procedure Register;
-begin
- try
- RegisterPackageWizard(TJclDebugExtension.Create);
- except
- on ExceptionObj: TObject do
- begin
- JclExpertShowExceptionDialog(ExceptionObj);
- raise;
- end;
- end;
-end;
-
-var
- JCLWizardIndex: Integer = -1;
-
-procedure JclWizardTerminate;
-var
- OTAWizardServices: IOTAWizardServices;
-begin
- try
- if JCLWizardIndex <> -1 then
- begin
- Supports(BorlandIDEServices, IOTAWizardServices, OTAWizardServices);
- if not Assigned(OTAWizardServices) then
- raise EJclExpertException.CreateTrace(RsENoWizardServices);
-
- OTAWizardServices.RemoveWizard(JCLWizardIndex);
- end;
- except
- on ExceptionObj: TObject do
- begin
- JclExpertShowExceptionDialog(ExceptionObj);
- end;
- end;
-end;
-
-function JCLWizardInit(const BorlandIDEServices: IBorlandIDEServices;
- RegisterProc: TWizardRegisterProc;
- var TerminateProc: TWizardTerminateProc): Boolean stdcall;
-var
- OTAWizardServices: IOTAWizardServices;
-begin
- try
- TerminateProc := JclWizardTerminate;
-
- Supports(BorlandIDEServices, IOTAWizardServices, OTAWizardServices);
- if not Assigned(OTAWizardServices) then
- raise EJclExpertException.CreateTrace(RsENoWizardServices);
-
- JCLWizardIndex := OTAWizardServices.AddWizard(TJclDebugExtension.Create);
-
- Result := True;
- except
- on ExceptionObj: TObject do
- begin
- JclExpertShowExceptionDialog(ExceptionObj);
- Result := False;
- end;
- end;
-end;
-
-//=== { TJclDebugExtension } =================================================
-
-constructor TJclDebugExtension.Create;
-begin
- inherited Create(JclDebugExpertRegKey);
-end;
-
-{$IFNDEF OldStyleExpert}
-procedure TJclDebugExtension.AfterCompile(Succeeded: Boolean);
-var
- ProjectFileName, MapFileName, ExecutableFileName: string;
- OutputDirectory, LinkerBugUnit: string;
- ProjOptions: IOTAProjectOptions;
- ExecutableNotFound, Succ: Boolean;
- MapFileSize, JclDebugDataSize, LineNumberErrors, C: Integer;
-
- procedure DeleteMapAndDrcFile;
- begin
- if FSaveMapFile <> MapFileOptionDetailed then
- begin // delete MAP and DRC file
- DeleteFile(MapFileName);
- DeleteFile(ChangeFileExt(ProjectFileName, DrcFileExtension));
- end;
- end;
-
-begin
- if FInsertDataAction.Checked and Assigned(FCurrentProject) then
- begin
- ProjOptions := FCurrentProject.ProjectOptions;
-{ if FSaveMapFile <> MapFileOptionDetailed then
- begin
- ProjOptions.Values[MapFileOptionName] := FSaveMapFile;
- ProjOptions.ModifiedState := FOptionsModifiedState;
- end;}
-{ TODO -oPV : Temporarily removed due Delphi 6 IDE problems }
- ProjectFileName := FCurrentProject.FileName;
- OutputDirectory := GetOutputDirectory(FCurrentProject);
- MapFileName := GetMapFileName(FCurrentProject);
- if Succeeded then
- begin
- ExecutableNotFound := False;
- LinkerBugUnit := '';
- LineNumberErrors := 0;
- Succ := FileExists(MapFileName);
- if Succ then
- begin
- Screen.Cursor := crHourGlass;
- try
- if FindExecutableName(MapFileName, OutputDirectory, ExecutableFileName) then
- begin
- Succ := InsertDebugDataIntoExecutableFile(ExecutableFileName, MapFileName,
- LinkerBugUnit, MapFileSize, JclDebugDataSize, LineNumberErrors);
- end
- else
- ExecutableNotFound := True;
- Screen.Cursor := crDefault;
- except
- Screen.Cursor := crDefault;
- raise;
- end;
- end;
-
- DeleteMapAndDrcFile;
-
- if FStoreResults then
- begin
- C := Length(FResultInfo);
- SetLength(FResultInfo, C + 1);
- FResultInfo[C].ProjectName := ExtractFileName(ProjectFileName);
- FResultInfo[C].ExecutableFileName := ExecutableFileName;
- FResultInfo[C].MapFileSize := MapFileSize;
- FResultInfo[C].JclDebugDataSize := JclDebugDataSize;
- FResultInfo[C].LinkerBugUnit := LinkerBugUnit;
- FResultInfo[C].LineNumberErrors := LineNumberErrors;
- FResultInfo[C].Success := Succ;
- end;
-
- if ExecutableNotFound then
- raise EJclExpertException.CreateTrace(Format(RsEExecutableNotFound, [ProjectFileName]));
- end
- else
- begin
- FBuildError := True;
- DeleteMapAndDrcFile;
- end;
- Pointer(FCurrentProject) := nil;
- end;
-end;
-
-procedure TJclDebugExtension.BeforeCompile(const Project: IOTAProject; var Cancel: Boolean);
-var
- ProjOptions: IOTAProjectOptions;
-begin
- if FInsertDataAction.Checked then
- begin
- if IsInstalledPackage(Project) then
- begin
- if MessageDlg(Format(RsCantInsertToInstalledPackage, [Project.FileName]), mtError, [mbYes, mbNo], 0) = mrYes then
- ExpertActive(False)
- else
- begin
- Cancel := True;
- MessageDlg(RsCompilationAborted, mtError, [mbOK], 0);
- end;
- end
- else
- begin
- FCurrentProject := Project;
- ProjOptions := Project.ProjectOptions;
- if not Assigned(ProjOptions) then
- raise EJclExpertException.CreateTrace(RsENoProjectOptions);
-
- FOptionsModifiedState := ProjOptions.ModifiedState;
- FSaveMapFile := ProjOptions.Values[MapFileOptionName];
- if FSaveMapFile <> MapFileOptionDetailed then
- ProjOptions.Values[MapFileOptionName] := MapFileOptionDetailed;
- end;
- end;
-end;
-
-{$ENDIF OldStyleExpert}
-
-procedure TJclDebugExtension.BeginStoreResults;
-begin
- FBuildError := False;
- FStoreResults := True;
- FResultInfo := nil;
-end;
-
-{$IFDEF OldStyleExpert}
-
-procedure TJclDebugExtension.BuildActionExecute(Sender: TObject);
-begin
- try
- BeginStoreResults;
- try
- if InsertDataToProject(ActiveProject) then
- DisplayResults;
- finally
- EndStoreResults;
- end;
- except
- on ExceptionObj: TObject do
- begin
- JclExpertShowExceptionDialog(ExceptionObj);
- raise;
- end;
- end;
-end;
-
-procedure TJclDebugExtension.BuildActionUpdate(Sender: TObject);
-var
- TempActiveProject: IOTAProject;
- ProjectName: string;
-begin
- try
- TempActiveProject := ActiveProject;
- FBuildAction.Enabled := Assigned(TempActiveProject);
- if Assigned(ActiveProject) then
- ProjectName := ExtractFileName(TempActiveProject.FileName)
- else
- ProjectName := RsProjectNone;
- FBuildAction.Caption := Format(RsBuildActionCaption, [ProjectName]);
- except
- on ExceptionObj: TObject do
- begin
- JclExpertShowExceptionDialog(ExceptionObj);
- raise;
- end;
- end;
-end;
-
-procedure TJclDebugExtension.BuildAllActionExecute(Sender: TObject);
-var
- I: Integer;
- TempActiveProject: IOTAProject;
- TempProjectGroup: IOTAProjectGroup;
- Error: Boolean;
-begin
- try
- TempProjectGroup := ProjectGroup;
- if not Assigned(TempProjectGroup) then
- raise EJclExpertException.CreateTrace(RsENoProjectGroup);
-
- Error := False;
- BeginStoreResults;
- try
- for I := 0 to TempProjectGroup.ProjectCount - 1 do
- begin
- TempActiveProject := TempProjectGroup.Projects[I];
- TempProjectGroup.ActiveProject := TempActiveProject;
- Error := not InsertDataToProject(TempActiveProject);
- if Error then
- Break;
- end;
- if not Error then
- DisplayResults;
- finally
- EndStoreResults;
- end;
- except
- on ExceptionObj: TObject do
- begin
- JclExpertShowExceptionDialog(ExceptionObj);
- raise;
- end;
- end;
-end;
-
-procedure TJclDebugExtension.BuildAllActionUpdate(Sender: TObject);
-begin
- try
- FBuildAllAction.Enabled := ProjectGroup <> nil;
- except
- on ExceptionObj: TObject do
- begin
- JclExpertShowExceptionDialog(ExceptionObj);
- raise;
- end;
- end;
-end;
-
-{$ENDIF OldStyleExpert}
-
-{$IFNDEF OldStyleExpert}
-
-procedure TJclDebugExtension.BuildAllProjects(Sender: TObject);
-begin
- BeginStoreResults;
- try
- try
- FSaveBuildAllProjectsExecute(Sender);
- if FInsertDataAction.Checked then
- DisplayResults;
- except
- on ExceptionObj: TObject do
- JclExpertShowExceptionDialog(ExceptionObj);
- // raise is useless because trapped by the finally section
- end;
- finally
- EndStoreResults;
- end;
-end;
-
-procedure TJclDebugExtension.BuildProject(Sender: TObject);
-begin
- BeginStoreResults;
- try
- try
- FSaveBuildProjectExecute(Sender);
- if FInsertDataAction.Checked then
- DisplayResults;
- except
- on ExceptionObj: TObject do
- JclExpertShowExceptionDialog(ExceptionObj);
- // raise is useless because trapped by the finally section
- end;
- finally
- EndStoreResults;
- end;
-end;
-
-{$ENDIF OldStyleExpert}
-
-procedure TJclDebugExtension.DisplayResults;
-var
- I: Integer;
-begin
- if FBuildError or (Length(FResultInfo) = 0) then
- Exit;
- with TJclDebugResultForm.Create(Application, Settings) do
- try
- for I := 0 to Length(FResultInfo) - 1 do
- with ResultListView.Items.Add, FResultInfo[I] do
- begin
- Caption := ProjectName;
- if Success then
- begin
- SubItems.Add(IntToStr(MapFileSize));
- SubItems.Add(IntToStr(JclDebugDataSize));
- SubItems.Add(Format('%3.1f', [JclDebugDataSize * 100 / MapFileSize]));
- SubItems.Add(ExecutableFileName);
- SubItems.Add(LinkerBugUnit);
- if LineNumberErrors > 0 then
- SubItems.Add(IntToStr(LineNumberErrors))
- else
- SubItems.Add('');
- ImageIndex := 0;
- end
- else
- begin
- SubItems.Add('');
- SubItems.Add('');
- SubItems.Add('');
- SubItems.Add(ExecutableFileName);
- SubItems.Add(LinkerBugUnit);
- SubItems.Add('');
- ImageIndex := 1;
- end;
- end;
- ShowModal;
- finally
- Free;
- end;
-end;
-
-procedure TJclDebugExtension.EndStoreResults;
-begin
- FStoreResults := False;
- FResultInfo := nil;
-end;
-
-{$IFNDEF OldStyleExpert}
-
-procedure TJclDebugExtension.ExpertActive(Active: Boolean);
-begin
- if (Active) then
- FInsertDataAction.ImageIndex := FImageIndex
- else
- FInsertDataAction.ImageIndex := FDisabledImageIndex;
- FInsertDataAction.Checked := Active;
- HookBuildActions(Active);
-end;
-
-procedure TJclDebugExtension.HookBuildActions(Enable: Boolean);
-begin
- if Enable then
- begin
- if Assigned(FSaveBuildProject) then
- FSaveBuildProject.OnExecute := BuildProject;
- if Assigned(FSaveBuildAllProjects) then
- FSaveBuildAllProjects.OnExecute := BuildAllProjects;
- end
- else
- begin
- if Assigned(FSaveBuildProject) then
- FSaveBuildProject.OnExecute := FSaveBuildProjectExecute;
- if Assigned(FSaveBuildAllProjects) then
- FSaveBuildAllProjects.OnExecute := FSaveBuildAllProjectsExecute;
- end;
-end;
-
-procedure TJclDebugExtension.InsertDataExecute(Sender: TObject);
-begin
- try
- ExpertActive(not FInsertDataAction.Checked);
- SaveExpertValues;
- except
- on ExceptionObj: TObject do
- begin
- JclExpertShowExceptionDialog(ExceptionObj);
- raise;
- end;
- end;
-end;
-
-procedure TJclDebugExtension.LoadExpertValues;
-begin
- ExpertActive(Settings.LoadBool(JclDebugEnabledRegValue, False));
-end;
-
-procedure TJclDebugExtension.SaveExpertValues;
-begin
- Settings.SaveBool(JclDebugEnabledRegValue, FInsertDataAction.Checked);
-end;
-
-{$ENDIF OldStyleExpert}
-
-{$IFDEF OldStyleExpert}
-
-function TJclDebugExtension.InsertDataToProject(const ActiveProject: IOTAProject): Boolean;
-var
- BuildOk, Succ: Boolean;
- ProjOptions: IOTAProjectOptions;
- SaveMapFile: Variant;
- ProjectFileName, MapFileName, ExecutableFileName: string;
- OutputDirectory, LinkerBugUnit: string;
- MapFileSize, JclDebugDataSize, LineNumberErrors, C: Integer;
- ExecutableNotFound: Boolean;
- OptionsModifiedState: Boolean;
-begin
- if not Assigned(ActiveProject) then
- raise EJclExpertException.CreateTrace(RsENoActiveProject);
-
- ProjectFileName := ActiveProject.FileName;
- ProjOptions := ActiveProject.ProjectOptions;
- // read output directory
- OutputDirectory := GetOutputDirectory(ActiveProject);
- MapFileName := GetMapFileName(ActiveProject);
-
- OptionsModifiedState := ProjOptions.ModifiedState;
- SaveMapFile := ProjOptions.Values[MapFileOptionName];
- ProjOptions.Values[MapFileOptionName] := MapFileOptionDetailed;
- BuildOk := ActiveProject.ProjectBuilder.BuildProject(cmOTABuild, False);
- ProjOptions.Values[MapFileOptionName] := SaveMapFile;
- ProjOptions.ModifiedState := OptionsModifiedState;
-
- ExecutableNotFound := False;
- LinkerBugUnit := '';
- LineNumberErrors := 0;
- if BuildOk then
- begin
- Succ := FileExists(MapFileName);
- if Succ then
- begin
- if FindExecutableName(MapFileName, OutputDirectory, ExecutableFileName) then
- begin
- Succ := InsertDebugDataIntoExecutableFile(ExecutableFileName, MapFileName,
- LinkerBugUnit, MapFileSize, JclDebugDataSize, LineNumberErrors);
- end
- else
- begin
- ExecutableNotFound := True;
- Succ := False;
- end;
- end;
- end
- else
- Succ := False;
- if SaveMapFile <> MapFileOptionDetailed then
- begin
- DeleteFile(MapFileName);
- DeleteFile(ChangeFileExt(ProjectFileName, DrcFileExtension));
- end;
- Result := BuildOk and not ExecutableNotFound;
- C := Length(FResultInfo);
- SetLength(FResultInfo, C + 1);
- FResultInfo[C].ProjectName := ExtractFileName(ProjectFileName);
- FResultInfo[C].ExecutableFileName := ExecutableFileName;
- FResultInfo[C].MapFileSize := MapFileSize;
- FResultInfo[C].JclDebugDataSize := JclDebugDataSize;
- FResultInfo[C].LinkerBugUnit := LinkerBugUnit;
- FResultInfo[C].LineNumberErrors := LineNumberErrors;
- FResultInfo[C].Success := Succ;
- if ExecutableNotFound then
- raise EJclExpertException.CreateTrace(Format(RsEExecutableNotFound, [ProjectFileName]));
-end;
-
-{$ENDIF OldStyleExpert}
-
-procedure TJclDebugExtension.RegisterCommands;
-var
- IDEMainMenu: TMainMenu;
- IDEProjectItem: TMenuItem;
- IDEActionList: TActionList;
- I: Integer;
- ImageBmp: TBitmap;
-begin
- inherited RegisterCommands;
- IDEActionList := TActionList(NTAServices.ActionList);
- IDEMainMenu := NTAServices.MainMenu;
- ImageBmp := TBitmap.Create;
- try
- ImageBmp.LoadFromResourceName(FindResourceHInstance(ModuleHInstance), 'JCLDEBUG');
- FImageIndex := NTAServices.AddMasked(ImageBmp, clPurple);
- {$IFDEF OldStyleExpert}
- FBuildAction := TAction.Create(nil);
- FBuildAction.Caption := Format(RsBuildActionCaption, [RsProjectNone]);
- FBuildAction.ImageIndex := FImageIndex;
- FBuildAction.Visible := True;
- FBuildAction.OnExecute := BuildActionExecute;
- FBuildAction.OnUpdate := BuildActionUpdate;
- FBuildAction.Name := RsBuildActionName;
- FBuildAction.ActionList := IDEActionList;
- RegisterAction(FBuildAction);
- FBuildMenuItem := TMenuItem.Create(nil);
- FBuildMenuItem.Action := FBuildAction;
- FBuildAllAction := TAction.Create(nil);
- FBuildAllAction.Caption := RsBuildAllCaption;
- FBuildAllAction.ImageIndex := FImageIndex;
- FBuildAllAction.Visible := True;
- FBuildAllAction.OnExecute := BuildAllActionExecute;
- FBuildAllAction.OnUpdate := BuildAllActionUpdate;
- FBuildAllAction.Name := RsBuildAllActionName;
- FBuildAllAction.ActionList := IDEActionList;
- RegisterAction(FBuildAllAction);
- FBuildAllMenuItem := TMenuItem.Create(nil);
- FBuildAllMenuItem.Action := FBuildAllAction;
- {$ELSE OldStyleExpert}
- ImageBmp.LoadFromResourceName(FindResourceHInstance(ModuleHInstance), 'JCLNODEBUG');
- FDisabledImageIndex := NTAServices.AddMasked(ImageBmp, clPurple);
- FInsertDataAction := TAction.Create(nil);
- FInsertDataAction.Caption := RsInsertDataCaption;
- FInsertDataAction.Visible := True;
- FInsertDataAction.OnExecute := InsertDataExecute;
- FInsertDataAction.ActionList := IDEActionList;
- FInsertDataAction.Name := RsInsertDataActionName;
- RegisterAction(FInsertDataAction);
- FInsertDataItem := TMenuItem.Create(nil);
- FInsertDataItem.Action := FInsertDataAction;
- {$ENDIF OldStyleExpert}
- finally
- ImageBmp.Free;
- end;
-
- {$IFNDEF OldStyleExpert}
- FNotifierIndex := Services.AddNotifier(TIdeNotifier.Create(Self));
- LoadExpertValues;
- {$ENDIF OldStyleExpert}
-
- IDEProjectItem := nil;
- with IDEMainMenu do
- for I := 0 to Items.Count - 1 do
- if Items[I].Name = 'ProjectMenu' then
- begin
- IDEProjectItem := Items[I];
- Break;
- end;
- if not Assigned(IDEProjectItem) then
- raise EJclExpertException.CreateTrace(RsENoProjectMenuItem);
-
- {$IFDEF OldStyleExpert}
- with IDEProjectItem do
- for I := 0 to Count - 1 do
- if Items[I].Name = 'ProjectBuildItem' then
- begin
- if Assigned(Items[I].Action) then
- FBuildAction.Category := TContainedAction(Items[I].Action).Category;
- IDEProjectItem.Insert(I + 1, FBuildMenuItem);
- System.Break;
- end;
- if not Assigned(FBuildMenuItem) then
- raise EJclExpertException.CreateTrace(RsENoBuildMenuItem);
-
- with IDEProjectItem do
- for I := 0 to Count - 1 do
- if Items[I].Name = 'ProjectBuildAllItem' then
- begin
- if Assigned(Items[I].Action) then
- FBuildAllAction.Category := TContainedAction(Items[I].Action).Category;
- IDEProjectItem.Insert(I + 1, FBuildAllMenuItem);
- System.Break;
- end;
- if not Assigned(FBuildMenuItem.Parent) then
- raise EJclExpertException.CreateTrace(RsEBuildMenuItemNotInserted);
-
- {$ELSE OldStyleExpert}
- with IDEProjectItem do
- for I := 0 to Count - 1 do
- if Items[I].Name = 'ProjectOptionsItem' then
- begin
- if Assigned(Items[I].Action) then
- FInsertDataAction.Category := TContainedAction(Items[I].Action).Category;
- IDEProjectItem.Insert(I + 1, FInsertDataItem);
- System.Break;
- end;
- if not Assigned(FInsertDataItem.Parent) then
- raise EJclExpertException.CreateTrace(RsEInsertDataMenuItemNotInserted);
-
- FSaveBuildProject := nil;
- with IDEActionList do
- for I := 0 to ActionCount - 1 do
- if Actions[I].Name = 'ProjectBuildCommand' then
- begin
- FSaveBuildProject := TAction(Actions[I]);
- FSaveBuildProjectExecute := Actions[I].OnExecute;
- Break;
- end;
- if not Assigned(FSaveBuildProject) then
- raise EJclExpertException.CreateTrace(RsENoBuildAction);
-
- FSaveBuildAllProjects := nil;
- with IDEActionList do
- for I := 0 to ActionCount - 1 do
- if Actions[I].Name = 'ProjectBuildAllCommand' then
- begin
- FSaveBuildAllProjects := TAction(Actions[I]);
- FSaveBuildAllProjectsExecute := Actions[I].OnExecute;
- Break;
- end;
- if not Assigned(FSaveBuildProject) then
- raise EJclExpertException.CreateTrace(RsENoBuildAllAction);
- {$ENDIF OldStyleExpert}
-end;
-
-procedure TJclDebugExtension.UnregisterCommands;
-begin
- inherited UnregisterCommands;
- {$IFNDEF OldStyleExpert}
- if FNotifierIndex <> -1 then
- Services.RemoveNotifier(FNotifierIndex);
- SaveExpertValues;
- HookBuildActions(False);
- UnregisterAction(FInsertDataAction);
- FreeAndNil(FInsertDataItem);
- FreeAndNil(FInsertDataAction);
- {$ELSE OldStyleExpert}
- UnregisterAction(FBuildAction);
- UnregisterAction(FBuildAllAction);
- FreeAndNil(FBuildMenuItem);
- FreeAndNil(FBuildAction);
- FreeAndNil(FBuildAllMenuItem);
- FreeAndNil(FBuildAllAction);
- {$ENDIF OldStyleExpert}
-end;
-
-//=== { TIdeNotifier } =======================================================
-
-{$IFNDEF OldStyleExpert}
-
-constructor TIdeNotifier.Create(ADebugExtension: TJclDebugExtension);
-begin
- inherited Create;
- FDebugExtension := ADebugExtension;
-end;
-
-procedure TIdeNotifier.AfterCompile(Succeeded: Boolean);
-begin
-end;
-
-procedure TIdeNotifier.AfterCompile(Succeeded, IsCodeInsight: Boolean);
-begin
- try
- if not IsCodeInsight then
- FDebugExtension.AfterCompile(Succeeded);
- except
- on ExceptionObj: TObject do
- begin
- JclExpertShowExceptionDialog(ExceptionObj);
- raise;
- end;
- end;
-end;
-
-procedure TIdeNotifier.BeforeCompile(const Project: IOTAProject; IsCodeInsight: Boolean; var Cancel: Boolean);
-begin
- try
- if not IsCodeInsight then
- FDebugExtension.BeforeCompile(Project, Cancel);
- except
- on ExceptionObj: TObject do
- begin
- JclExpertShowExceptionDialog(ExceptionObj);
- raise;
- end;
- end;
-end;
-
-procedure TIdeNotifier.BeforeCompile(const Project: IOTAProject; var Cancel: Boolean);
-begin
-end;
-
-procedure TIdeNotifier.FileNotification(NotifyCode: TOTAFileNotification;
- const FileName: string; var Cancel: Boolean);
-begin
-end;
-
-{$ENDIF ~OldStyleExpert}
-
-end.
Deleted: trunk/jcl/experts/debug/JclDebugIdeResult.dfm
===================================================================
--- trunk/jcl/experts/debug/JclDebugIdeResult.dfm 2006-10-30 10:19:51 UTC (rev 1805)
+++ trunk/jcl/experts/debug/JclDebugIdeResult.dfm 2006-10-30 15:00:17 UTC (rev 1806)
@@ -1,228 +0,0 @@
-object JclDebugResultForm: TJclDebugResultForm
- Left = 305
- Top = 243
- ActiveControl = OkBtn
- BorderIcons = [biSystemMenu]
- Caption = 'JCL Debug data information'
- ClientHeight = 303
- ClientWidth = 772
- Color = clBtnFace
- Constraints.MinHeight = 300
- Constraints.MinWidth = 700
- 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
- OnResize = FormResize
- Width = 772
- Height = 303
- PixelsPerInch = 96
- TextHeight = 13
- object OkBtn: TButton
- Left = 348
- Top = 271
- Width = 75
- Height = 25
- Anchors = [akLeft, akBottom]
- Caption = '&OK'
- Default = True
- ModalResult = 1
- TabOrder = 0
- end
- object ResultListView: TListView
- Left = 10
- Top = 6
- Width = 751
- Height = 254
- Hint = 'Use Ctrl+C to copy the report to the clipboard'
- Anchors = [akLeft, akTop, akRight, akBottom]
- Columns = <
- item
- Caption = 'Project'
- Width = 110
- end
- item
- Alignment = taRightJustify
- Caption = 'MAP file size'
- Width = 75
- end
- item
- Alignment = taRightJustify
- Caption = 'JCLDebug size'
- Width = 85
- end
- item
- Alignment = taRightJustify
- Caption = 'Ratio'
- end
- item
- Caption = 'Executable file name'
- Width = 310
- end
- item
- Caption = 'Linker bug'
- Width = 65
- end
- item
- Alignment = taRightJustify
- Caption = 'Line errors'
- end>
- ColumnClick = False
- ReadOnly = True
- RowSelect = True
- SmallImages = ImageList1
- TabOrder = 1
- ViewStyle = vsReport
- end
- object ImageList1: TImageList
- Left = 16
- Top = 264
- Bitmap = {
- 494C010102000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
- 0000000000003600000028000000400000001000000001002000000000000010
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- FF000000FF000000FF000000FF000000FF000000FF000000FF00000000000000
- 00000000000000000000000000000000000000000000000000000000FF000000
- FF000000FF0000000000000000007F7F7F00000000007F7F7F00000000000000
- 00000000FF000000FF000000FF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000000000FF000000
- FF000000FF000000FF000000FF000000FF000000FF000000FF00000000000000
- 8000000000000000000000000000000000000000000000000000000000000000
- FF000000FF000000FF0000000000000000000000000000000000000000000000
- FF000000FF000000FF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000080000000
- 8000000080000000800000008000000080000000800000008000000000000000
- 8000000080000000000000000000000000000000000000000000000000000000
- 00000000FF000000FF000000FF007F7F7F00000000007F7F7F000000FF000000
- FF000000FF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000080000000800000000000000000000000000000000000000000000000
- 0000000000000000FF000000FF000000FF00000000000000FF000000FF000000
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000007F7F7F000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFF
- FF00000000000000800000008000000000000000000000000000000000000000
- 000000000000000000000000FF000000FF00000000000000FF000000FF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFF
- FF00000000000000000000008000000000000000000000000000000000000000
- 0000000000000000000000000000000080000000000000008000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF007F7F7F0000000000000000000000000000000000FFFF
- FF0000000000FFFFFF0000000000000000000000000000000000000000000000
- 000000000000000000000000FF000000800000000000000080000000FF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0000000000FFFFFF0000000000000000000000000000000000000000000000
- 0000000000000000FF000000FF000000000000000000000000000000FF000000
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000FFFFFF00FFFFFF007F7F7F0000000000000000000000
- 000000000000FFFFFF0000000000000000000000000000000000000000000000
- 00000000FF000000FF000000FF000000000000000000000000000000FF000000
- FF000000FF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0000000000000000000000000000000000000000000000
- FF000000FF000000FF0000000000000000000000000000000000000000000000
- FF000000FF000000FF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF00FFFFFF007F7F7F000000
- 00000000000000000000000000000000000000000000000000000000FF000000
- FF000000FF0000000000000000007F7F7F00000000007F7F7F00000000000000
- 00000000FF000000FF000000FF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000424D3E000000000000003E000000
- 2800000040000000100000000100010000000000800000000000000000000000
- 000000000000000000000000FFFFFF00FFFFFFFF00000000E01FFFFF00000000
- C00FC631000000008007E223000000000003F007000000000001F88F00000000
- 8000FC1F00000000C000FE3F00000000E000FC1F00000000F000F80F00000000
- F801F00700000000FC01E22300000000FE01C63100000000FF1FFFFF00000000
- FFFFFFFF00000000FFFFFFFF0000000000000000000000000000000000000000
- 000000000000}
- end
-end
Deleted: trunk/jcl/experts/debug/JclDebugIdeResult.pas
===================================================================
--- trunk/jcl/experts/debug/JclDebugIdeResult.pas 2006-10-30 10:19:51 UTC (rev 1805)
+++ trunk/jcl/experts/debug/JclDebugIdeResult.pas 2006-10-30 15:00:17 UTC (rev 1806)
@@ -1,200 +0,0 @@
-{******************************************************************************}
-{ }
-{ Project JEDI Code Library (JCL) extension }
-{ }
-{ The contents of this file are subject to the Mozilla Public License Version }
-{ 1.0 (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 JclDebugResult.pas. }
-{ }
-{ The Initial Developer of the Original Code is documented in the accompanying }
-{ help file JCL.chm. Portions created by these individuals are Copyright (C) }
-{ of these individuals. }
-{ }
-{ Last modified: $Date$ }
-{ }
-{******************************************************************************}
-
-unit JclDebugIdeResult;
-
-interface
-
-uses
- Windows, SysUtils, Classes, Controls, Forms, ComCtrls, StdCtrls, ImgList,
- JclOtaUtils;
-
-type
- TJclDebugResultForm = class(TForm)
- OkBtn: TButton;
- ResultListView: TListView;
- ImageList1: TImageList;
- procedure FormDestroy(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure FormResize(Sender: TObject);
- procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
- private
- FSettings: TJclOtaSettings;
- procedure CopyReportToClipboard;
- protected
- procedure CreateParams(var Params: TCreateParams); override;
- property Settings: TJclOtaSettings read FSettings;
- public
- constructor Create(AOwner: TComponent; ASettings: TJclOTASettings); reintroduce;
- end;
-
-implementation
-
-{$R *.dfm}
-
-uses
- Clipbrd, Math,
- JclStrings,
- JclOtaConsts;
-
-procedure ListViewToStrings(ListView: TListView; Strings: TStrings;
- SelectedOnly: Boolean = False; Headers: Boolean = True);
-var
- R, C: Integer;
- ColWidths: array of Word;
- S: string;
-
- procedure AddLine;
- begin
- Strings.Add(TrimRight(S));
- end;
-
- function MakeCellStr(const Text: String; Index: Integer): String;
- begin
- with ListView.Columns[Index] do
- if Alignment = taLeftJustify then
- Result := StrPadRight(Text, ColWidths[Index] + 1)
- else
- Result := StrPadLeft(Text, ColWidths[Index]) + ' ';
- end;
-
-begin
- with ListView do
- begin
- SetLength(ColWidths, Columns.Count);
- if Headers then
- for C := 0 to Columns.Count - 1 do
- ColWidths[C] := Length(Trim(Columns[C].Caption));
- for R := 0 to Items.Count - 1 do
- if not SelectedOnly or Items[R].Selected then
- begin
- ColWidths[0] := Max(ColWidths[0], Length(Trim(Items[R].Caption)));
- for C := 0 to Items[R].SubItems.Count - 1 do
- ColWidths[C + 1] := Max(ColWidths[C + 1], Length(Trim(Items[R].SubItems[C])));
- end;
- Strings.BeginUpdate;
- try
- if Headers then
- with Columns do
- begin
- S := '';
- for C := 0 to Count - 1 do
- S := S + MakeCellStr(Items[C].Caption, C);
- AddLine;
- S := '';
- for C := 0 to Count - 1 do
- S := S + StringOfChar('-', ColWidths[C]) + ' ';
- AddLine;
- end;
- for R := 0 to Items.Count - 1 do
- if not SelectedOnly or Items[R].Selected then
- with Items[R] do
- begin
- S := MakeCellStr(Caption, 0);
- for C := 0 to Min(SubItems.Count, Columns.Count - 1) - 1 do
- S := S + MakeCellStr(SubItems[C], C + 1);
- AddLine;
- end;
- finally
- Strings.EndUpdate;
- end;
- end;
-end;
-
-//=== { TJclDebugResultForm } ================================================
-
-procedure TJclDebugResultForm.CopyReportToClipboard;
-var
- SL: TStringList;
-begin
- SL := TStringList.Create;
- try
- ListViewToStrings(ResultListView, SL);
- Clipboard.AsText := SL.Text;
- finally
- SL.Free;
- end;
-end;
-
-procedure TJclDebugResultForm.FormResize(Sender: TObject);
-begin
- OkBtn.Left := ClientWidth div 2 - OkBtn.Width div 2;
-end;
-
-constructor TJclDebugResultForm.Create(AOwner: TComponent; ASettings: TJclOTASettings);
-begin
- inherited Create(AOwner);
- FSettings := ASettings;
-end;
-
-procedure TJclDebugResultForm.CreateParams(var Params: TCreateParams);
-begin
- inherited CreateParams(Params);
-
- // Fixing the Window Ghosting "bug"
- Params.Style := params.Style or WS_POPUP;
- if Assigned(Screen.ActiveForm) then
- Params.WndParent := Screen.ActiveForm.Handle
- else if Assigned (Application.MainForm) then
- Params.WndParent := Application.MainForm.Handle
- else
- Params.WndParent := Application.Handle;
-end;
-
-procedure TJclDebugResultForm.FormCreate(Sender: TObject);
-var
- Index: Integer;
-begin
- SetBounds(Settings.LoadInteger(JclLeft, Left),
- Settings.LoadInteger(JclTop, Top),
- Settings.LoadInteger(JclWidth, Width),
- Settings.LoadInteger(JclHeight, Height));
-
- with ResultListView.Columns do
- for Index := 0 to Count - 1 do
- Items[Index].Width := Settings.LoadInteger(Format(ColumnRegName, [Index]), Items[Index].Width);
-end;
-
-procedure TJclDebugResultForm.FormDestroy(Sender: TObject);
-var
- Index: Integer;
-begin
- Settings.SaveInteger(JclLeft, Left);
- Settings.SaveInteger(JclTop, Top);
- Settings.SaveInteger(JclWidth, Width);
- Settings.SaveInteger(JclHeight, Height);
-
- with ResultListView.Columns do
- for Index := 0 to Count - 1 do
- Settings.SaveInteger(Format(ColumnRegName, [Index]), Items[Index].Width);
-end;
-
-procedure TJclDebugResultForm.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
-begin
- if (Shift = [ssCtrl]) and (Key = Ord('C')) then
- begin
- CopyReportToClipboard;
- MessageBeep(MB_OK);
- end;
-end;
-
-end.
Property changes on: trunk/jcl/experts/debug/converter
___________________________________________________________________
Name: svn:ignore
+ *.hpp
Added: trunk/jcl/experts/debug/converter/JclDebugIdeConfigFrame.dfm
===================================================================
--- trunk/jcl/experts/debug/converter/JclDebugIdeConfigFrame.dfm (rev 0)
+++ trunk/jcl/experts/debug/converter/JclDebugIdeConfigFrame.dfm 2006-10-30 15:00:17 UTC (rev 1806)
@@ -0,0 +1,36 @@
+object JclDebugIdeConfigFrame: TJclDebugIdeConfigFrame
+ Left = 0
+ Top = 0
+ Width = 369
+ Height = 375
+ TabOrder = 0
+ TabStop = True
+ object CheckBoxGenerateJdbg: TCheckBox
+ Left = 32
+ Top = 56
+ Width = 321
+ Height = 17
+ Anchors = [akLeft, akTop, akRight]
+ Caption = 'RsDebugGenerateJdbg'
+ TabOrder = 0
+ end
+ object CheckBoxInsertJdbg: TCheckBox
+ Left = 32
+ Top = 87
+ Width = 321
+ Height = 17
+ Anchors = [akLeft, akTop, akRight]
+ Caption = 'RsDebugInsertJdbg'
+ TabOrder = 1
+ end
+ object CheckBoxEnableExpert: TCheckBox
+ Left = 16
+ Top = 24
+ Width = 337
+ Height = 17
+ Anchors = [akLeft, akTop, akRight]
+ Caption = 'RsDebugEnableExpert'
+ TabOrder = 2
+ OnClick = CheckBoxEnableExpertClick
+ end
+end
Added: trunk/jcl/experts/debug/converter/JclDebugIdeConfigFrame.pas
===================================================================
--- trunk/jcl/experts/debug/converter/JclDebugIdeConfigFrame.pas (rev 0)
+++ trunk/jcl/experts/debug/converter/JclDebugIdeConfigFrame.pas 2006-10-30 15:00:17 UTC (rev 1806)
@@ -0,0 +1,108 @@
+{**************************************************************************************************}
+{ }
+{ 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 Origin...
[truncated message content] |
|
From: <ou...@us...> - 2006-10-30 10:20:02
|
Revision: 1805
http://svn.sourceforge.net/jcl/?rev=1805&view=rev
Author: outchy
Date: 2006-10-30 02:19:51 -0800 (Mon, 30 Oct 2006)
Log Message:
-----------
Minor style cleaning
Modified Paths:
--------------
trunk/jcl/source/common/JclEDIXML.pas
Modified: trunk/jcl/source/common/JclEDIXML.pas
===================================================================
--- trunk/jcl/source/common/JclEDIXML.pas 2006-10-30 08:37:56 UTC (rev 1804)
+++ trunk/jcl/source/common/JclEDIXML.pas 2006-10-30 10:19:51 UTC (rev 1805)
@@ -2371,7 +2371,7 @@
EDIFileStream := TFileStream.Create(FFileName, fmOpenRead or fmShareDenyNone);
try
SetLength(FData, EDIFileStream.Size);
- EDIFileStream.Read(Pointer(FData)^, EDIFileStream.Size);
+ EDIFileStream.Read(FData[1], EDIFileStream.Size);
finally
EDIFileStream.Free;
end;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2006-10-30 08:38:22
|
Revision: 1804
http://svn.sourceforge.net/jcl/?rev=1804&view=rev
Author: outchy
Date: 2006-10-30 00:37:56 -0800 (Mon, 30 Oct 2006)
Log Message:
-----------
Frames marked as Frames in the project files
Modified Paths:
--------------
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/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/xml/JclBaseExpert-D.xml
Modified: trunk/jcl/packages/c5/JclBaseExpertC50.dpk
===================================================================
--- trunk/jcl/packages/c5/JclBaseExpertC50.dpk 2006-10-30 08:18:42 UTC (rev 1803)
+++ trunk/jcl/packages/c5/JclBaseExpertC50.dpk 2006-10-30 08:37:56 UTC (rev 1804)
@@ -4,7 +4,7 @@
DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
ALWAYS EDIT THE RELATED XML FILE (JclBaseExpert-D.xml)
- Last generated: 15-05-2006 19:21:46 UTC
+ Last generated: 30-10-2006 08:26:26 UTC
-----------------------------------------------------------------------------
}
@@ -46,9 +46,9 @@
JclOtaConsts in '..\..\experts\common\JclOtaConsts.pas' ,
JclOtaExceptionForm in '..\..\experts\common\JclOtaExceptionForm.pas' {JclExpertExceptionForm},
JclOtaConfigurationForm in '..\..\experts\common\JclOtaConfigurationForm.pas' {JclOtaOptionsForm},
- JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame},
+ JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame: TFrame},
JclOtaWizardForm in '..\..\experts\common\JclOtaWizardForm.pas' {JclWizardForm},
- JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame}
+ JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame: TFrame}
;
end.
Modified: trunk/jcl/packages/c6/JclBaseExpert.bpk
===================================================================
--- trunk/jcl/packages/c6/JclBaseExpert.bpk 2006-10-30 08:18:42 UTC (rev 1803)
+++ trunk/jcl/packages/c6/JclBaseExpert.bpk 2006-10-30 08:37:56 UTC (rev 1804)
@@ -5,7 +5,7 @@
DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
ALWAYS EDIT THE RELATED XML FILE (JclBaseExpert-D.xml)
- Last generated: 24-09-2006 19:28:07 UTC
+ Last generated: 30-10-2006 08:26:26 UTC
*****************************************************************************
-->
<PROJECT>
@@ -89,9 +89,9 @@
<FILE FILENAME="..\..\experts\common\JclOtaConsts.pas" FORMNAME="" UNITNAME="JclOtaConsts" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="..\..\experts\common\JclOtaExceptionForm.pas" FORMNAME="JclExpertExceptionForm" UNITNAME="JclOtaExceptionForm" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="..\..\experts\common\JclOtaConfigurationForm.pas" FORMNAME="JclOtaOptionsForm" UNITNAME="JclOtaConfigurationForm" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
- <FILE FILENAME="..\..\experts\common\JclOtaActionConfigureSheet.pas" FORMNAME="JclOtaActionConfigureFrame" UNITNAME="JclOtaActionConfigureSheet" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="..\..\experts\common\JclOtaActionConfigureSheet.pas" FORMNAME="JclOtaActionConfigureFrame" UNITNAME="JclOtaActionConfigureSheet" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/>
<FILE FILENAME="..\..\experts\common\JclOtaWizardForm.pas" FORMNAME="JclWizardForm" UNITNAME="JclOtaWizardForm" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
- <FILE FILENAME="..\..\experts\common\JclOtaWizardFrame.pas" FORMNAME="JclWizardFrame" UNITNAME="JclOtaWizardFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="..\..\experts\common\JclOtaWizardFrame.pas" FORMNAME="JclWizardFrame" UNITNAME="JclOtaWizardFrame" CONTAINERID="PascalCompiler" DESIGNCLASS="TFrame" LOCALCOMMAND=""/>
</FILELIST>
<BUILDTOOLS>
</BUILDTOOLS>
Modified: trunk/jcl/packages/c6/JclBaseExpert.cpp
===================================================================
--- trunk/jcl/packages/c6/JclBaseExpert.cpp 2006-10-30 08:18:42 UTC (rev 1803)
+++ trunk/jcl/packages/c6/JclBaseExpert.cpp 2006-10-30 08:37:56 UTC (rev 1804)
@@ -4,7 +4,7 @@
DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
ALWAYS EDIT THE RELATED XML FILE (JclBaseExpert-D.xml)
- Last generated: 15-05-2006 19:21:46 UTC
+ Last generated: 30-10-2006 08:26:26 UTC
-----------------------------------------------------------------------------
*/
@@ -13,9 +13,9 @@
#pragma hdrstop
USEFORMNS("..\..\experts\common\JclOtaExceptionForm.pas", Jclotaexceptionform, JclExpertExceptionForm);
USEFORMNS("..\..\experts\common\JclOtaConfigurationForm.pas", Jclotaconfigurationform, JclOtaOptionsForm);
-USEFORMNS("..\..\experts\common\JclOtaActionConfigureSheet.pas", Jclotaactionconfiguresheet, JclOtaActionConfigureFrame);
+USEFORMNS("..\..\experts\common\JclOtaActionConfigureSheet.pas", Jclotaactionconfiguresheet, JclOtaActionConfigureFrame); /* TFrame: File Type */
USEFORMNS("..\..\experts\common\JclOtaWizardForm.pas", Jclotawizardform, JclWizardForm);
-USEFORMNS("..\..\experts\common\JclOtaWizardFrame.pas", Jclotawizardframe, JclWizardFrame);
+USEFORMNS("..\..\experts\common\JclOtaWizardFrame.pas", Jclotawizardframe, JclWizardFrame); /* TFrame: File Type */
//---------------------------------------------------------------------------
#pragma package(smart_init)
//---------------------------------------------------------------------------
Modified: trunk/jcl/packages/c6/JclBaseExpert.dpk
===================================================================
--- trunk/jcl/packages/c6/JclBaseExpert.dpk 2006-10-30 08:18:42 UTC (rev 1803)
+++ trunk/jcl/packages/c6/JclBaseExpert.dpk 2006-10-30 08:37:56 UTC (rev 1804)
@@ -4,7 +4,7 @@
DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
ALWAYS EDIT THE RELATED XML FILE (JclBaseExpert-D.xml)
- Last generated: 15-05-2006 19:21:47 UTC
+ Last generated: 30-10-2006 08:26:26 UTC
-----------------------------------------------------------------------------
}
@@ -47,8 +47,8 @@
JclOtaConsts in '..\..\experts\common\JclOtaConsts.pas' ,
JclOtaExceptionForm in '..\..\experts\common\JclOtaExceptionForm.pas' {JclExpertExceptionForm},
JclOtaConfigurationForm in '..\..\experts\common\JclOtaConfigurationForm.pas' {JclOtaOptionsForm},
- JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame},
+ JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame: TFrame},
JclOtaWizardForm in '..\..\experts\common\JclOtaWizardForm.pas' {JclWizardForm},
- JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame}
+ JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame: TFrame}
;
end.
Modified: trunk/jcl/packages/cs1/JclBaseExpert.dpk
===================================================================
--- trunk/jcl/packages/cs1/JclBaseExpert.dpk 2006-10-30 08:18:42 UTC (rev 1803)
+++ trunk/jcl/packages/cs1/JclBaseExpert.dpk 2006-10-30 08:37:56 UTC (rev 1804)
@@ -4,7 +4,7 @@
DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
ALWAYS EDIT THE RELATED XML FILE (JclBaseExpert-D.xml)
- Last generated: 15-05-2006 19:21:51 UTC
+ Last generated: 30-10-2006 08:26:27 UTC
-----------------------------------------------------------------------------
}
@@ -48,9 +48,9 @@
JclOtaConsts in '..\..\experts\common\JclOtaConsts.pas' ,
JclOtaExceptionForm in '..\..\experts\common\JclOtaExceptionForm.pas' {JclExpertExceptionForm},
JclOtaConfigurationForm in '..\..\experts\common\JclOtaConfigurationForm.pas' {JclOtaOptionsForm},
- JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame},
+ JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame: TFrame},
JclOtaWizardForm in '..\..\experts\common\JclOtaWizardForm.pas' {JclWizardForm},
- JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame}
+ JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame: TFrame}
;
end.
Modified: trunk/jcl/packages/d10/JclBaseExpert.dpk
===================================================================
--- trunk/jcl/packages/d10/JclBaseExpert.dpk 2006-10-30 08:18:42 UTC (rev 1803)
+++ trunk/jcl/packages/d10/JclBaseExpert.dpk 2006-10-30 08:37:56 UTC (rev 1804)
@@ -4,7 +4,7 @@
DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
ALWAYS EDIT THE RELATED XML FILE (JclBaseExpert-D.xml)
- Last generated: 21-05-2006 13:04:31 UTC
+ Last generated: 30-10-2006 08:26:27 UTC
-----------------------------------------------------------------------------
}
@@ -48,9 +48,9 @@
JclOtaConsts in '..\..\experts\common\JclOtaConsts.pas' ,
JclOtaExceptionForm in '..\..\experts\common\JclOtaExceptionForm.pas' {JclExpertExceptionForm},
JclOtaConfigurationForm in '..\..\experts\common\JclOtaConfigurationForm.pas' {JclOtaOptionsForm},
- JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame},
+ JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame: TFrame},
JclOtaWizardForm in '..\..\experts\common\JclOtaWizardForm.pas' {JclWizardForm},
- JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame}
+ JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame: TFrame}
;
end.
Modified: trunk/jcl/packages/d5/JclBaseExpertD50.dpk
===================================================================
--- trunk/jcl/packages/d5/JclBaseExpertD50.dpk 2006-10-30 08:18:42 UTC (rev 1803)
+++ trunk/jcl/packages/d5/JclBaseExpertD50.dpk 2006-10-30 08:37:56 UTC (rev 1804)
@@ -4,7 +4,7 @@
DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
ALWAYS EDIT THE RELATED XML FILE (JclBaseExpert-D.xml)
- Last generated: 15-05-2006 19:21:47 UTC
+ Last generated: 30-10-2006 08:26:27 UTC
-----------------------------------------------------------------------------
}
@@ -46,9 +46,9 @@
JclOtaConsts in '..\..\experts\common\JclOtaConsts.pas' ,
JclOtaExceptionForm in '..\..\experts\common\JclOtaExceptionForm.pas' {JclExpertExceptionForm},
JclOtaConfigurationForm in '..\..\experts\common\JclOtaConfigurationForm.pas' {JclOtaOptionsForm},
- JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame},
+ JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame: TFrame},
JclOtaWizardForm in '..\..\experts\common\JclOtaWizardForm.pas' {JclWizardForm},
- JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame}
+ JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame: TFrame}
;
end.
Modified: trunk/jcl/packages/d6/JclBaseExpert.dpk
===================================================================
--- trunk/jcl/packages/d6/JclBaseExpert.dpk 2006-10-30 08:18:42 UTC (rev 1803)
+++ trunk/jcl/packages/d6/JclBaseExpert.dpk 2006-10-30 08:37:56 UTC (rev 1804)
@@ -4,7 +4,7 @@
DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
ALWAYS EDIT THE RELATED XML FILE (JclBaseExpert-D.xml)
- Last generated: 15-05-2006 19:21:48 UTC
+ Last generated: 30-10-2006 08:26:27 UTC
-----------------------------------------------------------------------------
}
@@ -48,9 +48,9 @@
JclOtaConsts in '..\..\experts\common\JclOtaConsts.pas' ,
JclOtaExceptionForm in '..\..\experts\common\JclOtaExceptionForm.pas' {JclExpertExceptionForm},
JclOtaConfigurationForm in '..\..\experts\common\JclOtaConfigurationForm.pas' {JclOtaOptionsForm},
- JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame},
+ JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame: TFrame},
JclOtaWizardForm in '..\..\experts\common\JclOtaWizardForm.pas' {JclWizardForm},
- JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame}
+ JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame: TFrame}
;
end.
Modified: trunk/jcl/packages/d7/JclBaseExpert.dpk
===================================================================
--- trunk/jcl/packages/d7/JclBaseExpert.dpk 2006-10-30 08:18:42 UTC (rev 1803)
+++ trunk/jcl/packages/d7/JclBaseExpert.dpk 2006-10-30 08:37:56 UTC (rev 1804)
@@ -4,7 +4,7 @@
DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
ALWAYS EDIT THE RELATED XML FILE (JclBaseExpert-D.xml)
- Last generated: 15-05-2006 19:21:49 UTC
+ Last generated: 30-10-2006 08:26:27 UTC
-----------------------------------------------------------------------------
}
@@ -48,9 +48,9 @@
JclOtaConsts in '..\..\experts\common\JclOtaConsts.pas' ,
JclOtaExceptionForm in '..\..\experts\common\JclOtaExceptionForm.pas' {JclExpertExceptionForm},
JclOtaConfigurationForm in '..\..\experts\common\JclOtaConfigurationForm.pas' {JclOtaOptionsForm},
- JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame},
+ JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame: TFrame},
JclOtaWizardForm in '..\..\experts\common\JclOtaWizardForm.pas' {JclWizardForm},
- JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame}
+ JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame: TFrame}
;
end.
Modified: trunk/jcl/packages/d8/JclBaseExpert.dpk
===================================================================
--- trunk/jcl/packages/d8/JclBaseExpert.dpk 2006-10-30 08:18:42 UTC (rev 1803)
+++ trunk/jcl/packages/d8/JclBaseExpert.dpk 2006-10-30 08:37:56 UTC (rev 1804)
@@ -4,7 +4,7 @@
DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
ALWAYS EDIT THE RELATED XML FILE (JclBaseExpert-D.xml)
- Last generated: 15-05-2006 19:21:50 UTC
+ Last generated: 30-10-2006 08:26:27 UTC
-----------------------------------------------------------------------------
}
@@ -48,9 +48,9 @@
JclOtaConsts in '..\..\experts\common\JclOtaConsts.pas' ,
JclOtaExceptionForm in '..\..\experts\common\JclOtaExceptionForm.pas' {JclExpertExceptionForm},
JclOtaConfigurationForm in '..\..\experts\common\JclOtaConfigurationForm.pas' {JclOtaOptionsForm},
- JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame},
+ JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame: TFrame},
JclOtaWizardForm in '..\..\experts\common\JclOtaWizardForm.pas' {JclWizardForm},
- JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame}
+ JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame: TFrame}
;
end.
Modified: trunk/jcl/packages/d9/JclBaseExpert.dpk
===================================================================
--- trunk/jcl/packages/d9/JclBaseExpert.dpk 2006-10-30 08:18:42 UTC (rev 1803)
+++ trunk/jcl/packages/d9/JclBaseExpert.dpk 2006-10-30 08:37:56 UTC (rev 1804)
@@ -4,7 +4,7 @@
DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
ALWAYS EDIT THE RELATED XML FILE (JclBaseExpert-D.xml)
- Last generated: 15-05-2006 19:21:51 UTC
+ Last generated: 30-10-2006 08:26:27 UTC
-----------------------------------------------------------------------------
}
@@ -48,9 +48,9 @@
JclOtaConsts in '..\..\experts\common\JclOtaConsts.pas' ,
JclOtaExceptionForm in '..\..\experts\common\JclOtaExceptionForm.pas' {JclExpertExceptionForm},
JclOtaConfigurationForm in '..\..\experts\common\JclOtaConfigurationForm.pas' {JclOtaOptionsForm},
- JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame},
+ JclOtaActionConfigureSheet in '..\..\experts\common\JclOtaActionConfigureSheet.pas' {JclOtaActionConfigureFrame: TFrame},
JclOtaWizardForm in '..\..\experts\common\JclOtaWizardForm.pas' {JclWizardForm},
- JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame}
+ JclOtaWizardFrame in '..\..\experts\common\JclOtaWizardFrame.pas' {JclWizardFrame: TFrame}
;
end.
Modified: trunk/jcl/packages/xml/JclBaseExpert-D.xml
===================================================================
--- trunk/jcl/packages/xml/JclBaseExpert-D.xml 2006-10-30 08:18:42 UTC (rev 1803)
+++ trunk/jcl/packages/xml/JclBaseExpert-D.xml 2006-10-30 08:37:56 UTC (rev 1804)
@@ -26,8 +26,8 @@
<File Name="..\..\experts\common\JclOtaConsts.pas" Targets="Windows,Bds" Formname="" Condition=""/>
<File Name="..\..\experts\common\JclOtaExceptionForm.pas" Targets="Windows,Bds" Formname="JclExpertExceptionForm" Condition=""/>
<File Name="..\..\experts\common\JclOtaConfigurationForm.pas" Targets="Windows,Bds" Formname="JclOtaOptionsForm" Condition=""/>
- <File Name="..\..\experts\common\JclOtaActionConfigureSheet.pas" Targets="Windows,Bds" Formname="JclOtaActionConfigureFrame" Condition=""/>
+ <File Name="..\..\experts\common\JclOtaActionConfigureSheet.pas" Targets="Windows,Bds" Formname="JclOtaActionConfigureFrame: TFrame" Condition=""/>
<File Name="..\..\experts\common\JclOtaWizardForm.pas" Targets="Windows,Bds" Formname="JclWizardForm" Condition=""/>
- <File Name="..\..\experts\common\JclOtaWizardFrame.pas" Targets="Windows,Bds" Formname="JclWizardFrame" Condition=""/>
+ <File Name="..\..\experts\common\JclOtaWizardFrame.pas" Targets="Windows,Bds" Formname="JclWizardFrame: TFrame" Condition=""/>
</Contains>
</Package>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2006-10-30 08:19:43
|
Revision: 1803
http://svn.sourceforge.net/jcl/?rev=1803&view=rev
Author: outchy
Date: 2006-10-30 00:18:42 -0800 (Mon, 30 Oct 2006)
Log Message:
-----------
Minor style cleaning: Dlimited => Delimited
Modified Paths:
--------------
trunk/jcl/source/common/JclStreams.pas
Modified: trunk/jcl/source/common/JclStreams.pas
===================================================================
--- trunk/jcl/source/common/JclStreams.pas 2006-10-26 10:12:28 UTC (rev 1802)
+++ trunk/jcl/source/common/JclStreams.pas 2006-10-30 08:18:42 UTC (rev 1803)
@@ -261,7 +261,7 @@
procedure WriteExtended(const Value: Extended);
procedure WriteInt64(Value: Int64); overload;
procedure WriteInteger(Value: Integer); overload;
- procedure WriteStringDlimitedByNull(const Value: string);
+ procedure WriteStringDelimitedByNull(const Value: string);
procedure WriteShortString(const Value: ShortString);
procedure WriteSingle(const Value: Single);
procedure WriteSizedString(const Value: string);
@@ -1178,7 +1178,7 @@
WriteBuffer(Value, SizeOf(Value));
end;
-procedure TJclEasyStream.WriteStringDlimitedByNull(const Value: string);
+procedure TJclEasyStream.WriteStringDelimitedByNull(const Value: string);
begin
WriteBuffer(PChar(Value)^, Length(Value) + 1);
end;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ob...@us...> - 2006-10-26 10:12:36
|
Revision: 1802
http://svn.sourceforge.net/jcl/?rev=1802&view=rev
Author: obones
Date: 2006-10-26 03:12:28 -0700 (Thu, 26 Oct 2006)
Log Message:
-----------
Relative paths were not used correctly if not specifying any .. or . element
Modified Paths:
--------------
trunk/jcl/experts/common/JclOtaUtils.pas
Modified: trunk/jcl/experts/common/JclOtaUtils.pas
===================================================================
--- trunk/jcl/experts/common/JclOtaUtils.pas 2006-10-21 15:19:38 UTC (rev 1801)
+++ trunk/jcl/experts/common/JclOtaUtils.pas 2006-10-26 10:12:28 UTC (rev 1802)
@@ -723,7 +723,7 @@
if Result = '' then
Result := ExtractFilePath(Project.FileName)
else if not PathIsAbsolute(Result) then
- Result := PathAddSeparator(ExtractFilePath(Project.FileName)) + Result;
+ Result := PathGetRelativePath(ExtractFilePath(Project.FileName), Result);
end;
function TJclOTAExpertBase.GetActivePersonality: TJclBorPersonality;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <usc...@us...> - 2006-10-21 15:19:47
|
Revision: 1801
http://svn.sourceforge.net/jcl/?rev=1801&view=rev
Author: uschuster
Date: 2006-10-21 08:19:38 -0700 (Sat, 21 Oct 2006)
Log Message:
-----------
some minor fixes
Modified Paths:
--------------
trunk/donations/source/common/JclBorlandToolsExtensions.pas
Modified: trunk/donations/source/common/JclBorlandToolsExtensions.pas
===================================================================
--- trunk/donations/source/common/JclBorlandToolsExtensions.pas 2006-10-16 19:04:35 UTC (rev 1800)
+++ trunk/donations/source/common/JclBorlandToolsExtensions.pas 2006-10-21 15:19:38 UTC (rev 1801)
@@ -35,16 +35,7 @@
{
Todo:
-- style:
- *done*- sort class members
- *done*- insert markers
-*done*- support Aborted and set current dir in ...ExecAndCapture
- (JclSysUtils.Execute does support it)
- IFDEF OS specific compiler switches and defines?
-*done*- get settings from .cfg or .dof
-
-*done*- move ExecAndCapture to a unit where it fit's more
- (the same should be considered for JclBorlandTools.ExecAndRedirectOutput)
}
unit JclBorlandToolsExtensions;
@@ -90,7 +81,6 @@
TJclDCCSwitchAValues = (aOn, aOff, a1, a2, a4, a8);
- //(usc) check integer values
TJclDCCASwitch = class(TJclDCCSwitch)
private
FDefaultValue: TJclDCCSwitchAValues;
@@ -127,7 +117,6 @@
TJclDCCSwitchYValues = (yOn, yOff, yD);
- //(usc) check because this have two checkboxes
TJclDCCYSwitch = class(TJclDCCSwitch)
private
FDefaultValue: TJclDCCSwitchYValues;
@@ -147,7 +136,6 @@
TJclDCCSwitchZValue = (zOn, zOff, z1, z2, z4);
- //(usc) check integer values
TJclDCCZSwitch = class(TJclDCCSwitch)
private
FDefaultValue: TJclDCCSwitchZValue;
@@ -469,9 +457,9 @@
implementation
uses
- {$IFDEF DELPHI5}
+ {$IFDEF COMPILER5}
FileCtrl,
- {$ENDIF DELPHI5}
+ {$ENDIF COMPILER5}
JclStrings;
//=== { TJclDCCSwitch } ======================================================
@@ -541,6 +529,7 @@
function TJclDCCASwitch.GetAsInteger: Integer;
begin
case FValue of
+ aOff: Result := 0;
a2: Result := 2;
a4: Result := 4;
a8: Result := 8;
@@ -673,8 +662,8 @@
Result := 0;//(usc) avoid hint
case FValue of
yOff: Result := 0;
- yOn: Result := 1;
- yD: Result := 2;
+ yOn: Result := 2;
+ yD: Result := 1;
end;
end;
@@ -699,10 +688,10 @@
procedure TJclDCCYSwitch.SetAsInteger(AValue: Integer);
begin
case AValue of
- 0: FValue := yOff;
- 1: FValue := yOn;
+ 1: FValue := yD;
+ 2: FValue := yOn;
else
- FValue := yD;
+ FValue := yOff;
end;
end;
@@ -1335,7 +1324,7 @@
ConditionalDefines := DOFFile.ReadString(JclDOFDirectoriesSection, JclDOFConditionalsEntry, '');
Packages.AsDefaultString := DOFFile.ReadString(JclDOFDirectoriesSection, JclDOFPackagesEntry, '');
- CompileWithPackages := DOFFile.ReadInteger(JclDOFLinkerSection, JclDOFUsePackagesEntry, 0) = 1;
+ CompileWithPackages := DOFFile.ReadInteger(JclDOFDirectoriesSection, JclDOFUsePackagesEntry, 0) = 1;
finally
DOFFile.Free;
end;
@@ -1448,7 +1437,7 @@
if AIdent = JclDOFConditionalsEntry then
Result := ConditionalDefines <> ''
else
- if (AIdent = JclDOFPackagesEntry) and (AIdent = JclDOFUsePackagesEntry) then
+ if (AIdent = JclDOFPackagesEntry) or (AIdent = JclDOFUsePackagesEntry) then
Result := (Packages.Count > 0) and CompileWithPackages;
end;
end;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2006-10-16 19:04:43
|
Revision: 1800
http://svn.sourceforge.net/jcl/?rev=1800&view=rev
Author: ahuser
Date: 2006-10-16 12:04:35 -0700 (Mon, 16 Oct 2006)
Log Message:
-----------
Protection against recursion
Modified Paths:
--------------
trunk/jcl/source/windows/JclDebug.pas
Modified: trunk/jcl/source/windows/JclDebug.pas
===================================================================
--- trunk/jcl/source/windows/JclDebug.pas 2006-10-16 19:04:13 UTC (rev 1799)
+++ trunk/jcl/source/windows/JclDebug.pas 2006-10-16 19:04:35 UTC (rev 1800)
@@ -522,6 +522,7 @@
FCorrectOnAccess: Boolean;
FSkipFirstItem: Boolean;
FDelayedTrace: Boolean;
+ FInStackTracing: Boolean;
FRaw: Boolean;
FStackOffset: Cardinal;
function GetItems(Index: Integer): TJclStackInfoItem;
@@ -3628,15 +3629,20 @@
procedure TJclStackInfoList.ForceStackTracing;
begin
- if DelayedTrace and Assigned(FStackData) then
+ if DelayedTrace and Assigned(FStackData) and not FInStackTracing then
begin
- if Raw then
- TraceStackRaw
- else
- TraceStackFrames;
- FDelayedTrace := False;
- if FCorrectOnAccess then
- CorrectExceptStackListTop(Self, FSkipFirstItem);
+ FInStackTracing := True;
+ try
+ if Raw then
+ TraceStackRaw
+ else
+ TraceStackFrames;
+ if FCorrectOnAccess then
+ CorrectExceptStackListTop(Self, FSkipFirstItem);
+ finally
+ FInStackTracing := False;
+ FDelayedTrace := False;
+ 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-10-16 19:04:24
|
Revision: 1799
http://svn.sourceforge.net/jcl/?rev=1799&view=rev
Author: ahuser
Date: 2006-10-16 12:04:13 -0700 (Mon, 16 Oct 2006)
Log Message:
-----------
Styleclean
Modified Paths:
--------------
trunk/jcl/source/common/pcre.pas
Modified: trunk/jcl/source/common/pcre.pas
===================================================================
--- trunk/jcl/source/common/pcre.pas 2006-10-15 09:16:46 UTC (rev 1798)
+++ trunk/jcl/source/common/pcre.pas 2006-10-16 19:04:13 UTC (rev 1799)
@@ -586,7 +586,7 @@
LibNotLoadedHandler;
end
else
- Result := pcre_malloc^
+ Result := pcre_malloc^;
end;
procedure SetPCREFreeCallback(const FuncCallback: pcre_free_callback);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2006-10-15 09:16:58
|
Revision: 1798
http://svn.sourceforge.net/jcl/?rev=1798&view=rev
Author: outchy
Date: 2006-10-15 02:16:46 -0700 (Sun, 15 Oct 2006)
Log Message:
-----------
Mantis 3927 Launching installer fails on Vista, "start" has to be used.
Fix for an issue in make.exe: environment variables containing accentuated characters are damaged and child processes of make.exe are given this damaged environment block : the JCL installer didn't correctly detect BDS project directories when they are located in a directory with an accentuated char in its name (ie in user name). The installer has to be launched out of the make process.
Modified Paths:
--------------
trunk/jcl/Install.bat
trunk/jcl/install/makefile.mak
Modified: trunk/jcl/Install.bat
===================================================================
--- trunk/jcl/Install.bat 2006-10-12 21:19:31 UTC (rev 1797)
+++ trunk/jcl/Install.bat 2006-10-15 09:16:46 UTC (rev 1798)
@@ -8,6 +8,17 @@
if "%1" == "" SET DELPHIVERSION=newest
build.exe %DELPHIVERSION% "--make=installer"
+if ERRORLEVEL 1 GOTO FINI
+echo Launching JCL installer ...
+
+start ..\..\bin\JediInstaller.exe
+if ERRORLEVEL 1 goto FailStart
+goto FINI
+
+:FailStart
+..\..\bin\JediInstaller.exe
+goto FINI
+
:FINI
cd ..\..
Modified: trunk/jcl/install/makefile.mak
===================================================================
--- trunk/jcl/install/makefile.mak 2006-10-12 21:19:31 UTC (rev 1797)
+++ trunk/jcl/install/makefile.mak 2006-10-15 09:16:46 UTC (rev 1798)
@@ -42,14 +42,8 @@
QJediInstaller.dpr
install: $(BIN)\JediInstaller.exe
- cd ..
- bin\JediInstaller.exe
- cd install
qinstall: $(BIN)\QJediInstaller.exe
- cd ..
- bin\QJediInstaller.exe
- cd install
.PHONY: clean prototypes
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2006-10-12 21:19:44
|
Revision: 1797
http://svn.sourceforge.net/jcl/?rev=1797&view=rev
Author: outchy
Date: 2006-10-12 14:19:31 -0700 (Thu, 12 Oct 2006)
Log Message:
-----------
Setting callbacks only when the PCRE library is loaded
Modified Paths:
--------------
trunk/jcl/source/common/JclPCRE.pas
Modified: trunk/jcl/source/common/JclPCRE.pas
===================================================================
--- trunk/jcl/source/common/JclPCRE.pas 2006-10-12 20:22:54 UTC (rev 1796)
+++ trunk/jcl/source/common/JclPCRE.pas 2006-10-12 21:19:31 UTC (rev 1797)
@@ -372,8 +372,10 @@
initialization
pcre.LibNotLoadedHandler := LibNotLoadedHandler;
LoadPCRE;
- SetPCREMallocCallback(JclPCREGetMem);
- SetPCREFreeCallback(JclPCREFreeMem);
+ if Assigned(pcre_malloc) then
+ SetPCREMallocCallback(JclPCREGetMem);
+ if Assigned(pcre_free) then
+ SetPCREFreeCallback(JclPCREFreeMem);
{$IFDEF UNITVERSIONING}
RegisterUnitVersion(HInstance, UnitVersioning);
{$ENDIF UNITVERSIONING}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2006-10-12 20:23:05
|
Revision: 1796
http://svn.sourceforge.net/jcl/?rev=1796&view=rev
Author: outchy
Date: 2006-10-12 13:22:54 -0700 (Thu, 12 Oct 2006)
Log Message:
-----------
Setting callbacks only when the PCRE library is loaded
Modified Paths:
--------------
branches/test_pcre/jcl/source/common/JclPCRE.pas
Modified: branches/test_pcre/jcl/source/common/JclPCRE.pas
===================================================================
--- branches/test_pcre/jcl/source/common/JclPCRE.pas 2006-10-09 17:07:24 UTC (rev 1795)
+++ branches/test_pcre/jcl/source/common/JclPCRE.pas 2006-10-12 20:22:54 UTC (rev 1796)
@@ -505,8 +505,10 @@
initialization
pcre.LibNotLoadedHandler := LibNotLoadedHandler;
LoadPCRE;
- SetPCREMallocCallback(JclPCREGetMem);
- SetPCREFreeCallback(JclPCREFreeMem);
+ if Assigned(pcre_malloc) then
+ SetPCREMallocCallback(JclPCREGetMem);
+ if Assigned(pcre_free) then
+ SetPCREFreeCallback(JclPCREFreeMem);
{$IFDEF UNITVERSIONING}
RegisterUnitVersion(HInstance, UnitVersioning);
{$ENDIF UNITVERSIONING}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2006-10-09 17:07:33
|
Revision: 1795
http://svn.sourceforge.net/jcl/?rev=1795&view=rev
Author: ahuser
Date: 2006-10-09 10:07:24 -0700 (Mon, 09 Oct 2006)
Log Message:
-----------
Fixed missing Readme.txt abortion.
Modified Paths:
--------------
trunk/jcl/install/prototypes/JediGUIReadme.pas
Modified: trunk/jcl/install/prototypes/JediGUIReadme.pas
===================================================================
--- trunk/jcl/install/prototypes/JediGUIReadme.pas 2006-10-09 17:05:51 UTC (rev 1794)
+++ trunk/jcl/install/prototypes/JediGUIReadme.pas 2006-10-09 17:07:24 UTC (rev 1795)
@@ -106,7 +106,8 @@
procedure TReadmeFrame.SetReadmeFileName(const Value: string);
begin
FReadmeFileName := Value;
- ReadmePane.{$IFDEF VCL}Lines.{$ENDIF VCL}LoadFromFile(Value);
+ if FileExists(Value) then
+ ReadmePane.{$IFDEF VCL}Lines.{$ENDIF VCL}LoadFromFile(Value);
end;
procedure TReadmeFrame.Show;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2006-10-09 17:05:59
|
Revision: 1794
http://svn.sourceforge.net/jcl/?rev=1794&view=rev
Author: ahuser
Date: 2006-10-09 10:05:51 -0700 (Mon, 09 Oct 2006)
Log Message:
-----------
- Fixed overflow bug
- Fixed IgnoreLevels for OSExceptions
- Fixed possible endless recursion
Modified Paths:
--------------
trunk/jcl/source/windows/JclDebug.pas
Modified: trunk/jcl/source/windows/JclDebug.pas
===================================================================
--- trunk/jcl/source/windows/JclDebug.pas 2006-10-08 20:25:00 UTC (rev 1793)
+++ trunk/jcl/source/windows/JclDebug.pas 2006-10-09 17:05:51 UTC (rev 1794)
@@ -41,6 +41,7 @@
interface
{$I jcl.inc}
+{$R-,Q-}
uses
{$IFDEF UNITVERSIONING}
@@ -1096,8 +1097,6 @@
end;
end;
- {$OVERFLOWCHECKS OFF}
-
function ReadHexValue: Integer;
var
C: Char;
@@ -1133,10 +1132,6 @@
until False;
end;
- {$IFDEF OVERFLOWCHECKS_ON}
- {$OVERFLOWCHECKS ON}
- {$ENDIF OVERFLOWCHECKS_ON}
-
function ReadAddress: TJclMapAddress;
begin
Result.Segment := ReadHexValue;
@@ -1539,9 +1534,6 @@
{ D5 D4 D3 D2 D1 D0 C5 C4 | Data byte 2 }
{--------------------------------- }
-{$OVERFLOWCHECKS OFF}
-{$RANGECHECKS OFF}
-
function SimpleCryptString(const S: string): string;
var
I: Integer;
@@ -1692,14 +1684,6 @@
SetLength(Result, DWORD(P) - DWORD(Pointer(Result)) + 1);
end;
-{$IFDEF RANGECHECKS_ON}
-{$RANGECHECKS ON}
-{$ENDIF RANGECHECKS_ON}
-
-{$IFDEF OVERFLOWCHECKS_ON}
-{$OVERFLOWCHECKS ON}
-{$ENDIF OVERFLOWCHECKS_ON}
-
function ConvertMapFileToJdbgFile(const MapFileName: TFileName): Boolean;
var
Dummy1: string;
@@ -1894,8 +1878,6 @@
inherited Destroy;
end;
-{$OVERFLOWCHECKS OFF}
-
function TJclBinDebugGenerator.CalculateCheckSum: Boolean;
var
Header: PJclDbgHeader;
@@ -1920,10 +1902,6 @@
end;
end;
-{$IFDEF OVERFLOWCHECKS_ON}
-{$OVERFLOWCHECKS ON}
-{$ENDIF OVERFLOWCHECKS_ON}
-
procedure TJclBinDebugGenerator.CreateData;
var
FileHeader: TJclDbgHeader;
@@ -2150,8 +2128,6 @@
end;
end;
-{$OVERFLOWCHECKS OFF}
-
procedure TJclBinDebugScanner.CheckFormat;
var
CheckSum: Integer;
@@ -2177,10 +2153,6 @@
end;
end;
-{$IFDEF OVERFLOWCHECKS_ON}
-{$OVERFLOWCHECKS ON}
-{$ENDIF OVERFLOWCHECKS_ON}
-
function TJclBinDebugScanner.DataToStr(A: Integer): string;
var
P: PChar;
@@ -3563,7 +3535,10 @@
else
IgnoreLevels := 5;
if OSException then
- FirstCaller := ExceptAddr
+ begin
+ Inc(IgnoreLevels); // => HandleAnyException
+ FirstCaller := ExceptAddr;
+ end
else
FirstCaller := nil;
// CorrectExceptStackListTop(JclCreateStackList(RawMode, IgnoreLevels, FirstCaller), OSException);
@@ -3699,8 +3674,6 @@
Result := TJclStackInfoItem(Get(Index));
end;
-{$OVERFLOWCHECKS OFF}
-
function TJclStackInfoList.NextStackFrame(var StackFrame: PStackFrame; var StackInfo: TStackInfo): Boolean;
var
CallInstructionSize: Cardinal;
@@ -3752,10 +3725,6 @@
Result := False;
end;
-{$IFDEF OVERFLOWCHECKS_ON}
-{$OVERFLOWCHECKS ON}
-{$ENDIF OVERFLOWCHECKS_ON}
-
procedure TJclStackInfoList.StoreToList(const StackInfo: TStackInfo);
var
Item: TJclStackInfoItem;
@@ -3790,7 +3759,7 @@
// stack than what would define valid stack frames.
BaseOfStack := DWORD(StackFrame) - 1;
// Loop over and report all valid stackframes
- while NextStackFrame(StackFrame, StackInfo) and (Count <> MaxStackTraceItems) do
+ while NextStackFrame(StackFrame, StackInfo) and (inherited Count <> MaxStackTraceItems) do
StoreToList(StackInfo);
end;
@@ -3827,7 +3796,7 @@
// Clear the previous call address
PrevCaller := 0;
// Loop through all of the valid stack space
- while (DWORD(StackPtr) < StackTop) and (Count <> MaxStackTraceItems) do
+ while (DWORD(StackPtr) < StackTop) and (inherited Count <> MaxStackTraceItems) do
begin
// If the current DWORD on the stack refers to a valid call site...
if ValidCallSite(StackPtr^, CallInstructionSize) and (StackPtr^ <> PrevCaller) then
@@ -3875,17 +3844,9 @@
end;
FFrameEBP := GetEBP;
-
- {$OVERFLOWCHECKS OFF}
-
FStackOffset := DWORD(FStackData) - DWORD(StackPtr);
-
FFrameEBP := Pointer(Cardinal(FFrameEBP) + FStackOffset);
TopOfStack := TopOfStack + FStackOffset;
-
- {$IFDEF OVERFLOWCHECKS_ON}
- {$OVERFLOWCHECKS ON}
- {$ENDIF OVERFLOWCHECKS_ON}
end;
// Validate that the code address is a valid code site
@@ -3894,8 +3855,6 @@
// http://developer.intel.com/design/pentiumii/manuals/243191.htm
// Instruction format, Chapter 2 and The CALL instruction: page 3-53, 3-54
-{$OVERFLOWCHECKS OFF}
-
function TJclStackInfoList.ValidCallSite(CodeAddr: DWORD; var CallInstructionSize: Cardinal): Boolean;
var
CodeDWORD4: DWORD;
@@ -3946,10 +3905,6 @@
end;
end;
-{$IFDEF OVERFLOWCHECKS_ON}
-{$OVERFLOWCHECKS ON}
-{$ENDIF OVERFLOWCHECKS_ON}
-
{$IFNDEF STACKFRAMES_ON}
{$STACKFRAMES OFF}
{$ENDIF ~STACKFRAMES_ON}
@@ -4083,14 +4038,14 @@
if FrameKind <> efkUnknown then
begin
Result := Pointer(GetJmpDest(PJmpInstruction(DWORD(@ExcFrame.Desc.Instructions))));
- if Result = nil then
- Result := @ExcFrame.Desc.Instructions;
+ if Result = nil then
+ Result := @ExcFrame.Desc.Instructions;
end
else
begin
Result := Pointer(GetJmpDest(PJmpInstruction(DWORD(@ExcFrame.Desc))));
- if Result = nil then
- Result := @ExcFrame.Desc;
+ if Result = nil then
+ Result := @ExcFrame.Desc;
end;
end;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2006-10-08 20:25:09
|
Revision: 1793
http://svn.sourceforge.net/jcl/?rev=1793&view=rev
Author: ahuser
Date: 2006-10-08 13:25:00 -0700 (Sun, 08 Oct 2006)
Log Message:
-----------
- Fixed Exception bug in TJclExceptFrameList.AddFrame.
- Speed improvements
- Added stTraceEAbort which is not set by default, so for EAbort exceptions there is no strack tracing.
- Limited stackframe levels to 4096 items
- Fixed IgnoreLevels in DoExceptionStackTrace (from 7 to 9 in RawMode)
- StackFrame: EBP must be above the previous EBP to be valid (temporary usage of EBP as a free register issue)
Modified Paths:
--------------
trunk/jcl/source/windows/JclDebug.pas
Modified: trunk/jcl/source/windows/JclDebug.pas
===================================================================
--- trunk/jcl/source/windows/JclDebug.pas 2006-10-06 17:26:35 UTC (rev 1792)
+++ trunk/jcl/source/windows/JclDebug.pas 2006-10-08 20:25:00 UTC (rev 1793)
@@ -640,7 +640,7 @@
type
TJclStackTrackingOption =
(stStack, stExceptFrame, stRawMode, stAllModules, stStaticModuleList,
- stDelayedTrace);
+ stDelayedTrace, stTraceEAbort);
TJclStackTrackingOptions = set of TJclStackTrackingOption;
var
@@ -735,6 +735,7 @@
const
EnvironmentVarNtSymbolPath = '_NT_SYMBOL_PATH'; // do not localize
EnvironmentVarAlternateNtSymbolPath = '_NT_ALTERNATE_SYMBOL_PATH'; // do not localize
+ MaxStackTraceItems = 4096;
{$IFDEF UNITVERSIONING}
const
@@ -2484,7 +2485,7 @@
else
FreeAndNil(Result);
except
- FreeAndNil(Result);
+ Result.Free;
raise;
end;
end;
@@ -3558,7 +3559,7 @@
RawMode := stRawMode in JclStackTrackingOptions;
Delayed := stDelayedTrace in JclStackTrackingOptions;
if RawMode then
- IgnoreLevels := 7
+ IgnoreLevels := 9
else
IgnoreLevels := 5;
if OSException then
@@ -3703,34 +3704,50 @@
function TJclStackInfoList.NextStackFrame(var StackFrame: PStackFrame; var StackInfo: TStackInfo): Boolean;
var
CallInstructionSize: Cardinal;
+ StackFrameCallersEBP, NewEBP: Cardinal;
+ StackFrameCallerAdr: Cardinal;
begin
// Only report this stack frame into the StockInfo structure
// if the StackFrame pointer, EBP on the stack and return
// address on the stack are valid addresses
+ StackFrameCallersEBP := StackInfo.CallersEBP;
while ValidStackAddr(DWORD(StackFrame)) do
begin
+ // CallersEBP above the previous CallersEBP
+ NewEBP := StackFrame^.CallersEBP;
+ if NewEBP <= StackFrameCallersEBP then
+ Break;
+ StackFrameCallersEBP := NewEBP;
+
// CallerAdr within current process space, code segment etc.
// CallersEBP within current thread stack. Added Mar 12 2002 per Hallvard's suggestion
- if ValidCodeAddr(StackFrame^.CallerAdr, FModuleInfoList) and ValidStackAddr(StackFrame^.CallersEBP + FStackOffset) then
+ StackFrameCallerAdr := StackFrame^.CallerAdr;
+ if ValidCodeAddr(StackFrameCallerAdr, FModuleInfoList) and ValidStackAddr(StackFrameCallersEBP + FStackOffset) then
begin
Inc(StackInfo.Level);
StackInfo.StackFrame := StackFrame;
StackInfo.ParamPtr := PDWORDArray(DWORD(StackFrame) + SizeOf(TStackFrame));
- StackInfo.CallersEBP := StackFrame^.CallersEBP;
+
+ if StackFrameCallersEBP > StackInfo.CallersEBP then
+ StackInfo.CallersEBP := StackFrameCallersEBP
+ else
+ // EBP points to an address that is below the last EBP, so it must be invalid
+ Break;
+
// Calculate the address of caller by subtracting the CALL instruction size (if possible)
- if ValidCallSite(StackFrame^.CallerAdr, CallInstructionSize) then
- StackInfo.CallerAdr := StackFrame^.CallerAdr - CallInstructionSize
+ if ValidCallSite(StackFrameCallerAdr, CallInstructionSize) then
+ StackInfo.CallerAdr := StackFrameCallerAdr - CallInstructionSize
else
- StackInfo.CallerAdr := StackFrame^.CallerAdr;
- StackInfo.DumpSize := StackFrame^.CallersEBP - DWORD(StackFrame);
+ StackInfo.CallerAdr := StackFrameCallerAdr;
+ StackInfo.DumpSize := StackFrameCallersEBP - DWORD(StackFrame);
StackInfo.ParamSize := (StackInfo.DumpSize - SizeOf(TStackFrame)) div 4;
// Step to the next stack frame by following the EBP pointer
- StackFrame := PStackFrame(StackFrame^.CallersEBP + FStackOffset);
+ StackFrame := PStackFrame(StackFrameCallersEBP + FStackOffset);
Result := True;
Exit;
end;
// Step to the next stack frame by following the EBP pointer
- StackFrame := PStackFrame(StackFrame^.CallersEBP + FStackOffset);
+ StackFrame := PStackFrame(StackFrameCallersEBP + FStackOffset);
end;
Result := False;
end;
@@ -3757,9 +3774,11 @@
StackInfo: TStackInfo;
begin
Clear;
+ Capacity := 16; // reduce ReallocMem calls
// Start at level 0
StackInfo.Level := 0;
+ StackInfo.CallersEBP := 0;
if DelayedTrace then
// Get the current stack frame from the EBP register
StackFrame := FFrameEBP
@@ -3771,7 +3790,7 @@
// stack than what would define valid stack frames.
BaseOfStack := DWORD(StackFrame) - 1;
// Loop over and report all valid stackframes
- while NextStackFrame(StackFrame, StackInfo) do
+ while NextStackFrame(StackFrame, StackInfo) and (Count <> MaxStackTraceItems) do
StoreToList(StackInfo);
end;
@@ -3784,6 +3803,7 @@
StackTop: DWORD;
begin
Clear;
+ Capacity := 16; // reduce ReallocMem calls
if DelayedTrace then
begin
@@ -3807,7 +3827,7 @@
// Clear the previous call address
PrevCaller := 0;
// Loop through all of the valid stack space
- while DWORD(StackPtr) < StackTop do
+ while (DWORD(StackPtr) < StackTop) and (Count <> MaxStackTraceItems) do
begin
// If the current DWORD on the stack refers to a valid call site...
if ValidCallSite(StackPtr^, CallInstructionSize) and (StackPtr^ <> PrevCaller) then
@@ -4086,13 +4106,7 @@
function TJclExceptFrameList.AddFrame(AFrame: PExcFrame): TJclExceptFrame;
begin
Result := TJclExceptFrame.Create(AFrame);
- try
- Add(Result);
- except
- Remove(Result);
- Result.Free;
- raise;
- end;
+ Add(Result);
end;
function TJclExceptFrameList.GetItems(Index: Integer): TJclExceptFrame;
@@ -4130,7 +4144,7 @@
procedure DoExceptNotify(ExceptObj: TObject; ExceptAddr: Pointer; OSException: Boolean);
begin
- if TrackingActive then
+ if TrackingActive and ((stTraceEAbort in JclStackTrackingOptions) or not (ExceptObj is EAbort)) then
begin
if stStack in JclStackTrackingOptions then
DoExceptionStackTrace(ExceptObj, ExceptAddr, OSException);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mo...@us...> - 2006-10-06 17:26:49
|
Revision: 1792
http://svn.sourceforge.net/jcl/?rev=1792&view=rev
Author: morrac
Date: 2006-10-06 10:26:35 -0700 (Fri, 06 Oct 2006)
Log Message:
-----------
- Support for named captures and callouts.
- GetCapturesOffset is named GetCaptureRange now.
- Corrected the declaration of pcre_callout_callback.
Modified Paths:
--------------
branches/test_pcre/jcl/source/common/JclPCRE.pas
branches/test_pcre/jcl/source/common/JclResources.pas
branches/test_pcre/jcl/source/common/pcre.pas
Modified: branches/test_pcre/jcl/source/common/JclPCRE.pas
===================================================================
--- branches/test_pcre/jcl/source/common/JclPCRE.pas 2006-10-04 16:32:55 UTC (rev 1791)
+++ branches/test_pcre/jcl/source/common/JclPCRE.pas 2006-10-06 17:26:35 UTC (rev 1792)
@@ -36,6 +36,7 @@
interface
uses
+ pcre,
{$IFDEF UNITVERSIONING}
JclUnitVersioning,
{$ENDIF UNITVERSIONING}
@@ -48,9 +49,15 @@
Classes, SysUtils;
const
- JCL_PCRE_ERROR_STUDYFAILED = -999;
+ JCL_PCRE_CALLOUT_NOERROR = 0;
+ JCL_PCRE_CALLOUT_FAILCONTINUE = 1;
+ JCL_PCRE_ERROR_CALLOUTERROR = -998;
+ JCL_PCRE_ERROR_STUDYFAILED = -999;
+
type
+ TJclAnsiRegEx = class;
+
EPCREError = class(Exception)
private
FErrorCode: Integer;
@@ -68,45 +75,72 @@
roPartial, roDfaShortest, roDfaRestart, roDfaFirstLine, roDupNames,
roNewLineCR, roNewLineLF);
TJclAnsiRegExOptions = set of TJclAnsiRegExOption;
- TJclAnsiCaptureOffset = record
+ TJclAnsiCaptureRange = record
FirstPos: Integer;
LastPos: Integer;
end;
+ TJclAnsiRegExCallout = procedure (Sender: TJclAnsiRegEx;
+ Index, MatchStart, SubjectPos, LastCapture, PatternPos, NextItemLength: Integer;
+ var ErrorCode: Integer) of object;
+ TPCRECalloutIndex = 0 .. 255;
+
TJclAnsiRegEx = class(TObject)
private
+ FOwner: TObject;
FCode: Pointer;
FExtra: Pointer;
FOptions: TJclAnsiRegExOptions;
- FSubject: String;
+ FPattern: AnsiString;
+ FSubject: AnsiString;
FErrorCode: Integer;
- FErrorMessage: String;
+ FErrorMessage: AnsiString;
FErrorOffset: Integer;
FVector: PPCREIntArray;
FVectorSize: Integer;
- FStringCount: Integer;
+ FCaptureCount: Integer;
+ FOnCallout: TJclAnsiRegExCallout;
+
function GetCaptureCount: Integer;
- function GetCaptures(Index: Integer): String;
+ function GetCapture(Index: Integer): AnsiString;
+ function GetCaptureRange(Index: Integer): TJclAnsiCaptureRange;
+ function GetNamedCapture(const Name: AnsiString): AnsiString;
+ function GetCaptureNameCount: Integer;
+ function GetCaptureName(Index: Integer): String;
function GetAPIOptions(RunTime: Boolean): Integer;
- function GetCapturesOffset(Index: Integer): TJclAnsiCaptureOffset;
+ function CalloutHandler(var CalloutBlock: pcre_callout_block): Integer;
public
+ constructor Create(Owner: TObject = nil);
destructor Destroy; override;
+ property Owner: TObject read FOwner write FOwner;
property Options: TJclAnsiRegExOptions read FOptions write FOptions;
- function Compile(const Pattern: String; Study: Boolean;
+ function Compile(const Pattern: AnsiString; Study: Boolean;
UserLocale: Boolean = False): Boolean;
- function Match(const Subject: String; StartOffset: Cardinal = 1): Boolean;
+ property Pattern: AnsiString read FPattern;
+ function Match(const Subject: AnsiString; StartOffset: Cardinal = 1): Boolean;
+ property Subject: AnsiString read FSubject;
+
property CaptureCount: Integer read GetCaptureCount;
- property Captures[Index: Integer]: String read GetCaptures;
- property CaptureOffset[Index: Integer]: TJclAnsiCaptureOffset read GetCapturesOffset;
+ property Captures[Index: Integer]: AnsiString read GetCapture;
+ property CaptureRanges[Index: Integer]: TJclAnsiCaptureRange read GetCaptureRange;
+ property NamedCaptures[const Name: AnsiString]: AnsiString read GetNamedCapture;
+ property CaptureNameCount: Integer read GetCaptureNameCount;
+ property CaptureNames[Index: Integer]: AnsiString read GetCaptureName;
+ function IndexOfName(const Name: String): Integer;
+ function IsNameValid(const Name: String): Boolean;
+
property ErrorCode: Integer read FErrorCode;
- property ErrorMessage: String read FErrorMessage;
+ property ErrorMessage: AnsiString read FErrorMessage;
property ErrorOffset: Integer read FErrorOffset;
+
+ property oncallout: TJclAnsiRegExCallout
+ read FOnCallout write FOnCallout;
end;
procedure InitializeLocaleSupport;
@@ -125,7 +159,6 @@
implementation
uses
- pcre,
JclResources;
var
@@ -141,12 +174,18 @@
FreeMem(P);
end;
+function JclPCRECallout(var callout_block: pcre_callout_block): Integer; cdecl;
+begin
+ Result := TJclAnsiRegEx(callout_block.callout_data).CalloutHandler(callout_block);
+end;
+
function PCRECheck(Value: Integer): Boolean;
var
PErr: PResStringRec;
begin
- Result := False;
- PErr := nil;
+ Result := Value >= 0;
+ if Result then Exit;
+
case Value of
PCRE_ERROR_NOMATCH:
PErr := @RsErrNoMatch;
@@ -192,15 +231,23 @@
PErr := @RsErrRecursionLimit;
JCL_PCRE_ERROR_STUDYFAILED:
PErr := @RsErrStudyFailed;
+ JCL_PCRE_ERROR_CALLOUTERROR:
+ PErr := @RsErrCalloutError;
else
- Result := True;
+ PErr := @RsErrUnknownError;
end;
- if not Result then
- raise EPCREError.CreateRes(PErr, Value);
+
+ raise EPCREError.CreateRes(PErr, Value);
end;
//=== { TJclAnsiRegEx } ======================================================
+constructor TJclAnsiRegEx.Create(Owner: TObject = nil);
+begin
+ inherited Create;
+ FOwner := Owner;
+end;
+
destructor TJclAnsiRegEx.Destroy;
begin
if Assigned(FCode) then
@@ -213,7 +260,7 @@
inherited Destroy;
end;
-function TJclAnsiRegEx.Compile(const Pattern: String; Study: Boolean;
+function TJclAnsiRegEx.Compile(const Pattern: AnsiString; Study: Boolean;
UserLocale: Boolean = False): Boolean;
var
ErrMsgPtr: PChar;
@@ -227,12 +274,14 @@
else
Tables := nil;
- if Pattern = '' then
+ FPattern := Pattern;
+ if FPattern = '' then
raise EPCREError.CreateRes(@RsErrNull, PCRE_ERROR_NULL);
if Assigned(FCode) then pcre_free^(FCode);
- FCode := pcre_compile2(PChar(Pattern), GetAPIOptions(False),
+ FCode := pcre_compile2(PChar(FPattern), GetAPIOptions(False),
@FErrorCode, @ErrMsgPtr, @FErrorOffset, Tables);
+ Inc(FErrorOffset);
FErrorMessage := ErrMsgPtr;
Result := Assigned(FCode);
if Result then
@@ -249,9 +298,9 @@
end;
end;
- PCRECheck(pcre_fullinfo(FCode, FExtra, PCRE_INFO_CAPTURECOUNT, @FStringCount));
- if FStringCount > 0 then
- FVectorSize := (FStringCount + 1) * 3
+ PCRECheck(pcre_fullinfo(FCode, FExtra, PCRE_INFO_CAPTURECOUNT, @FCaptureCount));
+ if FCaptureCount > 0 then
+ FVectorSize := (FCaptureCount + 1) * 3
else
FVectorSize := 0;
ReAllocMem(FVector, FVectorSize * SizeOf(Integer));
@@ -294,14 +343,14 @@
function TJclAnsiRegEx.GetCaptureCount: Integer;
begin
- Result := FStringCount;
+ Result := FCaptureCount;
end;
-function TJclAnsiRegEx.GetCaptures(Index: Integer): String;
+function TJclAnsiRegEx.GetCapture(Index: Integer): AnsiString;
var
From, Len: Integer;
begin
- if (Index < 0) or (Index >= FStringCount) then
+ if (Index < 0) or (Index >= FCaptureCount) then
PCRECheck(PCRE_ERROR_NOSUBSTRING)
else
begin
@@ -313,34 +362,118 @@
end;
end;
-function TJclAnsiRegEx.GetCapturesOffset(Index: Integer): TJclAnsiCaptureOffset;
+function TJclAnsiRegEx.GetCaptureRange(Index: Integer): TJclAnsiCaptureRange;
begin
- if (Index < 0) or (Index >= FStringCount) then
+ if (Index < 0) or (Index >= FCaptureCount) then
+ PCRECheck(PCRE_ERROR_NOSUBSTRING)
+ else
begin
- Result.FirstPos := -1;
- Result.LastPos := -1;
+ Index := Index * 2;
+ Result.FirstPos := FVector^[Index];
+ Result.LastPos := FVector^[Index + 1] - 1;
end;
- Index := Index * 2;
- Result.FirstPos := FVector^[Index];
- Result.LastPos := FVector^[Index + 1] - 1;
end;
-function TJclAnsiRegEx.Match(const Subject: String; StartOffset: Cardinal = 1): Boolean;
+function TJclAnsiRegEx.GetNamedCapture(const Name: AnsiString): AnsiString;
+var
+ Index: Integer;
begin
- if (not Assigned(FCode)) or (Subject = '') then
+ Index := pcre_get_stringnumber(FCode, PChar(Name));
+ PCRECheck(Index);
+
+ Result := GetCapture(Index);
+end;
+
+function TJclAnsiRegEx.GetCaptureNameCount: Integer;
+begin
+ PCRECheck(pcre_fullinfo(FCode, FExtra, PCRE_INFO_NAMECOUNT, @Result));
+end;
+
+function TJclAnsiRegEx.GetCaptureName(Index: Integer): String;
+var
+ NameTable: PChar;
+ EntrySize: Integer;
+begin
+ PCRECheck(pcre_fullinfo(FCode, FExtra, PCRE_INFO_NAMETABLE, @NameTable));
+ PCRECheck(pcre_fullinfo(FCode, FExtra, PCRE_INFO_NAMEENTRYSIZE, @EntrySize));
+
+ Result := NameTable + EntrySize * Index + 2;
+end;
+
+function TJclAnsiRegEx.CalloutHandler(var CalloutBlock: pcre_callout_block): Integer;
+begin
+ try
+ Result := JCL_PCRE_CALLOUT_NOERROR;
+ if Assigned(FOnCallout) then
+ begin
+ with CalloutBlock do
+ begin
+ FCaptureCount := capture_top;
+ FOnCallout(Self, callout_number, start_match + 1, current_position + 1,
+ capture_last, pattern_position + 1, next_item_length, Result);
+ end;
+ end;
+ except
+ on E: Exception do
+ begin
+ FErrorMessage := E.Message;
+ Result := JCL_PCRE_ERROR_CALLOUTERROR;
+ end;
+ end;
+end;
+
+function TJclAnsiRegEx.Match(const Subject: AnsiString; StartOffset: Cardinal = 1): Boolean;
+var
+ LocalExtra: real_pcre_extra;
+ Extra: Pointer;
+ ExecRslt: Integer;
+begin
+ if Assigned(FOnCallout) then
begin
- Result := False;
- Exit;
+ if Assigned(FExtra) then
+ begin
+ LocalExtra.flags := PCRE_EXTRA_STUDY_DATA or PCRE_EXTRA_CALLOUT_DATA;
+ LocalExtra.study_data := FExtra;
+ end
+ else
+ LocalExtra.flags := PCRE_EXTRA_CALLOUT_DATA;
+ LocalExtra.callout_data := Self;
+ Extra := @LocalExtra;
+ pcre_callout^ := JclPCRECallout;
+ end
+ else
+ begin
+ Extra := FExtra;
+ pcre_callout^ := nil;
end;
- if StartOffset < 1 then
- StartOffset := 1;
FSubject := Subject;
- FStringCount := pcre_exec(FCode, FExtra, PChar(FSubject), Length(FSubject),
+ ExecRslt := pcre_exec(FCode, Extra, PChar(FSubject), Length(FSubject),
StartOffset - 1, GetAPIOptions(True), PInteger(FVector), FVectorSize);
- Result := FStringCount >= 0;
+ Result := ExecRslt >= 0;
+ if Result then
+ begin
+ FCaptureCount := ExecRslt;
+ FErrorCode := 0;
+ end
+ else
+ begin
+ FErrorCode := ExecRslt;
+ if FErrorCode <> PCRE_ERROR_NOMATCH then
+ PCRECheck(FErrorCode);
+ end;
end;
+function TJclAnsiRegEx.IndexOfName(const Name: String): Integer;
+begin
+ Result := pcre_get_stringnumber(FCode, PChar(Name));
+end;
+
+function TJclAnsiRegEx.IsNameValid(const Name: String): Boolean;
+begin
+ Result := pcre_get_stringnumber(FCode, PChar(Name)) >= 0;
+end;
+
procedure InitializeLocaleSupport;
begin
if not Assigned(GTables) then
Modified: branches/test_pcre/jcl/source/common/JclResources.pas
===================================================================
--- branches/test_pcre/jcl/source/common/JclResources.pas 2006-10-04 16:32:55 UTC (rev 1791)
+++ branches/test_pcre/jcl/source/common/JclResources.pas 2006-10-06 17:26:35 UTC (rev 1792)
@@ -1290,6 +1290,8 @@
RsErrLibNotLoaded = 'PCRE library not loaded';
RsErrMemFuncNotSet = 'PCRE memory management functions not set';
RsErrStudyFailed = 'Study failed';
+ RsErrCalloutError = 'Unhandled exception in callout';
+ RsErrUnknownError = 'Unknown error';
//=== JclPeImage =============================================================
resourcestring
Modified: branches/test_pcre/jcl/source/common/pcre.pas
===================================================================
--- branches/test_pcre/jcl/source/common/pcre.pas 2006-10-04 16:32:55 UTC (rev 1791)
+++ branches/test_pcre/jcl/source/common/pcre.pas 2006-10-06 17:26:35 UTC (rev 1792)
@@ -219,14 +219,8 @@
type
(* Types *)
- PPChar = ^PChar;
- {$EXTERNALSYM PPChar}
PPPChar = ^PPChar;
{$EXTERNALSYM PPPChar}
- PInteger = ^Integer;
- {$EXTERNALSYM PInteger}
- PPointer = ^Pointer;
- {$EXTERNALSYM PPointer}
real_pcre = record
{magic_number: Longword;
@@ -288,7 +282,7 @@
{$EXTERNALSYM pcre_stack_malloc_callback}
pcre_stack_free_callback = procedure(P: Pointer); cdecl;
{$EXTERNALSYM pcre_stack_free_callback}
- pcre_callout_callback = procedure(var callout_block: pcre_callout_block); cdecl;
+ pcre_callout_callback = function(var callout_block: pcre_callout_block): Integer; cdecl;
{$EXTERNALSYM pcre_callout_callback}
var
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2006-10-04 16:33:08
|
Revision: 1791
http://svn.sourceforge.net/jcl/?rev=1791&view=rev
Author: ahuser
Date: 2006-10-04 09:32:55 -0700 (Wed, 04 Oct 2006)
Log Message:
-----------
Removed "Comp" data type support
Modified Paths:
--------------
trunk/jcl/source/common/JclStreams.pas
Modified: trunk/jcl/source/common/JclStreams.pas
===================================================================
--- trunk/jcl/source/common/JclStreams.pas 2006-10-03 14:00:49 UTC (rev 1790)
+++ trunk/jcl/source/common/JclStreams.pas 2006-10-04 16:32:55 UTC (rev 1791)
@@ -243,9 +243,6 @@
function IsEqual(Stream: TStream): Boolean;
function ReadBoolean: Boolean;
function ReadChar: Char;
- {$IFNDEF BCB}
- function ReadComp: Comp;
- {$ENDIF !BCB}
function ReadCurrency: Currency;
function ReadDateTime: TDateTime;
function ReadDouble: Double;
@@ -258,9 +255,6 @@
function ReadSizedString: string;
procedure WriteBoolean(Value: Boolean);
procedure WriteChar(Value: Char);
- {$IFNDEF BCB}
- procedure WriteComp(const Value: Comp);
- {$ENDIF !BCB}
procedure WriteCurrency(const Value: Currency);
procedure WriteDateTime(const Value: TDateTime);
procedure WriteDouble(const Value: Double);
@@ -1076,13 +1070,6 @@
ReadBuffer(Result, SizeOf(Result));
end;
-{$IFNDEF BCB}
-function TJclEasyStream.ReadComp: Comp;
-begin
- ReadBuffer(Result, SizeOf(Result));
-end;
-{$ENDIF !BCB}
-
function TJclEasyStream.ReadCurrency: Currency;
begin
ReadBuffer(Result, SizeOf(Result));
@@ -1161,13 +1148,6 @@
WriteBuffer(Value, SizeOf(Value));
end;
-{$IFNDEF BCB}
-procedure TJclEasyStream.WriteComp(const Value: Comp);
-begin
- WriteBuffer(Value, SizeOf(Value));
-end;
-{$ENDIF !BCB}
-
procedure TJclEasyStream.WriteCurrency(const Value: Currency);
begin
WriteBuffer(Value, SizeOf(Value));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2006-10-03 14:00:57
|
Revision: 1790
http://svn.sourceforge.net/jcl/?rev=1790&view=rev
Author: ahuser
Date: 2006-10-03 07:00:49 -0700 (Tue, 03 Oct 2006)
Log Message:
-----------
Renamed TBytes to TJclBytes due to a conflict with JvTypes.TBytes
Modified Paths:
--------------
trunk/jcl/source/common/JclBase.pas
Modified: trunk/jcl/source/common/JclBase.pas
===================================================================
--- trunk/jcl/source/common/JclBase.pas 2006-10-01 12:05:30 UTC (rev 1789)
+++ trunk/jcl/source/common/JclBase.pas 2006-10-03 14:00:49 UTC (rev 1790)
@@ -111,7 +111,7 @@
PPointer = ^Pointer;
{$IFDEF RTL140_UP}
{$IFDEF CLR}
- PJclByteArray = array of Byte;
+ PJclByteArray = TBytes;
{$ELSE}
PByte = System.PByte;
Int8 = ShortInt;
@@ -153,12 +153,15 @@
PLargeInteger = ^TLargeInteger;
TLargeInteger = Int64;
-{$IFNDEF CLR}
+{$IFDEF CLR}
+type
+ TJclBytes = TBytes;
+{$ELSE}
// Redefinition of PByteArray to avoid range check exceptions.
type
TJclByteArray = array [0..MaxInt div SizeOf(Byte) - 1] of Byte;
PJclByteArray = ^TJclByteArray;
- TBytes = Pointer; // under .NET System.pas: TBytes = array of Byte;
+ TJclBytes = Pointer; // under .NET System.pas: TBytes = array of Byte;
// Redefinition of TULargeInteger to relieve dependency on Windows.pas
type
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2006-10-01 12:05:45
|
Revision: 1789
http://svn.sourceforge.net/jcl/?rev=1789&view=rev
Author: outchy
Date: 2006-10-01 05:05:30 -0700 (Sun, 01 Oct 2006)
Log Message:
-----------
Mantis 3927 moving out design code from the ThreadExpertSharedNames example.
Modified Paths:
--------------
trunk/jcl/examples/windows/debug/threadexcept/ThreadExceptExample.dpr
trunk/jcl/experts/common/JclOtaConsts.pas
trunk/jcl/experts/common/JclOtaResources.pas
trunk/jcl/experts/debug/threadnames/ThreadExpertSharedNames.pas
Modified: trunk/jcl/examples/windows/debug/threadexcept/ThreadExceptExample.dpr
===================================================================
--- trunk/jcl/examples/windows/debug/threadexcept/ThreadExceptExample.dpr 2006-10-01 12:04:44 UTC (rev 1788)
+++ trunk/jcl/examples/windows/debug/threadexcept/ThreadExceptExample.dpr 2006-10-01 12:05:30 UTC (rev 1789)
@@ -2,8 +2,6 @@
uses
Forms,
- JclOTAResources in '..\..\..\..\experts\common\JclOTAResources.pas',
- JclOTAConsts in '..\..\..\..\experts\common\JclOTAConsts.pas',
JclIdeThreadStatus in '..\..\..\..\experts\debug\threadnames\JclIdeThreadStatus.pas',
ThreadExpertSharedNames in '..\..\..\..\experts\debug\threadnames\ThreadExpertSharedNames.pas',
ThreadExceptDemoMain in 'ThreadExceptDemoMain.pas' {MainForm};
Modified: trunk/jcl/experts/common/JclOtaConsts.pas
===================================================================
--- trunk/jcl/experts/common/JclOtaConsts.pas 2006-10-01 12:04:44 UTC (rev 1788)
+++ trunk/jcl/experts/common/JclOtaConsts.pas 2006-10-01 12:05:30 UTC (rev 1789)
@@ -92,10 +92,6 @@
//=== Threads Expert =======================================================
JclThreadsExpertName = 'JclThreadsExpert';
- MutexName = 'DebugThreadNamesMutex';
- MutexReadName = 'DebugThreadNamesReadMutex';
- MappingName = 'DebugThreadNamesMapping';
- EventName = 'DebugThreadNamesEvent';
//=== SIMD Expert ==========================================================
JclSIMDExpertName = 'JclSIMDExpert';
Modified: trunk/jcl/experts/common/JclOtaResources.pas
===================================================================
--- trunk/jcl/experts/common/JclOtaResources.pas 2006-10-01 12:04:44 UTC (rev 1788)
+++ trunk/jcl/experts/common/JclOtaResources.pas 2006-10-01 12:05:30 UTC (rev 1789)
@@ -176,10 +176,6 @@
RsEInvalidUnit = 'Invalid unit';
RsEInvalidUses = 'Invalid uses clause';
-//=== ThreadExpertSharedNames.pas ============================================
-resourcestring
- RsEnterMutexTimeout = 'JCL Thread Name IDE Expert Mutex Timeout';
-
//=== ProjAnalyserImpl.pas ===================================================
resourcestring
RsAnalyzeActionCaption = 'Analyze project %s';
Modified: trunk/jcl/experts/debug/threadnames/ThreadExpertSharedNames.pas
===================================================================
--- trunk/jcl/experts/debug/threadnames/ThreadExpertSharedNames.pas 2006-10-01 12:04:44 UTC (rev 1788)
+++ trunk/jcl/experts/debug/threadnames/ThreadExpertSharedNames.pas 2006-10-01 12:05:30 UTC (rev 1789)
@@ -63,12 +63,20 @@
implementation
uses
- JclOtaConsts, JclOtaResources, JclSysUtils;
+ // do not reference Ota units there because of the ThreadExceptExample
+ {JclOtaConsts, JclOtaResources,} JclSysUtils;
const
MaxThreadCount = 256;
IdeEnterMutexTimeout = 5000;
+ MutexName = 'DebugThreadNamesMutex';
+ MutexReadName = 'DebugThreadNamesReadMutex';
+ MappingName = 'DebugThreadNamesMapping';
+ EventName = 'DebugThreadNamesEvent';
+resourcestring
+ RsEnterMutexTimeout = 'JCL Thread Name IDE Expert Mutex Timeout';
+
type
TThreadName = record
ThreadID: DWORD;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2006-10-01 12:04:52
|
Revision: 1788
http://svn.sourceforge.net/jcl/?rev=1788&view=rev
Author: outchy
Date: 2006-10-01 05:04:44 -0700 (Sun, 01 Oct 2006)
Log Message:
-----------
Mantis 3928 MapToJdbg.exe inserts JDBG data to .exe file
Modified Paths:
--------------
trunk/jcl/experts/debug/tools/MapToJdbgMain.pas
Modified: trunk/jcl/experts/debug/tools/MapToJdbgMain.pas
===================================================================
--- trunk/jcl/experts/debug/tools/MapToJdbgMain.pas 2006-09-28 18:51:34 UTC (rev 1787)
+++ trunk/jcl/experts/debug/tools/MapToJdbgMain.pas 2006-10-01 12:04:44 UTC (rev 1788)
@@ -15,10 +15,13 @@
{ The Initial Developer of the Original Code is Petr Vones. }
{ Portions created by Petr Vones are Copyright (C) of Petr Vones. }
{ }
+{ Contributors: }
+{ Michael Chernyshev }
+{ }
{**************************************************************************************************}
{ }
{ Unit owner: Petr Vones }
-{ Last modified: $Date$ }
+{ Last modified: $Date$ }
{ }
{**************************************************************************************************}
@@ -79,14 +82,33 @@
procedure TMainForm.FormCreate(Sender: TObject);
var
- MapFileName: TFileName;
+ MapFileName, ExeFileName: TFileName;
+ LinkerBugUnit: string;
+ MapFileSize, JclDebugDataSize, LineNumberErrors: Integer;
begin
- MapFileName := ParamStr(1);
- if MapFileName <> '' then
+ if ParamCount = 1 then
begin
- ConvertMapFileToJdbgFile(MapFileName);
- Application.ShowMainForm := False;
- Application.Terminate;
+ MapFileName := ParamStr(1);
+ if MapFileName <> '' then
+ begin
+ if not ConvertMapFileToJdbgFile(MapFileName) then
+ ExitCode := 1;
+ Application.ShowMainForm := False;
+ Application.Terminate;
+ end;
+ end
+ else
+ if ParamCount = 2 then
+ begin
+ MapFileName := ParamStr(1);
+ ExeFileName := ParamStr(2);
+ if (MapFileName <> '') and (ExeFileName <> '') then
+ begin
+ if not InsertDebugDataIntoExecutableFile(ExeFileName, MapFileName, LinkerBugUnit, MapFileSize, JclDebugDataSize, LineNumberErrors) then
+ ExitCode := 1;
+ Application.ShowMainForm := False;
+ Application.Terminate;
+ end;
end;
end;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2006-09-28 18:51:45
|
Revision: 1787
http://svn.sourceforge.net/jcl/?rev=1787&view=rev
Author: outchy
Date: 2006-09-28 11:51:34 -0700 (Thu, 28 Sep 2006)
Log Message:
-----------
Added executable flag
Property Changed:
----------------
trunk/jcl/install/prototypes.sh
trunk/jcl/install.sh
Property changes on: trunk/jcl/install/prototypes.sh
___________________________________________________________________
Name: svn:executable
+ *
Property changes on: trunk/jcl/install.sh
___________________________________________________________________
Name: svn:executable
+ *
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2006-09-27 19:07:26
|
Revision: 1786
http://svn.sourceforge.net/jcl/?rev=1786&view=rev
Author: outchy
Date: 2006-09-27 12:07:15 -0700 (Wed, 27 Sep 2006)
Log Message:
-----------
Fixing output directories
Modified Paths:
--------------
trunk/jcl/examples/windows/edisdk/comserver/EDISDK.dof
Modified: trunk/jcl/examples/windows/edisdk/comserver/EDISDK.dof
===================================================================
--- trunk/jcl/examples/windows/edisdk/comserver/EDISDK.dof 2006-09-27 19:06:48 UTC (rev 1785)
+++ trunk/jcl/examples/windows/edisdk/comserver/EDISDK.dof 2006-09-27 19:07:15 UTC (rev 1786)
@@ -1,5 +1,5 @@
[Directories]
-OutputDir=..\..\..\bin
+OutputDir=..\..\..\..\bin
[Version Info Keys]
CompanyName=Ray's Jedi Projects
FileDescription=EDI SDK COM Object Library
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2006-09-27 19:06:59
|
Revision: 1785
http://svn.sourceforge.net/jcl/?rev=1785&view=rev
Author: outchy
Date: 2006-09-27 12:06:48 -0700 (Wed, 27 Sep 2006)
Log Message:
-----------
Fixing output directories
Modified Paths:
--------------
trunk/jcl/experts/debug/tools/MakeJclDbg.dof
trunk/jcl/experts/debug/tools/MapToJdbg.dof
trunk/jcl/experts/debug/tools/TlbToMap.dof
Modified: trunk/jcl/experts/debug/tools/MakeJclDbg.dof
===================================================================
--- trunk/jcl/experts/debug/tools/MakeJclDbg.dof 2006-09-26 17:35:52 UTC (rev 1784)
+++ trunk/jcl/experts/debug/tools/MakeJclDbg.dof 2006-09-27 19:06:48 UTC (rev 1785)
@@ -1,3 +1,3 @@
[Directories]
-OutputDir=..\..\..\..\bin
+OutputDir=..\..\..\bin
Modified: trunk/jcl/experts/debug/tools/MapToJdbg.dof
===================================================================
--- trunk/jcl/experts/debug/tools/MapToJdbg.dof 2006-09-26 17:35:52 UTC (rev 1784)
+++ trunk/jcl/experts/debug/tools/MapToJdbg.dof 2006-09-27 19:06:48 UTC (rev 1785)
@@ -1,3 +1,3 @@
[Directories]
-OutputDir=..\..\..\..\bin
+OutputDir=..\..\..\bin
Modified: trunk/jcl/experts/debug/tools/TlbToMap.dof
===================================================================
--- trunk/jcl/experts/debug/tools/TlbToMap.dof 2006-09-26 17:35:52 UTC (rev 1784)
+++ trunk/jcl/experts/debug/tools/TlbToMap.dof 2006-09-27 19:06:48 UTC (rev 1785)
@@ -1,3 +1,3 @@
[Directories]
-OutputDir=..\..\..\..\bin
+OutputDir=..\..\..\bin
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2006-09-26 17:36:03
|
Revision: 1784
http://svn.sourceforge.net/jcl/?rev=1784&view=rev
Author: outchy
Date: 2006-09-26 10:35:52 -0700 (Tue, 26 Sep 2006)
Log Message:
-----------
Enabling repository expert by default.
Disabling repository items by default.
Modified Paths:
--------------
trunk/jcl/install/JclInstall.pas
Modified: trunk/jcl/install/JclInstall.pas
===================================================================
--- trunk/jcl/install/JclInstall.pas 2006-09-26 17:27:43 UTC (rev 1783)
+++ trunk/jcl/install/JclInstall.pas 2006-09-26 17:35:52 UTC (rev 1784)
@@ -892,13 +892,13 @@
AddOption(joExceptDlg, [], Parent);
if Target.SupportsVCL then
begin
- AddOption(joExceptDlgVCL, [goChecked], joExceptDlg);
+ AddOption(joExceptDlgVCL, [], joExceptDlg);
{$IFDEF MSWINDOWS}
- AddOption(joExceptDlgVCLSnd, [goChecked], joExceptDlg);
+ AddOption(joExceptDlgVCLSnd, [], joExceptDlg);
{$ENDIF MSWINDOWS}
end;
if Target.SupportsVisualCLX then
- AddOption(joExceptDlgCLX, [goChecked], joExceptDlg);
+ AddOption(joExceptDlgCLX, [], joExceptDlg);
end;
end;
@@ -968,7 +968,7 @@
AddOption(joExpertAnalyzer, ExpertOptions, joExperts);
AddOption(joExpertUses, ExpertOptions, joExperts);
AddOption(joExpertSimdView, ExpertOptions, joExperts);
- AddOption(joExpertRepository, [goNoAutoCheck], joExperts);
+ AddOption(joExpertRepository, ExpertOptions, joExperts);
end;
AddOption(joExpertFavorite, ExpertOptions, joExperts);
AddOption(joExpertVersionControl, [goNoAutoCheck], joExperts);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|