# ¿Estoy ejecutando desde vDevelop?

**URL:** <https://foros.velneo.com/t/estoy-ejecutando-desde-vdevelop/7095>\
**Category:** Velneo\
**Created:** [26 Mayo, 2014 10:23 UTC](https://foros.velneo.com/t/estoy-ejecutando-desde-vdevelop/7095 "2014-05-26T10:23:21Z")\
**Posts on this page:** 2\
**Page:** 1

<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:** [26 Mayo, 2014 10:23 UTC](https://foros.velneo.com/t/estoy-ejecutando-desde-vdevelop/7095/1 "2014-05-26T10:23:21Z")

</div>

Hola.

Yo sigo con mi rollo. El otro día vimos los efectos malignos que puede tener el editor de fórmulas cuando evalúa código javaScript en tiempo de diseño para detectar errores ([http://velneo.es/foros/topic/cosas-de-velneo/](http://velneo.es/foros/topic/cosas-de-velneo/)).

Pues bien, he encontrado una forma de controlar este efecto indeseado y poder seguir disfrutando con Velneo.

Os cuento:

La función **theApp.applicationFilePath** devuelve el Path completo del fichero ejecutable que está ejecutando nuestro código. En tiempo de diseño será siempre _vDevelop.exe_ y en tiempo de ejecución será _vClient.exe_ o _vdataClient.exe_ entre otros.

Bien, pues ya tenemos una forma de saber cuándo estamos en tiemnpo de diseño, y por lo tanto evitaremos que Velneo evalúe nuestro código y detecte errores inexistentes.

Añadimos entonces la siguiente función a nuestra librería de Funciones JS.  
``

```

// *****************************************************************
// Función esRunTime() - comprueba si estamos evaluando JavaScript desde vDevelop
// Retorna: true si estamos ejecutando el código desde vClient o vDataClient
function esRunTime() {
// En tiempo de diseño (desde el editor de fórmulas) la función
// theApp.applicationFilePath devolverá el path de vDevelop.exe
return theApp.applicationFilePath().search(/vDevelop.exe$/i) > 0 ? false : true;
};

```

Pongamos un ejemplo:

- Estamos en un manejador de Velneo y queremos parsear una cadena JSON para obtener el valor de un determinado Item ITEM\_01. La cadena JSON está guardada en una variable local CADENA\_JSON.
- Pondriamos el siguiente comando de Velneo con el editor de fórmulas en modo JavaScript:  
`
SET(VALOR_ITEM01, /JAVASCRIPT/
#include “4dr03ul4.vca/_MisFunciones.js”
if (esRunTime()) {
JSON_getValor(theRegister.varToString(“CADENA_JSON”),‘ITEM_01’) })
`

La función JSON\_getValor devolvería un error cuando se avalúa en tiempo de diseño porque la variable CADENA\_JSON no existe. Usando la función esRunTime() evitamos que esa línea se evalúa en tiempo de diseño.

Otro ejemplo más ilustrativo:  
``

```

SET(OK, /JAVASCRIPT/
#include “4dr03ul4.vca/_MisFunciones.js”
if (esRunTime()) {theApp.wait(5000)}

```

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![aztecmexico](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/aztecmexico/32/3498_2.png) [@aztecmexico](https://foros.velneo.com/u/aztecmexico)\
**Post date:** [26 Mayo, 2014 13:41 UTC](https://foros.velneo.com/t/estoy-ejecutando-desde-vdevelop/7095/2 "2014-05-26T13:41:30Z")

</div>

Como siempre Paco, Excelente aportación.
