I just install latest version (nextsuite6_9-17) and after some RowChanged it happens a lot that I get this exception?
This is not happens directly so I don't know what to do.
Can you see why this is happening?
exception number : 1
exception class : EInvalidPointer
exception message : Invalid pointer operation.
main thread ($148):
0040d50c +040 FinalPlayer.exe System 34459 +53 @DynArrayClear
0073ceee +082 FinalPlayer.exe NxVirtualGrid6 704 +7 InitShowingArray
0073d048 +008 FinalPlayer.exe NxVirtualGrid6 760 +1 TNxVirtualCellSource6.RowsChanged
0073dc0f +047 FinalPlayer.exe NxVirtualGrid6 1095 +3 TNextVirtualGrid6.RowsChanged
00969891 +2d1 FinalPlayer.exe CustomUnitControls 1048 +81 GlobalConnect
0088c19c +034 FinalPlayer.exe CustomContainer 1734 +2 DefaultConnect
0088c1c4 +010 FinalPlayer.exe CustomContainer 1740 +1 TfrmContainer.Connect
0091dec5 +0f9 FinalPlayer.exe DatabaseControl 225 +23 Available_CopyItemsToContainer
I fully remove the old package.
Maybe this one is the actually bug?
(I think FSelected = nil)
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 00747B36 in module 'FinalPlayer.exe'. Read of address 00000000.
main thread ($1b88):
00747b36 +00e FinalPlayer.exe NxVirtualGrid6 778 +3 TNxVirtualCellSource6.SetSelected
00748bb3 +04f FinalPlayer.exe NxVirtualGrid6 1169 +3 TNextVirtualGrid6.SetSelected
00755035 +3a1 FinalPlayer.exe NxCustomGrid6 3293 +130 TNxCustomGrid6.SelectCell
0040edd4 +010 FinalPlayer.exe System 36327 +10 @IntfClear
00755851 +041 FinalPlayer.exe NxCustomGrid6 3630 +3 TNxCustomGrid6.SetSelectedRow
00993c73 +05f FinalPlayer.exe ExtendedMain 1070 +7 AdjustItemIndex
00896512 +086 FinalPlayer.exe CustomContainer 1471 +6 TfrmContainer.ProcessAvailable
[EDIT]
Fixed this on:
But is this a good solution?
procedure TNxVirtualCellSource6.SetSelected(const Index: Integer; const Value: Boolean);
var
AValue: Boolean;
begin
{ Added: Eduard for Bugfix }
if (not Assigned(FSelected)) then
Exit;
if Index > -1 then
begin
AValue := FSelected[Index];
if AValue <> Value then
begin
FSelected[Index] := Value;
if Value then Inc(FSelCount) else Dec(FSelCount);
if FSelCount < 0 then FSelCount := 0;
end;
end;
end;
Regards,
Eduard.