webForumDet fria alternativet

Params till komponent via loop - fel ?

4 svar · 272 visningar · startad av CokeLight

CokeLightMedlem sedan juni 2000504 inlägg
#1

Hej allihopa,

Om jag anropar komponenten utan loop så här så fungerar det bra:

call DomainCOM.DeleteContainerObject(oDomain,"User", delSingleUser)
		set DomainCOM = Nothing

men om jag stoppar in den i en loop så blir det fel:

for i=1 to Request.Form("getUser").Count
	delMultipleUsers = trim(Request.Form("getUser")(i))
	'Response.Write delMultipleUsers & "<br>"
	call DomainCOM.DeleteContainerObject(oDomain,"User", delMultipleUsers)
next
set DomainCOM = Nothingnext

Jag testade att skriva ut delMultipleUsers med response write och fick korrekta värden.. kan man inte anropa komponenten på det här sättet eller..?

... efter att jag satte dit Trim gick det plötsligt lite bättre då jag fick Automation error (innan fick jag inga felmedelanden alls), och EN användare kunde raderas, men det meddelandet fick jag bara en enda gång oavsett vad jag provade..

(Värden som requestas fås från föregående sida).

Nån som har nån kul ide om varför ovanstående inte fungerar...? Om ni har någon helt annan lösning än den jag provat får ni gärna föreslå den :)

Jag förklarar gärna om något var oklart,

Hej då

------------------
"Between stimulus and response is a pause wherein our ability to choose lies".

VideMedlem sedan dec. 19998 577 inlägg
#2

Antar att detta är ett slarvfel vid inskrivningen här i forumet:

set DomainCOM = Nothingnext

Borde vara:

set DomainCOM = Nothing
next

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

CokeLightMedlem sedan juni 2000504 inlägg
#3

Hej Vide,

Jo, det var ett slarvfel.. blev så när jag copy/paste från originalkoden.. :)

Jag har fortfarande inte lyckats lokalisera felet..

Funderade på om man alternativt kan skicka med en array som byggs upp med typ samma FOR-loop, och att man skickar med den till komponenten istället..

Finns fler metoder för att skicka dynamiskt antal parametrar till komponent.. behöver ju säkert inte alls bara vara mha en FOR-loop konstruktion...? :)

------------------
"Between stimulus and response is a pause wherein our ability to choose lies".

VideMedlem sedan dec. 19998 577 inlägg
#4

Det är lite svårt att veta när man inte sett komponenten på "insidan"...

Men i loopen så tar du bara bort en användare i taget iaf, så jag förstår inte varför din kan använda samma syntax som den första...

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

[Redigerat av Vide den 19 jun 2001]

CokeLightMedlem sedan juni 2000504 inlägg
#5

Här kommer koden:

Public Function DeleteContainerObject(ByVal ContainerName As String, ByVal ObjectClass As String, ByVal ObjectName As String) As Boolean
    
    Dim Container As IADsContainer
    Dim ADsPath As String
    ADsPath = "WinNT://" & ContainerName
    
    Set Container = GetObject(ADsPath)
    Call Container.Delete(ObjectClass, ObjectName)
    
    If Err = 0 Then
        DeleteContainerObject = True
    End If
    
    Set Container = Nothing
End Function

Första parametern är namnet på domänen du jobbar i, sen kommer typen du vill radera, och slutligen namnet på användaren...

Körs koden från VB måste man lägga till "Active DS Type Library", eller annars kan man bara köra från en ASP-sida..

(Ska iväg o spela bandy alldeles strax, men svarar annars gärna på fler frågor om det skulle behövas när jag kommer hem :) Skulle vara underbart om det gick o lösa !! :)

------------------
"Between stimulus and response is a pause wherein our ability to choose lies".

128 ms totalt · 3 externa anrop · v20260731065814-full.7de19299
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)