문제

나는 그것을 얻으려고 노력하고있다 견본 그리고 OpenOffice 3.1.1로 실행되는 Pyuno와 운이없는 Python 2.5에 대해 찾은 다른 샘플 코드.

불행히도, 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] : [2]에서 UNO 가져 오기 [3] : resolver = local.servicemanager.createInstanceWithContext ( "com.sun.star.bridge.unourlresolver", local)

OOP가 잘못되었습니다, IMHO. 나는 그것의 구약을 알고 있지만, 나는 UNO가 전에 일하기 위해 일을하려고 노력했고 포기했다. 이것은 순수한 Steve Yegge Prose입니다 (읽기 http://steve-yegge.blogspot.com/2006/03/execution-in-king-of-nouns.html).

이 라인을보다 말할 수있는 형태로 번역하면 대략 다음과 같이 나옵니다.

" '로컬'을 호출 방법 'Uno'의 '구성 요소 컨텍스트 얻기'의 결과로합시다. 'Service Manager'가 '로컬'의 속성 '서비스 관리자'가되게하십시오. 'Resolver'는 서비스 관리자 '메소드'CONTEXT를 사용하여 인스턴스를 만듭니다.

어머나. 자체적으로 인식하지 못하는 동안 너무나도 과도하게 특정하고 복잡하며 자기 참조되는 프로그램에 문제가있는 것은 놀라운 일이 아닙니다 ... 당신은 '로컬'의 하위 방법을 부르고 그 하위 방법을 말해야합니다. '지역'은 무엇을 의미합니까? 뭐라고? 이것을 끊을 수있는 두려움없는 개발자들에게 모자를 뿌립니다. 행복한 디버깅.

추가 :

의견과 포인트에 대한 thx.

Pyuno 문제는 사실에 대해 아무것도 할 수 없지만, 명확한 마감일로 환자의 시도 간 접근 방식을 징수하는 것이 좋습니다.

또한 Pyuno 사람들에게 명백한 버그를 제출하는 것이 좋습니다 (실제로 활성화 된 경우 - 이것이 다소 침묵하는 프로젝트라는 인상을 받았습니다) 넌센스 오류 메시지로 인해 문제의 메소드가 하나의 문자열 인수를 요청하는 것으로 보입니다. 그리고 그것은 하나를 얻었고, 그것은 그것을 불평합니다. 이것은 코드 결함을 선언하는 것이 합리적이되는 정도에 도움이되지 않습니다.

이런 종류의 상황에서 나는 종종 그 출처를 조사합니다. 하지만 이미 그렇게 했어요?

나는 사람들이 '왜 이것을하고 싶니?' 도움을 요청할 때. 그러나 때로는 누군가 (아마도 당신)가 과정에서 또 다른 실행 가능한 경로를 제시하는데,이 경로는 특정 문제에 대한 해결책을 포함하지 않지만 초음파를 해결하는 데 도움이됩니다. 그렇다면 내가 물어볼 수 있다면 : 큰 그림은 무엇입니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top