PDA

Ver la Versión Completa : Generar Exes


Descendents
05-12-2003, 08:26:47
Por favor necesito ayuda y no tengo ni idea por donde empezar.

Tengo que realizar una aplicación muy pequeña, pero no se por donde empezar, porque.........

La aplicación se basa en que yo pido unas diez opciones, y según las opciones que me escojan, tengo que crear un exe de una manera o un exe de otra manera.

Un creador de exes.

Delphi crea un exe al compilar, segun si hemos programadode una manera o de otra, lo hace de una manera o de otra.

Entonces lo mismo pero con muchos menos paramentros.

Supongo que me entienden.

Gracias de antemano

Un saludo

brandolin
05-12-2003, 13:15:28
La verdad es que no te entiendo, pero deberias decirnos como que clase de parametros necesitas, y se me ocurre que la aplicacion podria escribir automaticamente codigo delphi y luego invocar al compilador y el exe lo crearia el mismo compilador.

De no ser esto posible, deberias crearte un compilador propio.

¿Que clase de aplicacion seria la resultante de este EXE creado?

Descendents
05-12-2003, 15:47:21
Buenas
Por ejemplo para que lo entiendas mejor.

Inno setup, es un programa que se ha realizado en delphi

Inno setup es un programa tipo installshield que crea instaladores.

Inno setup crea exes, crea el setup.exe

Pero los instaladores que crea no dejan de ser exes(aplicaciones)

Pues bien como puedo crear un programa que el mismo pueda crear exes.

Por que lo de crear yo mismo un compilador??

No tengo ni idea de que cantidad de trabajo me puede llevar.
pero ni idea.

Por donde empezar??
No se.

A ver si alguien puede guiarme
Un saludo

delphi.com.ar
05-12-2003, 15:53:57
Descendents comentó:
No tengo ni idea de que cantidad de trabajo me puede llevar.

¡¡Mucho!!


Bueno, no es la idea asustarte, pero te recomiendo buscar en la red teoría de compiladores, mismo compiladores open source, y sabrás si es una tarea como para vos. Crear un compilador propietario requiere un fuerte conocimiento de lenguage ensamblador.
Por otro lado, yo he hecho un programita propietario para crear instalaciones bastante flexible, que no es mas que un interprete de un script que se agrega al mismo exe interprete. En el foro ya se ha hablado de como anexar archivos a nuestro exe. Estate seguro que esta solución es mucho mas sencilla que la que tu propones.

Saludos!

delphi.com.ar
05-12-2003, 16:03:04
Otra opción es tener parte de código compilado, o valerte de algún compilador gratuito existente, y escribir el código a compilar.

Saludos!

Descendents
05-12-2003, 17:01:21
No , mi intención no es hacer un compilador, porque no tengo el nivel suficiente.

Pero entiendo que tu me estas dando una alternativca, pero no la entiendo.

Cuando hablas de propietario a que te refieres?desconozco que significa programa propietario.

Cuando me hablas de anexar archivos a nuestro exe a que te refieres?

y otra cosa, donde se ha hablado de este tema?Lo digo porque voy a la búsqueda del foro y me da un CRITICAL ERROR, y no puedo buascar.

entiendo que El programa que hicisete para hacer instalaciones, crea exes, ¿no?

Es posible hecharle mano a la parte del código que me interesa?

que solución crees que es la mejor para mi problema?

Perdona mi pesadez y mi ignorancia

Muchas gracias
Muy agradecido

Un saludo

delphi.com.ar
05-12-2003, 17:09:14
Cuando digo propietario, digo que lo he escrito... digamos que no he utilizado nada preexistente.
El instalador que es un exe, que interpreta un script con todos los pasos a seguir, que guarda como recurso del mismo exe el script con todos los archivos necesarios para la instalación, comprimidos previamente.

En este hilo se ha hablado de incluír archivos en nuestro exe:Juntar dos archivos en uno (http://www.clubdelphi.com/foros/showthread.php?s=&threadid=3482)

Saludos!

hecjona
05-12-2003, 17:50:15
Mi opinion y pensanso en voz alta:

Quizas yo lo manejaria Como lo dice Delphi.com.ar:

1.- Hago un exe que interpreta scripts (estandarizados por ti).
2.- En programa principal crearias el script y lo guardas en un .Ini

3.- El resultado son dos archivos el interprete y el ini en base a las opciones establecidas en el diseñador.

Crear el interprete seria algo complejo (depende de ti y de los limites y opciones que establescas) pero seria menos complejo que realizar un compilador.

Nota: si no quieres manejar dos archivos resultantes puedes tratar de modificar recursos de un exe.... pero no creo que sea tan facil.

Descendents
05-12-2003, 17:55:04
Creo entenderte.

A ver si voy bien encaminado

Creo dos proyectos , uno sera el de la aplicación que le indicare unos parametros y con ellos creo un script.

A continuación tengo el segundo proyecto(que es el programa final), que sera un exe que interpretara el script.

es decir no genero ningún exe.Tan solo genero un script que el segundo programa (el programa final) sera capaz de interpretarlo y a partir de ahi, realizara unas cosas u otras.

Hasta aki todo correcto.

Pero el script y el segundo programa tienen que ir juntos a todos sitios no?

Descendents
05-12-2003, 17:57:15
hecjona.Justo detrás tuyo

Si si , delphi.com.ar tiene razón. Es la mejor opción.

Descendents
05-12-2003, 18:02:50
Claro despues tendria que juntar dos archivos en uno, como delphi.com.ar me dijo antes indicandome un hilo, pero luego para poder ejecutar el programa final necesitaria acceder al script, y no tengo ni idea de como tirar marcha atrás la union de dos ficheros.

Me explico?

Supongo que por número de bytes, pero como sabria el numero de bytes?

Gracias
Un saludo

delphi.com.ar
05-12-2003, 18:21:45
decir la mejor opción me parece mucho... yo diría es una buena opción. ;)

Descendents comentó:
Supongo que por número de bytes, pero como sabria el numero de bytes?
Puedes guardar como último dato, en el final del EXE, un record de tamaño fijo con la información que necesites.

Saludos!

Descendents
05-12-2003, 18:52:38
Gracias por todo chicos.

Un saludo

Iba mal encaminado y ahora veo el camino ;p . En serio, muchas gracias.

Por cierto una última cosa, cuando desuno los archivos, es decir el script, el exe y un archivo más de información como me comenteba ahora en el ultimo post delphi.com.ar,

al desunirun archivo de 2000 bytes por ejemlo,como puedo desunir desde el byte 100 al byte 1000.

Como yo tengo escrito el código sólo puedo desunir desde el byte 0 al que yo quiera.

Tfilestream.CopyFrom(fsOrigen, fsOrigen.size);

Tfilestream.CopyFrom(archivo a desunir, tantos bytes);

tantos bytes = de 0 al número que yo diga de bytes.

Desunir por el final?? o por el medio del archivo a desunir??

Descendents
05-12-2003, 22:44:30
Ya sta,.
Todo correcto.
Muchas gracias delphi.com.ar y hecjona

Ya tengo todos los temas entendidos y se como hacerlo.

Ahora me tengo que poner manos a la obra

Un saludo