habe gerade openoffice auf 3.3.0 upgedatet.
Neues problem ich habe ein skript dass die Datenbank beim starten automatisch registriert. jetzt ist das aber seit 3.3.0 anders wollte schnell mal fragen wie man das skript anpassen muss?? http://www.openoffice.org/dev_docs/feat ... istrations
Sub selfRegister (dbName as String)
Dim dbContext As Object
Dim regDb As Object
Dim url As String
dbContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
url = thisComponent.getUrl
regDb = dbContext.getByName (url)
dbContext.registerObject (dbName, regDb)
Die Fehlermeldung ist dass es schon den "dbName" gibt. wäre schon zufrieden wenn mir jemand den befehl zum löschen der registrierten Datenbank sagt. Damit ich die registrierung lösche und im anschluss gleich wieder die Datenbank neu registriere.
Ps: Das ganze brauche ich da die Datenbank des öfteren hin und her geschoben wird.
danke mfg
jürgen
Zuletzt geändert von juergen_w1987 am Mi, 24.08.2011 11:31, insgesamt 1-mal geändert.
juergen_w1987 hat geschrieben:Damit ich die registrierung lösche und im anschluss gleich wieder die Datenbank neu registriere.
Das ist unnötig.
Siehst Du Dir das Objekt dbContext mit einem Objekt-Inspektor, wie XRAY
an, dann siehst Du:
a) eine Methode .hasByName, um zunächst das Vorhandensein zu prüfen, damit Du in dem Fall
b) die Eigenschaft .Name mit .setPropertyValue auf einen neuen (verschobenen) Pfad ändern kannst.
Das hilft Dir weiter?
Cheers Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5 DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Sub selfRegister (dbName as String)
Dim dbContext As Object
Dim regDb As Object
Dim isRegegistered As boolean
Dim url As String
dbContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
url = thisComponent.getUrl
regDb = dbContext.getByName (url)
isRegistered = dbContext.hasRegisteredDatabase(dbName)
if(isRegistered) Then
dbContext.revokeObject(dbName)
dbContext.registerObject (dbName, regDb)
else
dbContext.registerObject (dbName, regDb)
End if
End Sub