MsgBox Multilínea

Creo que con el título casi dije todo…

Estoy intentando mostrar desde PB un mensaje de error con más de un renglón de texto.

La instrucción que muestra el mensaje sería simil a esta: guo_app.msg.uof_SetdbError(-746, mensaje)

mensaje es una variable declarada de tipo String y la intenté cargar con textos como los siguientes pero no hay caso:

mensaje = “lalalala:\n\n- sarazasaraza\n- lalalalalalala lalalalal\nsarazalalalalalala”
mensaje = “lalalala:~n~r~n~r- sarazasaraza~n~r- lalalalalalala lalalalal~n~rsarazalalalalalala”
mensaje = “lalalala:”+char(13)+char(10)+char(13)+char(10)+“- sarazasaraza”+char(13)+char(10)+“- lalalalalalala lalalalal”+char(13)+char(10)+“sarazalalalalalala”

¿alguna sugerencia?

Aclaración… con char(13)+char(10) me divide los renglones pero si pongo algo como lo siguiente desaparece el título:

mensaje = “TITULO:”+char(13)+char(10)+“”+char(13)+char(10)+“- Mensaje 1”+char(13)+char(10)+“- Mensaje 2”

y si quito el : sólo veo el título…

jugando un poco con los resultados anteriores quedó así:

mensaje = “IGNORADO:”+char(13)+char(10)+“TITULO:”+char(13)+char(10)+char(13)+char(10)+“- Mensaje 1”+char(13)+char(10)+“- Mensaje 2”

con lo anterior conseguí que se vea como quiero… y con el resultado obtenido ya me conformé pero claramente carece de toda lógica.

pueden cerrar el hilo o sugerirme otra forma de mostrar errores. (lo que llegue primero;-)

Las funciones del objeto uo_mensaje, es decir las uof_set… (uof_SetDbError, uof_SetErrorRn, uof_SetMsg, …) son para ser usadas en la cadena de eventos el Grabar (ue_grabar), para que cuando se sale con un error, se setee el error con una de estas funciones y luego al cerrar la transacción se envie el mensaje al usuario.

Al enviar el codigo -746 lo que se hace es reemplazar el texto que se envió en la función por el %s que es el parámetro que esta definido en el código de error -746. Este mensaje no puede superar los 255 caracteres (podes ver la datawindow que recupera los mensajes de la base que es la dr_mensajes)


Podes hacer lo siguiente, toma el objeto uo_mensaje y crea una nueva funcion:
uof_setErrorPersonalizado(arg_texto string)
y que tenga solo lo siguiente:
is_mensaje = arg_texto

Luego donde quieras setear el mensaje de error, llama a esa funcion:

String ls_mensaje_de_error

// Defino el texto del mensaje de error
ls_mensaje_de_error = "TITULO:"+char(13)+char(10)+""+char(13)+char(10)+"- Mensaje 1"+char(13)+char(10)+"- Mensaje 2"

// Seteo el error en el objeto de mensajes
guo_app.msg.uof_SetErrorPersonalizado(ls_mensaje_de_error)