Ich bin grad dabei, meine vbs auf autoit umzustellen, folgendes Konstrukt kriege ich aber einfach nicht aufglöst:
for each Obj in GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf ("Objectname")
Obj.Method (params)
Next
Ich bin grad dabei, meine vbs auf autoit umzustellen, folgendes Konstrukt kriege ich aber einfach nicht aufglöst:
for each Obj in GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf ("Objectname")
Obj.Method (params)
Next
Hi,
da musst du doch fast nichts machen. Mach einfach mal das each weg.
Mega
also ich habe jetzt mal die variablen angepasst ($ davor) und das each wggelassen - nur kann er mit get object nichts anfangen
mit objget scheiterter bei obj.methodname:
Neu AutoIt v3 Script.au3 (4) : ==> The requested action with this object has failed.:
edit: ok ich glaub ich weiß woran es liegt: wenn der methodenaufruf einen errorlevel setzt, wird der nicht in @error übernommen sondern bringt das ganze script zum absturz, kann das sein?
Richtig
Du musst das Error-Objekt selbst erstellen: ( Aus Hilfe unter COM-Reference)
$oMyError = ObjEvent("AutoIt.Error","MyErrFunc") ; Install a custom error handler
; Performing a deliberate failure here (object does not exist)
$oIE = ObjCreate("InternetExplorer.Application")
$oIE.visible = 1
$oIE.bogus
if @error then Msgbox(0,"","the previous line got an error.")
Exit
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]; This is my custom error handler
Func MyErrFunc()
$HexNumber=hex($oMyError.number,8)
Msgbox(0,"","We intercepted a COM Error !" & @CRLF & _
"Number is: " & $HexNumber & @CRLF & _
"Windescription is: " & $oMyError.windescription )
Return Seterror(1,0,0) ; something to check for when this function returns
Endfunc
Na darauf muss man kommen - danke