Foros del Web » Programando para Internet » ASP Clásico »

Problema Con DLL en ASP

Estas en el tema de Problema Con DLL en ASP en el foro de ASP Clásico en Foros del Web. Buenos dias. Tengo que agregar a mi ASP una función que comprima los anexos que se suben al FTP de la misma. Para ello hago ...
  #1 (permalink)  
Antiguo 11/11/2010, 06:36
Avatar de ildelian  
Fecha de Ingreso: noviembre-2010
Ubicación: España
Mensajes: 16
Antigüedad: 13 años, 5 meses
Puntos: 0
Problema Con DLL en ASP

Buenos dias.

Tengo que agregar a mi ASP una función que comprima los anexos que se suben al FTP de la misma.
Para ello hago uso de las DLL Zip32.dll y UnZip.dll mediante otra DLL de ActivX que he desarrollado con VB6 y añadida y registrada en el servidor mediante un método COM.

El problema es que, en el ASP, creo el objeto, llamo a la función que comprime los anexos, pero no hace nada, ni comprime ni pinta en el log ni nada de nada.

Pongo el código para que se pueda ver:

1º El código de la DLL intermedia ActiveX

Código vb:
Ver original
  1. Public Sub Comprimir(FichEntrada)
  2.  
  3. On Error GoTo Errores
  4. Dim Resultado As Long
  5. Dim FuncionesZip As ZIPUSERFUNCTIONS
  6. Dim OpcionesZip As ZPOPT
  7. Dim NombresFicherosZip As ZIPnames
  8.  
  9. '*********************************'
  10. Open App.Path & "\Log.txt" For Input As #1
  11.  
  12. Dim Linea As String
  13. Print #1, Now & "-_-" & "El fichero de entrada es: " & FichEntrada
  14.  
  15. '*********************************'
  16.  
  17. FuncionesZip.DLLComment = DevolverDireccionMemoria(AddressOf FuncionParaProcesarComentarios)
  18. FuncionesZip.DLLPassword = DevolverDireccionMemoria(AddressOf FuncionParaProcesarPassword)
  19. FuncionesZip.DLLPrnt = DevolverDireccionMemoria(AddressOf FuncionParaProcesarMensajes)
  20. FuncionesZip.DLLService = DevolverDireccionMemoria(AddressOf FuncionParaProcesarServicios)
  21.  
  22. NombresFicherosZip.s(0) = FichEntrada
  23.  
  24. Resultado = ZpInit(FuncionesZip)
  25. Resultado = ZpSetOptions(OpcionesZip)
  26. Resultado = ZpArchive(0, FichEntrada & ".Zip", NombresFicherosZip)
  27.  
  28. Print #1, Now & "-_-" & "Se ha producido el error Nº: " & Err.Number
  29. Print #1, Now & "-_-" & "Se ha producido el error descripcion: " & Err.Description
  30.  
  31. Close #1
  32. Exit Sub
  33. Errores:
  34. Close #1
  35. End Sub

2º El codigo del ASP que llama a dicha función de la DLL que comprime:
Código ASP:
Ver original
  1. Set AGZIP = Server.CreateObject("AGZIP.Class1")
  2. CALL AGZIP.Comprimir (Ruta & NombreFichero)
  3. NombreFichero = NombreFichero & ".zip"
  4. Set AGZIP = Nothing

Gracias de Antemano.
  #2 (permalink)  
Antiguo 11/11/2010, 14:49
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: Problema Con DLL en ASP

Creo ya te había recomendado esto mismo: Quita el en Error y ve qué ocurre
  #3 (permalink)  
Antiguo 12/11/2010, 01:13
Avatar de ildelian  
Fecha de Ingreso: noviembre-2010
Ubicación: España
Mensajes: 16
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Problema Con DLL en ASP

Cita:
Iniciado por Myakire Ver Mensaje
Creo ya te había recomendado esto mismo: Quita el en Error y ve qué ocurre
No tengo ningun 'On Error resume Next', de echo, si la DLL da algun error si que salta por pantalla (Ejemplo si no puede abrir el fichero de log) y si hay errores de ASP tambien me saltan por pantalla.

El problema es que, parecer que si todo va bien no hace nada (rarisim, si hay error peta, pero si va bien no hace nada), no se si me explico.
  #4 (permalink)  
Antiguo 16/11/2010, 14:57
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: Problema Con DLL en ASP

Por On Error me refería a la línea 3 (On Error GoTo Errores), no tanto a un resume next.

Pero ok, en el caso de que sea como dices, yo probaría esa DLL en otro programa, puede ser en otro ASP o en Delphi o en cualquier otro entorno de desarrollo. En casos como el tuyo es muy difícil asesorar si no hay más información o algo con lo cual poder reproducir el fallo.

Saludos
  #5 (permalink)  
Antiguo 17/11/2010, 06:22
Avatar de ildelian  
Fecha de Ingreso: noviembre-2010
Ubicación: España
Mensajes: 16
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Problema Con DLL en ASP

Hola. Pues le he puesto que me pinte los errores tal que:

Public Sub Comprimir(FichEntrada)

Código:
On Error GoTo Errores
Dim Resultado As Long
Dim FuncionesZip As ZIPUSERFUNCTIONS
Dim OpcionesZip As ZPOPT
Dim NombresFicherosZip As ZIPnames

'*********************************'
Open App.Path & "\Log.txt" For Append As #1

Dim Linea As String
Print #1, Now & "-_-" & "El fichero de entrada es: " & FichEntrada

'*********************************'

FuncionesZip.DLLComment = DevolverDireccionMemoria(AddressOf FuncionParaProcesarComentarios)
FuncionesZip.DLLPassword = DevolverDireccionMemoria(AddressOf FuncionParaProcesarPassword)
FuncionesZip.DLLPrnt = DevolverDireccionMemoria(AddressOf FuncionParaProcesarMensajes)
FuncionesZip.DLLService = DevolverDireccionMemoria(AddressOf FuncionParaProcesarServicios)

NombresFicherosZip.s(0) = FichEntrada

Resultado = ZpInit(FuncionesZip)
Resultado = ZpSetOptions(OpcionesZip)
Resultado = ZpArchive(0, FichEntrada & ".Zip", NombresFicherosZip)

Print #1, Now & "-_-" & "Se ha producido el error Nº: " & Err.Number
Print #1, Now & "-_-" & "Se ha producido el error descripcion: " & Err.Description
Print #1, Now & "-_-" & "El resultado es: " & Resultado

Close #1
Exit Sub
Errores:
Close #1
Response.Write "<h1>Se ha prodocido un error</h1>"
Response.Write "<b><font color='red'>" & FichEntrada & "</font></b>"
Response.Write "<b><font color='red'>" & Err.Number & "</font></b>"
Response.Write "<b><font color='red'>" & Err.Description & "</font></b>"
End Sub
Tras resolver un par de ellos que daba me sale de la funcion con el codigo de error 0 (sin errores) pero no me comprime nada de nada.
  #6 (permalink)  
Antiguo 17/11/2010, 08:45
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: Problema Con DLL en ASP

Y esa DLL realmente funciona? cómo lo haz comprobado?

Yo ese problema lo resolvería de tres formas, la primera es la que realizaste es decir, hacer una DLL en un lenguaje X y utilizarla en ASP, pero claro que esa DLL debe de funcionar y debo tener el código fuente para lanzar mensajes de error o de estado, además hay que darle permisos al usuario IUSR sobre esa DLL.
El segundo sería similar al manipuleo de imágenes, como sabes ASP clásico es un lenguaje ya sin soporte por lo que existió hasta la fecha en que lo abandonaron es lo que hay y tiene muchas carencias frente a otros como PHP o .NET, pero la ventaja es que desde ASP puedes utilizar a estos otros lenguajes, si quieres comprimir imágenes, pues haces un script .NET que lo haga, lo llamas desde ASP y listo, lo mismo con esto; si buscas hay muchos códigos para comprimir desde .NET:

http://www.ms-news.net/f1125/comprim...t-6944319.html
http://blogdesarrollo.com/codigo/200...zip-en-aspnet/

y la tercera es ejecutando un compatador desde la linea de comando mediante WScript.Shell, información en esta liga.

Si quieres que hagamos funcionar la parte de la DLL necesitaría que me dijeras qué hace y cómo lo hace esa DLL, es decir, ocupo ver si código. Por que si tuvieras problemas de otro tipo, como que no esta registrada o permisos, te marcaría error definitivamente.

Saludos

Etiquetas: asp, dll
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:22.