簡単にするために、私のDelphi XEアプリケーションには、いくつかの条件に基づいてファイルを生成するオブジェクトが含まれています。1つのオブジェクトはテキストファイルを生成でき、他のオブジェクト(前者から継承)はXMLまたはHTMLファイルを生成できます。 。それらはすべて共通の祖先を持っていますが、スレッド上で実行されません!
現在、ユーザーがキャンセルボタンを押すたびに、生成プロセス全体をキャンセルする方法を追加しようとしています。問題は、これが機能するための準備が整っていないことです。最も基本的なアクションはif user_canceled then halt_process
、生成プロセス全体を通してあちこちにたくさん追加することですが、これは最適なソリューションではないと思います。
私の質問は、これを行うためのよりスマートな方法があるかどうかを知ることですか?または、将来、より多くの生成コード(したがってキャンセルテスト)を追加する必要があるときに、この追加をより適切に統合できるように、コードのリファクタリングに関する推奨事項はありますか?