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

Problema ASP 0x800A000D

Estas en el tema de Problema ASP 0x800A000D en el foro de ASP Clásico en Foros del Web. Saludos a todos, solicito su urgente ayuda... estoy desarrollando una aplicacion web y necesito que esta envie mails...para esto tengo una pagina "lib_mail.asp" donde estan ...
  #1 (permalink)  
Antiguo 28/10/2004, 10:26
 
Fecha de Ingreso: octubre-2004
Mensajes: 3
Antigüedad: 19 años, 7 meses
Puntos: 0
Problema ASP 0x800A000D

Saludos a todos,

solicito su urgente ayuda...

estoy desarrollando una aplicacion web y necesito que esta envie mails...para esto tengo una pagina "lib_mail.asp" donde estan mis funciones ASP de envio de mails (con CDONTS), una funcion es enviacorreo().

Cuando deseo que desde una pagina envie mails referencio en la cabecera de la pagina a lib_mail.asp con:

<!-- #include file="lib_mail.asp" -->

El envio de mail esta en el submit de la pagina que referencia (que la llamaremos pagina1.asp), como parte de los eventos submit de pagina1.asp esta el llamado a la funcion enviacorreo() de lib_mail.asp

la funcion enviacorreo() de lib_mail.asp es de la siguiente manera


<%
function enviacorreo()
Set objEMail=Server.CreateObject("CDONTS.NewMail")
' bastante codigo llenando los valores de objEmail
end function
%>


Yo deseo lanzar un MsgBox o un confirm que diga si desea enviar el mail. no puedo usar otra pagina web, tiene q ser dentro de la funcion enviacorreo()

Lo q hice fue lo siguiente: (en lib_mail.asp), una funcion vbscript que llame al msgbox (del lado del cliente xq asp no levanta msgbox por ser del servidor), y q grabe el resultado en una variable, que luego se la paso al servidor...


<script language="VBScript" type="text/VBScript">
function confirmax()
if msgbox("¿Confirma envio?", vbyesno) = vbyes Then
return 1
else
return 0
end if
end function
</script>

<%
function enviacorreo()
bEnvia = confirmax()
if bEnvia = 1 then
Set objEMail=Server.CreateObject("CDONTS.NewMail")
' bastante codigo llenando los valores de objEmail
end if
end function
%>


Sin embargo, a la hora de correr la pagina me da el siguiente error


Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A000D)
No coinciden los tipos: 'confirmax'
/booking/lib_mail.asp, line XX


Porque?....necesito una solucion sumaria....es algun problema de compatibilidad entre vbscript y asp?? o que puede ser?...hay algo mal en mi codigo?

Esperando su respuesta,

Gracias de antemano

Cognos

Última edición por cognos; 28/10/2004 a las 11:16
  #2 (permalink)  
Antiguo 28/10/2004, 10:32
 
Fecha de Ingreso: marzo-2003
Ubicación: onde toy?
Mensajes: 1.437
Antigüedad: 21 años, 3 meses
Puntos: 9
postea la linea XX
para poder vizualizar mejor el error...
__________________
Buena Vida...
Francisco
  #3 (permalink)  
Antiguo 28/10/2004, 10:35
 
Fecha de Ingreso: octubre-2004
Mensajes: 3
Antigüedad: 19 años, 7 meses
Puntos: 0
la linea xx es:

bEnvia = confirmax()

(la primera linea de enviacorreo(), cuando le paso el valor de la funcion)

gracias
  #4 (permalink)  
Antiguo 28/10/2004, 10:47
 
Fecha de Ingreso: marzo-2003
Ubicación: onde toy?
Mensajes: 1.437
Antigüedad: 21 años, 3 meses
Puntos: 9
otra consultita eso del msgbox, es primera vez que lo estás implementando? porque si no me equivoco debe ser por eso el error... nunca he implementado alertas de ningun tipo pero creo que sería eso...
__________________
Buena Vida...
Francisco
  #5 (permalink)  
Antiguo 28/10/2004, 10:57
 
Fecha de Ingreso: octubre-2004
Mensajes: 3
Antigüedad: 19 años, 7 meses
Puntos: 0
si, primera vez q lo implemento de esta manera, por lo general lo he usado condicionado al click de un boton...

pero en este caso ese no es el problema, xq ya en algun momento haciendo pruebas para descartar posibles causas deje el codigo de la funcion confirmax de la siguiente manera:

<script>
function confirmax()
return 1
end function
</script>


y el resultado fue el mismo, el mismo error.
  #6 (permalink)  
Antiguo 28/10/2004, 11:13
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Pues si, ese es el error:

Tienes <% bEnvia = confirmax() %>, ASP espera que "confirmax()" sea una función de ASP, y sin embargo la tienes en el lado del cliente. Es decir, cuando el ASP ya se ejecutó.

Es un simple error de lógica.

Saludos
  #7 (permalink)  
Antiguo 28/10/2004, 11:21
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Lo que deberías hacer es algo como:

.... tu formulario a enviar por correo
<input type=button value="Enviar Correo" onclick="return confirm('Estas seguro que deseas enviar el correo?')">

Es decir, la validación/confirmación, debe estar del lado del cliente, y al servidor enviarle los datos ya hasta que este seguro que efectivamente se va a enviar la información.

Saludos
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 11:30.