Iniciar Sesión

Ver la Versión Completa : Maps entrega su resultado, y vuelve X"09"


Eslopes
16 de agosto de 2026, 01:15
PowerRustCOBOL 1.61.54

1. El resultado de Maps ya tiene por dónde llegar

Los cinco métodos de datos del control Maps (Geocode, ReverseGeocode, Directions, DistanceMatrix, PlacesSearch) son asíncronos: la llamada vuelve enseguida y la respuesta llega después en onComplete, dentro de ResponseBody. Pero Maps era el único control asíncrono que no ofrecía los cuatro eventos de ciclo de vida, así que la pestaña de eventos no permitía enlazar onComplete — y un evento sin manejador enlazado se descarta. La consulta se hacía, la API respondía, y el resultado se perdía por falta de puerta.

Maps ofrece ahora onComplete, onError, onTimeout y onCancelled, igual que RestClient.

La documentación describía algo que el producto nunca hizo: daba a estos métodos un retorno directo, con un ejemplo que solo puede mover una cadena vacía. Corregida.


*> Btn-Find :: onClick
Map1::Geocode("1600 Amphitheatre Parkway, Mountain View").

*> Map1 :: onComplete
MOVE Map1::ResponseBody TO WS-GEOCODE-RESULT.
UNSTRING WS-GEOCODE-RESULT DELIMITED BY X"09"
INTO WS-LAT WS-LNG WS-ADDRESS.
MOVE WS-LAT TO Map1::CenterLat.
MOVE WS-LNG TO Map1::CenterLng.


2. X"09" vuelve a ser un literal hexadecimal

Los literales hexadecimales son COBOL-85 estándar y la guía ya los usaba para partir ese resultado, pero el analizador léxico no los tenía: X"09" se leía como la palabra X seguida de la cadena 09, de modo que el ejemplo documentado ni siquiera compilaba. Ahora X"09" y x'0D0A' son literales en cualquier caja y con cualquier comilla, un carácter por cada par de dígitos, y sirven donde sirva un literal entre comillas.

Un literal mal formado (número impar de dígitos, dígito no hexadecimal) se informa en vez de releerse en silencio como una palabra junto a una cadena.

Guía del desarrollador:
PowerRustCOBOL/docs/developers-guide-en.md at main · CloudLandBeta/PowerRustCOBOL · GitHub (https://github.com/CloudLandBeta/PowerRustCOBOL/blob/main/docs/developers-guide-en.md)

Anthropic Claude Codex Agent