Avatar billede torbenmelander Nybegynder
14. august 2001 - 23:01 Der er 8 kommentarer og
2 løsninger

Siden hvornår må man ikke DIMME noget ?

Underligt problem ..

Jeg tænkte at jeg ville indsætte linien:

<% Option Explicit %>

men når jeg går ind på min side for jer en internal server error ..

Hvis jeg nu udkommentre linien hvor jeg dimmer en pop3(jmail) virker det hele perfekt ..

Dim pop3 \' altså placere en \' foran denne linie ..
Set pop3 = Server.CreateObject(\"JMail.POP3\")
pop3.Connect Session(\"Username\"), Session(\"Password\"), Session(\"Servername\"), Session(\"Serverport\")
pop3.Disconnect
Set pop3 = nothing

Hvad sker der ??
Avatar billede thomas_regin Nybegynder
14. august 2001 - 23:05 #1
Det kan være, at du tidligere i din kode har \"dim\'et\" variablen POP3.. Dette sker ofte, hvis du bruger include-filer, og har inkluderet din kode på en side, hvor variablen allerede er dimensioneret!..

Mvh.

Thomas Regin.
Avatar billede torbenmelander Nybegynder
14. august 2001 - 23:06 #2
ok, men hvis nu jeg har sat denne pop3 = nothing gør det vel ikke noget ??
Avatar billede winkill Nybegynder
14. august 2001 - 23:09 #3
Jo, det gør det, for bare fordi den ikke indeholder noget gør det den ikke u-deklereret.
Avatar billede torbenmelander Nybegynder
14. august 2001 - 23:11 #4
det vil sige en gang dimmet altid dimmet ???
Avatar billede torbenmelander Nybegynder
14. august 2001 - 23:12 #5
eller skal jeg redimme (med redim) den hvis jeg skal bruge den igen ?
Avatar billede thomas_regin Nybegynder
14. august 2001 - 23:13 #6
Jeps!.. Det hjælper ikke noget, at du siger pop3 = nothing. Dette har nemlig ikke noget som helst at gøre med om den er blevet dimmet eller ej!.. pop3 = nothing tømmer bare variablen for whatever indhold den havde!.. :)

Thomas.
Avatar billede winkill Nybegynder
14. august 2001 - 23:16 #7
Du behøver ikke redimme den for at bruge den igen - det er kun Arrays der kan redimmes.

Dette er eks. gyldigt:

Dim pop3
Set pop3 = Server.CreateObject(\"JMail.POP3\")
Set pop3 = Nothing
pop3 = \"Noget tekst\"
Set pop3 = Server.CreateObject(\"JMail.POP3\")
pop3 = 5534
Set pop3 = Nothing
Avatar billede torbenmelander Nybegynder
14. august 2001 - 23:18 #8
ok, ikke at jeg skal bruge det men er der ikke nogen UnDim ??

Tak for hjælpen ..
Avatar billede thomas_regin Nybegynder
14. august 2001 - 23:18 #9
/agree wínkill
Avatar billede winkill Nybegynder
14. august 2001 - 23:27 #10
Nope, der er ingen UnDim - men hvis du bruger \"Set XXX = Nothing\" unloadet det objekt der måtte være i XXX og så fylder XXX blot det samme som en pointer i eks. C++ - og XXX bliver jo \"slettet\" fra hukommelsen så snart scriptet er afviklet, så det ville tage for meget CPU at spare et par byte, hvis der endeligt var en UnDim funktion.

Eller den korte version:

Nej, men det kunne være sjovt hvis der var... ;o)

Håber du ku\' bruge svaret.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester