View Issue Details

IDProjectCategoryView StatusLast Update
0002379JEDI VCL02 Installationpublic2004-12-29 16:50
ReporterUSchusterAssigned ToAHUser 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.00 BETA 2 
Target VersionFixed in Version3.00 RC 1 
Summary0002379: Personal installation is not possible without enabling {$DEFINE DelphiPersonalEdition} in jvcl.inc / different editions
DescriptionCurrently it is not possible to install JVCL for a personal edition without enabling the define DelphiPersonalEdition in jvcl.inc.
Otherwise JvDotNetCtrlsD6D.dpk would include JvDBDotNetControls.pas which needs DBCtrls.pas and JvInspDB will be included in d6per\JvInspectorD6R.dpk.
In order to install JVCL with db stuff in D5 and JVCL without db stuff in D6per you must install in two steps (with and without enabled DelphiPersonalEdition in jvcl.inc).
Additional Information(from thread "D6Per install issues" on 17.11.2004)

Andreas proposal:
-----------------------------------------------------------------------------
Redesign the jvcl.inc file so that it can handle different
settings for different compiler versions.

The first thing that comes to my mind is to have a include file for each
Delphi/BCB version like:

jvcl.inc:
{$IFDEF COMPILER5}
{$I jvcld5.inc}
{$ENDIF COMPILER5}
{$IFDEF COMPILER6}
{$I jvcld6.inc}
{$ENDIF COMPILER6}
{$IFDEF COMPILER7}
{$I jvcld7.inc}
{$ENDIF COMPILER7}

jvcld5.inc:
{ . $DEFINE DelphiPersonalEdition}

jvcld6.inc
{$DEFINE DelphiPersonalEdition}

jvcld7.inc
{ . $DEFINE DelphiPersonalEdition}

-----------------------------------------------------------------------------

my proposal:

add the following lines in Compile.pas to
TJVCLCompiler.CompileTarget should solve it

  if TargetConfig.Target.IsPersonal then
    SetEnvironmentVariable('PERSONALEDITION_OPTION', '-DDELPHIPERSONALEDITION')
  else
    SetEnvironmentVariable('PERSONALEDITION_OPTION', nil);


//the following lines in GenerateUtils.pas::Generate

            if persoTarget <> '' then
            begin
              ApplyTemplateAndSave(...


//could become the following to solve it

            if persoTarget <> '' then
            begin
              TempDefineList := TDefinesList.Create(templatePers);
              try
                for K := 0 to Pred(TempDefineList.Count) do
                  DefinesList.Insert(K,
TDefine.Create(TempDefineList[K].Name, TempDefineList[K].IFDEFs));
                try
                  ApplyTemplateAndSave(
                     path,
                     persoTarget,
                     packages[j],
                     ExtractFileExt(rec.Name),
                     templatePers,
                     xml,
                     templateNamePers,
                     xmlName);
                finally
                  for K := 0 to Pred(TempDefineList.Count) do
                    DefinesList.Delete(0);
                end;
              finally
                TempDefineList.Free;
              end;
            end;
TagsNo tags attached.

Activities

AHUser

2004-12-18 06:59

developer   ~0005919

For this I must redesign the jvcl.inc. But this can only be done after the RC1 release as the release date is too near for such a global change.

AHUser

2004-12-29 16:50

developer   ~0006038

RC1 was moved to another date. This is now fixed with the redesigned jvcl.inc

Issue History

Date Modified Username Field Change
2004-12-13 16:14 USchuster New Issue
2004-12-18 06:57 AHUser Assigned To => AHUser
2004-12-18 06:57 AHUser Status new => acknowledged
2004-12-18 06:59 AHUser Note Added: 0005919
2004-12-29 16:50 AHUser Status acknowledged => resolved
2004-12-29 16:50 AHUser Resolution open => fixed
2004-12-29 16:50 AHUser Note Added: 0006038