Antar att detta är ett slarvfel vid inskrivningen här i forumet:
set DomainCOM = Nothingnext
Borde vara:
set DomainCOM = Nothing
next
4 svar · 287 visningar · startad av CokeLight
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å
Antar att detta är ett slarvfel vid inskrivningen här i forumet:
set DomainCOM = Nothingnext
Borde vara:
set DomainCOM = Nothing
next
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...?
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...
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 !!