Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Adilson_Web_2007

[Resolvido] como chamar uma função passando paramentros

Recommended Posts

Olá pessoal estou com uma dúvida, eu tenho uma função e quando eu chamo com paranteses da erro eu tiro não da erro, qual é o correto com parenteses ou sem?

 

Eu fiz assim e deu erro.

 

enviaEmail (nome_cliente,email,valor,quantos)

Eu fiz assim não da erro , qual é o correto

enviaEmail nome_cliente,email,valor,quantos

Compartilhar este post


Link para o post
Compartilhar em outros sites

então eu fiz mas da esse erro:Tipo de erro:Erro de compilação do Microsoft VBScript (0x800A0414)Não é possível usar parênteses ao chamar um Sub/contratos/rotinas.asp, line 31, column 59enviaEmail(nome_cliente,email,valor,quantos,mensagem,corpo)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa é minha função

 

 

<%function enviaEmai(nome_cliente,email_cliente,valor,dias,mensagem,corpo)msgTexto = "Sistema de Gerenciamento de Contratos." + vbCRLFmsgTexto = msgTexto + "Nome: " + nome_cliente + vbCRLFmsgTexto = mensagen + vbCRLFSet objCDOSYSMail = Server.CreateObject("CDO.Message")Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = ""objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30objCDOSYSCon.Fields.UpdateSet objCDOSYSMail.Configuration = objCDOSYSConobjCDOSYSMail.From = ""objCDOSYSMail.To =email_clienteobjCDOSYSMail.Subject = ""objCDOSYSMail.TextBody = " "objCDOSYSMail.SendSet objCDOSYSMail = NothingSet objCDOSYSCon = Nothingend function%>

minha chamada:

 

enviaEmail(nome_cliente,email,valor,quantos1,mensagem1,corpo1)

so que da o erro que reportei acima

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Nome da função e a chamda estão diferentes ....

 

a funcão esta com:

function enviaEmai(nome_cliente,email_cliente,valor,dias,mensagem,corpo)
e na chamanda esta com:

enviaEmail(nome_cliente,email,valor,quantos1,mensagem1,corpo1)

Muda ou um ... ou outro pra funcionar ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você cria uma FUNCTION que não retorna nada o sistema entende como uma SUB e pede que a chame sem parênteses, use o CALL antes que se resolve.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado eu fiz como você disse:

 

CALL  enviaEmail(nome_cliente,email,valor,quantos,mensagem,corpo)

e deu esse erro:

 

Erro de tempo de execução do Microsoft VBScript erro '800a000d'

 

Tipos incompatíveis

 

/contratos/rotinas.asp, line 34

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro é na linha da chamada ou posterior?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função está com o nome errado verifique a comparação

 

CALL enviaEmail(nome_cliente,email,valor,quantos,mensagem,corpo)

 

function enviaEmai(nome_cliente,email_cliente,valor,dias,mensagem,corpo)

Faltou o "l"

 

Linha correta

 

ASP
function enviaEmail(nome_cliente,email_cliente,valor,dias,mensagem,corpo)

 

 

 

EDITADO:

Desculpa quando postei você tinha postando segundo antes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que funcionou, agora vamos a uma revisão de conceitos?

 

Por definição FUNCTION retorna dados para seu sistema, por exemplo, uma função para calculo de algo que deve se repetir em vários locais. Uma function que não retorna dados é uma SUB, por exemplo, uma rotina para abrir uma conexão com o BD, para enviar e-mails, para fechar conexões com o BD e por ai vai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.