フック関数,またはコールバック関数を登録します。
[指定形式]
[引数]
| 
 | 
 | 
| 
 
scriptFile 
 | 
 
フック関数,またはコールバック関数が定義されたスクリプト・ファイルを指定します。 
 | 
 
[戻り値]
なし
[詳細説明]
-  | scriptFileを読み込んで,スクリプト・ファイルに宣言されているフック関数,またはコールバック関数を登録します。 
フック関数,コールバック関数以外の関数が宣言されていても,問題はありません。 
なお,フック関数,コールバック関数は,スクリプト・ファイルの終了時に登録します。  | 
 
-  | フック関数が宣言されている場合は,CS+のイベント発生後に呼び出されます。  | 
 
注意  | フック関数の実行が完了するかreturnしなければ,CS+のイベント処理は完了しません。  | 
 
-  | フック関数の種類を以下に示します。 
なお,フック関数には引数はありません。   | 
 
| 
 | 
 | 
| 
 
BeforeBuild 
 | 
 
ビルド開始前 
 | 
| 
 
BeforeDownload 
 | 
 
ダウンロード前 
 | 
| 
 
AfterDownload 
 | 
 
ダウンロード後 
 | 
| 
 
AfterCpuReset 
 | 
 
CPUリセット後 
 | 
| 
 
BeforeCpuRun 
 | 
 
実行開始前 
 | 
| 
 
AfterCpuStop 
 | 
 
ブレーク後 
 | 
| 
 
AfterActionEvent 
 | 
 
アクション・イベント後(Printfイベントのみ) 
 | 
| 
 
AfterInterrupt 
 | 
 
指定した例外要因コードの受付後 
(debugger.Interrupt.Notificationで設定した例外要因コードが対象) 
 | 
| 
 
AfterTimer 
 | 
 
タイマ割り込み発生後 
(debugger.Interrupt.SetTimerで設定したタイマ割り込みが対象) 
 | 
 
def BeforeDownload(): 
  # ダウンロード前に行いたい処理を追記 
 | 
 
 
-  | コールバック関数が宣言されている場合は,CS+のイベント発生後に呼び出されます。  | 
 
-  | コールバック関数名は,“pythonConsoleCallback”で固定です。 
なお,コールバック関数の引数は,コールバック要因を示します。  | 
 
| 
 | 
 | 
| 
 
10 
 | 
 
イベント登録後 
 | 
| 
 
11 
 | 
 
イベント削除後 
 | 
| 
 
12 
 | 
 
実行の開始前 
 | 
| 
 
13 
 | 
 
ブレーク後 
 | 
| 
 
14 
 | 
 
CPUリセット後 
 | 
| 
 
18 
 | 
 
デバッグ・ツールのプロパティ変更後 
 | 
| 
 
19 
 | 
 
ダウンロード後 
 | 
| 
 
20 
 | 
 
メモリ,またはレジスタ変更後 
 | 
| 
 
21 
 | 
 
アクション・イベント後(Printfイベントのみ) 
 | 
| 
 
30 
 | 
 
ビルド前 
 | 
| 
 
50 
 | 
 
指定した例外要因コード発生後 
(debugger.Interrupt.Notificationで指定した例外要因コードの受付後) 
 | 
| 
 
63 
 | 
 
XRunBreak,またはタイマ割り込みで指定した時間経過後 
 | 
 
注意 1.  | フック関数,およびコールバック関数は,以下の操作で初期化されます。  | 
 
注意 2.  | フック関数,およびコールバック関数内では無限ループする処理は含めないでください。  | 
 
注意 3.  | フック関数,およびコールバック関数内では以下の関数を実行しないでください。  | 
 
debugger.ActionEvent, debugger.Breakpoint, debugger.Connect,  
debugger.Disconnect, debugger.Download, debugger.Erase, debugger.Go,  
debugger.Map, debugger.Next, debugger.Reset, debugger.ReturnOut,  
debugger.Run, debugger.Step, debugger.Stop 
 | 
 
注意 4.  | フック関数(AfterTimer),およびコールバック関数(引数:63)内で,別の条件のdebugger.XRunBreak.Set,またはdebugger.Interrupt.SetTimerを使用することはできません。  | 
 
例 1.  | フック関数の場合,以下のような指定は行わないでください。  | 
 
def AfterTimer(): 
  debugger.Interrupt.SetTimer(1, TimeType.Ms, True) 
  debugger.XRunBreak.Set(1, TimeType.Ms, True) 
 | 
 
例 2.  | コールバック関数の場合,以下のような指定は行わないでください。  | 
 
def pythonConsoleCallback(Id): 
  if Id = 63: 
    debugger.XRunBreak.Delete() 
    debugger.Interrupt.SetTimer(1, TimeType.Ms, True) 
    debugger.XRunBreak.Set(1, TimeType.Ms, True) 
 | 
 
注意 5.  | フック関数がAfterTimer,AfterInterruptの場合,およびコールバック関数の引数が50,または63の場合は,以下の関数のみ使用してください。  | 
 
debugger.Address,debugger.GetIORList,debugger.Interrupt,debugger.Memory, 
debugger.Register,debugger.Watch,debugger.XRunBreak 
 | 
 
 
ただし,debugger.Interrupt.SetTimer,debugger.XRunBreakは,フック関数がAfterTimer,またはコールバック関数の引数が63の場合は使用できません。
[使用例]
>>>Hook("E:/TestFile/TestScript/testScriptFile2.py")
 |