質問

サンプルおよびその他のサンプルコードを取得しようとしています。 openoffice 3.1.1およびpython 2.5で実行されているpyunoは運がありません。

残念ながら、pyunoは何が悪いのかについて手がかりを与えません。

In [1]: import uno
In [2]: local = uno.getComponentContext()
In [3]: resolver = local.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", local)
---------------------------------------------------------------------------
com.sun.star.uno.RuntimeException         Traceback (most recent call last)

/opt/openoffice.org/basis3.1/program/ in ()

com.sun.star.uno.RuntimeException: : 'tuple' object has no attribute 'getTypes', traceback follows
no traceback available

以下は/opt/openoffice.org/basis3.1/program/officehelper.pyの実行の出力です 基本的にヘッドレスオフィスインスタンスを起動し、関連するコンテキストオブジェクトを返します。

den@ev:/opt/openoffice.org/basis3.1/program > python officehelper.py
Traceback (most recent call last):
  File "officehelper.py", line 42, in 
    from com.sun.star.connection import NoConnectException
  File "uno.py", line 273, in _uno_import
    RuntimeException = pyuno.getClass( "com.sun.star.uno.RuntimeException" )
RuntimeError: pyuno.getClass: expecting one string argument

pyunoは1つの引数のみを取り、 http://udk.openoffice.org/source/browse/udk/pyuno/source/module/pyuno_module.cxx?rev=1.14&view=markup とにかくpyuno.getClassを動作させることができませんでした。

pyunoを動作させる方法に関する提案はありますか?

役に立ちましたか?

解決

[1]:unoをインポート [2]で:local = uno.getComponentContext() [3]で:resolver = local.ServiceManager.createInstanceWithContext(" com.sun.star.bridge.UnoUrlResolver&quot ;, local)

OOPが間違っています、私見。私はそのOTを知っていますが、以前にunoを働かせようとして、あきらめました。これは純粋なSteve Yegge散文です(を参照) http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html )。

これらの行をより読みやすい形式に翻訳すると、おおよそ次のようになります:

"「local」を「uno」の「get component context」メソッドを呼び出した結果とします。 「サービスマネージャー」を「ローカル」の属性「サービスマネージャー」とします。引数 'com sun star bridge uno url resolver'と 'local'を使用して、 'resolver'を 'service manager'メソッド 'create with context with'を呼び出した結果とします。

omg。自己認識的ではないのに、非常にひどく過剰に特定され、複雑で、自己参照的なプログラムでは、何かが間違っていることはありません...「ローカル」のサブメソッドを呼び出し、そのサブメソッドに通知する必要があります「ローカル」とはどういう意味ですか?何だって?これを切り抜けることができる大胆不敵な開発者に嫌気がさします。幸せなデバッグ。

追加:

コメントとポイントのthx。

pyunoの問題私は実際には何もすることができませんが、明確な期限で患者のトライトライのアプローチを継続することをお勧めします。

iは、あからさまなB.U.G. pyunoの人々(実際にアクティブである場合、これはかなり静かなプロジェクトであるという印象を受けました)ナンセンスエラーメッセージ:問題のメソッドは1つの文字列引数を要求するように見え、1つを取得し、文句を言いました。これは、コードフォールトを宣言することが合理的になる程度にはあまり役に立ちません。

このような状況では、ソースをよく調べます。しかし、あなたはすでにそうしましたか?

私は返事をするのが嫌いです‘なぜこれをしたいのですか?’私が助けを求めるとき。ただし、プロセス内で誰か(おそらく)が別の実行可能なパスを思い付くことがあります。このパスには、特定の問題の解決策は含まれませんが、上位の問題の解決に役立ちます。だから、私が尋ねる場合:全体像は何ですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top