# Abrir formulario desde aplicación externa

**URL:** <https://foros.velneo.com/t/abrir-formulario-desde-aplicacion-externa/10736>\
**Category:** Velneo\
**Created:** [6 Mayo, 2021 10:47 UTC](https://foros.velneo.com/t/abrir-formulario-desde-aplicacion-externa/10736 "2021-05-06T10:47:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![carlos\_villora\_terce](https://avatars.discourse-cdn.com/v4/letter/c/278dde/32.png) [@carlos\_villora\_terce](https://foros.velneo.com/u/carlos_villora_terce)\
**Post date:** [6 Mayo, 2021 10:47 UTC](https://foros.velneo.com/t/abrir-formulario-desde-aplicacion-externa/10736/1 "2021-05-06T10:47:00Z")

</div>

Sigo trabajando en una manera de comunicar datos desde fuera hacía un vClient.

El objetivo es que al hacer una llamada se actualicé la base de datos y se abra un formulario con esos datos automáticamente en un cliente que puedo identificar.

Ahora mismo tengo en el vServer un tcp servidor que recibe los datos correctamente y se los envía al vClient que también tiene un tcp servidor para recibir los datos. El problema es que desde el **tcp en modo servidor del cliente no soy capaz de abrir ningún formulario o vista**. He probado con acciones, manejadores de eventos, formulario de alta, modificación ,etc. Y lo único que consigo es que o no haga nada o se cierre la aplicación.

**¿Hay alguna forma desde el plano de ejecución de un tcp servidor ejecutándose en la máquina cliente abrir un formulario?**

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [6 Mayo, 2021 11:56 UTC](https://foros.velneo.com/t/abrir-formulario-desde-aplicacion-externa/10736/2 "2021-05-06T11:56:19Z")

</div>

Hola carlos\_villora\_tercero.

El **plano** de ejecución del servidor **TCP** es el segundo plano y ahí no tenemos interface. La consecuencia es que no podemos usar comandos de Interface.

Tienes que habilitar una forma de hacer saber al **1P** que el **TCP** quiere abrir un formulario.

Lo más rápido es que uses una **Variable Global** , ya que las variables Globales sí se comparten entre los 2 planos. Al mismo tiempo usa un **Timer** que colocas en un formulario dentro de un **DOCK** de la aplicación, de esta forma siempre está funcionando.

El **Timer** comprueba, cada cierto intérvalo, si la **Variable Global** ha cambiado y como ya estás en **1P** podrás ejecutar una **Acción** que abra el formulario.

Así el proceso es:  
Servidor TCP recibe algo \> Variable Global a 1 \> Timer del DOCK lee Variable Global \> Si 1 la pone a 0 \> Ejecuta la ACCION.

Pruébalo.  
Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![carlos\_villora\_terce](https://avatars.discourse-cdn.com/v4/letter/c/278dde/32.png) [@carlos\_villora\_terce](https://foros.velneo.com/u/carlos_villora_terce)\
**Post date:** [6 Mayo, 2021 13:15 UTC](https://foros.velneo.com/t/abrir-formulario-desde-aplicacion-externa/10736/3 "2021-05-06T13:15:39Z")

</div>

Gracias, suena prometedor, luego lo intentaré
