View Issue Details

IDProjectCategoryView StatusLast Update
0005388JEDI VCL00 JVCL Componentspublic2012-02-29 16:55
ReportertecnobyteAssigned ToAHUser 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.40 
Target VersionFixed in Version3.45 
Summary0005388: Bug on page changing of JvWizard with JvWizardRouteMapList
DescriptionHow to reproduce the bug:

- Add a JvWizard to Form1.
- Add a JvWizardRouteMapList to JvWizard1.
- Add three JvWizardInteriorPage to JvWizard1.
- Add this code to JvWizard1.OnActivePageChanging event:

procedure TForm1.JvWizard1ActivePageChanging(Sender: TObject;
  var ToPage: TJvWizardCustomPage);
begin
  if (ToPage = JvWizardInteriorPage1) or
     (ToPage = JvWizardInteriorPage2) then
    raise Exception.Create('Error')
end;

- Compile and run the program.
- Click on second item of JvWizardRouteMapList (Error, expected).
- Click on third item of JvWizardRouteMapList (Error, expected).
- Click on second item of JvWizardRouteMapList (No message, not expected).

How to solve this problema?

Change TJvWizardRouteMapControl.MouseDown method:

procedure TJvWizardRouteMapControl.MouseDown(Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  APage: TJvWizardCustomPage;
begin
  if Button = mbLeft then
  begin
    APage := PageAtPos(Point(X, Y));
    if Assigned(APage) and ((csDesigning in ComponentState) or
      (APage.Enabled and APage.EnableJumpToPage)) then // Nonn
    begin
      if APage.PageIndex = PageIndex + 1 then
        Wizard.SelectNextPage
      else
      if APage.PageIndex = PageIndex - 1 then
        Wizard.SelectPriorPage
      else
        //PageIndex := APage.PageIndex; { Problem! }
        Wizard.ActivePage := APage; { Solution! }
    end;
  end;
  inherited MouseDown(Button, Shift, X, Y);
end;
TagsNo tags attached.

Activities

tecnobyte

2010-11-04 15:30

reporter   ~0018000

Correction:

procedure TForm1.JvWizard1ActivePageChanging(Sender: TObject;
  var ToPage: TJvWizardCustomPage);
begin
  if (ToPage = JvWizardInteriorPage2) or { <<< Page2 }
     (ToPage = JvWizardInteriorPage3) then { <<< Page3 }
    raise Exception.Create('Error')
end;

obones

2010-11-09 14:19

administrator   ~0018036

Please try with the latest SVN content.
If this is still here, please provide the zipped sources of a sample application showing this.

AHUser

2010-11-28 00:25

developer   ~0018196

Fixed in svn revision 12919.

Issue History

Date Modified Username Field Change
2010-11-04 15:20 tecnobyte New Issue
2010-11-04 15:30 tecnobyte Note Added: 0018000
2010-11-09 14:19 obones Note Added: 0018036
2010-11-09 14:19 obones Status new => feedback
2010-11-28 00:25 AHUser Note Added: 0018196
2010-11-28 00:25 AHUser Status feedback => resolved
2010-11-28 00:25 AHUser Fixed in Version => Daily / SVN
2010-11-28 00:25 AHUser Resolution open => fixed
2010-11-28 00:25 AHUser Assigned To => AHUser
2012-02-29 16:55 obones Fixed in Version Daily / SVN => 3.45