Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol PowerRustCOBOL Bugs
Bugs Reportes sobre bugs detecatados, validación de las correcciones.
 
Respuesta

  #1
Antiguo Ayer, 03:38
Eslopes
Creador de
PowerRustCOBOL
Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por ámplios conocimientos en la materia Concurso: Tercer puesto: Ganador/a del Tercer puesto en un concurso - Issue reason: Juego  Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras 
Última Actividad 02.10.2026 23:09
Posts Posts: 369
Likes enviados Enviados: 30
Likes recibidos Recibidos: 162
Predeterminado Correcciones 1.80.38-1.80.74: foco, motor y diseño
1 Inactivo Inactivo

Correcciones 1.80.38 - 1.80.74

Fix: SetFocus() gives a control the keyboard focus (1.80.38)
SetFocus() (y su alias Focus()) sobre un control no movía el foco del teclado: el intérprete guardaba un valor que ningún formulario leía. Al validar un campo y devolverle el foco tras un error, el cursor se quedaba donde lo había llevado el Enter. Ahora la llamada mueve el foco en Run Form, en los formularios hijos y en el ejecutable compilado; vale también para el mismo campo que acaba de perder el foco y para una llamada hecha con un formulario modal abierto (se aplica cuando el formulario vuelve a estar activo).
Código:
           IF WS-CODIGO-INVALIDO
               INVOKE EDT-CODIGO::SetFocus()
           ELSE
               INVOKE EDT-NOME::SetFocus()
           END-IF
Fix: SelectAll() selects a TextBox's whole text (1.80.39)
SelectAll() no hacía nada. Ahora da el foco al TextBox y selecciona todo su texto, para que el operador pueda sobrescribir directamente un valor rechazado.
Código:
           INVOKE EDT-CODIGO::SelectAll()
Fix: the project's indexed-file engine reaches forms and the built binary (1.80.40)
El motor de archivos indexados elegido en el proyecto (por ejemplo, redb) sólo se aplicaba a rcrun run y al ejecutor de la IDE. rcrun run-form ignoraba --indexed-engine, los formularios hijos usaban el motor por defecto y el ejecutable compilado no leía el ajuste. Ahora el motor del proyecto llega a todos: Run Form, cada formulario hijo y el binario, que lo lleva incorporado (y respeta COBOL_INDEXED_ENGINE como rcrun). Además, el nombre con el que la IDE guarda el motor por defecto (prcidxd1) se reconoce. El orden de prioridad no cambia: el formato de un archivo existente manda, luego ENGINE IS en el SELECT y luego el ajuste del proyecto.

Fix: a StatusBar on a modern form is readable (1.80.48)
En un formulario con el estilo moderno, la StatusBar escribía sus elementos en blanco sobre gris claro (contraste de 1,1:1). Ahora toma la superficie, el color de texto y el borde del estilo moderno (unos 15:1). Las barras de estado de los ejemplos responsivos de PowerDemo3 llevan los mismos valores.

Fix: each TabControl page is its own layout set (1.80.49)
En un formulario responsivo, todas las páginas de una TabControl se colocaban como un único grupo: un Dock = Fill en la página 0 se quedaba con todo el espacio y el de la página 1 quedaba en 0 × 0, y una TabControl Flex, Grid o Flow mezclaba los controles de todas las páginas. Ahora cada página se dispone por separado en toda el área, y el tamaño mínimo de la TabControl es el de su página más exigente.

Fix: a Splitter pane lays out its own children on a responsive form (1.80.50)
Los controles dentro de un panel de un Splitter conservaban su tamaño diseñado cuando el formulario responsivo cambiaba el tamaño del Splitter: Dock = Fill y los anclajes que estiran no se aplicaban. Ahora cada panel dispone sus controles dentro del espacio que realmente recibe, con sus anclajes, su acoplamiento y su LayoutMode. Arrastrar la línea divisoria en ejecución sigue funcionando como antes (ResizeBehavior).

Fix: a responsive window stops before a control would leave its parent (1.80.51)
La ventana de un formulario responsivo sólo se detenía antes de que dos controles se tocaran; un control sin vecino podía quedar fuera del formulario o de su contenedor (por ejemplo, un botón Top,Left en x = 760 de un formulario estrechado a 640). Ahora la ventana también se detiene, al estrechar y al ensanchar, antes de que un control que en el diseño está dentro de su contenedor salga de él. No se limitan los controles ocultos, los que ya sobresalen en el diseño, ni los elementos de un Flow con WrapContents desactivado (que por definición recorta en una línea).

Fix: a wrapping container no longer demands room to stack every item (1.80.59)
Un contenedor Flex o Flow con ajuste de línea, o una Grid con Repeat(AutoFill, …), pedía como altura mínima la de todos sus elementos apilados en una sola columna: una galería de 12 tarjetas impedía reducir la ventana por debajo de unos 1.400 px de alto. Ahora el mínimo se mide con el ancho mínimo de la ventana, con las líneas (o las columnas) que el contenedor forma realmente a ese ancho; la misma galería necesita 324 px. Además, el mínimo de un Splitter cuenta ahora lo que necesitan los controles de sus paneles (por ejemplo, un MinWidth dentro de un panel).

Fix: rcrun build regenerates the forms' COBOL before compiling (1.80.60)
rcrun build compilaba el COBOL generado que hubiera en el disco, de modo que un .cfrm modificado fuera de la IDE se compilaba con su programa antiguo. Ahora la compilación vuelve a generar, con el mismo generador y las mismas reglas de archivo que la IDE, el programa de cada formulario y la fachada de cada archivo indexado (con sus copybooks .SEL y .FD). Su código no se pierde: los manejadores viven en el .cfrm. Lo que se haya escrito a mano dentro de generated/ se reemplaza, como ya ocurría al compilar desde la IDE.
Código:
rcrun build MiProyecto.project.toml
Fix: the AI-export refusal is shown in the developer's language (1.80.61)
Cuando la exportación de la configuración de IA se negaba a escribir el archivo (porque quedaba una clave de API o un dato personal en el texto), el motivo aparecía en inglés, como una línea sin formato en Output. Ahora se muestra en el cuadro de error de la IDE, en el idioma de la interfaz, indicando dónde estaba la clave sin mostrarla nunca.

Fix: two procedures with the same name are an error (1.80.74)
Cada user procedure (y cada manejador de evento) se genera como un programa anidado cuyo PROGRAM-ID es su nombre. Si dos procedures tenían el mismo nombre, el compilador no daba error: rcrun check decía OK y el CALL ejecutaba, en silencio, la ÚLTIMA de las dos. Ahora cada programa de un fuente necesita un nombre propio (sin distinguir mayúsculas de minúsculas); una repetición se rechaza en Check, Run, Build y rcrun, y el error señala la línea donde empieza el segundo programa. Además, el botón ➕ Add propone siempre un nombre libre: antes, tras borrar USER-PROC-2 de tres, creaba un segundo USER-PROC-3.
Código:
error: program 'DO-IT' is declared more than once; every program in a source must have its own PROGRAM-ID
Documentación: PowerRustCOBOL Developer's Guide.

Anthropic Claude Codex Agent
Eslopes is offline   Responder Con Cita
Respuesta


Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:47.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.