Open Office Plugin mit Python

Ich möchte ein Open Office Plugin mit Python schreiben. Das Programm soll zusätzliche Funktionen einbinden, die ich per:

Code:
obj = createunoservice("pyuno.rsapi")
msgbox(obj.test(10))

in Star Basic aufrufen kann.

Nun habe ich folgende Dateien erstellt:
rsapi.py
rsapi.rdb
META-INF/manifest.xml

Die rsapi.py sieht wie folgt aus:
Code:
import unohelper
class rsapi(unohelper.Base):
	def __init__(self, ctx):
		self.ctx= ctx
		self.multi = 10
	def test(self, input):
		return input*self.multi

g_ImplementationHelper = unohelper.ImplementationHelper ()	
g_ImplementationHelper.addImplementation (rsapi,
					"pyuno.rsapi",
					("pyuno.rsapi",),)

Die manifest.xml:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest:manifest>
	<manifest:file-entry manifest:full-path="rsapi.py" manifest:media-type="application/vnd.sun.star.uno-component;type=Python"/>
</manifest:manifest>

Die rsapi.rdb wird aus einer *.urd Datei erstellt, die wiederum aus einer *.idl Datei erstellt wird.
Meine rsapi.idl Datei enthält:
Code:
#ifndef __pyuno_rsapi_idl__ 
#define __pyuno_rsapi_idl__ 

module pyuno { 
interface rsapi
{ 
	short  test([in] short input); 
}; };
#endif

Dies habe ich unter Windows mit dem idlc und dem remerge Programm kompilliert, dass beim Open Office SDK bei liegt.

Wenn ich nun die Dateien zippe und das Plugin installiere, gibt es keinen Fehler. Wenn ich aber nun den Basic Code ausführen möchte bekomme ich:
BASIC runtime error.
Property or method not found.

Würde mich über eine Lösung des Problems freuen. Habe inzwischen zu viel Zeit reingesteckt es ans laufen zu bekommen :/

MFG HKA
 
Zurück
Oben