SharpDevelop 3.1 コンソール ウィンドウで IronPython 2.0 を使用しています。Redemption CDO 置換ライブラリを参照して使用しようとしています。
ライブラリの標準的な使用方法は、RDOSession オブジェクトをインスタンス化し、そのオブジェクトのメソッドを使用して RDO オブジェクト モデルをナビゲートすることです。
Redemption COM dll を登録し、相互運用アセンブリを作成したプロジェクトから参照しました。次に、IronPython コンソール ウィンドウで次の操作を行います。 import clr clr.AddReferenceToFileAndPath(r'd:\SharpDevelop Projects\TestPython\TestPython\obj\Debug\Interop.Redemption.dll') import Redemption
これはこれまでのところ機能します。次のステップは、RDOSession オブジェクトを取得してインスタンス化することです。それが機能した場合、これは私がそれを行うと考える方法です:
セッション = Redemption.RDOSession()
ただし、これによりエラーが発生します: TypeError: Cannot create instances of RDOSession
私の質問は (またはそうでした) です: RDOSession のようなオブジェクトをインスタンス化するにはどうすればよいですか?
ただし、説明しようとして、自分の質問に答えただけです。そうするのはほとんどばかげているように見えるという事実にもかかわらず、おそらく他の誰かにとって役立つので、私は答えを続けます。
「session = Redemption.RDOSession()」という行を入力すると、calltip に「RDOSession」とそのすぐ下に「RDOSessionClass」が表示されました。後者がどのように生成されたのかはわかりませんが、インスタンス化可能な (それが単語であれば) オブジェクトのように聞こえました。
>>> セッション = Redemption.RDOSessionClass()
>>>
見よ。Logon メソッドの呼び出しは、新しいセッション オブジェクトのチャンピオンのように機能しました。
ありがとうスタックオーバーフロー!