Ich hatte folgenden Fehler beim Obfuscator für mein Programm
Zitat!File contains records longer than 2047 .. stopping process.
!Ending Obfuscator program.
Da ich sehr viele Includes hatte, mein Hauptscript aber in Ordnung war, habe ich ein kleines Script geschrieben, was alle Includes, die im Hauptscript angegeben sind und das Hauptscript selbst, durchsucht und die entsprechende Zeile und Datei ausgibt.
Vielleicht kann es jemand nutzen!
Spoiler anzeigen
#Include <File.au3>
#Include <Array.au3>
opt("MustDeclareVars", 1)
Local $aArray2[1], $s1, $Scriptpath, $rows, $search, $split, $trim
$s1 = Stringsplit(@AutoItExe, "autoit3.exe", 1 )
$Scriptpath = FileOpenDialog("Script öffnen", @DesktopDir&"\", "Scriptfile (*.au3)" )
$rows =_FileCountLines($Scriptpath)
Local $aArray[$rows + 1]
_FileReadToArray($Scriptpath, $aArray)
$search = _ArrayFindAll($aArray, "#include", 0,0,0,1)
For $k = 1 To $aArray[0]
If StringLen($aArray[$k]) >= 2047 Then
MsgBox(0, "2047", "Zeile "&$k&" in der Datei "&@ScriptName&" ist länger als 2047 Zeichen")
EndIf
Next
For $i = 0 To UBound($search) -1
$split = Stringsplit($aArray[$search[$i]], "<")
$trim = Stringtrimright($split[2], 1)
$rows =_FileCountLines($s1[1]&"Include\"&$trim)
ReDim $aArray2[$rows + 1]
_FileReadToArray($s1[1]&"Include\"&$trim, $aArray2)
For $k = 1 To $aArray2[0]
If StringLen($aArray2[$k]) >= 2047 Then
MsgBox(0, "2047", "Zeile "&$k&" in der Datei "&$trim&" ist länger als 2047 Zeichen")
EndIf
Next
Next
Zum kürzen der Zeile ist
[autoit]"Anzahl der Zeichen bis 2044"&_
"zeichen Ab 2045"
zu benutzen ( nur 2044, da "&_ noch hinzugefügt werden müssen)