Sub eller ej, du använder den i vart fall som en sub eftersom du inte returnerar något. Du hade alltså lika gärna kunnat deklarera den som en sub.
Hur som helst, prova att anropa på följande vis:
objHej.Fixxa "hej", "då", false
6 svar · 308 visningar · startad av pirro
Hallo!
Leker lite med classer.
Men när ja har gjort :
Public Function Fixxa(strKey,strVar, bolBrFix)
if strFile then
if bolBrFix = true then
strFile = Replace(Replace(strFile,"{" & strKey & "}",strVar),vbcrlf,"<br>" & vbcrlf)
else
strFile = Replace(strFile,"{" & strKey & "}",strVar)
end if
end if
end function
och sedan försökt med
objHej.Fixxa("hej","då",false)
men de fungerar inte...
felmeddelande:
Det går inte att använda parenteser när en Sub anropas.
/per/testa/Default.asp, line 5, column 37
jojo visst... men ja anser de inte vara en sub ;P
sen så undrar jag då.. Hur lyckats man med detta?
/Pirro
Sub eller ej, du använder den i vart fall som en sub eftersom du inte returnerar något. Du hade alltså lika gärna kunnat deklarera den som en sub.
Hur som helst, prova att anropa på följande vis:
objHej.Fixxa "hej", "då", false
Om man skall anropa sub:ar med paranteser, måste du ha Call framför anropet, annars får du göra som UlfT skrev, alltså anropa utan paranteser.
Föredraget är väl att inte använda paranteser, då man slipper Call.
Pirro!
om du nu ska jobba med klasser tycker jag att man ska arbeta med dem på "rätt" sätt.
Som du nu har metoden Fixxa() i din klass så är den inte speciellt dynamisk då den alltid ändrar en fast variabel som finns utanför klassen (strFile). Om du istället lägger till strFile som ett argument och sedan returnerar det "fixxade" värdet så blir denna metod klart mer skalbar.
Public Function Fixxa(strKey,strVar, bolBrFix, strFile)
if strFile then
if bolBrFix = true then
strFile = Replace(Replace(strFile,"{" & strKey & "}",strVar),vbcrlf,"<br>" & vbcrlf)
else
strFile = Replace(strFile,"{" & strKey & "}",strVar)
end if
end if
Fixxa = strFile
end function
'## -- används så här --
minTempVariabel = objObject.Fixxa("en sträng", "en", True, "En Sträng Till")
cya,
PatrikB
OK,
Men .... om du nu skulle vilja "fixxa" till en annan variabel då? ska du då skriva en ny metod för det? Låter krångligt. Återanvändning är alltid bra .... dvs, försök att skriva metoderna så generella som möjligt så kan denna metod användas för alla variabler som behöver "fixxas" till
cya,
PatrikB