Error catastrófico

Hola estoy trabajando con una ventana en Java32, al querer ingresar valores a una caja de texto uso el método TypeFromClipboard, sin embargo muchas de la veces me genera el siguiente error.

Last Error: Char: 128
Error catastrófico

Ya usé este mismo método con parámetros para que no comprobara el texto, y al parecer esta caja de texto no lo soporta.

He intentado usar otros métodos para este tipo de ventana, por ejemplo el Value, pero al hacer clic en buscar, me sale un alerta indicándome que tiene que haber un valor.
En la documentación no aparece mas opciones para el manejo de valores en Java32, inclusive use el Win_[method], pero no he tenido éxito.

¿Existen más alternativas para este tipo de casos?

pd: El rpa que uso es el más actual (2.7).

Hola Juan:

Mira en el visor de sucesos de Windows si Cartes deja algún error más descriptivo que dé más pistas. Así contado parece todo un misterio.

Lo de la alerta es “normal”. En ocasiones el programador que hizo la aplicación obliga a que el componente reciba las teclas; es habitual para calcular campos normalizados, contraseñas… la tecla es el evento que dispara alguna acción interna.

La máquina virtual de java y el access bridge son bastante endebles, suelen dar problemas si las usas intensivamente al cabo de un rato. Esto tal vez lo puedas evitar cerrando y abriendo la sesión de Windows cada 2 o 3 horas.

Las posibles opciones que te propongo son:

  • Es posible que la aplicación destruya la caja de texto y vuelva a crearla. Pon un reset.
  • Prueba capturando la ventana con win32 y usa typeword. Ceo que el problema es el portpapeles.
  • Yo sospecho que hay un problema entre el portapapeles y la caja de texto de java. Vamos que el valor no pasa del portapapeles a la caja de texto, salta un error: tu error. Si esto es así podrías probar a escribir ignorando el error. Algo así como…

repeat
sleep(1000);
reset(“java32”);
Cartes.Execute("$CajaTexto.typefromclipboard(“Hola mundo”);");
until Cartes.LastError = “”;

Pruébalo y añade lo que necesites, como un time out

Cuéntame si te funciona.

Gracias por tu pronta respuesta, ya resolví este inconveniente, la manera en que lo hice fue capturando toda la ventana el cual está como WIN32 y no como Java, de esta manera me pude mover hasta las coordenadas donde se encontraba la caja de texto para escribir, el método que use en la ventana capturada fue TypeFromClipboard algo así $Ventana.TypeFromClipboard(x, y,“text”, 0,0);

Anexo el error que generaba directamente con la caja de texto en JAVA32

IMG_20180731_120602825