13. Notas de la versión #
← Migrar de la 4.0 a la 5.0 · Índice · Asistente de IA →
Una versión adquirida nunca pierde sus componentes: la 5.0 contiene los treinta y siete de la 1.0 a la 4.0, y una clave cuyo mantenimiento cubre la fecha de su build compila con la DLL más reciente — véase Licencia.
5.0 — octubre 2026 #
Ocho componentes: entrada de datos, gráficos, planificación y menús #
- Angular gauge — un indicador de esfera: aguja, arco relleno o marca, rangos coloreados según su tono, marcas de escala, objetivo, un valor ajustable con el ratón y el teclado.
- Context menu — un menú contextual nativo construido entrada a entrada, en cascada, con iconos, marcas de verificación y grupos de opciones, abierto en el cursor, bajo un control o en un punto de la pantalla.
- Form — un formulario de entrada en un solo componente: secciones plegables, doce tipos de campo (texto, número, interruptor, lista, fecha, color, etiquetas, valoración…), validación, máscaras, y lectura o escritura de una fila de DataWindow.
- Gantt chart — un diagrama de Gantt: tareas y resúmenes plegables, hitos, dependencias, ruta crítica, escalas del día al trimestre, arrastrar y redimensionar con el ratón, llenado desde un DataStore.
- Kanban board — un tablero kanban: tarjetas arrastradas de una columna a otra, límites de trabajo en curso, etiquetas, vencimientos y avatares, columnas plegables, llenado desde un DataStore y reescrito en el DataWindow.
- Linear gauge — un indicador lineal, horizontal o vertical, de la misma familia que el indicador de esfera: barra o marca, rangos coloreados, marcas de escala, objetivo, valor ajustable.
- Pie chart — un gráfico circular o de anillo animado: porciones que se deslizan hacia sus nuevos valores, etiquetas dentro o fuera, un texto en el centro, una leyenda pulsable, un semicírculo si lo desea, porciones pequeñas agrupadas en «Otros», un DataStore leído en una llamada.
- Property grid — una cuadrícula de propiedades al estilo de Visual Studio: categorías, propiedades desplegables, un editor por tipo (número, booleano, lista, color, fecha…), búsqueda, orden alfabético y panel de ayuda.
Qué cambia #
- La barra de progreso habla como los indicadores:
ib_label,il_coloreis_label_formatpasan a serib_show_value,il_value_coloreis_format(un formato de visualización de PowerBuilder aplicado al valor), eis_unitescribe una unidad tras la lectura. No se retira ningún método. Los detalles, y qué modificar: Migrar de la 4.0 a la 5.0.
En el resto de la biblioteca #
- Máscaras de entrada numéricas en la cuadrícula de datos (
is_maskde una columna) y en un contador de la cinta (is_mask,is_format): la agrupación aparece a medida que llegan las cifras, los decimales se limitan, las letras se rechazan, y el valor sigue siendo el número desnudo. - Los menús nativos de un componente con un acento propio lo muestran en la entrada señalada.
- crypto: los blobs sin archivo (
of_base64_encode_blob,of_hash_blob,of_encrypt_blob…), la verificación de un token con el juego de claves de Azure AD, Google o Auth0 (of_jwt_verify_jwks, JWK), los claims esperados y la tolerancia de los JWT, nuevos algoritmos (RS384/512, PS256/384/512, ES384, HS384/512), las firmas PSS, los datos adicionales de AES-GCM, los ajustes TOTP y HOTP,of_password_needs_rehash.
Corregido #
- Memoria: cada creación y posterior destrucción de un componente dejaba en memoria una parte de los archivos cargados por su página (unos 0,5 a 1 MB según el componente, desde la 3.0). Una aplicación que abre y cierra a menudo ventanas con componentes veía crecer su memoria sin retorno, hasta la caída de una aplicación de 32 bits. La memoria se devuelve ahora al destruir el componente; no hay nada que cambiar en su código.
- Cuadrícula de datos: un lector de pantalla lee una celda de valoración como su número de estrellas sobre cinco (
4 / 5); abrir y cerrar el editor de una celda numérica sin teclear ya no cambia un valor que el formato redondea.
4.0 — octubre 2026 #
Cinco componentes: datos, gráficos, documentos y sonido #
- Cartesian chart — un gráfico cartesiano animado: columnas, barras, líneas, áreas, dispersión, burbujas, mapas de calor, velas. El tipo se elige por serie: un gráfico combinado (columnas y línea de objetivo en dos ejes) cabe en un solo componente.
- Data grid — una cuadrícula moderna sobre un DataStore: columnas tipadas y celdas enriquecidas, ordenación, filtros, agrupaciones y subtotales, edición en el sitio, volúmenes muy grandes, exportación a CSV y Excel. Lee lo que el DataWindow dice de cada columna (título, formato, tabla de códigos), y el DataWindow sigue siendo el dueño de sus datos.
- Markdown view — un documento Markdown de solo lectura, con los colores del tema: títulos, listas, tablas, casillas de tareas, código coloreado, imágenes — desde un texto o un archivo del equipo.
- Scheduler — un calendario al estilo de Outlook: vistas de día, semana laboral, semana, mes y agenda, arrastrar y soltar, recursos lado a lado, categorías de color, tarjetas e información sobre herramientas escritas con plantillas — llenado cita a cita o desde un DataStore.
- Sound player — un objeto no visual que reproduce un archivo del equipo, una dirección
httpso un pitido sintetizado, de forma asíncrona (eventos) o síncrona (la llamada devuelve el control cuando el sonido termina).
Qué cambia #
- Un cambio pedido por su código (
of_select_*,of_expand,of_open…) lanza el mismo evento que un gesto del usuario, comoSelectTaben PowerBuilder; las preguntas hechas antes de un cambio son opcionales y se activan con una propiedadib_veto_*. - Se van dos métodos:
of_set_datade la tabla dinámica pasa a serof_from_datastore, yof_transformde XML desaparece con XSLT, que el motor del navegador está retirando. Algunos nombres y recuentos se alinean con el resto de la biblioteca. Los detalles, y qué modificar: Migrar de la 3.0 a la 4.0. - Los temas siguen a la aplicación: el acento que fija sobrevive a un cambio de tema, y un eje de tema dejado vacío sigue el suyo.
En el resto de la biblioteca #
- El teclado de la ventana: Intro pulsa el botón predeterminado más cercano al foco, los atajos de un componente responden desde toda la ventana, también una letra subrayada (
&Guardar), y F10 abre la barra de menús. - Todos los menús desplegables buscan al teclear y siguen fluidos con miles de entradas.
- Texto enriquecido: la etiqueta
[symbol=nombre]añade dieciocho glifos monocromos (reloj, lugar, persona, calendario…) que siguen el color del texto. - Novedades en la mayoría de los componentes entregados — pestañas con el teclado (Ctrl+Tab, clic central), paneles separados con un doble clic, chevrón de desbordamiento de la barra de menús, lista desplegable en la barra de herramientas, registro línea a línea del statictext, tamaño real de una imagen, lectura de una celda de la tabla dinámica… La lista completa, componente por componente, está en Migrar de la 3.0 a la 4.0 y en el historial de cada componente.
- Un asistente de IA (Claude, Cursor, VS Code…) puede consultar la API exacta de su versión y comprobar el código que propone, gracias al servidor MCP de la documentación entregado con la demostración.
Corregido #
- Una propiedad decimal (
double) se releía con el separador del equipo: en un Windows francés,1.5volvía mal. - El clic derecho sobre un elemento ya solo produce un evento, en todos los componentes.
- Tiles box:
of_get_layoutdevolvía una disposición vacía.
3.0 — septiembre 2026 #
Once componentes: datos, utilidades y medios #
- Breadcrumb — la ruta de navegación: dónde se está, y vuelta a cualquier nivel con un clic. Ramas abiertas bajo demanda, escritura directa de la ruta, archivos soltados sobre un segmento.
- Button bar — una fila de botones de comando — icono, etiqueta o ambos — en un solo componente; un clic devuelve la clave del botón.
- Crosstab — la tabla dinámica de un DataStore: filas, columnas, valores agregados, filtros, subtotales, campos y medidas calculados, exportación a CSV y Excel.
- Crypto — huellas, HMAC, cifrado por contraseña o por clave, firmas RSA, ECDSA y Ed25519, JWT, contraseñas con sal, TOTP de doble factor y DPAPI — sin instalar nada.
- JSON — construir un documento JSON tipo a tipo, leerlo a lo largo de una ruta y modificarlo en su sitio, en PowerScript puro.
- JSON tree — un documento JSON mostrado como en un editor de código: números de línea, coloreado por tipo, cada bloque plegable, búsqueda.
- REST client — un cliente HTTPS nativo y asíncrono: GET, POST, cabeceras, JSON, multipart, cookies, reintentos, descarga de archivos — sin el muro CORS de un navegador.
- Speech out — la lectura en voz alta con las voces instaladas en el equipo: frase y palabra en curso, cola, diccionario de pronunciación, lectura síncrona.
- Video player — un reproductor de vídeo con su propia barra según el tema: subtítulos, pantalla completa, capítulos, marcadores, lista de reproducción, captura de imagen.
- XML — construir un documento XML elemento a elemento y leerlo con un XPath de verdad: espacios de nombres, modificación, transformación XSLT.
- XML tree — un documento XML mostrado como en un editor de código: etiquetas, atributos y texto coloreados, cada elemento plegable, búsqueda.
Qué cambia #
- Toda posición pasada a un método cuenta desde 1, como las que ya devuelven los eventos de reordenación; una entrada en cascada devuelve su dirección completa. Los detalles, y qué modificar: Migrar de la 2.0 a la 3.0.
- Button se sigue entregando y soportando, pero queda obsoleto en favor de Button bar: una fila de botones cabe en un solo componente.
En el resto de la biblioteca #
of_set_property,of_get_propertyyof_component_name: controlar una propiedad por su nombre, para una pantalla de ajustes o una configuración guardada.- El cuadro de mensaje ofrece una lista de opciones (
of_add_choice,of_choose) además de sus botones.
Corregido #
- Un color releído (
il_text_color,il_accent…) devolvía0, negro, estuviera fijado o no: devuelve el color fijado, y-1cuando es el del tema. ue_errorde Picture y Shell explorer nunca se lanzaba.- Texto enriquecido: una
[palabra]desconocida hacía desaparecer el resto del texto; ahora se muestra tal cual. - Barra de estado:
ue_panel_rclickedda coordenadas de pantalla, para pasarlas tal cual a un menú contextual.
2.0 — septiembre 2026 #
Cinco componentes, todos dedicados a la navegación #
- Menu bar — barra de menús de la aplicación: menús, submenús, entradas marcables, separadores, iconos, atajos y mnemónicos
&Archivo, dibujada por la biblioteca en el tema de la aplicación. - Command palette — un atajo, tres letras, y cualquier acción de la aplicación se alcanza sin buscarla en los menús. Busca en la etiqueta, el grupo y las palabras clave, varias palabras a la vez.
- Radial menu — los comandos en corona alrededor del cursor al hacer clic derecho, elegidos por su dirección en lugar de recorrer una lista.
- Shell explorer — el árbol del shell real de Windows: Escritorio, Este equipo, unidades, carpetas, Red, con los iconos del equipo. Un solo
of_expandabre una ruta profunda. - Stepbar — el hilo de pasos de un asistente: los superados, el actual y los que quedan, en horizontal o en vertical.
Una API remodelada sobre los dieciséis de la 1.0 #
Una clave, una dirección; todo desde el componente; una adición devuelve un código. Las tres reglas, el antes/después y cada firma cambiada están en Migrar de la 1.0 a la 2.0. El motivo: un handle que añadía no podía decir que había rechazado, y tres argumentos para designar un item obligaban a cada componente a inventar su propia manera de hacerlo.
En todos los componentes #
of_count,of_keys_atyof_has, en el componente y en cada nivel: lo que contiene un componente se pregunta, ya no hay que llevar la cuenta uno mismo.- Todo método que devuelve un
longdice qué significa su retorno:0aplicado,-5argumento no válido,-2componente no creado — en la doc integrada de la demo igual que aquí. - Las propiedades de un item se releen en directo: el icono de una entrada de la listbar, el texto y el icono de un mosaico, el estado de un botón de barra — un getter dice lo que está en pantalla, nunca un valor memorizado.
ib_visibleen cada entrada de menú — barra de menús, menú contextual, menú radial, menús de la cinta: ocultar no es atenuar, la entrada sale del menú, atajo incluido, y conserva su clave para volver.- La barra de estado construye sus menús entrada a entrada (
of_add_menu_item ("panel/id", …)), con un handle de entrada que atenúa, marca y oculta — en lugar de los dos arrays paralelos deof_set_panel_menu. ue_script_error: un error de script en la página llega a PowerBuilder con su mensaje y su pila, en lugar de perderse.
Corregido #
- Un item desactivado u oculto ya no responde a nada: ni clic ni teclado — la listbar aún seleccionaba una entrada atenuada con Intro.
- El texto atenuado se lee en todos los temas (contraste 3:1 como mínimo), y el texto al pasar el ratón también en modo oscuro — dos botones desactivados de la cinta se volvían invisibles en Office 2007.
- Una ruta de Windows leída desde la página volvía con las barras invertidas duplicadas (
C:\\Windows); un valor con comillas quedaba cortado. - Dock container: el panel fijado a la izquierda perdía su borde derecho por encima del 100 % de escala de pantalla.
- Cinta: el icono de un botón desactivado no se atenuaba en modo compacto; un título de la barra de menús se iluminaba a la vez que el que estaba bajo el ratón.
- Editor de código: el texto releído tras un plegado era el antiguo, y desplegar sobrescribía lo tecleado.
1.0 — agosto 2026 #
Primera versión: dieciséis componentes — button, code editor, dock container, listbar, message box, PDF viewer, picture, progress, ribbon, statictext, statusbar, tab, tiles box, toaster, toolbar, web browser — una sola DLL que implementar, x86 y x64 con el mismo nombre, sin dependencia .NET, ActiveX ni PBNI. Temas Office, Fluent y Metro, claro y oscuro; seis idiomas y RTL; licencia totalmente sin conexión; PowerBuilder 10.2 a 2025.