MG: linkscanner is now able to user abort scanning

git-svn-id: trunk@3605 -
This commit is contained in:
lazarus 2002-11-04 09:57:00 +00:00
parent 35142e24f6
commit 27b75d80fc
2 changed files with 11 additions and 1 deletions

View File

@ -59,6 +59,7 @@ type
TOnCodeToolCheckAbort = function: boolean of object;
TCodeToolManager = class
function OnScannerProgress(Sender: TLinkScanner): boolean;
private
FAbortable: boolean;
FAddInheritedCodeToOverrideMethod: boolean;
@ -522,6 +523,7 @@ begin
Code.Scanner.OnGetInitValues:=@OnScannerGetInitValues;
Code.Scanner.OnSetGlobalWriteLock:=@OnToolSetWriteLock;
Code.Scanner.OnGetGlobalWriteLockInfo:=@OnToolGetWriteLockInfo;
Code.Scanner.OnProgress:=@OnScannerProgress;
end;
end;
@ -1553,6 +1555,14 @@ begin
Result:=not OnCheckAbort();
end;
function TCodeToolManager.OnScannerProgress(Sender: TLinkScanner): boolean;
begin
Result:=false;
if not FAbortable then exit;
if not Assigned(OnCheckAbort) then exit;
Result:=not OnCheckAbort();
end;
function TCodeToolManager.OnScannerGetInitValues(Code: Pointer;
var AChangeStep: integer): TExpressionEvaluator;
begin

View File

@ -128,7 +128,7 @@ type
ELinkScannerErrors = class of ELinkScannerError;
TLinkScannerProgress = function(Sender: TLinkScanner): boolean;
TLinkScannerProgress = function(Sender: TLinkScanner): boolean of object;
ELinkScannerAbort = class(ELinkScannerError)
end;