HEW | IronPythonからHEW TargetServerを制御する為の小技 (3)
既に起動済みのHEWをHEW TargetServerとして制御する方法が分かったので書いておきます。
(7) 既に起動済みのHEWをHEW TargetServerとして制御する方法
HEW TargetServerのInvokeHewWithNoDialogメソッドを実行すると、既にHEWやHEW TargetServerが
起動していても、必ずもう1つ別のHEW TargetServerが起動してしまいます。新しいHEW TargetServerを
起動せずに、既にWindowsのスタートメニューやタスクバーなどから起動済みのHEWをHEW TargetServer
として制御するには、単にInvokeHewWithNoDialogメソッドを実行しないでおくだけで良かったようです。
def MonStart():
global hts
try:
# 変数が定義済みかどうかチェック(変数が定義されていなければ例外が発生する)
if hts == None:
pass
except:
hts = None
if hts == None:
htsTLB = System.Guid("D090F28D-679E-46F2-914F-D8B2374CDB21")
clr.AddReferenceToTypeLibrary(htsTLB)
from HEWTARGETSERVERLib import HewServer1
# コンストラクタを呼び出す
hts = HewServer1()
# イベントハンドラを登録する
hts.GotEventMessage += MonEventMessage
# 起動済みのHEW(HEW TargetServer)に接続する
print ""
print "WAITING for HEW TargetServer..."
while True:
InvokeHew = clr.Reference[int](0)
OpenWorkspace = clr.Reference[int](0)
BuildProject = clr.Reference[int](0)
hr = hts.GetHewStatusEx2(InvokeHew, OpenWorkspace, BuildProject)
InvokeHew = int(InvokeHew)
if hr == 0 and InvokeHew == 1:
break
print ""
print "HEW TargetServer CONNECTED!"
return
(7) 既に起動済みのHEWをHEW TargetServerとして制御する方法
HEW TargetServerのInvokeHewWithNoDialogメソッドを実行すると、既にHEWやHEW TargetServerが
起動していても、必ずもう1つ別のHEW TargetServerが起動してしまいます。新しいHEW TargetServerを
起動せずに、既にWindowsのスタートメニューやタスクバーなどから起動済みのHEWをHEW TargetServer
として制御するには、単にInvokeHewWithNoDialogメソッドを実行しないでおくだけで良かったようです。
def MonStart():
global hts
try:
# 変数が定義済みかどうかチェック(変数が定義されていなければ例外が発生する)
if hts == None:
pass
except:
hts = None
if hts == None:
htsTLB = System.Guid("D090F28D-679E-46F2-914F-D8B2374CDB21")
clr.AddReferenceToTypeLibrary(htsTLB)
from HEWTARGETSERVERLib import HewServer1
# コンストラクタを呼び出す
hts = HewServer1()
# イベントハンドラを登録する
hts.GotEventMessage += MonEventMessage
# 起動済みのHEW(HEW TargetServer)に接続する
print ""
print "WAITING for HEW TargetServer..."
while True:
InvokeHew = clr.Reference[int](0)
OpenWorkspace = clr.Reference[int](0)
BuildProject = clr.Reference[int](0)
hr = hts.GetHewStatusEx2(InvokeHew, OpenWorkspace, BuildProject)
InvokeHew = int(InvokeHew)
if hr == 0 and InvokeHew == 1:
break
print ""
print "HEW TargetServer CONNECTED!"
return
- 関連記事
-
- HEW | Renesas C/C++ Compiler + sh_converter/rx_converter + GDBでデバッグ
- HEW | IronPython + HEW TargetServerでGDBSERVERを作る (SH-4A)
- HEW | IronPython + HEW TargetServerでGDBSERVERを作る (SH-2)
- HEW | IronPython + HEW TargetServerでGDBSERVERを作る (RX600)
- HEW | IronPython + HEW TargetServerでGDBSERVERを作る (R8C)
- HEW | IronPython + HEW TargetServerでGDBSERVERを作る (H8SX)
- HEW | IronPythonからHEW TargetServerを制御する為の小技 (3)
- HEW | IronPythonからHEW TargetServerを制御する為の小技 (2)
- HEW | e2studio + HEWで生成したMakefile + KPIT GNU C Compilerでビルド
- HEW | KPIT GNUツールチェインを呼び出すMakefileを生成させてhmakeでビルド (3)
- HEW | KPIT GNUツールチェインを呼び出すMakefileを生成させてhmakeでビルド (2)
- HEW | KPIT GNUツールチェインを呼び出すMakefileを生成させてhmakeでビルド (1)
- HEW | KPIT GNUツールチェインを呼び出すMakefileを生成させる時にちょっと便利なツール
- HEW | HEW起動時のコマンドライン引数にHEW Consoleウィンドウのコマンドを複数記述する小技
- HEW | ConsoleウィンドウのTCL/TKコマンドでMakefileを生成させてHEWを終了させる小技
2012/09/22 blog-entry-190 category: HEW
| h o m e |