- ベストアンサー
IronPythonでのDLLの使用方法とは?
- Visual Basic 2010で作成したDLLをIronPython 2.6で使用しようとするとエラーが発生します。解決策はありますか?
- Visual Basicで作成したDLLをIronPythonで呼び出す際に発生するエラーについて解決策を教えてください。
- IronPythonでDLLを使用しようとしてエラーが出ています。どうすれば解決できるでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
REM IronPython初めて使う REM VBのソースをコンパイルする際使用したIDEはMonoDevelop REM まぁVisual StudioとSharpDevelop/MonoDevelopはMS OfficeとLibreOfficeみたいなもんだと思ってくれれば(以前誰かにわからん言われたorz) REM なお、普通に作ると、プロジェクト名がデフォルトネームスペースに設定されたりするので消すのを忘れないようにしました。 REM ビルドは.NET 4.0向け Option Explicit On Option Strict On Option Compare Binary Option Infer Off Imports System Public Class Test2 Public Sub Test() System.Console.WriteLine("Hello World") End Sub End Class =================== 作ったアセンブリ(Test2.dll)をD:\に配置。 で、使用したのはIronPython 2.7.2.1のzip版に含まれるインタープリタ(ipy.exe)。 で、正解は、コンストラクタでクラス名を引数に与えてインスタンスを生成した上で、 そのインスタンスから引数なしで呼び出すか(こっちの方が俺好み)、 import os import clr import sys sys.path.append("D:\\") clr.AddReferenceToFile("Test2.dll") import Test2 a = Test2.__new__(Test2) a.Test() =================== あるいは、型名から呼び出して第一引数にオブジェクトを渡すか。 import os import clr import sys sys.path.append("D:\\") clr.AddReferenceToFile("Test2.dll") import Test2 a = Test2.__new__(Test2) Test2.Test(a) 一応そのへんのことは http://readthedocs.org/docs/ironpython-test/en/latest/reference/datamodel.html#object.__new__ http://readthedocs.org/docs/ironpython-test/en/latest/reference/datamodel.html Class Types User-defined methods あたりに書いてあると思う 実際にやってみたら、ともにHello Worldが表示された。
お礼
無事に動作しました。 ありがとうございました。