Autor
|
Tema: Ayuda... simple kiza... x) (Leído 3,193 veces)
|
DarkFire
Desconectado
Mensajes: 21
|
holas, ante todo un saludo y expongo mi problema: estoy haciendo una aplicacion que rekiere que registre una dll. esa dll se usara como referencia. lo que hace mi programa es registrar la dll via cmd para luego unas lineas mas abajo usar la referencia y cuando procedo a darle un path que incluye "Environ" 1 linea antes de usar la referencia me sale el siguiente error: "Error de compilacion no se puede encontrar el proyecto o la biblioteca" lo que si me doy cuenta es que cuando cierro el proyecto y lo abro denuevo y lo ejecuto todo sale normal, pero es porke la dll ya esta registrada... si alguien supiera ayudarme se lo agradeceria mucho X_X...
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
Anda a
menú Proyecto->Referencias
Revisa las referencias con palomita y verifica que ninguna diga
FALTA:+Nombre de Libreria
Si es el caso quita la referencia y vuelvela a integrar si es que realmente la requieres!¡.
Sangriento Infierno Lunar!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
DarkFire
Desconectado
Mensajes: 21
|
Anda a
menú Proyecto->Referencias
Revisa las referencias con palomita y verifica que ninguna diga
FALTA:+Nombre de Libreria
Si es el caso quita la referencia y vuelvela a integrar si es que realmente la requieres!¡.
Sangriento Infierno Lunar!¡.
mmm... bueno eso si lo se, el punto es que mi programa instala la dll de la referencia y ahi nomas tiene que usarla, pero parece como si tuviera que reinciar la aplicacion para que recien pueda validarse que la dll fue instalada... alguna otra solucion X_X?
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
la dll esta generada por ti?, esta en vb6?
Si ambas son si agrega los dos proyectos en un grupo de proyectos...
si las respuestas son de una dll compilada y ajena a tu uso entonces deberas de registrarla, para evitar dicho problema, aun que Cobein me parece dio unas soluciones (Ligas a posibles soluciones mejor dicho)...
Sangriento Infierno Lunar!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
DarkFire
Desconectado
Mensajes: 21
|
plop, creo que no me stoy dejando entender... lo expondre asi:
1- Tengo una dll llamada "mydllok.dll". 2- "mydllok.dll" es usada para poder usar una referencia en vb que usa mi aplicacion. 3- como el usuario no tiene la dll instalada, lo que hago es que: --- mi propia aplicacion (...la que justamente usará esa misma referencia mas adelante) la instale. --- la instala haciendo una llamada al cmd y registrandola (correctamente obviamente) 4- luego de haberla "registrado", hace un llamado a una funcion 5- la funcion hace un llamado de una ruta del sistema "Environ("tmp")" 6- al llegar a esta linea es donde me sale el error anteriormente expuesto: ---"Error de compilacion
no se puede encontrar el proyecto o la biblioteca" 7- si reinicio la aplicacion al momento de llegar al "paso" nº 5 este funciona sin error alguno, asi que por lo tanto intuyo que: --- el problema se da porke al ejecutarse la aplicacion y no tener la dll de la referencia registrada mi aplicacion generar ese error.
bueno, creo que ahora kiza dejo entender mi problema, y espero alguien pueda ayudarme.
|
|
|
En línea
|
|
|
|
Hasseds
Desconectado
Mensajes: 145
|
Como alternativa (hasta que encuentres el error) puedes crear una segunda aplicacion que encargue de registrar y luego ejecute tu aplicacion principal.
1) ejecutas tu aplicacion principal
2) cuando esta llega a la linea que te tira el error entonces A) si te tiró el error y antes de cerrarla llamas al tu segunda aplicion, esta segunda aplicacion registra la DLL y tambien antes de cerrarla vuelve a ejecutar desde la misma tu aplicacion principal. B) si tu aplicacion principal no te tira el error sigue adelante sin llamar a la segunda aplicion
PD: en cuanto al error en sí, no necesitarás una pausa entre el registro de la DLL y el llamado a la funcion que te tira el error ?
|
|
|
En línea
|
Sergio Desanti
|
|
|
DarkFire
Desconectado
Mensajes: 21
|
Como alternativa (hasta que encuentres el error) puedes crear una segunda aplicacion que encargue de registrar y luego ejecute tu aplicacion principal.
1) ejecutas tu aplicacion principal
2) cuando esta llega a la linea que te tira el error entonces A) si te tiró el error y antes de cerrarla llamas al tu segunda aplicion, esta segunda aplicacion registra la DLL y tambien antes de cerrarla vuelve a ejecutar desde la misma tu aplicacion principal. B) si tu aplicacion principal no te tira el error sigue adelante sin llamar a la segunda aplicion
PD: en cuanto al error en sí, no necesitarás una pausa entre el registro de la DLL y el llamado a la funcion que te tira el error ?
con respecto a la pausa, como te digo lo probe con f8 todo el tiempo... =/... osea hay pausa mas que suficiente... o a que te refieres X_X?
|
|
|
En línea
|
|
|
|
Hasseds
Desconectado
Mensajes: 145
|
Me referia a una pausa en el code hasta que se termine de Ejecutar el llamado a CMD, pero si ya lo habias probado lo descartas, S2
|
|
« Última modificación: 21 Marzo 2010, 13:53 pm por Hasseds »
|
En línea
|
Sergio Desanti
|
|
|
seba123neo
|
Hola, primero no sabria decirte si te lo va a dejar hacer...corriganme por favor si me equivoco en lo que voy a decir.... ya que nunca lo he probado, pero cuando ejecutas el .exe este carga las referencias que va a usar la aplicación, pero si supongamos ejecutas tu .exe cuando la libreria todavia no ha sido registrada..por mas que la registres "on the fly" en el programa..al momento de usarla te va a tirar error igual por mas que la registres, ya que solo carga las referencias cuando inicia el .exe y no se "actualiza" mientras el programa esta en ejecucion y por eso te funciona cuando cerras el proyecto y lo volves a ejecutar...corriganme eso..solo abria que hacer una simple prueba de lo que digo...ejecutar un programa que use cualquier .OCX o .DLL y tratar de simular es , desregistrandola mientras esta en ejecucion el programa, pero ahora no puedo probar nada...
igualemente no se porque lo haces asi...y no lo haces normal como cualquier aplicación...
saludos.
|
|
|
En línea
|
|
|
|
DarkFire
Desconectado
Mensajes: 21
|
bueno la razon por la que lo hago asi es porke mi aplicacion hace actualizaciones... y en este cazo al hacer la actualizacion ahora necesita utilizar la una dll... la cual la baja y tendria que registrarla para poder usarla... y mas bn lo que stoypensando hacer ya que no creo que encuentre una solucion es usar un code que reinicia mi aplicacion en caso de error x)...
|
|
|
En línea
|
|
|
|
|
|