Am Do, den 03.02.2005 schrieb Patrick Ohnewein um 19:44: > Hallo Marc! N'abend Patrick,
> Marc Santhoff schrieb: > >>Nun scheint es kein Problem mehr zu geben. Außer, dass ich mich auf den > >>OOo Seiten einfach nicht zurechtfinde. Wo finde ich aktuelle > >>Dokumentation für die Entwicklung mit der Java UNO Schnittstelle? Jedes > > > > http://api.openoffice.org/DevelopersGuide/DevelopersGuide.html > > > > http://development.openoffice.org/index.html > > Danke. Da sind aber leider nur Infos zur 1.x und nichts über 2.x zu finden. > > Die DevGuide enthält nur Infos zur 1.0 mit ein paar Hinweisen zur 1.1. Das liegt daran, daß sich größte Mühe gegeben wird, die API stabil zu halten. Also kannst Du die Doku dort getrost benutzen. [...] > > Vielleicht ist auf der Liste jemand, der die Java UNO Schnittstelle > kennt und mir sagen kann, wie ich in 2.0 eine DataSource übers XStorable > Interface abspeichern kann. Oder wo ich Infos dazu finde. > > In der DevGuide wird XStorable nur in Zusammenhang mit Dokumenten > beschrieben. DataSources sind aber nicht das selbe, deren URL > beschreiben keine Dateien, oder doch? Richtig, deswegen unterstützen sie auch das if XStorable nicht und können so nicht gespeichert werden. Sie gehören sachlich zu den Konfigurationseinträgen und werden auch so gespeichert. Schau Dir mal das da an (sorry für lange Zeilen): Function GetRegistryKeyContent(sKeyName as string, Optional bforUpdate as Boolean) Dim oConfigProvider as Object Dim aNodePath(0) as new com.sun.star.beans.PropertyValue oConfigProvider = createUnoService("com.sun.star.configuration.ConfigurationProvider") aNodePath(0).Name = "nodepath" aNodePath(0).Value = sKeyName If IsMissing(bForUpdate) Then GetRegistryKeyContent() = oConfigProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", aNodePath()) Else If bForUpdate Then GetRegistryKeyContent() = oConfigProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationUpdateAccess", aNodePath()) Else GetRegistryKeyContent() = oConfigProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", aNodePath()) End If End If End Function oder dies: oEnv = createUnoService("com.sun.star.sdb.DatabaseContext") GetConnection = oEnv.getByName(sDBName).getConnection("marc","geheim") > Mein erster Schritt besteht zur Zeit darin das [1]MailMerger Beispiel > von Tomas O Conner auf die 2.0 API zu portieren. Das Problem ist, dass > registerObject von XNamingService scheinbar verlangt, dass die > registrierten Objekte (das Datasource) bereits abgespeichert sind. > > Ich dachte, die Lösung wär einfach vor dem Aufruf von registerObject > folgenden Code einzufügen: > > <CODE> > > // Save data source > XStorable xStorable = (XStorable)UnoRuntime.queryInterface( > XStorable.class, dataSource); > > // Set up the Overwrite and FilterName properties > PropertyValue[] propertyvalu > Happy hacking! > Patrick > > [1] http://codesnippets.services.openoffice.org/Writer/Writer.MailMerge.snipe > = new PropertyValue[2];; > propertyvalue[0] = new PropertyValue(); > propertyvalue[0].Name = ???? > ???? > > String dataSourceURL = ???? > > // Store the document > xStorable.storeAsURL(dataSourceURL, propertyvalue); > > </CODE> > > > Nur was gebe ich als URL an und welche Properties sollte ich beim > Abspeichern einer DataSource angeben? > > Die DevGuide hilft mir da nicht weiter und in den Kommentaren der IDL > Files konnte ich leider auch nichts finden. Die betreffenden Services findest Du oben, den Pfad kannst Du aus den Konfigurationsdateien des aktiven Benutzers oder eben des Office russuchen. HTH, Marc --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]