From 0a447c8e1a7603792042290098b37d600c7bfeee Mon Sep 17 00:00:00 2001 From: Kisspeace Date: Sat, 4 Feb 2023 14:38:05 -0800 Subject: [PATCH] Cleanup. --- source/YDW.FMX.ImageWithURL.ImageViewer.pas | 5 - source/YDW.Threading.pas | 109 +++----------------- 2 files changed, 13 insertions(+), 101 deletions(-) diff --git a/source/YDW.FMX.ImageWithURL.ImageViewer.pas b/source/YDW.FMX.ImageWithURL.ImageViewer.pas index 1d56915..226909c 100644 --- a/source/YDW.FMX.ImageWithURL.ImageViewer.pas +++ b/source/YDW.FMX.ImageWithURL.ImageViewer.pas @@ -87,9 +87,7 @@ constructor TImageWithUrlViewer.Create(AOwner: TComponent); {$IFNDEF ANDROID} FZoomFactor := 0.001; - FMoveFactor := 1.85; {$ELSE} - FMoveFactor := 1.85; FZoomFactor := 0.005; {$ENDIF} @@ -280,7 +278,6 @@ procedure TImageWithUrlViewer.DoZoom(AValue: Integer); procedure TImageWithUrlViewer.FinishMove; begin Self.FNeedToMove := False; -// Self.Cursor := crHandPoint; end; procedure TImageWithUrlViewer.FitHeight; @@ -336,7 +333,6 @@ procedure TImageWithUrlViewer.MouseDown(Button: TMouseButton; Shift: TShiftState X, Y: Single); begin inherited; -// Self.Cursor := crSQLWait; FMovePoint := TPointF.Create(X, Y); FNeedToMove := True; end; @@ -379,7 +375,6 @@ procedure TImageWithUrlViewer.MouseUp(Button: TMouseButton; Shift: TShiftState; inherited; FinishMove; end; -//{$ENDIF} procedure TImageWithUrlViewer.MouseWheel(Shift: TShiftState; WheelDelta: Integer; var Handled: Boolean); diff --git a/source/YDW.Threading.pas b/source/YDW.Threading.pas index 38c123a..2e682ee 100644 --- a/source/YDW.Threading.pas +++ b/source/YDW.Threading.pas @@ -5,8 +5,7 @@ interface uses System.SysUtils, System.Generics.Collections, - IoUtils, System.Classes, System.Generics.Defaults, System.SysConst, - YDW.Debug, System.SyncObjs; + System.Classes, System.SyncObjs, YDW.Debug; type @@ -69,7 +68,6 @@ TThreadAndValue = record FQueue: TList; FRunning: TThreadAndValueList; FWaitList: TThreadList; -// FGarbage: TObjectList; function NewSubThread(AValue: T): TSubWorkerThread; function QueueCondition: boolean; virtual; function AutoRestartCondition: boolean; virtual; @@ -131,7 +129,7 @@ procedure TGenericYDWQueuedThread.Execute; if ( not Self.QueueCondition ) then break; - LItem := TThreadAndValue.Create(FQueue.First); // get next Value from queue + LItem := TThreadAndValue.Create(FQueue.First); { get next Value from queue } LNewThread := NewSubThread(LItem.Value); LItem.Thread := LNewThread; FRunning.Add(LItem); @@ -163,43 +161,9 @@ procedure TGenericYDWQueuedThread.Execute; var LThread := FRunning[I].Thread; LThread.Terminate; - -// if (not LThread.Started) and Self.OnWaitList(LThread) then begin -// FRunning[I].Thread.Free; -// var LUpdatedItem := TThreadAndValue.Create(FRunning[I].Value); -// LUpdatedItem.Thread := nil; -// FRunning[I] := LUpdatedItem; -// end; end; - { -- May have issues block begin ! -- } -// var LThPos: integer := FRunning.Count - 1; -// var LTargetPos: integer; -// -// while TRUE do begin -// -// LTargetPos := -1; -// -// if (LThPos < 0) or (FRunning.Count < 1) then -// break; -// -// for I := LThPos downto 0 do begin -// if not Assigned(FRunning[I].Thread) then begin -// LTargetPos := I; -// break; -// end; -// end; -// -// if LTargetPos <> -1 then begin -// FRunning.Delete(LTargetPos); -// Dec(LThPos); -// end else -// Break; -// -// end; - { -- block end. -- } - finally FLock.EndWrite(); end; @@ -218,20 +182,6 @@ procedure TGenericYDWQueuedThread.Execute; FWaitList.UnlockList; end; end; - - {$IFDEF YDW_DEBUG} try {$ENDIF} -// FLock.BeginWrite; -// try -// FGarbage.Clear; -// finally -// FLock.EndWrite; -// end; - {$IFDEF YDW_DEBUG} except - On E: Exception do begin - YDW.Debug.Log('TGenericYDWQueuedThread.Execute(FGarbage.Clear)', E); - raise E; - end; - end; {$ENDIF} end; until not AutoRestartCondition; @@ -244,16 +194,6 @@ procedure TGenericYDWQueuedThread.Execute; end; end; -//procedure TGenericYDWQueuedThread.GarbageAdd(AItem: TObject); -//begin -// FLock.BeginWrite; -// try -// FGarbage.Add(AItem); -// finally -// FLock.EndWrite; -// end; -//end; - function TGenericYDWQueuedThread.GetThreadByItem( AValue: T): TSubWorkerThread; var @@ -289,9 +229,6 @@ function TGenericYDWQueuedThread.NewSubThread(AValue: T): TSubWorkerThread; Result.Owner := Self; Result.Value := AValue; Result.FreeOnTerminate := False; -// {$IFDEF DEBUG} -// Result.NameThreadForDebugging('YDW-Sub'); -// {$ENDIF} end; function TGenericYDWQueuedThread.RunningCount: integer; @@ -413,9 +350,6 @@ procedure TYdwReusableThread.UnlockedStart; FThread := TWorkerThread.Create(True); FThread.Owner := Self; FThread.FreeOnTerminate := False; -// {$IFDEF YDW_DEBUG} -// FThread.NameThreadForDebugging('YDW-Top'); -// {$ENDIF} FThread.Start; While not FThread.Started do @@ -480,7 +414,6 @@ constructor TGenericYDWQueuedThread.Create; FThreadsCount := DEFAULT_THREADS_COUNT; FWaitList := TThreadList.Create; FWaitList.Duplicates := dupAccept; -// FGarbage := TObjectList.Create; end; destructor TGenericYDWQueuedThread.Destroy; @@ -489,7 +422,6 @@ destructor TGenericYDWQueuedThread.Destroy; FQueue.Free; FRunning.Free; FWaitList.Free; -// FGarbage.Free; end; procedure TGenericYDWQueuedThread.OnSubThreadFinish; @@ -526,21 +458,6 @@ function TGenericYDWQueuedThread.QueueCondition: boolean; Result := FQueue.Count > 0; end; -//function TGenericYDWQueuedThread.RunningIndexByThread( -// const AThread: TThread): integer; -//var -// I: integer; -//begin -// for I := 0 to FRunning.Count - 1 do begin -// if ( FRunning[I].Thread.ThreadID = AThread.ThreadId ) then begin -// Result := I; -// exit; -// end; -// end; -// Result := -1; -//end; - - { TObjectYDWQueuedThreadComponent } function TGenericYDWQueuedThreadObject.RunningIndex(AValue: T): integer; @@ -548,7 +465,8 @@ function TGenericYDWQueuedThreadObject.RunningIndex(AValue: T): integer; I: integer; begin for I := 0 to FRunning.Count - 1 do begin - if ( AValue = FRunning[I].value ) then begin + if ( AValue = FRunning[I].value ) then + begin Result := I; exit; end; @@ -563,7 +481,8 @@ function TGenericYDWQueuedThreadInterface.RunningIndex(AValue: T): integer; I: integer; begin for I := 0 to FRunning.Count - 1 do begin - if ((AValue as TObject) = (FRunning[I].value as TObject )) then begin + if ((AValue as TObject) = (FRunning[I].value as TObject )) then + begin Result := I; exit; end; @@ -586,30 +505,28 @@ procedure TGenericYDWQueuedThread.TSubWorkerThread.Execute; TempItem: TThreadAndValue; begin try -// Try - Owner.SubThreadExecute(Value); -// except -// On E: Exception do -// End; + Owner.SubThreadExecute(Value); + finally Owner.FLock.BeginWrite(); try LastIndex := Owner.FRunning.Count - 1; for I := 0 to LastIndex do begin - if ( Owner.FRunning[I].Thread = TThread.Current ) then begin + if ( Owner.FRunning[I].Thread = TThread.Current ) then + begin ThreadIndex := I; Break; end; end; - if ( ThreadIndex <> LastIndex ) and ( Owner.FRunning.Count > 1 ) then begin + if ( ThreadIndex <> LastIndex ) and ( Owner.FRunning.Count > 1 ) then + begin Owner.FRunning.Exchange(LastIndex, ThreadIndex); -// FRunning[ThreadIndex] := FRunning[LastIndex]; end; Owner.FRunning.Delete(LastIndex); -// Owner.FGarbage.Add(Self); + finally Owner.FLock.EndWrite(); end;