Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: DCelso on May 27, 2008, 12:29:29 PM

Title: eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie
Post by: DCelso on May 27, 2008, 12:29:29 PM
Hola acabo de hacer un editor de mapas de durezas para un proyecto que tengo en mente y he usado el bennu wip 2.
Resulta que para facilitarme el uso de funciones, abrí el bgdc.import y anadí todos los modulos de bennu.
Ahora he creado el ejecutable con -s bgdi.exe, y cuando lo ejecuto en una maquina externa tengo que copiar todos los dlls de bennu para que se ejecute en el directorio de mi programa. Si elimino alguno al ejecutar el exe hace como si no se hubiera ejecutado pero se queda en memoria, al hacer control alt suprimir se puede ver el proceso HardMapEditor.exe. Bueno eso no sería malo lo que pasa es que aún ejecutandose el programa bien dejando todos los dlls en ese mismo directorio y cerrando el programa bien, con "if key(_esc) letmealone, eliminacion de recursos en memoria, etc." sigue quedándose el proceso en memoria. Tengo que matarlo desde el manejador de procesos.

En cambio en la máquina en la que desarrollo con bennu tengo metidos los dlls en el patch y no pasa eso.
¿Alguien sabe alguna explicación de ello?
Es decir que se cierre, de alguna forma, correctamente la aplicación al ser distribuida a un ordenados sin un entorno de desarrollo bennu ni sin los dlls en el patch (sin estando junto al exe final).

Otra cosa, habría forma de poder eliminar los dlls que no he usado sin tener que reeditar el .import ni recompilar?

Saludos.

Title: Re: eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie
Post by: SplinterGU on May 27, 2008, 12:55:41 PM
A mi no me pasa eso, me podes pasar esos fuentes que decis?
Title: Re: eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie
Post by: SplinterGU on May 27, 2008, 01:00:16 PM
No te entiendo lo de las dlls... pero las dlls son parte del producto runtime (son parte el ejecutable, tenes que tener todas las que incluiste en el import...)
Pero me suena que el problema no es que no este alguna dll, debe quedar algun thread o algo corriendo... pero a mi no me pasa... mandame el proyecto completo, y yo lo pruebo...
Pensa que si vos no usas una dll, no significa que el sistema u otra dll la use.
Title: Re: eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie
Post by: DCelso on May 27, 2008, 01:02:07 PM
Si, bueno, aqui tengo la utilidad subida.
http://www.retroremakes.com/forum2/showthread.php?t=10873&page=3
A ver que tal, estoy haciendo mas pruebas en otros equipos a ver si va a ser culpa de este primer equipo.

Edit:
Con respecto a las dlls, lo que digo es que abrí el bgdi.import y metí todos pero todos los modulos, osea no solo los que uso sino todos y ahora el ejecutable final parece que los necesita todos. Es decir si borro por ejemplo el modulo de flc, que mi programa no usa pues no se ejecuta. Esto debe ser porque como ya le dije en el import que lo iba a usar el dcb final confía en mí y se cree que lo uso por lo que no se deja ejecutar sin el dll correspondiente.
Title: Re: eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie
Post by: SplinterGU on May 27, 2008, 01:10:24 PM
Claro, el import va a requerir todos los que declares, el problema es que las dlls no solo se usan desde el .prg, sino que se pueden usar desde otras dlls, entonces, el compilador no puede saber cual realmente es porque la usas en el .prg y cual porque se usa en otra dll... tambien otras dlls no aportan ninguna funcion al lenguaje, pero si aportan hooks, como por ejemplo la dll eventos sdl... otras aportan varias cosas, otras aportan no hooks, sino variables que son necesarias en otros modulos, un sin fin de cosas... lo que tenes que hacer es incluir las que uses... tampoco es necesario crear un .imp o .import... poder usar el 'import "modulo"' de siempre...
Title: Re: eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie
Post by: SplinterGU on May 27, 2008, 01:12:06 PM
El .zip me pide password, y tambien necesito los fuentes... para poder compilarlo y hacer pruebas yo...
Title: Re: eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie
Post by: DCelso on May 27, 2008, 01:18:08 PM
ups, sorry. Bueno la contraseña es la que un tonto pondría en sus maletas (como dicen en spaceballs) :D. 12345.
Ahora no tengo acceso al prg desde este equipo, prueba el exe, si te va será culpa de la configuración windows. en cuanto lo tenga te lo paso.
Saludos.
Title: Re: eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie
Post by: SplinterGU on May 27, 2008, 01:23:00 PM
Bueno, si eliminas las principales bgdi.dll y bgdruntime.dll, no te va a funcionar absolutamente nada...
Pero, aun sin esas dlls, me aparece una ventana que dice que no se encuentra la dll, y no queda corriendo el ejecutable...

Con ESC no sale el proceso... sigue corriendo... o no estas matando todos los procesos o no estas usando ESC... y te das cuenta si hay un problema en el exe, ya que si asi fuese, no saldria con ALT+X
Title: Re: eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie
Post by: SplinterGU on May 27, 2008, 01:28:50 PM
Rectifico post anterior... copiadas dichas dlls, borre la mod_cd.dll y no queda corriendo el programa, me deja un archivo llamado stderr.txt con el siguiente contenido:

[ENGINE] File C:\DevBennu\workspace\ddragon\00b-stageMap.prg not foundCould not load library.

Obviamente ese mensaje de error no muestra lo correcto, y en las ultimas versiones ya esta corregido, pero es claro que señala que hay un error en la inclusion modulo requerido.
Title: Re: eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie
Post by: DCelso on May 27, 2008, 01:58:00 PM
Buenoo, creo que estaba relaccionado con que faltaban las dlls  principales, ahora no me pasa.
Se ha solucionado solo o bien es culpa del antivirus que tengo en el otro equipo que deja el proceso abierto analizándolo.
Gracias de todas formas.
En cuanto al error del stdout, a mi siempre me aparece aunque funcione bien, pero bueno como dices que se ha corregido para siguientes versiones, pues da igual.
Si quiers probar el ejemplo bajatelo otra vez que viene ya con un escenario para que puedas llegar al editor.
En cuanto al esc, es verdad al principio hasta que no elijas un número y des a enter no lo compruebo (pero luego en el editor ya si que va), valla fallaco .D, ya lo corregiré.
Title: Re: eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie
Post by: SplinterGU on May 27, 2008, 02:02:21 PM
Lo de solucionado me referia al texto... el archivo ya no aparece tampoco, porque ya no usa mas para loguear, pero en el caso de usarlo no esta mal que lo deje...
Bien, lo probare...
Title: Re: eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie
Post by: SplinterGU on May 27, 2008, 02:05:01 PM
O es el mismo archivo, o el foro ese solo deja 1 que tenga el mismo nombre... no se... pero baje lo mismo que antes... no importa igual, gracias...
Title: Re: eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie
Post by: DCelso on May 27, 2008, 03:47:25 PM
Jur, el fallo es que subí el mismo yo que estoy ahora tontuno :(.
Ya he subido el nuevo, por si os apetece verlo :D.
Title: Re: eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie
Post by: SplinterGU on May 27, 2008, 04:11:06 PM
Ahhh, no me habia dado cuenta del mensaje anterior, hay 2 mensajes:

1) [ENGINE] File C:\DevBennu\workspace\ddragon\00b-stageMap.prg not found
2) Could not load library.

Falta el enter para separarlos, el primero dice que no esta el fuente del programa, y el 2do que no puede cargar la lib.

Title: Re: eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie
Post by: DCelso on June 03, 2008, 03:02:49 PM
Nada, he eliminado el mensaje que puse porque iba en la respuesta a avances.