fix для ситуации cxDBRadiogroup 'List index out of Bounds'
от техподдержки от 14.06.2005:
It looks as if you are talking about the issue with ID: 21568.
To resolve this problem immediately, please correct the source units as
shown below and rebuild your application with the updated source code.
cxRadioGroup.pas
procedure TcxCustomRadioGroup.SetInternalValues(...);
procedure SetButtonCheck;
begin
if AItemIndex < 0 then
Buttons[ItemIndex].Checked := False
else
begin
Buttons[AItemIndex].ClicksDisabled := False;
Buttons[AItemIndex].Checked := True;
end;
if IsLoading then <<<< insert
FLoadedItemIndex := ItemIndex; <<<< insert
end;
// changed
procedure TcxCustomRadioGroup.UpdateButtons;
var
I: Integer;
AItemIndex: Integer;
begin
AItemIndex := ItemIndex;
inherited UpdateButtons;
if csReading in ComponentState then
Exit;
ItemIndex := AItemIndex;
for I := 0 to InternalButtons.Count - 1 do
begin
Buttons[I].Caption := ActiveProperties.Items[I].Caption;
Buttons[I].WordWrap := ActiveProperties.WordWrap;
end;
end;
The new Installer allows you to rebuild the packages of our components after
applying such fixes with ease. You should:
1) modify the necessary source files which are located in the
<PRODUCT_NAME>\Sources folders;
2) run the installation in Recompile mode.
This way, the new packages will be built and installed in the IDE
automatically.
This fix will be included in the next update to our VCL products.
от техподдержки от 14.06.2005:
It looks as if you are talking about the issue with ID: 21568.
To resolve this problem immediately, please correct the source units as
shown below and rebuild your application with the updated source code.
cxRadioGroup.pas
procedure TcxCustomRadioGroup.SetInternalValues(...);
procedure SetButtonCheck;
begin
if AItemIndex < 0 then
Buttons[ItemIndex].Checked := False
else
begin
Buttons[AItemIndex].ClicksDisabled := False;
Buttons[AItemIndex].Checked := True;
end;
if IsLoading then <<<< insert
FLoadedItemIndex := ItemIndex; <<<< insert
end;
// changed
procedure TcxCustomRadioGroup.UpdateButtons;
var
I: Integer;
AItemIndex: Integer;
begin
AItemIndex := ItemIndex;
inherited UpdateButtons;
if csReading in ComponentState then
Exit;
ItemIndex := AItemIndex;
for I := 0 to InternalButtons.Count - 1 do
begin
Buttons[I].Caption := ActiveProperties.Items[I].Caption;
Buttons[I].WordWrap := ActiveProperties.WordWrap;
end;
end;
The new Installer allows you to rebuild the packages of our components after
applying such fixes with ease. You should:
1) modify the necessary source files which are located in the
<PRODUCT_NAME>\Sources folders;
2) run the installation in Recompile mode.
This way, the new packages will be built and installed in the IDE
automatically.
This fix will be included in the next update to our VCL products.