En el tema anterior que publiqué, Ayuda con Listener - En Control TabPage, lo dí por resuelto pero al ejecutarlo en LibreOffice no funciona.
Vuelvo a subir el código
Código: Seleccionar todo
REM ***** BASIC *****
Sub tab_1
DialogLibraries.loadLibrary("Standard")
oDialog = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
oDialogModel = oDialog.getModel()
dim oTabModel as Object
oTabModel = oDialogModel.CreateInstance("com.sun.star.awt.tab.UnoControlTabPageContainerModel")
oTabModel.Name = "Tab"
oTabModel.PositionX = 6
oTabModel.PositionY = 20
oTabModel.Width = 145
oTabModel.Height = 100
oTabModel.TabIndex = 2
oTabModel.border = 1
oTabModel.Backgroundcolor = RGB(200,200,250)
oDialogModel.insertByName("tab", oTabModel)
dim args()
args = Array(1)
Dim tabPageModel1 as Object
tabPageModel1 = oDialogModel.createInstance("com.sun.star.awt.tab.UnoControlTabPageModel")
tabPageModel1.initialize(args)
tabPageModel1.Title = "Tab 1"
tabPageModel1.Name = "Tab1"
'tabPageModel1.ImageURL = "file:///home/gustavo/Imágenes/logo.png"
args = Array(2)
Dim tabPageModel2 as Object
tabPageModel2 = oDialogModel.createInstance("com.sun.star.awt.tab.UnoControlTabPageModel")
tabPageModel2.initialize(args)
tabPageModel2.Title = "Tab 2"
tabPageModel2.Name = "Tab2"
oTabModel.insertByIndex(0, tabPageModel1)
oTabModel.insertByIndex(1, tabPageModel2)
Dim oButton As Object
oButton = tabPageModel1.CreateInstance("com.sun.star.awt.UnoControlButtonModel")
tabPageModel1.PositionX = 20
tabPageModel1.PositionY = 20
tabPageModel1.Width = 50
tabPageModel1.Height = 12
tabPageModel1.TabIndex = 0
'tabPageModel1.insertByName("Salir", oButton)
oDialog.getControl("tab").ActiveTabPageID = 1
oDialog.execute()
oDialog.dispose()
End Sub
Error de ejecución de BASIC.
Se ha producido una excepción
Type: com.sun.star.beans.UnknownPropertyException
Message: .
Encontré otro código que hace lo mismo y funciona en LibreOffice pero no funciona en OpenOffice
Usa otras librerias.
Código: Seleccionar todo
Sub CreateTab2
dlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
model = dlg.getModel()
tab_model = model.createInstance("com.sun.star.awt.UnoMultiPageModel")
With tab_model
.PositionX = 5
.PositionY = 5
.Width = 150
.Height = 110
End With
model.insertByName("tab", tab_model)
tab1 = dlg.getControl("tab")
Dim args As New com.sun.star.beans.NamedValue
args.Name = "Title"
args.Value = "Page 1"
tab1_model = tab1.getModel()
page_model = tab1_model.createInstance("com.sun.star.awt.UnoPageModel")
tab1_model.insertByName("page1", page_model)
n = UBound(tab1_model.getElementNames())
tab1.setTabProps(n+1, Array(args))
page_model1 = page_model
args.Name = "Title"
args.Value = "Page 2"
tab2_model = tab1.getModel()
page_model = tab2_model.createInstance("com.sun.star.awt.UnoPageModel")
tab2_model.insertByName("page2", page_model)
n = UBound(tab2_model.getElementNames())
tab1.setTabProps(n+1, Array(args))
page_model2 = page_model
btn_model = page_model1.createInstance("com.sun.star.awt.UnoControlButtonModel")
With btn_model
.PositionX = 10
.PositionY = 10
.Width = 30
.Height = 15
.Label = "btn 1"
End With
page_model1.insertByName("btn", btn_model)
dlg.execute()
dlg.dispose()
End Sub
Hay cosas que no entiendo. Este es un foro básicamente de AOOBasic. LOBasic ha realizado bastantes cambios hasta donde yo se.
Pero sobre LO específicamente casi no hay documentación sobre LOBasic y casi todas las referencias vienen a este foro.
Les agradezco eternamente si me pudieran orientar en esto porque estoy desorientado con el error.
Desde ya agradezco cualquier aporte que puedan hacer.