You've already forked lazarus-ccr
RxFPC: fix AV in TPageManager
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3782 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -79,8 +79,10 @@ type
|
|||||||
function GetPriorPageIndex(Page: Integer): Integer; virtual;
|
function GetPriorPageIndex(Page: Integer): Integer; virtual;
|
||||||
function GetNextPageIndex(Page: Integer): Integer; virtual;
|
function GetNextPageIndex(Page: Integer): Integer; virtual;
|
||||||
procedure Loaded; override;
|
procedure Loaded; override;
|
||||||
|
procedure Notification(AComponent: TComponent;
|
||||||
|
Operation: TOperation); override;
|
||||||
public
|
public
|
||||||
constructor Create(AOwner: TComponent); virtual;
|
constructor Create(AOwner: TComponent); override;
|
||||||
procedure CheckBtnEnabled;
|
procedure CheckBtnEnabled;
|
||||||
procedure NextPage;
|
procedure NextPage;
|
||||||
procedure PriorPage;
|
procedure PriorPage;
|
||||||
@ -292,6 +294,32 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TPageManager.Notification(AComponent: TComponent;
|
||||||
|
Operation: TOperation);
|
||||||
|
begin
|
||||||
|
inherited Notification(AComponent, Operation);
|
||||||
|
if Operation = opRemove then
|
||||||
|
begin
|
||||||
|
if AComponent = FNextBtn then
|
||||||
|
begin
|
||||||
|
FNextBtn:=nil;
|
||||||
|
FSaveBtnNextClick:=nil;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if AComponent = FPriorBtn then
|
||||||
|
begin
|
||||||
|
FPriorBtn:=nil;
|
||||||
|
FSaveBtnPriorClick:=nil;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if AComponent = FPageOwner then
|
||||||
|
FPageOwner:=nil
|
||||||
|
else
|
||||||
|
if AComponent = FStatusControl then
|
||||||
|
FStatusControl:=nil;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TPageManager.Create(AOwner: TComponent);
|
constructor TPageManager.Create(AOwner: TComponent);
|
||||||
begin
|
begin
|
||||||
inherited Create(AOwner);
|
inherited Create(AOwner);
|
||||||
@ -303,8 +331,10 @@ var
|
|||||||
P:integer;
|
P:integer;
|
||||||
begin
|
begin
|
||||||
P:=PageIndex;
|
P:=PageIndex;
|
||||||
FNextBtn.Enabled:=GetNextPageIndex(P)>P;
|
if Assigned(FNextBtn) then
|
||||||
FPriorBtn.Enabled:=GetPriorPageIndex(P)<P;
|
FNextBtn.Enabled:=GetNextPageIndex(P)>P;
|
||||||
|
if Assigned(FPriorBtn) then
|
||||||
|
FPriorBtn.Enabled:=GetPriorPageIndex(P)<P;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPageManager.NextPage;
|
procedure TPageManager.NextPage;
|
||||||
|
Reference in New Issue
Block a user