2012
08
31
08
31
IronPythonで作ったGUIアプリをコンパイルするまで
IronPythonでWPFを使ってGUIアプリを作る。使ったIDEはSharpDevelop。こいつなら基本的にはデバッグと同時に実行形式ファイルの生成まで自動で行ってくれる。VisualStudio2010は基本的にそうはいかない。
1.プロジェクトの新規作成
SharpDevelopのファイルメニューから、ソリューションの新規作成を選ぶ。プロジェクトはWPF Applicationを選べば基本的なセットが用意されているので、セット中のPythonスクリプトで処理過程とXAMLファイルでGUIを編集するだけでアプリが完成する。
*必要なPythonモジュールを集める
デフォルトの状態では、Pythonの標準モジュールさえ使えないものが多い。SharpDevelopウィンドウ内の左側に位置しているプロジェクトウィンドウで、プロジェクト名を右クリックして、必要なモジュールのスクリプトファイルをIronPythonのLibフォルダから加える。

2.PythonスクリプトやXAMLの編集が終わったら
デバッグメニューから実行を行ってみる。ビルドが成功すれば、プロジェクトフォルダに入っているbinフォルダに、実行形式ファイルとDLLファイルの一式が揃って置かれている。
*現状では、自作のDLLにリンクできない(IronPython 2.7.3 (2.7.0.40) on .NET 4.0.30319.269)

C#クラスから作ったDLLやCOMオブジェクトをtlbimpでDLL化したものにリンクしたらエラーを吐いた。なにかと思って検証してみたところ、DLLファイルを参照できていなかった。たしかに"Interop.WMPLib.dll"は実行形式ファイルと同じディレクトリにあるのに、AddReferenceプロパティの実行で失敗しているようだ。無理。お手上げ。
このことから言えるのは、これからやろうとすることには自作のDLLが使えないということだ。Pythonスクリプトと.NET Frameworkだけで組み上げる必要がある。Pure Pythonでない外部モジュールは使えない。
1.プロジェクトの新規作成
SharpDevelopのファイルメニューから、ソリューションの新規作成を選ぶ。プロジェクトはWPF Applicationを選べば基本的なセットが用意されているので、セット中のPythonスクリプトで処理過程とXAMLファイルでGUIを編集するだけでアプリが完成する。
*必要なPythonモジュールを集める
デフォルトの状態では、Pythonの標準モジュールさえ使えないものが多い。SharpDevelopウィンドウ内の左側に位置しているプロジェクトウィンドウで、プロジェクト名を右クリックして、必要なモジュールのスクリプトファイルをIronPythonのLibフォルダから加える。

2.PythonスクリプトやXAMLの編集が終わったら
デバッグメニューから実行を行ってみる。ビルドが成功すれば、プロジェクトフォルダに入っているbinフォルダに、実行形式ファイルとDLLファイルの一式が揃って置かれている。
*現状では、自作のDLLにリンクできない(IronPython 2.7.3 (2.7.0.40) on .NET 4.0.30319.269)

C#クラスから作ったDLLやCOMオブジェクトをtlbimpでDLL化したものにリンクしたらエラーを吐いた。なにかと思って検証してみたところ、DLLファイルを参照できていなかった。たしかに"Interop.WMPLib.dll"は実行形式ファイルと同じディレクトリにあるのに、AddReferenceプロパティの実行で失敗しているようだ。無理。お手上げ。
このことから言えるのは、これからやろうとすることには自作のDLLが使えないということだ。Pythonスクリプトと.NET Frameworkだけで組み上げる必要がある。Pure Pythonでない外部モジュールは使えない。
スポンサーサイト