Update of /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24608/install/JVCLInstall
Modified Files:
CmdLineUtils.pas Compile.pas Compiler5MissingPropertyFix.pas
Core.pas DelphiData.pas FrmCompileMessages.pas
InstallerConsts.pas Intf.pas JCLData.pas JVCL3Install.pas
JVCLData.pas JVCLInstall.dof Main.dfm Main.pas
PackageUtils.pas PageBuilder.pas Utils.pas jvcl.inc
Log Message:
New jvcl.inc structure
Debug Units
Quickreport detection
Personal Edition compilation option
Index: JVCLInstall.dof
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/JVCLInstall.dof,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** JVCLInstall.dof 9 May 2004 21:03:36 -0000 1.7
--- JVCLInstall.dof 23 Dec 2004 00:25:12 -0000 1.8
***************
*** 1,3 ****
! [FileVersion]
Version=7.0
[Compiler]
--- 1,3 ----
! y[FileVersion]
Version=7.0
[Compiler]
***************
*** 96,105 ****
PackageDCPOutputDir=
SearchPath=
! Packages=vcl;rtl;vclx;indy;vclie;xmlrtl;inetdbbde;inet;inetdbxpress;VclSmp;dbrtl;dbexpress;vcldb;dsnap;dbxcds;inetdb;bdertl;vcldbx;adortl;visualclx;visualdbclx;vclactnband;vclshlctrls;JvStdCtrlsD7R;JvAppFrmD7R;JvCoreD7R;JvCmpD7R;JvCtrlsD7R;JvCustomD7R;JvDockingD7R;JvMMD7R;JvPageCompsD7R;JvSystemD7R;JvWizardD7R;JvDlgsD7R;DJcl;AHComps;soaprtl;teeui;teedb;tee;ibxpress;IntrawebDB_50_70;Intraweb_50_70;dclOffice2k;Rave50CLX;Rave50VCL
! Conditionals=NO_JCL;USE_DXGETTEXT
DebugSourceDirs=
UsePackages=0
[Parameters]
! RunParams=--ignore-ide --keep-files
HostApplication=
Launcher=
--- 96,104 ----
PackageDCPOutputDir=
SearchPath=
! Conditionals=NO_JCL;USE_DXGETTEXT;DEFAULT_JVCL_INC
DebugSourceDirs=
UsePackages=0
[Parameters]
! RunParams=--ignore-ide
HostApplication=
Launcher=
***************
*** 124,138 ****
Locale=1031
CodePage=1252
! [HistoryLists\hlConditionals]
! Count=2
! Item0=NO_JCL;USE_DXGETTEXT
! Item1=NO_JCL;
! [HistoryLists\hlUnitAliases]
! Count=1
! Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
! [HistoryLists\hlUnitOutputDirectory]
! Count=1
! Item0=..\..\dcu
! [HistoryLists\hlOutputDirectorry]
! Count=1
! Item0=..\..\bin
--- 123,125 ----
Locale=1031
CodePage=1252
!
Index: FrmCompileMessages.pas
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/FrmCompileMessages.pas,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** FrmCompileMessages.pas 15 Dec 2004 23:16:09 -0000 1.4
--- FrmCompileMessages.pas 23 Dec 2004 00:25:12 -0000 1.5
***************
*** 282,289 ****
--- 282,291 ----
begin
FList := TObjectList.Create;
+ FPaths := TStringList.Create;
end;
procedure TFormCompileMessages.FormDestroy(Sender: TObject);
begin
+ FPaths.Free;
FList.Free;
end;
Index: JVCL3Install.pas
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/JVCL3Install.pas,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** JVCL3Install.pas 25 Nov 2004 16:36:30 -0000 1.10
--- JVCL3Install.pas 23 Dec 2004 00:25:12 -0000 1.11
***************
*** 25,32 ****
// $Id$
- {$I jvcl.inc}
-
unit JVCL3Install;
interface
--- 25,32 ----
// $Id$
unit JVCL3Install;
+ {$I jvcl.inc}
+
interface
Index: Utils.pas
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/Utils.pas,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** Utils.pas 11 Dec 2004 14:34:54 -0000 1.15
--- Utils.pas 23 Dec 2004 00:25:12 -0000 1.16
***************
*** 25,32 ****
// $Id$
{$I jvcl.inc}
- unit Utils;
-
interface
--- 25,32 ----
// $Id$
+ unit Utils;
+
{$I jvcl.inc}
interface
Index: JVCLData.pas
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/JVCLData.pas,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** JVCLData.pas 17 Dec 2004 21:14:35 -0000 1.22
--- JVCLData.pas 23 Dec 2004 00:25:12 -0000 1.23
***************
*** 25,32 ****
// $Id$
- {$I jvcl.inc}
-
unit JVCLData;
interface
--- 25,32 ----
// $Id$
unit JVCLData;
+ {$I jvcl.inc}
+
interface
***************
*** 79,82 ****
--- 79,84 ----
FGenerateMapFiles: Boolean;
+ FJVCLConfig: TJVCLConfig;
+
procedure SetInstallMode(const Value: TInstallMode);
function GetFrameworkCount: Integer;
***************
*** 85,88 ****
--- 87,93 ----
function GetGenerateMapFiles: Boolean;
procedure SetJCLDir(const Value: string);
+ function GetJVCLConfig: TJVCLConfig;
+ function GetQuickReport: Boolean;
+ function GetQuickReport4: Boolean;
private
{ ITargetConfig }
***************
*** 155,159 ****
property DxgettextDir: string read GetDxgettextDir;
! // Directory where dxgettext is installed or ''. (special handling for Delphi/BCb 5)
property InstalledJVCLVersion: Integer read FInstalledJVCLVersion;
--- 160,167 ----
property DxgettextDir: string read GetDxgettextDir;
! // Directory where dxgettext is installed or ''. (special handling for Delphi/BCB 5)
!
! property QuickReport: Boolean read GetQuickReport;
! property QuickReport4: Boolean read GetQuickReport4;
property InstalledJVCLVersion: Integer read FInstalledJVCLVersion;
***************
*** 178,181 ****
--- 186,192 ----
// FrameworkCount returns the number of available frameworks for this
// target.
+
+ property JVCLConfig: TJVCLConfig read GetJVCLConfig;
+ // JVCLConfig returns the confiuration
public
property InstallJVCL: Boolean read FInstallJVCL write FInstallJVCL;
***************
*** 225,229 ****
FIsDxgettextInstalled: Boolean;
FDxgettextDir: string;
- FJVCLConfig: TJVCLConfig;
FJVCLDir: string;
FDeleteFilesOnUninstall: Boolean;
--- 236,239 ----
***************
*** 247,250 ****
--- 257,262 ----
function GetGenerateMapFiles: Integer;
procedure SetGenerateMapFiles(const Value: Integer);
+ function GetDebugUnits: Integer;
+ procedure SetDebugUnits(const Value: Integer);
protected
function JvclIncFilename: string;
***************
*** 261,265 ****
property IsDxgettextInstalled: Boolean read FIsDxgettextInstalled;
- property JVCLConfig: TJVCLConfig read FJVCLConfig;
property JVCLDir: string read GetJVCLDir;
property JVCLPackagesDir: string read GetJVCLPackagesDir;
--- 273,276 ----
***************
*** 267,270 ****
--- 278,282 ----
property DeveloperInstall: Integer read GetDeveloperInstall write SetDeveloperInstall;
+ property DebugUnits: Integer read GetDebugUnits write SetDebugUnits;
property CleanPalettes: Integer read GetCleanPalettes write SetCleanPalettes;
property Build: Integer read GetBuild write SetBuild;
***************
*** 281,284 ****
--- 293,299 ----
end;
+ const
+ TargetTypes: array[Boolean] of string = ('D', 'C'); // do not localize
+
implementation
***************
*** 297,303 ****
RsComplete = 'Complete.';
- const
- TargetTypes: array[Boolean] of string = ('D', 'C'); // do not localize
-
function ReadRegString(RootKey: HKEY; const Key, Name: string): string;
var
--- 312,315 ----
***************
*** 340,346 ****
FVerbose := False;
- FJVCLConfig := TJVCLConfig.Create;
- FJVCLConfig.LoadFromFile(JvclIncFilename);
-
ErrMsg := '';
LoadConfig(JVCLDir + '\' + sPackageGeneratorFile, 'JVCL', ErrMsg);
--- 352,355 ----
***************
*** 357,361 ****
i: Integer;
begin
- FJVCLConfig.Free;
for i := 0 to High(FConfigs) do
FConfigs[I].Free;
--- 366,369 ----
***************
*** 392,396 ****
2: b := TargetConfig[i].CompileOnly;
3: b := TargetConfig[i].DeveloperInstall;
! 4: b := TargetConfig[i].GenerateMapFiles;
else
b := False;
--- 400,405 ----
2: b := TargetConfig[i].CompileOnly;
3: b := TargetConfig[i].DeveloperInstall;
! 4: b := TargetConfig[i].DebugUnits;
! 5: b := TargetConfig[i].GenerateMapFiles;
else
b := False;
***************
*** 440,448 ****
end;
! function TJVCLData.GetGenerateMapFiles: Integer;
begin
Result := GetOptionState(4);
end;
function TJVCLData.GetJVCLDir: string;
begin
--- 449,467 ----
end;
! function TJVCLData.GetDebugUnits: Integer;
begin
Result := GetOptionState(4);
end;
+ function TJVCLData.GetGenerateMapFiles: Integer;
+ begin
+ Result := GetOptionState(5);
+ end;
+
+ function TTargetConfig.GetJVCLConfig: TJVCLConfig;
+ begin
+ Result := FJVCLConfig;
+ end;
+
function TJVCLData.GetJVCLDir: string;
begin
***************
*** 523,531 ****
i: Integer;
begin
- if FJVCLConfig.Modified then
- begin
- FileSetReadOnly(JVCLConfig.Filename, False);
- JVCLConfig.SaveToFile(JVCLConfig.Filename);
- end;
for i := 0 to Targets.Count - 1 do
TargetConfig[i].Save;
--- 542,545 ----
***************
*** 572,575 ****
--- 586,597 ----
end;
+ procedure TJVCLData.SetDebugUnits(const Value: Integer);
+ var
+ i: Integer;
+ begin
+ for i := 0 to Targets.Count - 1 do
+ TargetConfig[i].DebugUnits := Value <> 0;
+ end;
+
{ TTargetConfig }
***************
*** 594,597 ****
--- 616,620 ----
FFrameworks := TJVCLFrameworks.Create(Self);
+ FJVCLConfig := TJVCLConfig.Create;
Load;
end;
***************
*** 604,609 ****
procedure TTargetConfig.Init;
! // Memory allocations must go to the constructor because Init could be called
! // more the once.
function FindJCL(List: TStrings): string;
--- 627,632 ----
procedure TTargetConfig.Init;
! // Memory allocations must go to the constructor because Init could be called
! // more the once.
function FindJCL(List: TStrings): string;
***************
*** 670,674 ****
FOutdatedJCL := False;
! // identify JVCL version
FInstalledJVCLVersion := 0;
if Target.FindPackageEx('JvPack1') <> nil then
--- 693,697 ----
FOutdatedJCL := False;
! // identify JVCL version
FInstalledJVCLVersion := 0;
if Target.FindPackageEx('JvPack1') <> nil then
***************
*** 689,693 ****
Include(FInstallMode, pkVCL);
! // identify JCL version
FMissingJCL := True;
if FJCLDir = '' then
--- 712,716 ----
Include(FInstallMode, pkVCL);
! // identify JCL version
FMissingJCL := True;
if FJCLDir = '' then
***************
*** 1047,1050 ****
--- 1070,1079 ----
IniFileName: string;
begin
+ if JVCLConfig.Modified then
+ begin
+ FileSetReadOnly(JVCLConfig.Filename, False);
+ JVCLConfig.SaveToFile(JVCLConfig.Filename);
+ end;
+
for Kind := pkFirst to pkLast do
begin
***************
*** 1085,1088 ****
--- 1114,1118 ----
Ini.WriteBool(Target.DisplayName, 'AutoDependencies', AutoDependencies); // do not localize
Ini.WriteBool(Target.DisplayName, 'GenerateMapFiles', GenerateMapFiles); // do not localize
+ Ini.WriteBool(Target.DisplayName, 'DebugUnits', DebugUnits); // do not localize
Ini.UpdateFile;
***************
*** 1097,1100 ****
--- 1127,1131 ----
Ini: TMemIniFile;
Mode: TInstallMode;
+ Filename: string;
begin
for Kind := pkFirst to pkLast do
***************
*** 1116,1119 ****
--- 1147,1151 ----
CleanPalettes := Ini.ReadBool(Target.DisplayName, 'CleanPalettes', CleanPalettes); // do not localize
GenerateMapFiles := Ini.ReadBool(Target.DisplayName, 'GenerateMapFiles', GenerateMapFiles); // do not localize
+ DebugUnits := Ini.ReadBool(Target.DisplayName, 'DebugUnits', DebugUnits); // do not localize
Mode := [];
for Kind := pkFirst to pkLast do
***************
*** 1128,1131 ****
--- 1160,1179 ----
DcpDir := FixBackslashBackslash(DcpDir);
+ // Load jvcl%t.inc. Or the jvclbase.inc when no jvcl%t.inc exists
+ Filename := GetJVCLDir + '\common\' + Format('jvcl%s%d.inc', [LowerCase(TargetTypes[Target.IsBCB]), Target.Version]);
+ if not FileExists(Filename) then
+ begin
+ JVCLConfig.LoadFromFile(GetJVCLDir + '\common\jvclbase.inc');
+ JVCLConfig.Filename := Filename;
+ JVCLConfig.Modified := True; // must be stored
+ end
+ else
+ JVCLConfig.LoadFromFile(Filename);
+ // set (hidden) personal edition configuration
+ JVCLConfig.Enabled['DelphiPersonalEdition'] := Target.IsPersonal;
+
+ // QuickReport configuration
+ JVCLConfig.Enabled['QREPORT4'] := JVCLConfig.Enabled['QREPORT4'] or QuickReport4;
+ JVCLConfig.Enabled['JVCL_UseQuickReport'] := JVCLConfig.Enabled['JVCL_UseQuickReport'] or QuickReport;
finally
Ini.Free;
***************
*** 1179,1196 ****
DeinstallJVCL(nil, nil);
! // remove old
AddPaths(Target.BrowsingPaths, False, Owner.JVCLDir,
['common', 'run', 'qcommon', 'qrun']); // do not localize
AddPaths(Target.SearchPaths, False, Owner.JVCLDir,
['common', 'run', 'qcommon', 'qrun']); // do not localize
! // common
AddPaths(Target.BrowsingPaths, True, Owner.JVCLDir,
['common']); // do not localize
AddPaths(Target.SearchPaths, True, Owner.JVCLDir,
['common', Target.InsertDirMacros(UnitOutDir)]); // do not localize
! // add
if pkVCL in InstallMode then
begin
--- 1227,1249 ----
DeinstallJVCL(nil, nil);
! // remove old
AddPaths(Target.BrowsingPaths, False, Owner.JVCLDir,
['common', 'run', 'qcommon', 'qrun']); // do not localize
AddPaths(Target.SearchPaths, False, Owner.JVCLDir,
['common', 'run', 'qcommon', 'qrun']); // do not localize
+ AddPaths(Target.DebugDcuPaths, {Add:=}False, Owner.JVCLDir,
+ [Target.InsertDirMacros(UnitOutDir + '\debug'), UnitOutDir + '\debug']); // do not localize
! // common
AddPaths(Target.BrowsingPaths, True, Owner.JVCLDir,
['common']); // do not localize
AddPaths(Target.SearchPaths, True, Owner.JVCLDir,
['common', Target.InsertDirMacros(UnitOutDir)]); // do not localize
+ if DebugUnits and not DeveloperInstall then
+ AddPaths(Target.DebugDcuPaths, True, Owner.JVCLDir,
+ [Target.InsertDirMacros(UnitOutDir + '\debug')]); // do not localize
! // add
if pkVCL in InstallMode then
begin
***************
*** 1323,1327 ****
{**}DoProgress(RsCleaningPathLists, 1, MaxSteps);
! // remove JVCL 1 and 2 directories
for i := Target.BrowsingPaths.Count - 1 downto 0 do
if Pos('\jvpack\', AnsiLowerCase(Target.BrowsingPaths[i])) <> 0 then // do not localize
--- 1376,1380 ----
{**}DoProgress(RsCleaningPathLists, 1, MaxSteps);
! // remove JVCL 1 and 2 directories
for i := Target.BrowsingPaths.Count - 1 downto 0 do
if Pos('\jvpack\', AnsiLowerCase(Target.BrowsingPaths[i])) <> 0 then // do not localize
***************
*** 1333,1337 ****
! // remove JVCL 3 directories
AddPaths(Target.BrowsingPaths, {Add:=}False, Owner.JVCLDir,
['common', 'design', 'run', 'qcommon', 'qdesign', 'qrun']); // do not localize
--- 1386,1390 ----
! // remove JVCL 3 directories
AddPaths(Target.BrowsingPaths, {Add:=}False, Owner.JVCLDir,
['common', 'design', 'run', 'qcommon', 'qdesign', 'qrun']); // do not localize
***************
*** 1339,1342 ****
--- 1392,1397 ----
['common', 'design', 'run', 'qcommon', 'qdesign', 'qrun', // do not localize
Target.InsertDirMacros(UnitOutDir), UnitOutDir]);
+ AddPaths(Target.DebugDcuPaths, {Add:=}False, Owner.JVCLDir,
+ [Target.InsertDirMacros(UnitOutDir + '\debug'), UnitOutDir + '\debug']); // do not localize
Target.SavePaths;
***************
*** 1355,1359 ****
Target.SavePackagesLists;
! // clean ini file
Ini := TMemIniFile.Create(ChangeFileExt(ParamStr(0), '.ini')); // do not localize
try
--- 1410,1414 ----
Target.SavePackagesLists;
! // clean ini file
Ini := TMemIniFile.Create(ChangeFileExt(ParamStr(0), '.ini')); // do not localize
try
***************
*** 1380,1382 ****
--- 1435,1447 ----
end;
+ function TTargetConfig.GetQuickReport: Boolean;
+ begin
+ Result := FileExists(Target.RootDir + '\qrpt.bpl') or GetQuickReport4;
+ end;
+
+ function TTargetConfig.GetQuickReport4: Boolean;
+ begin
+ Result := FileExists(Target.RootDir + Format('\qr4run%s%d.bpl', [LowerCase(TargetTypes[Target.IsBCB]), Target.Version]));
+ end;
+
end.
Index: Core.pas
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/Core.pas,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** Core.pas 24 May 2004 13:05:31 -0000 1.6
--- Core.pas 23 Dec 2004 00:25:11 -0000 1.7
***************
*** 25,32 ****
// $Id$
- {$I jvcl.inc}
-
unit Core;
interface
--- 25,32 ----
// $Id$
unit Core;
+ {$I jvcl.inc}
+
interface
Index: InstallerConsts.pas
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/InstallerConsts.pas,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** InstallerConsts.pas 13 Dec 2004 22:50:32 -0000 1.10
--- InstallerConsts.pas 23 Dec 2004 00:25:12 -0000 1.11
***************
*** 162,165 ****
--- 162,167 ----
'Do you want to open readme.htm ?';
RsErrorOpeningReadmeHTM = 'Cannot open file readme.htm';
+ RsEditJvclInc = 'Edit jvcl%s%d.inc';
+ RsJVCLConfigurationError = 'The jvcl.inc files are corrupted.';
const
Index: Compile.pas
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/Compile.pas,v
retrieving revision 1.38
retrieving revision 1.39
diff -C2 -d -r1.38 -r1.39
*** Compile.pas 17 Dec 2004 21:14:34 -0000 1.38
--- Compile.pas 23 Dec 2004 00:25:11 -0000 1.39
***************
*** 25,33 ****
// $Id$
{$I jvcl.inc}
{$I windowsonly.inc}
- unit Compile;
-
interface
--- 25,33 ----
// $Id$
+ unit Compile;
+
{$I jvcl.inc}
{$I windowsonly.inc}
interface
***************
*** 114,118 ****
function PrepareJCL(TargetConfig: ITargetConfig; Force: Boolean): Boolean;
! function IsCondition(const Condition: string): Boolean;
public
constructor Create(AData: TJVCLData);
--- 114,118 ----
function PrepareJCL(TargetConfig: ITargetConfig; Force: Boolean): Boolean;
! function IsCondition(const Condition: string; TargetConfig: ITargetConfig): Boolean;
public
constructor Create(AData: TJVCLData);
***************
*** 179,184 ****
const
! CommonDependencyFiles: array[0..3] of string = (
! 'jvcl.inc', 'jedi.inc', 'linuxonly.inc', 'windowsonly.inc'
);
--- 179,184 ----
const
! CommonDependencyFiles: array[0..5] of string = (
! 'jvcl.inc', 'jvclbase.inc', 'jvcl%t.inc', 'jedi.inc', 'linuxonly.inc', 'windowsonly.inc'
);
***************
*** 387,391 ****
EnumeratePackages(PackagesPath, List);
if not Generate(List, TargetList, WriteMsg, Data.JVCLDir + '\' + sPackageGeneratorFile,
! Group, ErrMsg, PackagesPath, '', '', Data.JVCLConfig.Filename) then
begin
CaptureLine(ErrMsg, FAborted);
--- 387,391 ----
EnumeratePackages(PackagesPath, List);
if not Generate(List, TargetList, WriteMsg, Data.JVCLDir + '\' + sPackageGeneratorFile,
! Group, ErrMsg, PackagesPath, '', '', Data.JVCLDir + '\common\jvcl%t.inc') then
begin
CaptureLine(ErrMsg, FAborted);
***************
*** 432,441 ****
end;
! // let the compiler rebuild the dcp files
DeleteFile(Format('%s\CJcl%s.dcp', [BplDir, S]));
DeleteFile(Format('%s\CJclVcl%s.dcp', [BplDir, S]));
DeleteFile(Format('%s\CJclVClx%s.dcp', [BplDir, S]));
! // sometimes the files are in the wrong directory
DeleteFile(Format('%s\CJcl%s.dcp', [DcpDir, S]));
DeleteFile(Format('%s\CJclVcl%s.dcp', [DcpDir, S]));
--- 432,441 ----
end;
! // let the compiler rebuild the dcp files
DeleteFile(Format('%s\CJcl%s.dcp', [BplDir, S]));
DeleteFile(Format('%s\CJclVcl%s.dcp', [BplDir, S]));
DeleteFile(Format('%s\CJclVClx%s.dcp', [BplDir, S]));
! // sometimes the files are in the wrong directory
DeleteFile(Format('%s\CJcl%s.dcp', [DcpDir, S]));
DeleteFile(Format('%s\CJclVcl%s.dcp', [DcpDir, S]));
***************
*** 460,469 ****
DoPackageProgress(nil, RsCompilingJCL, 1, 3);
! // generate packages
Result := GeneratePackages('JCL', 'c' + IntToStr(TargetConfig.Target.Version),
TargetConfig.JCLDir + '\packages');
DoPackageProgress(nil, RsCompilingJCL, 2, 3);
! // compile dcp files
if Make(TargetConfig, Args + FQuiet, CaptureLine,
Data.JVCLPackagesDir + '\bin') <> 0 then
--- 460,469 ----
DoPackageProgress(nil, RsCompilingJCL, 1, 3);
! // generate packages
Result := GeneratePackages('JCL', 'c' + IntToStr(TargetConfig.Target.Version),
TargetConfig.JCLDir + '\packages');
DoPackageProgress(nil, RsCompilingJCL, 2, 3);
! // compile dcp files
if Make(TargetConfig, Args + FQuiet, CaptureLine,
Data.JVCLPackagesDir + '\bin') <> 0 then
***************
*** 473,477 ****
end;
finally
! // clean
Make(TargetConfig, Args + FQuiet + ' Clean', CaptureLineClean,
Data.JVCLPackagesDir + '\bin');
--- 473,477 ----
end;
finally
! // clean
Make(TargetConfig, Args + FQuiet + ' Clean', CaptureLineClean,
Data.JVCLPackagesDir + '\bin');
***************
*** 543,547 ****
AbortReason := '';
! // read target configs that should be compiled
Count := 0;
Frameworks := 0;
--- 543,547 ----
AbortReason := '';
! // read target configs that should be compiled
Count := 0;
Frameworks := 0;
***************
*** 561,565 ****
SetLength(TargetConfigs, Count);
! // compile all targets
Index := 0;
for i := 0 to Count - 1 do
--- 561,565 ----
SetLength(TargetConfigs, Count);
! // compile all targets
Index := 0;
for i := 0 to Count - 1 do
***************
*** 615,629 ****
end;
! // VCL
if Result and (pkVCL in TargetConfig.InstallMode) and not DoClx then
begin
! // debug units
! if (not TargetConfig.Target.IsBCB) and TargetConfig.DebugUnits then
! Result := CompileProjectGroup(
! TargetConfig.Frameworks.Items[TargetConfig.Target.IsPersonal, pkVCL], True,
! ForceJclDcp);
if Result then
! // compile
Result := CompileProjectGroup(
TargetConfig.Frameworks.Items[TargetConfig.Target.IsPersonal, pkVCL], False,
--- 615,632 ----
end;
! // VCL
if Result and (pkVCL in TargetConfig.InstallMode) and not DoClx then
begin
! if not TargetConfig.DeveloperInstall then
! begin
! // debug units
! if (not TargetConfig.Target.IsBCB) and TargetConfig.DebugUnits then
! Result := CompileProjectGroup(
! TargetConfig.Frameworks.Items[TargetConfig.Target.IsPersonal, pkVCL], True,
! ForceJclDcp);
! end;
if Result then
! // compile
Result := CompileProjectGroup(
TargetConfig.Frameworks.Items[TargetConfig.Target.IsPersonal, pkVCL], False,
***************
*** 636,640 ****
end;
! // Clx
if Result and (pkClx in TargetConfig.InstallMode) and DoClx then
begin
--- 639,643 ----
end;
! // CLX
if Result and (pkClx in TargetConfig.InstallMode) and DoClx then
begin
***************
*** 647,658 ****
end;
! // debug units
! if (not TargetConfig.Target.IsBCB) and TargetConfig.DebugUnits then
! Result := CompileProjectGroup(
! TargetConfig.Frameworks.Items[TargetConfig.Target.IsPersonal, pkClx], True,
! ForceJclDcp);
if Result then
! // compile
Result := CompileProjectGroup(
TargetConfig.Frameworks.Items[TargetConfig.Target.IsPersonal, pkClx], False,
--- 650,664 ----
end;
! if not TargetConfig.DeveloperInstall then
! begin
! // debug units
! if (not TargetConfig.Target.IsBCB) and TargetConfig.DebugUnits then
! Result := CompileProjectGroup(
! TargetConfig.Frameworks.Items[TargetConfig.Target.IsPersonal, pkClx], True,
! ForceJclDcp);
! end;
if Result then
! // compile
Result := CompileProjectGroup(
TargetConfig.Frameworks.Items[TargetConfig.Target.IsPersonal, pkClx], False,
***************
*** 673,677 ****
Result := False;
! // get number of resources to compile
FCount := 0;
if Make(TargetConfig, '-f makefile.mak -n', CaptureLineGetCompileCount, TargetConfig.JVCLDir + '\images') <> 0 then
--- 679,683 ----
Result := False;
! // get number of resources to compile
FCount := 0;
if Make(TargetConfig, '-f makefile.mak -n', CaptureLineGetCompileCount, TargetConfig.JVCLDir + '\images') <> 0 then
***************
*** 680,684 ****
Exit;
end;
! // update FResCount with the number of resources that MAKE will compile
FResCount := FCount;
--- 686,690 ----
Exit;
end;
! // update FResCount with the number of resources that MAKE will compile
FResCount := FCount;
***************
*** 687,691 ****
begin
DoResourceProgress('', 0, FResCount);
! // generate .res and .dcr files
if Make(TargetConfig, '-f makefile.mak', CaptureLineResourceCompilation, TargetConfig.JVCLDir + '\images') <> 0 then
begin
--- 693,697 ----
begin
DoResourceProgress('', 0, FResCount);
! // generate .res and .dcr files
if Make(TargetConfig, '-f makefile.mak', CaptureLineResourceCompilation, TargetConfig.JVCLDir + '\images') <> 0 then
begin
***************
*** 838,842 ****
--- 844,855 ----
DccOpt := DccOpt + ' -GD';
+ if (not TargetConfig.DebugUnits) or (not TargetConfig.DeveloperInstall) then
+ begin
+ DccOpt := DccOpt + ' -DJVCL_NO_DEBUGINFO';
+ CreateDir(TargetConfig.UnitOutDir + '\debug');
+ end;
+
Path := GetWindowsDir + ';' + GetSystemDir + ';' + GetWindowsDir + '\Command';
+ Path := Path + ';' + TargetConfig.Target.BplDir; // add original BPL directory for "common" BPLs
if TargetConfig.DcpDir <> TargetConfig.BplDir then
Path := TargetConfig.Target.RootDir + ';' + TargetConfig.BplDir + ';' + TargetConfig.DcpDir + ';' + Path
***************
*** 862,865 ****
--- 875,881 ----
else
SetEnvironmentVariable('UNITOUTDIR', Pointer(TargetConfig.UnitOutDir));
+ SetEnvironmentVariable('MAINBPLDIR', Pointer(TargetConfig.Target.BplDir));
+ SetEnvironmentVariable('MAINDCPDIR', Pointer(TargetConfig.Target.DcpDir));
+ SetEnvironmentVariable('MAINLIBDIR', Pointer(TargetConfig.Target.DcpDir)); // for BCB
SetEnvironmentVariable('BPLDIR', Pointer(TargetConfig.BplDir));
SetEnvironmentVariable('DCPDIR', Pointer(TargetConfig.DcpDir));
***************
*** 877,886 ****
SetEnvironmentVariable('EXTRARESDIRS', nil);
! // *****************************************************************
{**}DoProjectProgress(RsGeneratingPackages, GetProjectIndex, ProjectMax);
if ProjectGroup.Target.IsPersonal then
begin
! // generate template.cfg for the "master" PkgDir
SetEnvironmentVariable('EDITION', PChar(Copy(Edition, 1, 2)));
SetEnvironmentVariable('PKGDIR', PChar(Copy(PkgDir, 1, 2)));
--- 893,902 ----
SetEnvironmentVariable('EXTRARESDIRS', nil);
! // *****************************************************************
{**}DoProjectProgress(RsGeneratingPackages, GetProjectIndex, ProjectMax);
if ProjectGroup.Target.IsPersonal then
begin
! // generate template.cfg for the "master" PkgDir
SetEnvironmentVariable('EDITION', PChar(Copy(Edition, 1, 2)));
SetEnvironmentVariable('PKGDIR', PChar(Copy(PkgDir, 1, 2)));
***************
*** 903,912 ****
end;
! // *****************************************************************
{**}DoProjectProgress(RsGeneratingPackages, GetProjectIndex, ProjectMax);
if ProjectGroup.Target.IsPersonal then
begin
! // generate the packages and .cfg files for the "master" PkgDir
if not GeneratePackages('JVCL', Copy(Edition, 1, 2),
TargetConfig.JVCLPackagesDir) then
--- 919,928 ----
end;
! // *****************************************************************
{**}DoProjectProgress(RsGeneratingPackages, GetProjectIndex, ProjectMax);
if ProjectGroup.Target.IsPersonal then
begin
! // generate the packages and .cfg files for the "master" PkgDir
if not GeneratePackages('JVCL', Copy(Edition, 1, 2),
TargetConfig.JVCLPackagesDir) then
***************
*** 918,930 ****
Exit; // AbortReason is set in GeneratePackages
! // *****************************************************************
! if ProjectGroup.Target.IsBCB and Data.CompileJclDcp then
! begin
{**} DoProjectProgress(RsCompilingJCL, GetProjectIndex, ProjectMax);
if not PrepareJCL(TargetConfig, ForceJclDcp) then
Exit; // AbortReason was set in PrepareJCL
! end
! else
{**} GetProjectIndex; // increase progress
--- 934,946 ----
Exit; // AbortReason is set in GeneratePackages
! // *****************************************************************
! if ProjectGroup.Target.IsBCB and Data.CompileJclDcp then
! begin
{**} DoProjectProgress(RsCompilingJCL, GetProjectIndex, ProjectMax);
if not PrepareJCL(TargetConfig, ForceJclDcp) then
Exit; // AbortReason was set in PrepareJCL
! end
! else
{**} GetProjectIndex; // increase progress
***************
*** 989,993 ****
end;
! // *****************************************************************
if (FPkgCount > 0) and
--- 1005,1009 ----
end;
! // *****************************************************************
if (FPkgCount > 0) and
***************
*** 1015,1018 ****
--- 1031,1049 ----
end;
+ function ReplaceTargetMacros(S: string; TargetConfig: ITargetConfig): string;
+ var
+ ps: Integer;
+ begin
+ ps := Pos('%t', S);
+ if ps > 0 then
+ begin
+ Delete(S, ps, 2);
+ Insert(Format('%s%d', [LowerCase(TargetTypes[TargetConfig.Target.IsBCB]), TargetConfig.Target.Version]),
+ S, ps);
+ end
+ else
+ Result := S;
+ end;
+
/// <summary>
/// CreateProjectGroupMakefile creates the make file for the project group.
***************
*** 1074,1078 ****
for depI := 0 to High(CommonDependencyFiles) do
Dependencies := Dependencies + '\' + sLineBreak + #9#9 +
! ExtractFileName(CommonDependencyFiles[depI]);
Lines.Add('CommonDependencies = ' + Dependencies);
--- 1105,1109 ----
for depI := 0 to High(CommonDependencyFiles) do
Dependencies := Dependencies + '\' + sLineBreak + #9#9 +
! ExtractFileName(ReplaceTargetMacros(CommonDependencyFiles[depI], ProjectGroup.TargetConfig));
Lines.Add('CommonDependencies = ' + Dependencies);
***************
*** 1253,1257 ****
begin
Result := ContainedFile.IsUsedByTarget(ProjectGroup.TargetConfig.TargetSymbol) and
! IsCondition(ContainedFile.Condition);
end;
--- 1284,1288 ----
begin
Result := ContainedFile.IsUsedByTarget(ProjectGroup.TargetConfig.TargetSymbol) and
! IsCondition(ContainedFile.Condition, ProjectGroup.TargetConfig);
end;
***************
*** 1260,1264 ****
begin
Result := RequiredPackage.IsRequiredByTarget(ProjectGroup.TargetConfig.TargetSymbol) and
! IsCondition(RequiredPackage.Condition);
end;
--- 1291,1295 ----
begin
Result := RequiredPackage.IsRequiredByTarget(ProjectGroup.TargetConfig.TargetSymbol) and
! IsCondition(RequiredPackage.Condition, ProjectGroup.TargetConfig);
end;
***************
*** 1268,1281 ****
TListConditionParser = class(TConditionParser)
private
! FData: TJVCLData;
protected
procedure MissingRightParenthesis; override;
function GetIdentValue(const Ident: String): Boolean; override;
public
! constructor Create(AData: TJVCLData);
end;
! function TJVCLCompiler.IsCondition(const Condition: string): Boolean;
var
Parser: TListConditionParser;
--- 1299,1312 ----
TListConditionParser = class(TConditionParser)
private
! FTargetConfig: ITargetConfig;
protected
procedure MissingRightParenthesis; override;
function GetIdentValue(const Ident: String): Boolean; override;
public
! constructor Create(ATargetConfig: ITargetConfig);
end;
! function TJVCLCompiler.IsCondition(const Condition: string; TargetConfig: ITargetConfig): Boolean;
var
Parser: TListConditionParser;
***************
*** 1284,1288 ****
if Condition <> '' then
begin
! Parser := TListConditionParser.Create(Data);
try
Result := Parser.Parse(Condition);
--- 1315,1319 ----
if Condition <> '' then
begin
! Parser := TListConditionParser.Create(TargetConfig);
try
Result := Parser.Parse(Condition);
***************
*** 1295,1307 ****
{ TListConditionParser }
! constructor TListConditionParser.Create(AData: TJVCLData);
begin
inherited Create;
! FData := AData;
end;
function TListConditionParser.GetIdentValue(const Ident: String): Boolean;
begin
! Result := FData.JVCLConfig.Enabled[Ident];
end;
--- 1326,1338 ----
{ TListConditionParser }
! constructor TListConditionParser.Create(ATargetConfig: ITargetConfig);
begin
inherited Create;
! FTargetConfig := ATargetConfig;
end;
function TListConditionParser.GetIdentValue(const Ident: String): Boolean;
begin
! Result := FTargetConfig.JVCLConfig.Enabled[Ident];
end;
Index: Intf.pas
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/Intf.pas,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Intf.pas 7 May 2004 22:52:38 -0000 1.5
--- Intf.pas 23 Dec 2004 00:25:12 -0000 1.6
***************
*** 25,36 ****
// $Id$
- {$I jvcl.inc}
-
unit Intf;
interface
uses
! SysUtils, Classes, Contnrs, DelphiData;
type
--- 25,36 ----
// $Id$
unit Intf;
+ {$I jvcl.inc}
+
interface
uses
! SysUtils, Classes, Contnrs, DelphiData, JVCLConfiguration;
type
***************
*** 61,64 ****
--- 61,66 ----
function GetGenerateMapFiles: Boolean;
+ function GetJVCLConfig: TJVCLConfig;
+
function GetTarget: TCompileTarget;
function GetJVCLPackagesXmlDir: string;
***************
*** 82,85 ****
--- 84,89 ----
property GenerateMapFiles: Boolean read GetGenerateMapFiles;
+ property JVCLConfig: TJVCLConfig read GetJVCLConfig;
+
property UnitOutDir: string read GetUnitOutDir;
property JCLDir: string read GetJCLDir;
Index: PageBuilder.pas
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/PageBuilder.pas,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** PageBuilder.pas 24 May 2004 13:04:41 -0000 1.8
--- PageBuilder.pas 23 Dec 2004 00:25:12 -0000 1.9
***************
*** 25,32 ****
// $Id$
- {$I jvcl.inc}
-
unit PageBuilder;
interface
--- 25,32 ----
// $Id$
unit PageBuilder;
+ {$I jvcl.inc}
+
interface
Index: DelphiData.pas
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/DelphiData.pas,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** DelphiData.pas 14 Dec 2004 22:49:05 -0000 1.11
--- DelphiData.pas 23 Dec 2004 00:25:11 -0000 1.12
***************
*** 25,33 ****
// $Id$
{$I jvcl.inc}
{$I windowsonly.inc}
- unit DelphiData;
-
interface
--- 25,33 ----
// $Id$
+ unit DelphiData;
+
{$I jvcl.inc}
{$I windowsonly.inc}
interface
***************
*** 89,92 ****
--- 89,93 ----
FHKLMRegistryKey: string;
FRegistryKey: string;
+ FDebugDcuPaths: TStrings;
procedure LoadFromRegistry;
***************
*** 143,146 ****
--- 144,148 ----
property PackageSearchPaths: TStrings read FPackageSearchPaths; // with macros
property SearchPaths: TStrings read FSearchPaths; // with macros
+ property DebugDcuPaths: TStrings read FDebugDcuPaths; // with macros
property BDSProjectsDir: string read FBDSProjectsDir;
***************
*** 345,348 ****
--- 347,351 ----
FPackageSearchPaths := TStringList.Create;
FSearchPaths := TStringList.Create;
+ FDebugDcuPaths := TStringList.Create;
FDisabledPackages := TDelphiPackageList.Create;
***************
*** 358,361 ****
--- 361,365 ----
FPackageSearchPaths.Free;
FSearchPaths.Free;
+ FDebugDcuPaths.Free;
FDisabledPackages.Free;
***************
*** 571,574 ****
--- 575,582 ----
ConvertPathList(Reg.ReadString('Search Path'), FSearchPaths); // do not localize
end;
+ if Reg.OpenKeyReadOnly(RegistryKey + '\Debugging') then // do not localize
+ begin
+ ConvertPathList(Reg.ReadString('Debug DCUs Path'), FDebugDcuPaths); // do not localize
+ end;
finally
Reg.Free;
***************
*** 620,624 ****
try
Reg.RootKey := HKEY_CURRENT_USER;
! if Reg.OpenKey(RegistryKey + '\' + SubKey, True) then
begin
List := TStringList.Create;
--- 628,632 ----
try
Reg.RootKey := HKEY_CURRENT_USER;
! if Reg.OpenKey(RegistryKey + '\' + SubKey, False) then
begin
List := TStringList.Create;
***************
*** 667,679 ****
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
! if Reg.OpenKey(RegistryKey + '\Library', True) then // do not localize
begin
Reg.WriteString('Browsing Path', ConvertPathList(FBrowsingPaths)); // do not localize
Reg.WriteString('Search Path', ConvertPathList(FSearchPaths)); // do not localize
end;
finally
Reg.Free;
--- 675,694 ----
var
Reg: TRegistry;
+ S: string;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
! if Reg.OpenKey(RegistryKey + '\Library', False) then // do not localize
begin
Reg.WriteString('Browsing Path', ConvertPathList(FBrowsingPaths)); // do not localize
Reg.WriteString('Search Path', ConvertPathList(FSearchPaths)); // do not localize
end;
+ if Reg.OpenKey(RegistryKey + '\Debugging', False) then // do not localize
+ begin
+ S := ConvertPathList(FDebugDcuPaths);
+ if S <> Reg.ReadString('Debug DCUs Path') then
+ Reg.WriteString('Debug DCUs Path', ConvertPathList(FDebugDcuPaths)); // do not localize
+ end;
finally
Reg.Free;
Index: Main.pas
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/Main.pas,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** Main.pas 25 Nov 2004 22:43:23 -0000 1.15
--- Main.pas 23 Dec 2004 00:25:12 -0000 1.16
***************
*** 25,30 ****
// $Id$
- {$I jvcl.inc}
-
{
command line arguments:
--- 25,28 ----
***************
*** 34,37 ****
--- 32,37 ----
unit Main;
+ {$I jvcl.inc}
+
interface
***************
*** 180,184 ****
Page := TJvWizardInteriorPage.Create(JvWizard);
Page.Wizard := JvWizard;
! Page.Header.Height := 65;
PreparePage(Page, Inst);
Page.OnPage := DoPageShow;
--- 180,185 ----
Page := TJvWizardInteriorPage.Create(JvWizard);
Page.Wizard := JvWizard;
! //Page.Header.Height := 65;
! Page.Header.Height := 50;
PreparePage(Page, Inst);
Page.OnPage := DoPageShow;
Index: Main.dfm
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/Main.dfm,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** Main.dfm 18 Dec 2004 15:54:35 -0000 1.13
--- Main.dfm 23 Dec 2004 00:25:12 -0000 1.14
***************
*** 55,58 ****
--- 55,61 ----
OnActivePageChanged = JvWizardActivePageChanged
OnActivePageChanging = JvWizardActivePageChanging
+ DesignSize = (
+ 683
+ 444)
object LblHomepage: TLabel
Left = 8
Index: CmdLineUtils.pas
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/CmdLineUtils.pas,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** CmdLineUtils.pas 14 Dec 2004 22:55:48 -0000 1.5
--- CmdLineUtils.pas 23 Dec 2004 00:25:11 -0000 1.6
***************
*** 25,32 ****
// $Id$
- {$I jvcl.inc}
-
unit CmdLineUtils;
interface
--- 25,32 ----
// $Id$
unit CmdLineUtils;
+ {$I jvcl.inc}
+
interface
Index: JCLData.pas
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/JCLData.pas,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** JCLData.pas 17 Nov 2004 09:12:22 -0000 1.3
--- JCLData.pas 23 Dec 2004 00:25:12 -0000 1.4
***************
*** 25,32 ****
// $Id$
- {$I jvcl.inc}
-
unit JCLData;
interface
--- 25,32 ----
// $Id$
unit JCLData;
+ {$I jvcl.inc}
+
interface
Index: jvcl.inc
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/jvcl.inc,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** jvcl.inc 25 Nov 2004 19:55:08 -0000 1.2
--- jvcl.inc 23 Dec 2004 00:25:12 -0000 1.3
***************
*** 30,46 ****
{$DEFINE NO_JCL}
- // Automatic defines for entry level Delphi's:
- {$IFDEF D5Standard}
- {$DEFINE DelphiPersonalEdition}
- {$ENDIF}
-
- {$IFDEF D6PersonalEdition}
- {$DEFINE DelphiPersonalEdition}
- {$ENDIF}
-
- {$IFDEF D7PersonalEdition}
- {$DEFINE DelphiPersonalEdition}
- {$ENDIF}
-
// Reduces warnings on D7:
{$IFDEF COMPILER7_UP}
--- 30,33 ----
Index: PackageUtils.pas
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/PackageUtils.pas,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** PackageUtils.pas 16 Jul 2004 09:47:20 -0000 1.9
--- PackageUtils.pas 23 Dec 2004 00:25:12 -0000 1.10
***************
*** 25,32 ****
// $Id$
- {$I jvcl.inc}
-
unit PackageUtils;
interface
--- 25,32 ----
// $Id$
unit PackageUtils;
+ {$I jvcl.inc}
+
interface
Index: Compiler5MissingPropertyFix.pas
===================================================================
RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/Compiler5MissingPropertyFix.pas,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Compiler5MissingPropertyFix.pas 9 Apr 2004 22:22:31 -0000 1.2
--- Compiler5MissingPropertyFix.pas 23 Dec 2004 00:25:11 -0000 1.3
***************
*** 25,32 ****
// $Id$
- {$I jvcl.inc}
-
unit Compiler5MissingPropertyFix;
interface
--- 25,32 ----
// $Id$
unit Compiler5MissingPropertyFix;
+ {$I jvcl.inc}
+
interface
|