• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IronPython でのDLL の使用について)

IronPythonでのDLLの使用方法とは?

このQ&Aのポイント
  • Visual Basic 2010で作成したDLLをIronPython 2.6で使用しようとするとエラーが発生します。解決策はありますか?
  • Visual Basicで作成したDLLをIronPythonで呼び出す際に発生するエラーについて解決策を教えてください。
  • IronPythonでDLLを使用しようとしてエラーが出ています。どうすれば解決できるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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が表示された。

hori_x11
質問者

お礼

無事に動作しました。 ありがとうございました。

関連するQ&A