17. august 2001 - 11:04
Der er
17 kommentarer og 1 løsning
array som parameter
Er det i VB muligt at overføre et array til en funktion og arbejde med dette i funktionen. Fx Private Function RegistrerAnnonceVisning(id As array) temp = id(0) temp = id(1) osv..... End Function --- Jeg ved godt at dette med \'Array\' ikke fungere, men hvad kan der gøres???
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
17. august 2001 - 11:08
#1
Function Dingdong(Id() As Long) temp=id(0) teno=id(1) osv... End Function \' /Jennemaan
17. august 2001 - 11:21
#2
hmmm... jeg kan ikke umiddelbart få det til at virke. Der er tale om at jeg skal udvikle en dll funktion, som modtager et array fra en ASP side. Kaldet fra ASP tænker jeg vil være: DLLnavn.Funktion(Array) ...men når jeg udfører dette får jeg blot fejlen: \"Object doesn\'t support this property or method\" (jeg har indført din kode i dll\'en og registreret denne) Nogle ideer?
17. august 2001 - 11:26
#3
i ASP er ALLE variable af VARIANT typen. - Så hvis du vil have det til at virke skal du bruge Function Dingdong(Id As Variant) temp=id(0) teno=id(1) osv... End Function
17. august 2001 - 11:29
#4
Og husk så lige at du er nød til at pakke det ind i et klassemodul dinefunktioner.cls Function Dingdong(Id As Variant) temp=id(0) teno=id(1) osv... End Function --- i asp set x=Createobject(\"dindll.dinefunktioner\") Response.write x.Dingdong(ditarray) /Jennemaan
17. august 2001 - 11:33
#5
jep - jeg tester lige... :)
17. august 2001 - 11:53
#6
Jeg gør som du har foreslået men den er ikke glad... :( fejlen er stadig \"Object doesn\'t support this property or method\" HVAD GØR JEG????
17. august 2001 - 12:03
#7
altså... Start VB... Projecttype vælge ActiveX dll ... Kald objektet test og indsæt koden i classmodulet for test. test.cls: Function HelloWorld() HelloWorld=\"Hello World\" End Function Kald projektet for VB2ASP Compile dll\'en og luk vb. i ASP SKAL du nu kunne skrive set x = createobject(\"VB2ASP.test\") Response.Write x.HelloWorld() Hvis det ikke virker, så prøv at genstarte din iis - eller hele maskinen. /Jennemaan
17. august 2001 - 12:04
#8
Øhm... Husk lige under project-properties at sætte projektnavnet ik\'?
17. august 2001 - 12:12
#9
Rolig nu... jeg har udviklet den overordnede dll, med flere funktioner der virker og som jeg sagtens kan tilgå fra mine ASP sider, så hele den proces er på plads og kører!!! Den nye funktion i dll\'en der helst skulle kunne modtage et array er problemet!!!
17. august 2001 - 12:33
#10
Jeg har testet lidt og problemet at dll\'en ikke forstår at det er et array den får ind. Nedenstående kode virker ikke: Conn.Execute (\"UPDATE Ann SET HitsAfviklet = HitsAfviklet + 1 WHERE AnnID=\" & Id(0)) MEN det gør denne: temp = 1 Conn.Execute (\"UPDATE Ann SET HitsAfviklet = HitsAfviklet + 1 WHERE AnnID=\" & temp) ...altså der må være en måde hvorpå jeg kan få den til at forstå at det er et Array den har at arbejde med - MEN HVORDAN??? HJÆLP
17. august 2001 - 12:34
#11
...de her viste kode stykker er naturligvis udpluk fra funktionen i dll\'en :)
17. august 2001 - 12:39
#12
prøv at checke dimensionerne på arrayet? Er det et spørgsmål om det er 0 el. 1 indekseret? /Jennemaan
17. august 2001 - 12:44
#13
der er tale om et array med et variabelt antal poster sat - for hver sat post, der repræsenterer et ID i min database, skal der ske en update. hvad mener du med \"om det er 0 el. 1 indekseret\"
17. august 2001 - 12:49
#14
Option Base = 0 el. Option Base = 1
17. august 2001 - 12:51
#15
...øhhhh, forklaring udbedes, tak :)
17. august 2001 - 13:00
#16
Du kan sætte, om et array-indeks skal starte ved 0 eller ved 1
17. august 2001 - 13:22
#17
Et array starter ved 0 el. 1 (m.m. andet er angivet). Hvis arrayet starter med element 0 så er det 0-indekseret. Hvis arrayet er 1-indekseret, vil du få en fejl ved id(0), idet elementet ikke eksisterer. Hvis det altid er det første element du vil have fat i kan du skrive som følger: temp=id(lbound(id)) /Jennemaan
20. august 2001 - 10:20
#18
en ÅNDSVAG fejl (som jeg ikke vil belaste jer med) var skyld i at jeg ikke kunne få det til at virke. De første indlæg fra jennemaan var løsningen på mit problem - så lidt point til dig... Tak for hjælpen :)
Kurser inden for grundlæggende programmering