Avatar billede Spotgun Seniormester
11. april 2002 - 11:57 Der er 8 kommentarer og
1 løsning

Sub med flere parametre?

Det er sikkert et simpelt begynderspørgsmål, men anyway - here goes:

Jeg har lavet en sub der skal bruge 2 parametre. Når jeg forsøger at kalde sub'en siger VB at den mangler et = tegn ved kaldet.
Hvis jeg laver en sub med et enkelt parameter, er der ingen problemer, men så snart jeg laver flere parametre, så brokker den sig over det manglende = ved kaldet.

Der er sikkert en logisk og nem forklaring på det :-)

Sub'en ser sådan her ud:

Private Sub enableWarnings(Type as Integer, State as Boolean)
  ' Sub-koden...
End Sub
Avatar billede nolle_k Nybegynder
11. april 2002 - 11:59 #1
Jeg tror det er fordi Type er et reserveret ord!

Prøv at skriv Type1 i stedet for!

//Nolle_K
Avatar billede proaccess Nybegynder
11. april 2002 - 12:02 #2
ellers er det en også god skik at angive typen i variabelnavnet, som i:

Private Sub enableWarnings(intType As Integer, booState As Boolean)

Dette øger læsbarheden af din kode, da du ikke senere skal tænke på om State nu er boolean, heltal eller tekst...
Avatar billede Spotgun Seniormester
11. april 2002 - 12:02 #3
VB er fuldstændig ligeglad med hvad jeg kalder mine parametre... Den brokker sig stadigvæk, når man forsøger at kalde sub'en!
Avatar billede nolle_k Nybegynder
11. april 2002 - 12:05 #4
Er det når du kalder sub'en at den brokke sig eller hvad??
Avatar billede proaccess Nybegynder
11. april 2002 - 12:06 #5
så er det navnet på din sub, den er gal med...

Private Sub setWarn(intType As Integer, booState As Boolean)
Avatar billede Spotgun Seniormester
11. april 2002 - 12:07 #6
ja, hvis jeg f.eks. et andet sted i koden forsøger at kalde sub'en, så dukker VB op med en fejlbox hvor der står: "Expected: ="

Kaldet er f.eks.:
enableWarnings(2, True)
Så snart jeg forsøger at skifte væk fra den linie, så dukker førnævnte fejl op!
Avatar billede tjacob Juniormester
11. april 2002 - 12:08 #7
Forsøger du at skrive en værdi til sub?
a la enableWarnings=xxx
For så burde du anvende en funktion i stedet, og så skal den kaldes til en variabel af samme type som:
Function enableWarnings(.............) as long
Kald:
dim a as long    a = enableWarnings(....)
eller:    Call enableWarnings(....)

/tjacob
Avatar billede nolle_k Nybegynder
11. april 2002 - 12:08 #8
Fjern parenteserne så virker det!

//Nolle_K
Avatar billede Spotgun Seniormester
11. april 2002 - 12:10 #9
Det var paranteserne det var galt med!

Takker!
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