/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
problem med Function og sub
Fra : pepss


Dato : 26-01-04 15:01

hejsa NG

jeg har et problem med at få en function til at virke i min global.asa fil.
i Session_OnEnd kalder jeg min sub på denne måde:
Call slet_fra_chat()
i sub slet_fra_chat har jeg så:

Sub slet_fra_chat
Function RemoveID(ID) <---- line 180
'min function
End Function

Application("simple" & strchat_rum) = "<font color=""#0000FF"">*** " &
GetName(Session("chat_id")) & " logged off at " & FormatDateTime(Now, 4) & "
***</font>" & vbNewLine & Application("simple" & strchat_rum)
RemoveID(Session("chat_id"))
End Sub

men får fejlen:
Der er en syntaksfejl
//global.asa, line 180
Function RemoveID(ID)


jeg har så en idé om at man ikke må ha en function i en sub?
men hvis jeg flytter den ud af subén sker der ikke noget.
det er vel fordi subén bliver afviklet for sig selv og derfor ikke for
function med?
eller er der noget helt andet glat?



--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk



 
 
Jens Gyldenkærne Cla~ (26-01-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 26-01-04 15:18

pepss skrev:

> jeg har et problem med at få en function til at virke i min
> global.asa fil.

Har du testet den uden for global.asa?`


> Sub slet_fra_chat
> Function RemoveID(ID) <---- line 180


Det er gal syntaks. Sub's og funktioner må ikke stå inde i hinanden
(en sub må heller ikke stå inde i en anden sub).


> jeg har så en idé om at man ikke må ha en function i en sub?

Netop.


> men hvis jeg flytter den ud af subén sker der ikke noget.

Så er der noget galt med enten sub eller function. Prøv at køre
koden fra en normal asp-side - her er det lettere at fejlfinde.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

pepss (26-01-2004)
Kommentar
Fra : pepss


Dato : 26-01-04 15:56


"Jens Gyldenkærne Clausen" skrev
> pepss skrev:
>
> > jeg har et problem med at få en function til at virke i min
> > global.asa fil.
>
> Har du testet den uden for global.asa?`

ja det er en kode jeg også bruger et andtet sted

> > Sub slet_fra_chat
> > Function RemoveID(ID) <---- line 180
>
>
> Det er gal syntaks. Sub's og funktioner må ikke stå inde i hinanden

jeg ved så ikke hvorfor jeg fik en fejl da jeg prøvede at flytte funktionen
for da jeg testede den på min webhotel virkede det!

> (en sub må heller ikke stå inde i en anden sub).

det er også en god ting at vide!

> > men hvis jeg flytter den ud af subén sker der ikke noget.
>
> Så er der noget galt med enten sub eller function. Prøv at køre
> koden fra en normal asp-side - her er det lettere at fejlfinde.

jeg tror måske der har været fejl ved min computer....!?
men du skal ha rigtig mange tak for din hjælp!

--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk



pepss (26-01-2004)
Kommentar
Fra : pepss


Dato : 26-01-04 22:15

hejsa NG

nu har jeg fået et nyt problem med function og sub!

den sub der giver mig problemer ser sådan ud:

Sub slet_fra_chat(Sub_strchat_rum)
strchat_rum = Sub_strchat_rum
Application("simple" & strchat_rum) = "<font color=""#0000FF"">*** " &
GetName(Session("chat_id" & strchat_rum), strchat_rum) & " logged off at " &
FormatDateTime(Now, 4) & " ***</font>" & vbNewLine & Application("simple" &
strchat_rum)
strchat_id = Session("chat_id" & strchat_rum)
Session("chat_id" & strchat_rum)
RemoveID(strchat_id, strchat_rum) <---- line 133
End Sub

fejlen er:
Der kan ikke bruges parenteser ved kald af en Sub
/test/profiltest.asp, line 133, column 33
RemoveID(strchat_id, strchat_rum)

men RemoveID er jo ikke en sub jeg kalder men en function og det giver jo
igen fejl ved:
GetName(Session("chat_id" & strchat_rum), strchat_rum)

er der en der kan sige mig hvad der kan være galt ?

--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk



Jens Gyldenkærne Cla~ (26-01-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 26-01-04 22:27

pepss skrev:

> RemoveID(strchat_id, strchat_rum) <---- line 133

Hvis RemoveID er en funktion skal du placere returværdien et sted:

Dim x
x = RemoveID(...)



> men RemoveID er jo ikke en sub jeg kalder men en function

Hvorfor er det en funktion hvis den ikke returnerer noget?

Hvordan ser den ud?


> GetName(Session("chat_id" & strchat_rum), strchat_rum)

Hvordan ser GetName ud?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

pepss (26-01-2004)
Kommentar
Fra : pepss


Dato : 26-01-04 22:38


"Jens Gyldenkærne Clausen" skrev
> pepss skrev:
>
> > men RemoveID er jo ikke en sub jeg kalder men en function
>
> Hvorfor er det en funktion hvis den ikke returnerer noget?

tja.. det er jo enlig et godt spørgsmål!

> Hvordan ser den ud?

Function RemoveID(ID, Funstrchat_rum)
dim strchat_rum
strchat_rum = Funstrchat_rum
dim tmp
tmp = Split(Application("simpleonline" & strchat_rum), vbNewLine)
dim I
For I = 0 to UBound(tmp)
If tmp(I) <> "" Then
IdData = Split(tmp(I), vbTab)
If IdData(0) = ID Then
tmp(I) = ""
End If
End If
Next
Application.Lock
Application("simpleonline" & strchat_rum) = Join(tmp, vbNewLine)
Application.Unlock

tmp = Split(Application("simpletime" & strchat_rum), vbNewLine)
For I = 0 to UBound(tmp)
If tmp(I) <> "" Then
IdData = Split(tmp(I), vbTab)
If IdData(0) = ID Then
tmp(I) = ""
End If
End If
Next
Application.Lock
Application("simpletime" & strchat_rum) = Join(tmp, vbNewLine)
Application.Unlock

tmp = Split(Application("simpletrans" & strchat_rum), vbNewLine)
For I = 0 to UBound(tmp)
If tmp(I) <> "" Then
IdData = Split(tmp(I), vbTab)
If IdData(1) = ID Then
tmp(I) = ""
End If
End If
Next
Application.Lock
Application("simpletrans" & strchat_rum) = Join(tmp, vbNewLine)
Application.Unlock
End Function

> > GetName(Session("chat_id" & strchat_rum), strchat_rum)
>
> Hvordan ser GetName ud?

Function GetName(ID, Funstrchat_rum)
dim strchat_rum
strchat_rum = Funstrchat_rum
dim tmp
tmp = Split(Application("simpleonline" & strchat_rum), vbNewLine)
dim I
For I = 0 to UBound(tmp)
If tmp(I) <> "" Then
IdData = Split(tmp(I), vbTab)
If IdData(0) = ID Then
GetName = IdData(1)
Exit Function
End If
End If
Next
End Function

håber ikke det er for meget kode at sende med!


--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk



Jens Gyldenkærne Cla~ (26-01-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 26-01-04 22:53

pepss skrev:

>> Hvorfor er det en funktion hvis den ikke returnerer noget?
>
> tja.. det er jo enlig et godt spørgsmål!

Erstat Function med Sub i første og sidste linje - så er den
rettet.

> Function RemoveID(ID, Funstrchat_rum)

Er du 100% sikker på at funktionen virker som den skal?

Det er meget svært at teste funktioner i global.asa, men du kan
sagtens teste denne funktion i en normal asp-fil. Brug rigeligt med
response.write-linjer og tjek at den piller ved de rigtige
applicationvariable - hverken mere eller mindre.



> Function GetName(ID, Funstrchat_rum)

Det samme gælder for GetName.


> håber ikke det er for meget kode at sende med!

Det er fint nok. Jeg kan ikke direkte se nogen fejl i koden, men
som nævnt er det svært at teste direkte i global.asa.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

pepss (26-01-2004)
Kommentar
Fra : pepss


Dato : 26-01-04 23:24


"Jens Gyldenkærne Clausen" skrev
> pepss skrev:
>
> Erstat Function med Sub i første og sidste linje - så er den
> rettet.

jeg det er jo lige til! endlig sjov at det virker i selve chatten!

> > Function RemoveID(ID, Funstrchat_rum)
>
> Er du 100% sikker på at funktionen virker som den skal?

tja man bliver da logget af chatten men jeg vil da lige kikke det hele i
gemmen!

> Det er meget svært at teste funktioner i global.asa, men du kan
> sagtens teste denne funktion i en normal asp-fil. Brug rigeligt med
> response.write-linjer og tjek at den piller ved de rigtige
> applicationvariable - hverken mere eller mindre.

det er jeg ved at finde ud af! jeg har en hel bunke testfiler

> > Function GetName(ID, Funstrchat_rum)
>
> Det er fint nok. Jeg kan ikke direkte se nogen fejl i koden, men
> som nævnt er det svært at teste direkte i global.asa.

det skal jeg love for! jeg har en "ryd op kode" som bliver kørt en gang om
dagen. det tog lidt tid at få den testet

--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk



pepss (26-01-2004)
Kommentar
Fra : pepss


Dato : 26-01-04 23:09


"Jens Gyldenkærne Clausen" skrev
> pepss skrev:
> > men RemoveID er jo ikke en sub jeg kalder men en function
>
> Hvorfor er det en funktion hvis den ikke returnerer noget?
>
> Hvordan ser den ud?

jeg har lige lagt den ud på min side så er det nok nemmer at overskue!
http://www.cafe-flirt.dk/test/profiltest.htm


--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk



Jørn Andersen (27-01-2004)
Kommentar
Fra : Jørn Andersen


Dato : 27-01-04 01:16

On Mon, 26 Jan 2004 22:14:36 +0100, "pepss" <olefriis@privat.dk>
wrote:

>fejlen er:
>Der kan ikke bruges parenteser ved kald af en Sub
>/test/profiltest.asp, line 133, column 33
>RemoveID(strchat_id, strchat_rum)
>
>men RemoveID er jo ikke en sub jeg kalder men en function og det giver jo

Prøv at sætte Call foran, hvis du vil bevare paranteserne. Ellers drop
paranteserne.
Fra VBScript-dokumentationen:

Call MyProc(firstarg, secondarg)
MyProc firstarg, secondarg

Jeg har heller ikke helt styr på, hvornår det er nødvendigt med Call
og hvornår ikke (og jeg tror også det delvis er
server-/versions-afhængigt).
Jeg *tror* det har mest at gøre med, om der er et output - i hvert
fald er det ikke sådan, at bare fordi rutinen er defineret som en
funktion, så skal der ikke bruges Call.

Good luck!

--
Jørn Andersen,
Brønshøj

pepss (27-01-2004)
Kommentar
Fra : pepss


Dato : 27-01-04 10:58


"Jørn Andersen" skrev
"pepss" wrote:
>
> >fejlen er:
> >Der kan ikke bruges parenteser ved kald af en Sub
> >/test/profiltest.asp, line 133, column 33
> >RemoveID(strchat_id, strchat_rum)
> >
> >men RemoveID er jo ikke en sub jeg kalder men en function og det giver jo
>
> Prøv at sætte Call foran, hvis du vil bevare paranteserne. Ellers drop
> paranteserne.
> Fra VBScript-dokumentationen:
>
> Call MyProc(firstarg, secondarg)
> MyProc firstarg, secondarg

hmm ja det vil jeg da lige prøve at leje lidt med!

> Jeg *tror* det har mest at gøre med, om der er et output - i hvert
> fald er det ikke sådan, at bare fordi rutinen er defineret som en
> funktion, så skal der ikke bruges Call.

men det er vel mest rigtig at bruge en sub når der ikke er noget output!?


--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste