- Offizieller Beitrag
Die einzigen Checkboxen, die ich entdecken kann, sind diese hier:
[autoit]
GUICtrlCreateCheckbox($pr2, 10, 20 + $i * 20, 680, 20)
Diese Checkboxen sind 680 Pixel breit? Plus Position 10 also 690 Pixel in einem GUI-Fenster ($check) das nur 670 Pixel breit ist. Und Du wunderst Dich über Probleme?
Außerdem generierst Du sie in einer If-Abfrage ( If $Adv = 3 Then). Erreicht $Adv denn überhaupt den Wert 3? Schonmal überprüft?
Nächster Punkt (Funktion Ort2()):
Spoiler anzeigen
Func Ort2() ;Wenn Einfach, alle Printer der Umgebung installieren. Sonst ---> Einzeln
If $Adv = 4 Then
$Adv = 0
$linkname = _FileListToArray("\\server\swroot\Group\Public\Printers\zh\" & $n & " Obergeschoss\" & $ort, '*.lnk', 1)
If Not IsArray($linkname) Then
MsgBox(16, "Error", "An diesem Ort sind keine Drucker vorhanden. -->" & $ort)
EndIf
For $i = 1 To $linkname[0]
$pr = StringInStr($linkname[$i], " ", 1)
$prLen = StringLen($linkname[$i])
$pr3 = $prLen - $pr
$pr2 = StringTrimRight($linkname[$i], $pr3)
$srv = StringInStr($linkname[$i], " ", 1, 1)
$srv2 = StringTrimLeft($linkname[$i], $srv + 3)
$srv3 = StringTrimRight($srv2, 4)
RunWait("rundll32 printui.dll,PrintUIEntry /in /n \\" & $srv3 & "\" & $pr2)
Next
$Msg = MsgBox(4, "Drucker", "Die Drucker im " & $msgn & "ten Stock " & $an & " " & $ort & " wurden eingerichtet. " & @CRLF & "Weitere Drucker einrichten?")
If $Msg = 6 Then ;JA
hide()
$Neustart = 1
Else ;NEIN
$Radio = 1
EndIf
Else
$Radio = 1
EndIf
EndFunc ;==>Ort2
Du hast zwar eine Fehlerabfrage drin (If Not IsArray($linkname) Then), aber Du überspringst nicht den möglicherweise fehlererzeugenden Teil:
[autoit]
For $i = 1 To $linkname[0]
Wenn $linkname gar kein Array ist, aufgrund fehlender *lnk-Dateien, dann wird es hier zu einem Error kommen.
Das Gleiche gilt für die Funktion Einzeln(). Dort fehlt die Fehlerabfrage komplett.
Und bevor ich so eine Menge verschachtelter MsgLoop-Schleifen schreiben würde, würde ich lieber den OnEvent-Mode benutzen. Aber das kann ich nicht weiter testen, aufgrund der speziellen Gegebenheiten.