View Issue Details

IDProjectCategoryView StatusLast Update
0005453JEDI VCL02 Installationpublic2011-06-11 01:33
ReporterDave SmithAssigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status acknowledgedResolutionopen 
Product Version3.40 
Target VersionFixed in Version 
Summary0005453: Major issue with XP Themes that prevented compiling exe's due to unresolved code references
DescriptionCompiled with Themes Support (I have Mike Lishki's Theme support installed - had to change to explicit rebuild to successfully complete JEDI installation, with one issue:

[Compiling: JvRuntimeDesignD60.bpl]
Borland Delphi Version 14.0
Copyright (c) 1983,2002 Borland Software Corporation
C:\apps\Borland\Delphi6\jvcl\run\JvPropertyStoreEditor.pas(167) Error: Property 'ParentBackground' does not exist in base class
JvRuntimeDesign.dpk(61) Fatal: Could not compile used unit '..\..\run\JvPropertyStoreEditor.pas'

I rem'med that line out and the entire project then compiled successfully).

Once it was installed, I found that i couldn't run any demo apps, again due to an XP Theme's related problem. Every demo debugged into the TSpeedButton component with the first instance of ThemeServices hightlighted, and the following compiler errors:

procedure TJvCustomSpeedButton.MouseEnter(Control: TControl);
var
  NeedRepaint: Boolean;
begin
  if csDesigning in ComponentState then
    Exit;
  if not MouseOver and Enabled then
  begin
    { Don't draw a border if DragMode <> dmAutomatic since this button is meant to
      be used as a dock client. }
    NeedRepaint :=
      {$IFDEF JVCLThemesEnabled}
      ThemeServices.ThemesEnabled or
      {$ENDIF JVCLThemesEnabled}
      FHotTrack or (FFlat and Enabled and (DragMode <> dmAutomatic) and (GetCapture = NullHandle));
 
    NeedRepaint := NeedRepaint and not Mouse.IsDragging;
 
    inherited MouseEnter(Control); // set MouseOver
    { Windows XP introduced hot states also for non-flat buttons. }
    if NeedRepaint then
      Invalidate;
  end;
end;
[Error] JvSpeedButton.pas(936): Undeclared identifier: 'ThemeServices'
[Error] JvSpeedButton.pas(936): Missing operator or semicolon
[Error] JvSpeedButton.pas(938): Operator not applicable to this operand type
[Error] JvSpeedButton.pas(938): Operator not applicable to this operand type
[Error] JvSpeedButton.pas(958): Undeclared identifier: 'ThemeServices'
[Error] JvSpeedButton.pas(958): Missing operator or semicolon
[Error] JvSpeedButton.pas(960): Operator not applicable to this operand type
[Error] JvSpeedButton.pas(960): Operator not applicable to this operand type
etc.
etc.
etc.
[Fatal Error] JvToolEdit.pas(52): Could not compile used unit 'JvSpeedButton.pas'

   I then un-uninstalled jvl and jvcl, and re-installed without XPThemes support, but couldn't load any components due to conflicting unit names with Mike Lishki's components:

can't load package 'JvAppFrmDesignD60.bpl'. It contains unit ThemeMgr which is also in package 'ThemeManagerD6'
etc.
etc. for every package that has ThemeMgr defined in it. ThemeManagerD6 is Mike Lishki's package. This seems to happen a lot with his components as I went through something similar with Virtual Treeview, or maybe it was a previous JEDI library... it's been a while. In any case, I don't remember the fix.

I then re-installed everything back with ThemeManager support again and reproduced the previously described problem exactly.
Additional InformationDelphi 6 Pro with sp3

I downgraded to v. JVCL338CompleteJCL201-Build3449, which - compared to this - is quite stable on Delphi 6. I even got the MegaDemo to run by removing one form that was causing a compile problem, due to a problem component that was popping up in debug mode (JvDynControlEngineDBToolscxVGrid.pas).
TagsNo tags attached.

Relationships

related to 0005632 resolvedAHUser Major issue with XP Themes that prevented compiling exe's due to unresolved code reference 

Activities

AHUser

2011-06-11 01:33

developer   ~0018732

Looks like we broke "Delphi 6 + ThemeManager". I do not have D6 installed anymore, so somebody else has to look at this.

Issue History

Date Modified Username Field Change
2011-01-07 20:28 Dave Smith New Issue
2011-02-15 13:48 obones Status new => acknowledged
2011-06-11 01:33 AHUser Note Added: 0018732
2012-06-12 16:20 obones Relationship added related to 0005632