Spanish ERROR al ejecutar Jasper en macos

pcicom

Member
Licensed User
Longtime User
Saludos tengo una APP desarrollada en B4J que utiliza JASPER para los reportes, y en WINDOWS funciona perfectamente, pero en MACOS falla.

Utilizo SQLite con 2 .jar que requiere y los agrego en mi app en la seccion

B4X:
  #AdditionalJar: sqlite-jdbc-3.46.0.0
  #AdditionalJar: slf4j-api-1.7.36


Realice pruebas donde en un REPORTE solo puse texto sin conexion a base de datos y funciona perfectamente, lo abre y lo muestra, con esto valido que JASPER si jala en la MACOS

Pero los reporte que utilizan la base de datos me falla, creo que el problema es la conexion a la base de datos.. ya que en windows si funciona, la cual conecto de la siguiente forma

B4X:
Dim cDIRAPP as String
Dim cFILEDB as String

cDirAPP = File.DirApp
cFileDB  = "HC.db"


Dim OS As String = GetSystemProperty("os.name", "").ToLowerCase
If OS.Contains("win") Then
    cDATABASE = cDirAPP  & "\" & cFileDB
Else 
    cDATABASE = cDirAPP & "/" & cFileDB
End If

'...
' JASPER PARAMETERS agregados
'...


    conn = jasper.getConnectionSQLite(cDATABASE)
    print = jasper.Print(report, jasper.parameters, conn)
    jasper.JasperViewer(print, False)

Instale JASPER STUDIO Comunity en MACOS y en JASPER tengo que agregar los 2 jar (sqlite-jdbc-3.46.0.0 y slf4j-api-1.7.36) para que pueda funcionar el reporte en JASPERREPORT, por lo que asumo que esos archivos deben de instalarse en alguna parte de mi APP en MACOS para que funcionen, pero no se donde...


EN RESUMEN, Los reportes echos en JASPER si funcionan en WINDOWS pero en MACOS no..

Agradecere me puedan orientar si hay algo que debo agregar, quitar o configurar en MACOS que me esta faltando..

GRACIAS
 

pcicom

Member
Licensed User
Longtime User
He realizado mas pruebas y detecte que el problema es cuando paso parametros al JASPER.

B4X:
    jasper.InitializeParameters
    jasper.AddParameter("strTITULO","TITTULO DEL REPORTE")

Por una extraña razon en WINDOWS si jala pero en MACOS no funciona

En mis pruebas elimine de mi reporte jasper los parametros y en la APP no le pase parametros, y asi si FUNCIONA...
 
Upvote 0

pcicom

Member
Licensed User
Longtime User
Saludos y nueva NOVEDAD, ya pude pasar parametros para que funcione mi APP con reportes de JASPER en WINDOWS y MACOS

Lo que realice fue poner en la propiedad

Default Value Expresion : $P{strTITULO} <---- Este dato es como se declara el parametro y que pueda ser OBTENIDO cuando le pasamos los parametros en B4J

ejemplo de como quedo, donde lo que le paso a mi reporte el TITULO del REPORTE

Asi debe de quedar en el DISEÑADOR de JASPER

Name : strTITULO
Class : java.lang.String
Description : TITULO del REPORTE
[x] Is For Prompting

Default Value Expresion : $P{strTITULO}
Evaluation Time : Late

En el CODIGO queda como sigue en B4J

B4X:
    jasper.InitializeParameters
    Log("Creando Parametros")
    jasper.AddParameter("strTITULO","CATALOGO DE ESTADOS")

De esta forma funcionara en WINDOWS y en MACOS.. Saludos !! Lo mismo aplica para pasar la direccion del logo de una imagen...
 
Upvote 0
Top