/ 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
Type mismatch?
Fra : Stefan Kristensen


Dato : 29-10-02 13:00

Hej NG.

Jeg har lavet en dll i VB6 med to klasser, Action og ActionList.
ActionList er en collection, der skal gemme... Action objekter. Derfor har
ActionList en Add metode, der tager et Action objekt som argument.

I en asp side definerer jeg a som server.createobject("Actions.Action") og l
som server.createobject("Actions.ActionList"). Når jeg så kalder l.Add a,
får jeg en Type mismatch: 'Add'...
Hvorfor det? Hvis jeg kalder l.Add med server.createobject("Actions.Action")
virker det fint, så dll'virker som den skal (den er også testet uden fejl i
ren VB).
Skal jeg først definere a som et Action objekt med dim eller hur?

mvh
Stefan



 
 
Jesper Stocholm (29-10-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 29-10-02 13:36

Stefan Kristensen wrote :

> Jeg har lavet en dll i VB6 med to klasser, Action og ActionList.
> ActionList er en collection, der skal gemme... Action objekter. Derfor
> har ActionList en Add metode, der tager et Action objekt som argument.
>
> I en asp side definerer jeg a som
> server.createobject("Actions.Action") og l som
> server.createobject("Actions.ActionList"). Når jeg så kalder l.Add a,
> får jeg en Type mismatch: 'Add'...
> Hvorfor det? Hvis jeg kalder l.Add med
> server.createobject("Actions.Action") virker det fint, så dll'virker
> som den skal (den er også testet uden fejl i ren VB).
> Skal jeg først definere a som et Action objekt med dim eller hur?

Jeg tror, at det er en fejl i din dll. Husker du at overføre alle
variable som ByRef ? Det er et problem, som jeg tidligere har mødt under
udvikling af dlls.

Anyway .. hvis det er tilfældet, så sætter jeg FUT til
dk.edb.programmering.basic.visual-basic .



--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

Jesper Stocholm (29-10-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 29-10-02 13:40

Jesper Stocholm wrote :

> Jeg tror, at det er en fejl i din dll. Husker du at overføre alle
> variable som ByRef ? Det er et problem, som jeg tidligere har mødt
> under udvikling af dlls.

Jeg mener selvfølgelig, at de skal overføres med ByVal ... :) Peters indlæg
fik min hukommelse på rette spor.



--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

Peter Lykkegaard (29-10-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 29-10-02 15:08

Som svar på skriblerier nedfældet af Jesper Stocholm :

> Jesper Stocholm wrote :
>
>> Jeg tror, at det er en fejl i din dll. Husker du at overføre alle
>> variable som ByRef ? Det er et problem, som jeg tidligere har mødt
>> under udvikling af dlls.
>
> Jeg mener selvfølgelig, at de skal overføres med ByVal ... :) Peters
> indlæg fik min hukommelse på rette spor.
>
Hehe, kæmper med det hver eneste dag, pga den "feature" i vores core
software
Den er specielt sjovt når man skal flytte fra en version hvor problemet ikke
pga loose typecheck til næste version hvor alle parametre er erklæret med
den "rigtige" type

mvh/Peter Lykkegaard




Tomas Christiansen (29-10-2002)
Kommentar
Fra : Tomas Christiansen


Dato : 29-10-02 20:42

Jesper Stocholm citere en indlæg af ham selv.

Hu? Er det min Outlook Express der er gået i ged (bæh), eller mangler
starten på denne tråd???

-------
Tomas


Peter Lykkegaard (29-10-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 29-10-02 21:00

Som svar på skriblerier forfattet af Tomas Christiansen

> Jesper Stocholm citere en indlæg af ham selv.
>
> Hu? Er det min Outlook Express der er gået i ged (bæh), eller mangler
> starten på denne tråd???
>
Nøhhh, jeg vil tro at Jesper har svaret på sit eget indlæg i d.e.i.s.w.a og
glemt at han har sat FUT hertil

mvh/Peter Lykkegaard



Jesper Stocholm (30-10-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 30-10-02 12:11

Peter Lykkegaard wrote :

> Som svar på skriblerier forfattet af Tomas Christiansen
>
>> Jesper Stocholm citere en indlæg af ham selv.
>>
>> Hu? Er det min Outlook Express der er gået i ged (bæh), eller mangler
>> starten på denne tråd???
>>
> Nøhhh, jeg vil tro at Jesper har svaret på sit eget indlæg i
> d.e.i.s.w.a og glemt at han har sat FUT hertil

præcist !

Mit indlæg kan dog ses via Reference-headeren i mit indlæg, der er

<news:Xns92B68A4F54C90spamstocholmdk@130.226.1.34>



--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

Tomas Christiansen (30-10-2002)
Kommentar
Fra : Tomas Christiansen


Dato : 30-10-02 12:56

Jesper Stocholm skrev:
> Mit indlæg kan dog ses via Reference-headeren i mit indlæg, der er
>
> <news:Xns92B68A4F54C90spamstocholmdk@130.226.1.34>

Ja, jeg kan blot ikke få Outlook Express til at finde hvilken nyhedsgruppe indlægget kommer fra (få OE til at opfatte det som et
link).

Jeg kan dog godt klikke på dit link herover - så kommer jeg til indlægget, og kan kigge i headeren efter hvilken gruppe indlægget
hører til. Derefter kan man søge i gruppen efter indlægget. Ret besværligt. faktisk.

-------
Tomas


Peter Lykkegaard (30-10-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 30-10-02 14:35

Som svar på skriblerier nedfældet af Tomas Christiansen :

> Jesper Stocholm skrev:
>> Mit indlæg kan dog ses via Reference-headeren i mit indlæg, der er
>>
>> <news:Xns92B68A4F54C90spamstocholmdk@130.226.1.34>
>
> Ja, jeg kan blot ikke få Outlook Express til at finde hvilken
> nyhedsgruppe indlægget kommer fra (få OE til at opfatte det som et
> link).
>
Du kan altid søge efter reference headers på Google Groups
http://www.google.com/advanced_group_search

Det er den jeg plejer at bruge, hvis det skal være
Jeg kan fx ikke se Jespers oprindelige indlæg hverken på news.uni2.dk eller
sunsite.dk vi OE
Ved ikke om det er OE der fejler eller hvad

Anyway vi er vist mega OT efterhånden

mvh/Peter Lykkegaard



Peter Lykkegaard (29-10-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 29-10-02 13:39

Som svar på skriblerier nedfældet af Stefan Kristensen :

> I en asp side definerer jeg a som
> server.createobject("Actions.Action") og l som
> server.createobject("Actions.ActionList"). Når jeg så kalder l.Add a,
> får jeg en Type mismatch: 'Add'... Hvorfor det?

Alle variabler er af typen Variant i VBScript

> Hvis jeg kalder l.Add
> med server.createobject("Actions.Action") virker det fint, så
> dll'virker som den skal (den er også testet uden fejl i ren VB).
> Skal jeg først definere a som et Action objekt med dim eller hur?
>
Når laver parametre i dine classes så skal de erklæres med ByVal
Står der intet så er det ByRef som default

Du kan komme udenom det ved at bruge CObj før kaldet

mvh/Peter Lykkegaard



stk (29-10-2002)
Kommentar
Fra : stk


Dato : 29-10-02 14:10

> Alle variabler er af typen Variant i VBScript
Kan man ikke bruge Option Explicit? Eller er det kun i <script> blokke?

> Når laver parametre i dine classes så skal de erklæres med ByVal
> Står der intet så er det ByRef som default
Jeg brøver ByVal.

> Du kan komme udenom det ved at bruge CObj før kaldet
l.Add CObj(a) virker ikke (jeg kan heller ikke finde det i MSDN). Hvis du
mener CObject, er det vist kun til C?

mvh
Stefan



Peter Lykkegaard (29-10-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 29-10-02 15:02

Som svar på skriblerier nedfældet af stk :

>> Alle variabler er af typen Variant i VBScript
> Kan man ikke bruge Option Explicit? Eller er det kun i <script>
> blokke?

Jow, men det hjælper ikke på det problem
Btw så kan det anbefales altid at bruge Option Explicit

>
>> Du kan komme udenom det ved at bruge CObj før kaldet

> l.Add CObj(a) virker ikke (jeg kan heller ikke finde det i MSDN).
> Hvis du mener CObject, er det vist kun til C?
>
Damn, det er sgu en userdefined function fra et vor egne ActiveX komponenter
Kildekoden er desværre copyrighted

Men i store træk laver du en lille funktion med en parameter af typen
variant og funktionen returnerer data af typen object
Inde i funktionen sætter du funktionsnavn lig med parameter

mvh/Peter Lykkegaard




stk (29-10-2002)
Kommentar
Fra : stk


Dato : 29-10-02 15:10

> Damn, det er sgu en userdefined function fra et vor egne ActiveX
komponenter
> Kildekoden er desværre copyrighted
>
> Men i store træk laver du en lille funktion med en parameter af typen
> variant og funktionen returnerer data af typen object
> Inde i funktionen sætter du funktionsnavn lig med parameter
Du er da flink

Jeg bruge selv metoden til at bruge et collection object i asp, men jeg skal
vist lige udvide den lidt til at returnere mine egne objekter.

Endnu en gang tak for hjælpen
c",)



Jesper Stocholm (29-10-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 29-10-02 16:45

Peter Lykkegaard wrote :

> Som svar på skriblerier nedfældet af stk :

> Damn, det er sgu en userdefined function fra et vor egne ActiveX
> komponenter Kildekoden er desværre copyrighted

forveksler du ikke "copyright" med "konfidentiel", "proprietær" eller noget
lignende ?



--
Jesper Stocholm
http://stocholm.dk
Overvejer du at købe bøger ved saxo.dk ? Kig først på
http://www.firmcheck.dk/Info.asp?website=www.saxo.dk

stk (29-10-2002)
Kommentar
Fra : stk


Dato : 29-10-02 14:49

> Når laver parametre i dine classes så skal de erklæres med ByVal
> Står der intet så er det ByRef som default
ByVal løste problemet.

Tak for hjælpen

c",)
Stefan



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

Månedens bedste
Årets bedste
Sidste års bedste