PDA

Ver la Versión Completa : ¿Esto es posible en Delphi?


Pedrote
25-12-2007, 00:24:40
¿Se puede embeder un ejecutable(binario) en delphi y ejecutarlo unicamente cuando yo quiera o es necesario que este almacenado en el Disco duro?¿Cómo podría hacerlo?

Muchas gracias.

Al González
25-12-2007, 01:21:02
¡Hola!

No existe la palabra "embeder", pero si te refieres al verbo inglés embed, es decir, en español empotrar (dicho sea de paso, traducción avalada por Alan Freedman en su diccionario informático), la respuesta es sí.

Hace más de 10 años lo hacía ya con Turbo Pascal (el ancestro de Delphi). Pero antes de ahondar en el tema, comparte con nosotros cuál es el propósito, ¿qué objetivo persigues con ello?. ¿De qué trata el caso? (vale detallarlo ;)).

Un abrazo empotrado.

Al González. :)

Pedrote
25-12-2007, 02:21:57
Lo siento siempre vi escrita la palabra así en diversos libros, pero tengo que darte la razón ya que me surguió el gusanillo y la consulte en la RAE y vi que dicha palabra no existía.jeje

Bueno el propósito como bien dices tú el siguiente estoy creando una apliación "launcher" por así llamarlo para el cliente de un juego, el proposito de esto es que dicho programa aparate de dar diversos servicios además lance el cliente del juego y si se puede empotrar como hacerlo.

Muchas gracias.
No se si me expresé bien :S

FGarcia
25-12-2007, 04:52:33
Embed tambien se puede traducir como embeber (http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=embeber)la cual tambien existe en RAE. Tal vez la peor traduccion que he leido es "encamar".

Al González
25-12-2007, 05:36:25
¡Hola a todos!

Embed tambien se puede traducir como embeber (http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=embeber)la cual tambien existe en RAE....
"embeber" también existe en el diccionario, y su traducción al inglés es "imbibe (http://www.allwords.com/query.php?SearchType=3&Keyword=imbibe&Language=ENG)", pero no "embed (http://www.allwords.com/query.php?SearchType=3&Keyword=embed&Language=ENG)". ;)

No caigamos en la mala costumbre de traducir vocablos en base a semejanza gráfica, ni con el espurio sostén dado por el parecido existente entre dos acepciones.

Celebro que por lo menos el chasco que a algunos provoca descubrir que "library (http://www.wordreference.com/es/translation.asp?tranword=library)" es "biblioteca" y no "librería (http://www.wordreference.com/es/en/translation.asp?spen=librería)", ya genera conciencia en los autores de libros y publicaciones informáticos, y voluntad de consulta en los lectores y foristas.

Un fiel abrazo.

Al González. :)

Pedrote
25-12-2007, 17:02:13
Bueno me guiais un poco con el tema?

Al González
25-12-2007, 18:42:21
Bueno, para que un programa en Delphi llame a cualquier ejecutable, puedes utilizar la función ShellExecute de la API de Windows. Pero mi duda ahora es por qué debe estar el segundo programa dentro del primero y no como archivo separado, que sería lo normal. :confused:

dec
25-12-2007, 19:22:50
Hola,

En este hilo (http://www.clubdelphi.com/foros/showthread.php?t=26435) se muestra cómo puedes incluir un archivo de texto en un ejecutable. El procedimiento es el mismo que para otro tipo de archivos. Bastaría luego conque extrajeras el archivo del ejecutable e hicieras lo que fuera menester: ejecutarlo a su vez, por ejemplo, mediante la función que te indica Al.

JXJ
25-12-2007, 20:00:23
Embeded es incrustar, si no hay potros para empotrar.
Eso es lo que se hace con un ejecutable, a su estructura binaria
se le incrusta un recurso o un ejecutable

se le empotraria si y solo si, ee ejecutable tuviera, su contraparte
en estrutura binaria, para empotrarle algo, por ejemplo
plugins, se empotrarian. aunque no sean caballos

ahora hay la tecnica que dec, dice,
tambien puedes,
hacer una mas complicada, que seria modificar los ultimos offset
del ejecutable (tu lanzador) para incrustar tu ejecutable

la mas sencilla es que te consigas alguna suite o componente para hacer
archivos zip

dentro de los ejemplos de casi todos los componentes para delphi para hacer
componentes zip. vienen ejemplos de como hacer un comprimido zip autoextraible
que seria lo mas facil.

necesitarias un archivo stub(seguro viene como hacerlo dentro de los ejemplos
de los componentes que elijas), que hara las veces de el lanzador
del del juego que quieres usar, y que tambien será, el que de los servicios que dices.



y por supuesto el juego, lo incrustas en el lanzador
y tu ejecutable lo pones en el directorio donde te convenga,
o en el directorio temporal.

Pedrote
26-12-2007, 02:43:29
Muchas gracias a todos!