command-delphi
                                
                                 command-delphi copied to clipboard
                                
                                    command-delphi copied to clipboard
                            
                            
                            
                        Command pattern for Delphi (IComand & TComand)
Allow to use configuration with multiple source path - comma separated. Sample configuration. `app-config.json` ``` { "sourceUnits": [ "..\\src\\*.pas", "..\\samples\\01-basic-demo\\Form.Main.pas" "..\\samples\\02-employee-scorecards\\Form.Main.pas" ], "readmeIsUpdateVersion": true, "readmeFileName": "..\\README.md", "readmeSearchPattern": "https://img.shields.io/badge/version" } ```
TAsyncCommand: ```pas function WithEventBeforeStart(aBeforeStart: TProc) ... ``` TCommandAction: ```pas function WithEventOnUpdate(AUpdateProc: TProc) ... ``` Change: `TProc` to `TProc`
1) Remove: DoGuard from TCommand 1) Add documentation: to check all mandatory injections with `Assert` calls at the very begging of the `DoExecute` method
```pas type TAsyncCommand = class procedure DoInitCommand; virtual; end; ``` `DoInitCommand` ran in main thread before background thread start
```pas type TAsyncCommand = class(TCommand) property ThreadSafeObject: TObject read GetThreadSafeObject write SetThreadSafeObject; ``` ```pas function TAsyncCommand GetThreadSafeObject: TObject; begin TMonitor.Enter(Self); try Result := fThreadSafeObject; finally TMonitor.Exit(Self); end; end; ```