1. Francisco Javier Vizueta Logroño
  2. PowerBuilder
  3. Thursday, 4 June 2020 16:57 PM UTC

Estoy migrando de powerbuilder 2017 a 2019 que utiliza librerias PFC pero no está interpretando la instruccion this.inv_resize.of_Register, es decir no se ve afectado los objectos. Ya actualice las librerias PFC a 2019. No se si esta funcion ya no esta disponible o debo agregar otra libreria para que funcione.

John Fauss Accepted Answer Pending Moderation
  1. Wednesday, 10 June 2020 02:33 AM UTC
  2. PowerBuilder
  3. # 1

Descargué la versión PB 2019 del PFC y usando PB 2019R2, creé una aplicación MDI muy simple donde la ventana de marco MDI abre una ventana de hoja que contiene un botón de comando "Cerrar". La ventana de hoja habilita el servicio de cambio de tamaño de ventana y registra el botón de comando con la misma sintaxis que publicó:

of_SetResize(True)
This.inv_resize.of_register(cb_1,0,0,100,100)

El marco MDI cuando se abre la aplicación:

Después de que la ventana de la hoja se redimensione manualmente:

Parece que el servicio de cambio de tamaño funciona correctamente en PB 2019R2 con una copia intacta de las bibliotecas PB 2019 PFC. Le sugiero que intente lo mismo: cree una aplicación de prueba utilizando una copia no modificada de las bibliotecas PFC. Cuando eso funcione, cambie la copia no modificada de las bibliotecas PFC con las bibliotecas que utiliza su aplicación migrada. Si eso falla, el problema son las bibliotecas PFC que usa la aplicación migrada.

Comment
There are no comments made yet.
Francisco Javier Vizueta Logroño Accepted Answer Pending Moderation
  1. Tuesday, 9 June 2020 21:14 PM UTC
  2. PowerBuilder
  3. # 2

Yo no quiero cambiar tamaño sino posicionar el objecto con la funcion of_register tal y como lo se lo hace en PB 2017 que funciona correctamente. No se por que no lo hace al migrar de version o esa funcion esta obsoleta o no tengo las librerias PFC 2019 correctas.

Comment
  1. John Fauss
  2. Wednesday, 10 June 2020 14:02 PM UTC
Si solo desea reposicionar los controles y no cambiar su tamaño, ¿por qué está especificando cero para los argumentos "MoveX" y "MoveY" y 100 para los argumentos "ScaleWidth" y "ScaleHeight" en la función of_register? ¿Eso parece ser lo contrario de lo que quieres hacer?



Por cierto, la función of_resize en pfc_n_cst_resize realiza el movimiento de los controles registrados dentro de una ventana además del cambio de tamaño. Si examina el código fuente de esta función, verá esto.
  1. Helpful
There are no comments made yet.
John Fauss Accepted Answer Pending Moderation
  1. Tuesday, 9 June 2020 18:43 PM UTC
  2. PowerBuilder
  3. # 3

La función of_Register no realiza ningún cambio de tamaño ... solo registra un control de ventana que debe redimensionarse y establece las condiciones de cómo se redimensionará y / o traducirá (moverá).

El cambio de tamaño de los controles registrados en respuesta al cambio de tamaño de la ventana se realiza mediante la función of_Resize en pfc_n_cst_resize, razón por la cual sugerí en mi respuesta anterior que depure esta función para verificar que los objetos están siendo redimensionados o no y / o movido.

Comment
There are no comments made yet.
Francisco Javier Vizueta Logroño Accepted Answer Pending Moderation
  1. Tuesday, 9 June 2020 16:16 PM UTC
  2. PowerBuilder
  3. # 4

Esta funcion en PB 2017 funciona y hace el ajuste pero en PB 2019 R2 no tiene efecto a pesar de que  retorna valor 1 de correcto.

this.inv_resize.of_Register(dw_detalle1, 0, 0, 100, 100)

Estoy ajustando los objectos dw, botones, etc de acuerdo al tamaño de la pantalla. La instruccion está en la ventana w_base_consulta

Comment
There are no comments made yet.
John Fauss Accepted Answer Pending Moderation
  1. Thursday, 4 June 2020 21:23 PM UTC
  2. PowerBuilder
  3. # 5

¿Tiene algún problema al usar el servicio de cambio de tamaño de Windows o el servicio de cambio de tamaño de DataWindow? 

Además, ¿tiene extensiones de código desarrolladas localmente en la capa PFE, que involucren particularmente los servicios de cambio de tamaño? 

Finalmente, ¿ha intentado usar el depurador PB para reducir la causa del problema? Sé que depurar el servicio de cambio de tamaño puede ser un desafío, pero esto es probablemente lo que tendrá que hacer para solucionar este problema. 

Si no tiene éxito, considere crear una aplicación de prueba a pequeña escala que no establezca una conexión de base de datos y que presente el problema y use solo las bibliotecas PFC y PFE simples y sin tocar ... luego comprima solo la biblioteca PB de la aplicación de prueba y publique aquí. Si no puede duplicar el problema en la pequeña aplicación de prueba, lo más probable es que el problema sea local en sus bibliotecas / código. Intente depurar primero. Para el servicio de cambio de tamaño de Windows, recorra la función of_Resize en el objeto pfc_n_cst_resize en PFCWNSRV.pbl.

Comment
There are no comments made yet.
Francisco Javier Vizueta Logroño Accepted Answer Pending Moderation
  1. Thursday, 4 June 2020 18:32 PM UTC
  2. PowerBuilder
  3. # 6

No utilizo temas.

Comment
There are no comments made yet.
Francisco Javier Vizueta Logroño Accepted Answer Pending Moderation
  1. Thursday, 4 June 2020 18:26 PM UTC
  2. PowerBuilder
  3. # 7

Si, estoy usando con powerbuilder 2019 built 2328.

Comment
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 4 June 2020 17:56 PM UTC
  2. PowerBuilder
  3. # 8

Salut Francisco;

     Utilisez-vous PB2019 R2 build 2328? Comme cette version a un correctif pour le redimensionnement PFC.

Cordialement ... Chris

Comment
There are no comments made yet.
John Fauss Accepted Answer Pending Moderation
  1. Thursday, 4 June 2020 17:40 PM UTC
  2. PowerBuilder
  3. # 9

Saludos, Francisco -
¿Estás usando temas? No sé si este es el problema, pero si está utilizando Temas, le sugiero que intente deshabilitarlo para ver si eso está causando que la funcionalidad de cambio de tamaño no funcione para usted.

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.