Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/06/2011, 17:41
Avatar de Vanchi
Vanchi
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Io voy donde vo' vai... Ca'eza
Mensajes: 1.111
Antigüedad: 17 años, 3 meses
Puntos: 138
Respuesta: Script (crear funciones en tiempo de ejecución)

Güen día gente,

Me olvidé de comentarles.

Finalmente lo solucioné de otra manera:

Mi programa automáticamente crea un código fuente a partir del archivo de texto plano y luego lo compila y corre ese nuevo programa.

Ventajas:
Ahora tengo toda la potencia del VB.Net y solo algunas partes como tenía antes (con el control MSScriptControl)
El código fuente queda... de modo que si hay un error es mucho más fácil rastrear
Al quedar compilado, la ejecución es muchísimo más veloz... Solo tarda un poco la primer vez que se ejecuta el programa (cuando compila) luego la velocidad es increíblemente mayor.

Desventajas:
Antes creaba funciones on the fly por lo que podía devolver valores.
No encontré la forma de hacer que Sub Main se transforme en Function Main... Por lo que la ejecución de la "macro" (ahora como programa) no retorna ningún valor... Sin embargo esto lo solucioné fácilmente a partir de un dato reporte en archivo que hago que el programa que mi programa crea, escriba (no, programa no está escrito 2 veces por error. Está bien escrito así)

Saludos.

PD: Las herramientas que me fueron de suma utilidad es:
Código:
Dim provider As CodeDomProvider = Nothing
...
Dim cr As CompilerResults = provider.CompileAssemblyFromFile(cp, sourceName)
__________________
Según recientes estudios científicos, los 3 más grandes descubrimientos de la humanidad son: El fuego, la rueda y la minifalda.
Yo personalmente no le encuentro mucha utilidad a los 2 primeros.