12. Notas de la versión #
← Migrar de la 3.0 a la 4.0 · Índice · Asistente de IA →
Una versión adquirida nunca pierde sus componentes: la 4.0 contiene los treinta y dos de la 1.0 a la 3.0, y una clave cuyo mantenimiento cubre la fecha de su build compila con la DLL más reciente — véase Licencia.
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.