Har gjort en komonent med en funktion: Du bär använda ByVal eelr deklarera parametrar till din funktion som Varianter. hjälpte att använda byval, läste till mig att byref är standard när man gör activex dll vilket det inte är när man gör program. ByRef är alltid standard i vb... Men det är ju lite jobbigt att behöva skriva CStr för alla parametrar... :O) Deklarerar istället all indata med Variant, så slipper du det problemet. Som du vet så hanterar asp bara datatypen variant. Nja, jag tycker nog det är bättre att se till att deklarera parametrarna ByVal om man kan, med korrekt datatyp. Om man däremot måste ha en utparameter får det bli en Variant dock. utparametrarna har jag aldrig haft problem med att sätta specifik datatyp, det är ju trots allt en variant som tar emot den .. utparametrarna har jag aldrig haft problem med att sätta specifik datatyp, det är ju trots allt en variant som tar emot den .. Menar inte returvärdet utan alltså ByRef parametrar (In Out alltså). nä, returvärdet från en function hmm...jag skrev nog lite dumt...vad jag menade var alltså att jag menar inte returvärdet ur en funktion, utan byref parametrar... vi menar alltså samma sak.. hehe som vanligt gode Christoffer, som vanligt :)Type Mismatch när jag skickar variabler till en asp komponent!
<code>
Public Function MinFunktion(myStr as string) as Boolean
If myStr = "a" Then MinFunktion = True
If myStr = "b" Then MinFunktion = False
End Function
</code>
Följande skriver jag sen i asp koden:
<code>
<%
Dim myobj
Dim some_str
Dim bResult
Set myObj = Server.CreateObject("MinKomponent.Objekt")
some_str = "a"
bResult = myObj.MinFunktion("a") 'Detta fungerar alldeles utmärkt!
bResult = myObj.MinFunktion(some_str) 'Detta ger ett fel!
some_str = CStr(some_str)
bResult = myObj.MinFunktion(some_str) 'Även detta ger ett fel!
Set myObj = Nothing
%>
</code>
jag använder inga byref eller byval nånstans!
vad är felet?Sv: Type Mismatch när jag skickar variabler till en asp komponent!
Sv: Type Mismatch när jag skickar variabler till en asp komponent!
Sv: Type Mismatch när jag skickar variabler till en asp komponent!
du kan prova att använda Cstr på din variabel också.. Borde funka.. Sv: Type Mismatch när jag skickar variabler till en asp komponent!
bResult = myObj.MinFunktion(CStr(some_str)) Sv: Type Mismatch när jag skickar variabler till en asp komponent!
Public Function MinFunktion(Byval myStr as variant) as Boolean
/PelleSv: Type Mismatch när jag skickar variabler till en asp komponent!
Sv: Type Mismatch när jag skickar variabler till en asp komponent!
Sv: Type Mismatch när jag skickar variabler till en asp komponent!
Sv: Type Mismatch när jag skickar variabler till en asp komponent!
Sv: Type Mismatch när jag skickar variabler till en asp komponent!
Sv: Type Mismatch när jag skickar variabler till en asp komponent!
deja vú igen eller? Sv: Type Mismatch när jag skickar variabler till en asp komponent!