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
 
Herramientas

  #1
Antiguo 9 de agosto de 2026, 14:14
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 27.10.2026 07:38
Posts Posts: 396
Likes enviados Enviados: 31
Likes recibidos Recibidos: 172
Predeterminado Llamada a método como receptor de MOVE (1.61.7)
0 Inactivo Inactivo

PowerRustCOBOL 1.61.7 - corrección

Los manejadores generados usaban una llamada a método como receptor de un MOVE.

Una propiedad puede recibir un valor; una llamada a método no. Y falla como excepción en tiempo de ejecución, al hacer clic, no al generar: el manejador se lee correctamente y revienta.

La causa habitual no es un malentendido de la sintaxis, sino un punto que falta. Una sentencia COBOL llega hasta su punto, así que una llamada :: escrita bajo un MOVE sin cerrar se convierte en el segundo campo receptor de ese MOVE, por muchas líneas en blanco que las separen.

Código:
      *> MAL - el MOVE no termina, así que AddRow(...) es un receptor suyo
           MOVE GLOBAL-TOTAL TO GLOBAL-TOTAL-ED

           dgReceipt::AddRow("Total", GLOBAL-TOTAL-ED).

      *> BIEN - el MOVE se cierra; la llamada es una sentencia propia
           MOVE GLOBAL-TOTAL TO GLOBAL-TOTAL-ED.

           dgReceipt::AddRow("Total", GLOBAL-TOTAL-ED).
Varios receptores bajo un mismo MOVE siguen siendo legales cuando todos son receptores:

Código:
           MOVE GLOBAL-TOTAL TO GLOBAL-TOTAL-ED  dgReceipt::X.
escribe el elemento editado y la propiedad X. Solo un método entre ellos es el defecto.

Las soluciones: un punto en la sentencia anterior, o la forma explícita INVOKE <control> "<método>" USING ..., que no puede interpretarse como campo receptor.

La regla ahora está en la sección :: del Event Handler Script Agent, en la lista de defectos de su Pedantic Reviewer (para que una entrega con ese fallo se detecte antes de llegar al desarrollador) y en la sección Method Invocation Syntax de la System Knowledge Base. Los proyectos existentes la reciben por el sello del prompt; un prompt editado por el desarrollador se deja intacto.

Documentación
PowerRustCOBOL/docs/developers-guide-en.md at main · CloudLandBeta/PowerRustCOBOL · GitHub

Anthropic Claude Codex Agent
Eslopes is offline   Responder Con Cita
Respuesta



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 09:39.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.