eliminación de dlls innecesarios en bennu wip2 deja el proceso zombie

Started by DCelso, May 27, 2008, 12:29:29 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DCelso

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.

Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

A mi no me pasa eso, me podes pasar esos fuentes que decis?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

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.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

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...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

El .zip me pide password, y tambien necesito los fuentes... para poder compilarlo y hacer pruebas yo...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

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.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

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
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

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é.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

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...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

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...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

Jur, el fallo es que subí el mismo yo que estoy ahora tontuno :(.
Ya he subido el nuevo, por si os apetece verlo :D.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

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.

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

Nada, he eliminado el mensaje que puse porque iba en la respuesta a avances.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/