Mail Sub eller Function

ASP

12 svar · 253 visningar · startad av Vide

Medlem sedan dec. 19998 577 inlägg
Trådstart#1

Hej!

Av någon konstig anledning så tolkas inte den här funktionen som en function, utan som en sub. Varför?

Function mail(rec, rec2, sendname, send, sbj, body, priority)

'**********************
'**********************
'** Skickar ett mail **
'**********************
'**********************

Set Mailer = CreateObject("SMTPsvg.Mailer")
Mailer.Encoding = 2
Mailer.CharSet = 2
Mailer.AddRecipient rec, rec2
Mailer.FromAddress = send
Mailer.FromName = sendname
Mailer.Subject = Mailer.EncodeHeader(sbj)
Mailer.BodyText = body
Mailer.Priority = priority
Mailer.RemoteHost = "mail.multi.se"
if Mailer.SendMail then
  mail = true
else
  mail = false
end if
Mailer.ClearAllRecipients
Set Mailer = nothing
End Function

Jag anropar den för tillfället med:

mail "Vide", "Vide@4sale.se", "VideW", "vide@4sale.se", "Hur mår jag?", "Jag mår bra!", "3"

Vilket funger bra... men jag vill kunna anropa den som en function...

Om inget annat så vill jag fatta varför...

Medlem sedan dec. 19996 721 inlägg
#2

På vilket sätt går det inte att använda den som en function?

Medlem sedan dec. 19998 577 inlägg
#3

Jag vill ju så jättegärna använda paranteser runt argumenten :)

Det är det enda... kanske inte så trivialt, men jag vill vara konsekven i kodandet då jag inte är ensam i användadet av koden...

Medlem sedan maj 2000175 inlägg
#4

vad händer när du använder paranteser då?
klagar den nånting...?

Medlem sedan dec. 19998 577 inlägg
#5

Vänta så skall jag kolla vad den säger...

*testar*

Men... men... vad har du gjort :e nu funkar den ju. Det här skall den inte komma undan med...

Då återstår ju frågan: Vad är det som gör att scriptmotorn tolkar koden som en Sub och tvärtom?

Okej, det funkar. Men vetgirig som jag är vill jag veta varför... :)

[Redigerat av Vide den 30 maj 2000]

Medlem sedan dec. 19998 577 inlägg
#6

NEEEJ!!! Det funkar inte alls... *ggrrrr*

Fel ligger i att jag inte använder objektet till nånting... det funkar när jag t.ex Skriver Response.write funktionen, eller If funktionen then

Grejen är väl att funktionen ligger i en scriptlet, kan det ha med det göra tror ni?

Medlem sedan maj 2000175 inlägg
#7

är det kanske inte bara så att du måste göra någonting utav returvärdet för att iis skall kunna interpretera syntaxen korrekt...?

(det där lät avancerat... :D )

Medlem sedan dec. 19998 577 inlägg
#8

Så kanske det är... men varför funkar det då när man inte gör nått med returvärdet och man tar bort paranteser? konstigt det här... :)

Medlem sedan maj 2000175 inlägg
#9

det kanske är så att iis kör funktionen... fast det att iis tror att det är en procedur...? kanske?

Medlem sedan dec. 19996 721 inlägg
#10

Det hela låter helt naturligt.

antingen blir det

mail argument1,argument2

eller

variabel=mail(argument1,argument2)

I första läget agerar ju funktionen som en sub.

...eller var det inte så du menade?

Medlem sedan dec. 19998 577 inlägg
#11

Så, skillnaden mellan en Sub och en Function är att subben inte skickar tillbaks nått, eller?

(inget är naturligt när man inte vet :))

Medlem sedan dec. 19996 721 inlägg
#12

Ja, precis. Det är det som är skillnaden mellan sub och function.

Medlem sedan dec. 19998 577 inlägg
#13

Hmmm... där ser man... man lär sig nått på arbetsdagarna också... :e

372 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
124 ms — deklarationer (db)
115 ms — hämta statistik (db)
129 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)