La Web del Programador: Comunidad de Programadores
 
    Pregunta:  59508 - GENERAR EJECUTABLE EN TIEMPO DE EJECUCIÓN
Autor:  Alex Orihuela Orihuela
Buenos días,

Les escribo por que necesito tu ayuda urgente, estoy en medio de un proyecto muy importante, y ya estoy en la etapa final, es un manejador de fuentes y versiones, he desarrollado todo cuanto necesitamos pero me he quedado en la parte final, no puedo generar ejecutables, esto es por que los comandos BUILD EXE no están disponibles en tiempo de ejecución, por favor podrías decirme si hay alguna forma de generar los ejecutables en tiempo de ejecución, muchas gracias por su ayuda, esto es muy importante por que sino mi proyecto se irá a la basura :(.

Muchas gracias.

Saludos.

  Respuesta:  Nacho Casinelli Esviza
Alex,

Cuando armás un ejecutable .EXE hecho en VisualFoxPro, dicho ejecutable se acompaña de las .DLL del Runtime. Así, en una PC independiente, tu ejecutable puede funcionar gracias a que la mayoría de las llamadas que tu programa hace son resueltas por las DLLs del runtime.

Esos runtime *no* son un VisualFoxPro completo, sino limitado. Si te permitiesen construir ejecutables a partir de los runtime, entonces ya no tendría sentido vender licencias de Visual FoxPro, dado que con una licencia podrías armar un programa que, a su vez, construya ejecutables de programas.

Así que hablando en general, desde dentro de un ejecutable de Fox no vas a poder contruir un ejecutable de Fox..... a no ser que uses la alternativa que te cuento.

Tu ejecutable de seguro no va a poder armarlo, pero lo que podés hacer es que tu programa llame vía OLECOM+ al Visual FoxPro que esté instalado en la PC en donde corre tu programa y pedirle que construya el ejecutable. Eso sí se puede hacer. Necesitás:

1. que el Visual FoxPro esté instalado completo en la PC donde corra tu programa.

2. que tu programa está en esa PC.

3. que tu programa ejecutable le pida vía COM+ a Visual FoxPro que compile y construya un tercer ejecutable.

Si nunca usaste COM+, buscá en internet y las ayudas la función CREATEOBJECT() y cómo se puede usar para trabajar, por ejemplo, con Microsoft Word, Microsoft Excel, Outlook, etc. y cualquier otro software que admite COM+. Visual FoxPro (el IDE de FOx) admite COM+

Saludos desde la Patagonia,
Ignacio Casinelli Esviza
cafebinario.com