Beiträge von HalliHalloSchat
-
-
-
Ich habe den Fehler GEFUNDEN!
Es ist ein BUG im UDF von ARRAY.AU3:
Hier meine GEFIXTE VERSION:
AutoIt
Alles anzeigen; #FUNCTION# ==================================================================================================================== ; Author ........: Jos ; Modified.......: Ultima - added $iEnd as parameter, code cleanup; Melba23 - added support for empty & 2D arrays ; =============================================================================================================================== Func __ArrayBinarySearch(Const ByRef $aArray, $vValue, $iStart = 0, $iEnd = 0, $iColumn = 0) If $iStart = Default Then $iStart = 0 If $iEnd = Default Then $iEnd = 0 If $iColumn = Default Then $iColumn = 0 If Not IsArray($aArray) Then Return SetError(1, 0, -1) ; Bounds checking Local $iDim_1 = UBound($aArray, $UBOUND_ROWS) If $iDim_1 = 0 Then Return SetError(6, 0, -1) If $iEnd < 1 Or $iEnd > $iDim_1 - 1 Then $iEnd = $iDim_1 - 1 If $iStart < 0 Then $iStart = 0 If $iStart > $iEnd Then Return SetError(4, 0, -1) Local $iMid = Int(($iEnd + $iStart) / 2) Switch UBound($aArray, $UBOUND_DIMENSIONS) Case 1 If $aArray[$iStart] > $vValue Or $aArray[$iEnd] < $vValue Then Return SetError(2, 0, -1) ; Search While $iStart <= $iMid And Not ($vValue == $Array[$iMid]) If $vValue < $aArray[$iMid] Then $iEnd = $iMid - 1 Else $iStart = $iMid + 1 EndIf $iMid = Int(($iEnd + $iStart) / 2) WEnd If $iStart > $iEnd Then Return SetError(3, 0, -1) ; Entry not found Case 2 Local $iDim_2 = UBound($aArray, $UBOUND_COLUMNS) - 1 If $iColumn < 0 Or $iColumn > $iDim_2 Then Return SetError(7, 0, -1) If $aArray[$iStart][$iColumn] > $vValue Or $aArray[$iEnd][$iColumn] < $vValue Then Return SetError(2, 0, -1) ; Search While $iStart <= $iMid And Not ($vValue == $aArray[$iMid][$iColumn]) If $vValue < $aArray[$iMid][$iColumn] Then $iEnd = $iMid - 1 Else $iStart = $iMid + 1 EndIf $iMid = Int(($iEnd + $iStart) / 2) WEnd If $iStart > $iEnd Then Return SetError(3, 0, -1) ; Entry not found Case Else Return SetError(5, 0, -1) EndSwitch Return $iMid EndFunc ;==>_ArrayBinarySearch
und zwar in Zeile 25 und 39.
Zeile 25:
Original: While $iStart <= $iMid And $vValue <> $Array[$iMid]
FIX: While $iStart <= $iMid And Not ($vValue == $Array[$iMid])
Zeile 39:
Original: While $iStart <= $iMid And $vValue <> $aArray[$iMid][$iColumn])
FIX: While $iStart <= $iMid And Not ($vValue == $aArray[$iMid][$iColumn])Hier meine Ausgabe aus dem 1. Post nun mit richtiger Erkennung ss und ß, also b_außer und b_ausser
Code
Alles anzeigen--> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop Index 0: a_ausser Index 1: a_außer Index 2: b_ausser Index 3: b_außer Index 4: c_ausser Index 5: c_außer BinarySearchIndex: 3 <-- Hier sollte Index 3 mit b_außer gefunden werden BinarySearchIndex: 2 Export und Import Index 0: 6 Index 1: a_ausser Index 2: a_außer Index 3: b_ausser Index 4: b_außer Index 5: c_ausser Index 6: c_außer BinarySearchIndex: 4 <-- Hier sollte Index 4 mit b_außer gefunden werden BinarySearchIndex: 3 Interessante Ausgaben: ÄÖÜäöüß +>22:14:44 AutoIt3.exe ended.rc:0
Für mich bleibt nur noch eine Frage:
Sollte ich das nun auch im englishen Forum posten, sodass der Bugfix geprüft und dann in die neue Version übernommen werden kann? -
nachdem ich jetzt so langsam einige weitere LUA-Scripte hinzugefügt habe, habe ich hier auch die Lösung gefunden:
es fehlte die Zeile
LUA_USER_PATH = LUA_USER_PATH .. sUserLua .. "\\?.lua;" .. sUserLua .. "\\?\\?.lua;"Code-- Start up the events (Calls OnStartup()). EventClass:BeginEvents() -- Erst nach Registrierung der EventClass werden eigene Dateien geladen local sUserLua = props["Lua.User.Scripts.Path"] .. "\\" LUA_USER_PATH = sUserLua .. "\\?.dll;" .. sUserLua .. "\\?\\?.dll;" LUA_USER_PATH = LUA_USER_PATH .. sUserLua .. "\\?.lua;" .. sUserLua .. "\\?\\?.lua;" package.cpath = LUA_USER_PATH .. package.cpath LoadLuaFile("AutoStampSaveVersion.lua", sUserLua ) -- enthält Event: "OnBeforeSave"
-
-
Danke für das LUA Script.
Ich habe alles eingestellt, mich an den Beispielen oben gehalten, jedoch bekomme ich eine Fehlermeldung:
Codecannot open S:\Programmierung\AutoIt\Programme\AutoIt3\SciTE\_OWN\LUA_ScriptsAutoStampSaveVersion.lua: No such file or directory >Lua: error occurred while loading startup script cannot open S:\Programmierung\AutoIt\Programme\AutoIt3\SciTE\_OWN\LUA_ScriptsAutoStampSaveVersion.lua: No such file or directory >Lua: error occurred while loading startup script
Habe folgenden Eintrag in meiner SciTEUser.properties:
Lua.User.Scripts.Path=$(SciteDefaultHome)\_OWN\LUA_Scripts
--> hier liegt AutoStampSaveVersion.lua
--> hier liegt shell.dllHier mein ENDE der SciTEStartup.lua
Code-- Start up the events (Calls OnStartup()). EventClass:BeginEvents() -- Erst nach Registrierung der EventClass werden eigene Dateien geladen local sUserLua = props["Lua.User.Scripts.Path"] LUA_USER_PATH = sUserLua .. "\\?.dll;" .. sUserLua .. "\\?\\?.dll;" package.cpath = LUA_USER_PATH .. package.cpath LoadLuaFile("AutoStampSaveVersion.lua", sUserLua ) -- enthält Event: "OnBeforeSave"
EDIT:
Habe es dann mal doch hinbekommen. Mir war nicht bewußt, dass ich mit LUA zwei \\ benutzen muss.Hier meine Lösung in der SciTEStartup.lua:
LoadLuaFile("AutoStampSaveVersion.lua", sUserLua .. "\\") -- enthält Event: "OnBeforeSave"Sucht er nicht automatisch in diesem Pfad nach den User-LUA-Scripten?
Dachte dafür wurde die PATH erweitert. -
VIELEN Dank für deine SciTEUser.properties.
Diese werde ich mir mal anschauen und für mich sinnvolle Bereiche "übernehmen".
@BugFix, danke für die LUA ScripteDa sind ja wirklich schöne Sachen drin. Werde dann mal über die Suchfunktion die einzelnen "Tools"LUA" besorgen.
Zurück zu meinem Problem:
Code$Array1[4] : c_ausser $Array2[4] : c_ausser BinarySearchIndex: 4 c_ausser NormalSearchIndex: 4 c_ausser $Array1[5] : c_außer $Array2[5] : c_außer BinarySearchIndex: 4 c_außer NormalSearchIndex: 4 c_außer
Hier wird ja wirklich das falsche zurück gegeben.
c_ausser ist noch richtig mit Index 4.
c_außer wird nicht gefunden, sondern dann wieder Index 4.Ist das bei dir / bei euch auch so?
Also ein allgemeines Problem oder nur etwas auf meinen 2 PCs und somit ein lokales Problem bei mir? -
Hier schon einmal meine Ausgabe.
Jetzt gehe ich dabei und versuche zu verstehen was passiert.Spoiler anzeigen
AutoIt
Alles anzeigen--> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop + $FO_ANSI Davor, $FO = 512, Index: 0, a_ausser Davor, $FO = 512, Index: 1, a_außer Davor, $FO = 512, Index: 2, b_ausser Davor, $FO = 512, Index: 3, b_außer Davor, $FO = 512, Index: 4, c_ausser Davor, $FO = 512, Index: 5, c_außer Danach, $FO = 512, Index: 0, a_ausser Danach, $FO = 512, Index: 1, a_außer Danach, $FO = 512, Index: 2, b_ausser Danach, $FO = 512, Index: 3, b_außer Danach, $FO = 512, Index: 4, c_ausser Danach, $FO = 512, Index: 5, c_außer $Array1[0] : a_ausser $Array2[0] : a_ausser BinarySearchIndex: 1 a_ausser NormalSearchIndex: 1 a_ausser $Array1[1] : a_außer $Array2[1] : a_außer BinarySearchIndex: 1 a_außer NormalSearchIndex: 1 a_außer $Array1[2] : b_ausser $Array2[2] : b_ausser BinarySearchIndex: 3 b_ausser NormalSearchIndex: 2 b_ausser $Array1[3] : b_außer $Array2[3] : b_außer BinarySearchIndex: 3 b_außer NormalSearchIndex: 2 b_außer $Array1[4] : c_ausser $Array2[4] : c_ausser BinarySearchIndex: 4 c_ausser NormalSearchIndex: 4 c_ausser $Array1[5] : c_außer $Array2[5] : c_außer BinarySearchIndex: 4 c_außer NormalSearchIndex: 4 c_außer + $FO_UTF8_NOBOM Davor, $FO = 256, Index: 0, a_ausser Davor, $FO = 256, Index: 1, a_außer Davor, $FO = 256, Index: 2, b_ausser Davor, $FO = 256, Index: 3, b_außer Davor, $FO = 256, Index: 4, c_ausser Davor, $FO = 256, Index: 5, c_außer Danach, $FO = 256, Index: 0, a_ausser Danach, $FO = 256, Index: 1, a_außer Danach, $FO = 256, Index: 2, b_ausser Danach, $FO = 256, Index: 3, b_außer Danach, $FO = 256, Index: 4, c_ausser Danach, $FO = 256, Index: 5, c_außer $Array1[0] : a_ausser $Array2[0] : a_ausser BinarySearchIndex: 1 a_ausser NormalSearchIndex: 1 a_ausser $Array1[1] : a_außer $Array2[1] : a_außer BinarySearchIndex: 1 a_außer NormalSearchIndex: 1 a_außer $Array1[2] : b_ausser $Array2[2] : b_ausser BinarySearchIndex: 3 b_ausser NormalSearchIndex: 2 b_ausser $Array1[3] : b_außer $Array2[3] : b_außer BinarySearchIndex: 3 b_außer NormalSearchIndex: 2 b_außer $Array1[4] : c_ausser $Array2[4] : c_ausser BinarySearchIndex: 4 c_ausser NormalSearchIndex: 4 c_ausser $Array1[5] : c_außer $Array2[5] : c_außer BinarySearchIndex: 4 c_außer NormalSearchIndex: 4 c_außer + $FO_UTF8 Davor, $FO = 128, Index: 0, a_ausser Davor, $FO = 128, Index: 1, a_außer Davor, $FO = 128, Index: 2, b_ausser Davor, $FO = 128, Index: 3, b_außer Davor, $FO = 128, Index: 4, c_ausser Davor, $FO = 128, Index: 5, c_außer Danach, $FO = 128, Index: 0, a_ausser Danach, $FO = 128, Index: 1, a_außer Danach, $FO = 128, Index: 2, b_ausser Danach, $FO = 128, Index: 3, b_außer Danach, $FO = 128, Index: 4, c_ausser Danach, $FO = 128, Index: 5, c_außer $Array1[0] : a_ausser $Array2[0] : a_ausser BinarySearchIndex: 1 a_ausser NormalSearchIndex: 1 a_ausser $Array1[1] : a_außer $Array2[1] : a_außer BinarySearchIndex: 1 a_außer NormalSearchIndex: 1 a_außer $Array1[2] : b_ausser $Array2[2] : b_ausser BinarySearchIndex: 3 b_ausser NormalSearchIndex: 2 b_ausser $Array1[3] : b_außer $Array2[3] : b_außer BinarySearchIndex: 3 b_außer NormalSearchIndex: 2 b_außer $Array1[4] : c_ausser $Array2[4] : c_ausser BinarySearchIndex: 4 c_ausser NormalSearchIndex: 4 c_ausser $Array1[5] : c_außer $Array2[5] : c_außer BinarySearchIndex: 4 c_außer NormalSearchIndex: 4 c_außer +>15:43:52 AutoIt3.exe ended.rc:0 +>15:43:52 AutoIt3Wrapper Finished. >Exit code: 0 Time: 3.563
Okay, 1:
Meine SciTE\SciTEUser.properties ist komplett leer, wo bekomme ich eine DEFAULT her?
Diese liegt bei mir auch in dem SciTE-Install-Ordner und nicht im AppDataDirEDIT: _CharToOem() ist sehr geil. Jetzt schaut die CommandLine-Ausgabe sehr schön aus.
EDIT: Ich mache nachher weiter, muss erst mal zu einem Termin.
Nach 15 Minuten weiß ich noch nicht genau was passiert und wie ich die Ausgabe verstehen soll.
Ich glaube aber, das der gesuchte Index immer noch falsch ist. Ich mache nachher aber weiter und versuche zu verstehen was genau passiert und wie ich die Ausgabe zu verstehen habe.
Aber jetzt schaut es für mich so aus, als wenn _SearchXY() immer noch kein ß vom ss unterscheiden kann. -
Ich habe das Problem bisher nicht lösen können.
1. _ArraySearch und _ArrayBinarySearch können kein ß vom ss unterscheiden.
11--> Hier habe ich ja mein Testscript oben gepostet, bei dem gut ersichtlich immer der gleiche Index gefunden wird, obwohl einmal ein ss und einmal ein ß gesucht wird.2. Richtige Codepage im SciTE, ich hätte am liebsten ANSI, denn dort kann ich mit der Suchfunktion (STRG+F) zumindest ein ß vom ss unterscheiden. Mit allen UTF Codepages leider nicht.
22--> Hier habe ich ja meine Ausgaben gepostet. Leider sieht es immer noch genau so aus. Ich habe keine weitere Ideen.3. Anzeige wird beim kompilieren der Scripte im SciTE und später auch in dem CommndLine nicht richtig angezeigt.
Sollte ich mein Problem mal im englischen Forum melden?
-
Ich habe bewusst mit Notepad++ das Codepage der Datei verändert um den Fehler vielleicht eingrenzen zu können.
Mir ist im Notepad++ und im SciTE aufgefallen:
- mit UTF8 + UTF16 --> dass ich mit STRG+F nach "auss" suche, markiert er mir "auss" und "auß".
- mit ANSI --> dass ich mit STRG+F nach "auss" suche, markiert er mir "auss" und NICHT die "auß".Daher war meine Annahme, dass das _ArrayBinarySearch und _ArraySearch Probleme mit der Codepage hat und daher ein ss nicht vom ß unterscheiden kann.
AutoIt unterscheidet dann im Betrieb wohl die Datei-Codepage nicht mehr sonderlich...
-
GDATA kann das Problem bei sich in der Entwicklung reproduzieren und behebt der Fehler in der nächsten Programmversion.
Es sollte dann möglich sein, den AutoIt-Ordner in die "Ausnahmeliste" hinzuzufügen, sodass der FileMonitor-Service diesen dann berücksichtigt.
-
Auch mit der UTF 16Little Endian scheint bei mir im SciTE ausser und außer gleich zu sein.
Wenn ich mit STRG+F nach "auss" suche, markiert er mir "auss" und "auß".Des weiteren ist die Ausgabe bei mir auch identisch, beides mal findet Search die gleiche Zeile und nicht die unterschiedliche, obwohl ich einmal nach "ausser" suche und das andere mal nach "außer".
Die Ausgabe wird bei mir dann auch wieder ordentlich falsch Dargestellt.:(
Ich bin mit meinem Latain am Ende und hoffe auch euch. -
-
Hallo Experten,
ich habe ein Problem.
Ich bin mit AutoIt nicht in der Lage ein ss von einem ß zu unterscheiden.Außerdem habe ich Darstellungsprobleme in SciTE:
AutoIt
Alles anzeigen#include <Array.au3> #include <File.au3> #include <FileConstants.au3> #include <WinAPIFiles.au3> Local $Array[6] = ["a_ausser", "a_außer", "b_ausser", "b_außer", "c_ausser", "c_außer"] _ArraySort($Array, 0, 0) For $i=0 to UBound($Array)-1 ConsoleWrite("Index " & $i & ": " & $Array[$i] & @CRLF) Next ;BinarySearch ConsoleWrite("BinarySearchIndex: " & _ArrayBinarySearch($Array, "b_außer", 0) & @CRLF) ConsoleWrite("BinarySearchIndex: " & _ArrayBinarySearch($Array, "b_ausser", 0) & @CRLF) ;~ ConsoleWrite("_ArraySearchIndex: " & _ArraySearch($Array, "b_außer", 0) & @CRLF) ;~ ConsoleWrite("_ArraySearchIndex: " & _ArraySearch($Array, "b_ausser", 0) & @CRLF) ;Export und Import ConsoleWrite("Export und Import" & @CRLF) _FileWriteFromArray(FileOpen(@ScriptFullPath & ".array", $FO_OVERWRITE + $FO_ANSI), $Array, 0) ;Hier kann ich "ausser" suchen und finde auch nur "ausser" in einem Editor ;~ _FileWriteFromArray(FileOpen(@ScriptFullPath & ".array", $FO_OVERWRITE + $FO_UTF8_NOBOM), $Array, 0) ;IDENTISCH ;Hiermit kann ich nach "ausser" suchen und finde auch "außer" in einem Editor ;~ _FileWriteFromArray(FileOpen(@ScriptFullPath & ".array", $FO_OVERWRITE + $FO_UTF8), $Array, 0) ;IDENTISCH ;Hiermit kann ich nach "ausser" suchen und finde auch "außer" in einem Editor ;~ ConsoleWrite("FileEncoding: " & FileGetEncoding(@ScriptFullPath & ".array") & @CRLF) ReDim $Array[0] _FileReadToArray(@ScriptFullPath & ".array", $Array) _ArraySort($Array, 0, 1) For $i=0 to UBound($Array)-1 ConsoleWrite("Index " & $i & ": " & $Array[$i] & @CRLF) Next ;BinarySearch ConsoleWrite("BinarySearchIndex: " & _ArrayBinarySearch($Array, "b_außer", 1) & @CRLF) ConsoleWrite("BinarySearchIndex: " & _ArrayBinarySearch($Array, "b_ausser", 1) & @CRLF) ;~ ConsoleWrite("_ArraySearchIndex: " & _ArraySearch($Array, "b_außer", 0) & @CRLF) ;~ ConsoleWrite("_ArraySearchIndex: " & _ArraySearch($Array, "b_ausser", 0) & @CRLF) ;Interessante Ausgaben: ConsoleWrite("Interessante Ausgaben: ÄÖÜäöüß" & @CRLF)
Hier einmal ein paar Ausgaben:
AutoIt
Alles anzeigenScriptDatei: ANSI Settings: #~ utf8.auto.check=4 # detect ascii high characters and if none found set default encoding to UTF8 and do not add BOM Ausgaben: >Running AU3Check (3.3.14.2) from:S:\Programmierung\AutoIt\Programme\AutoIt3 input:S:\Programmierung\Scripte\_am Entwickeln\Movie DB Info\_GENUTZTES\ausser_außer.au3 +>10:26:41 AU3Check ended.rc:0 >Running:(3.3.14.2):S:\Programmierung\AutoIt\Programme\AutoIt3\autoit3_x64.exe "S:\Programmierung\Scripte\_am Entwickeln\Movie DB Info\_GENUTZTES\ausser_außer.au3" --> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop Index 0: a_ausser Index 1: a_außer Index 2: b_ausser Index 3: b_außer Index 4: c_ausser Index 5: c_außer BinarySearchIndex: 2 <-- Hier sollte Index 3 mit b_außer gefunden werden BinarySearchIndex: 2 Export und Import Index 0: 6 Index 1: a_ausser Index 2: a_außer Index 3: b_ausser Index 4: b_außer Index 5: c_ausser Index 6: c_außer BinarySearchIndex: 3 <-- Hier sollte Index 4 mit b_außer gefunden werden BinarySearchIndex: 3 Interessante Ausgaben: ÄÖÜäöüß +>10:26:41 AutoIt3.exe ended.rc:0
Hier nochmal:AutoIt
Alles anzeigenScriptDatei: UTF8 without BOM Settings: utf8.auto.check=4 # detect ascii high characters and if none found set default encoding to UTF8 and do not add BOM Ausgaben: >Running AU3Check (3.3.14.2) from:S:\Programmierung\AutoIt\Programme\AutoIt3 input:S:\Programmierung\Scripte\_am Entwickeln\Movie DB Info\_GENUTZTES\ausser_außer.au3 +>10:25:10 AU3Check ended.rc:0 >Running:(3.3.14.2):S:\Programmierung\AutoIt\Programme\AutoIt3\autoit3_x64.exe "S:\Programmierung\Scripte\_am Entwickeln\Movie DB Info\_GENUTZTES\ausser_außer.au3" --> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop Index 0: a_ausser Index 1: a_au?r Index 2: b_ausser Index 3: b_au?r Index 4: c_ausser Index 5: c_au?r BinarySearchIndex: 2 <-- Hier sollte Index 3 mit b_außer gefunden werden BinarySearchIndex: 2 Export und Import Index 0: 6 Index 1: a_ausser Index 2: a_au?r Index 3: b_ausser Index 4: b_au?r Index 5: c_ausser Index 6: c_au?r BinarySearchIndex: 3 <-- Hier sollte Index 4 mit b_außer gefunden werden BinarySearchIndex: 3 Interessante Ausgaben: R??? +>10:25:10 AutoIt3.exe ended.rc:0
zu beachten sind hier die Unterschiede bei den ÄÖÜäöüß.
Bei dem einen wird das ß in den ersten Zeilen verändert:
>Running AU3Check (3.3.14.2) from:S:\Programmierung\AutoIt\Programme\AutoIt3 input:S:\Programmierung\Scripte\_am Entwickeln\Movie DB Info\_GENUTZTES\ausser_außer.au3
Bei dem anderen wird es in meinem Ausgaben geändert:
Interessante Ausgaben: R???Aber das es in beiden Fällen richtig läuft bekomme ich nicht hin.
SciTE und AutoIt habe ich quasi frisch installiert.Wenn ich mit einerm Editor die .array Datei öffne, dann kann ich ausser und außer nur bei der ANSI codierten Datei unterscheiden.
Was ich in der SciTE GlobalConfig gefunden habe:
AutoIt
Alles anzeigenSciTE GlobalSettings: # Internationalisation #NewFileEncoding=CodePage/UTF8BOM/UTF8/UTF16BE/UTF16LE # Only available in SciTE4AutoIt3 version #~ Enhance function of auto checking utf8: providing two methods #~ utf8.auto.check=1 # detect utf8 and add BOM automatically Credits to SciTE-RU #~ utf8.auto.check=2 # detect utf8 and do not add BOM #~ utf8.auto.check=3 # detect ascii high characters and if none found set default encoding to UTF8 and add BOM #~ #~ #~ #~ #~ #~ #~ #~ #~ #~ utf8.auto.check=4 # detect ascii high characters and if none found set default encoding to UTF8 and do not add BOM #~ #~ #~ #~ #~ #~ #~ #~ #~ #~ # Japanese input code page 932 and ShiftJIS character set 128 #code.page=932 #character.set=128 # Unicode #~ code.page=65001 code.page=0 #character.set=204 #command.discover.properties=python /home/user/FileDetect.py "$(FilePath)" # Required for Unicode to work on GTK+: #LC_CTYPE=en_US.UTF-8 if PLAT_GTK output.code.page=65001 if PLAT_MAC output.code.page=65001
Ich denke ich habe ein Problem mit dem UTF8 und ANSI... -
@Wrapper GData Problem:
Ich habe mit Jos geschrieben, er ist der "Entwickler" vom Wrapper.
Wir haben nun eine Beta mit einem kleinen Sleep an der richtigen Stelle...The Process name is: AVKWCtlx64.exe and called G Data Filesystem Monitor Service. This process is the last process with access to the TMP-File (check with ProcMon from SysInternals) when the Error Promp pop up.
I have no idea, where I can configure this process. I have add the exclusion path, I have disable all components I can configure in the G Data Internet Security GUI. Really all components, AntiVirus-, Heuristik-, Firewall-, Web-, Mail-, Spam-, BankGiard-, Keylogger-, Exploit-, Malware-, Phishing-, USB-Protection. This process is running, running, running and blocking for a really short time...
Zu der SciTE AutoIt Sache (utf8.auto.check), hoffe ich mal auf ein paar Tips in die richtige Richtung -
SciTEGlobal.properties:
Code# Internationalisation #NewFileEncoding=CodePage/UTF8BOM/UTF8/UTF16BE/UTF16LE # Only available in SciTE4AutoIt3 version #~ Enhance function of auto checking utf8: providing two methods #~ utf8.auto.check=1 # detect utf8 and add BOM automatically Credits to SciTE-RU #~ utf8.auto.check=2 # detect utf8 and do not add BOM #~ utf8.auto.check=3 # detect ascii high characters and if none found set default encoding to UTF8 and add BOM #~#~#~#~#~#~ utf8.auto.check=4 # detect ascii high characters and if none found set default encoding to UTF8 and do not add BOM
diese Zeile ist normalerweise AKTIV:
#~#~#~#~#~#~ utf8.auto.check=4 # detect ascii high characters and if none found set default encoding to UTF8 and do not add BOMWas soll diese machen?
Diese verändert meinen Zeichensatz, daher habe ich diesen mal auskommentiert in der SciTEGlobal.properties.
Ohne diese "Funktion" bleibt ein öäü ein öäü und nicht äö oder was das auch immer darstellen soll fürs menschliche Auge. -
Irgendwer verstellt mir auch meine codierung:
Man beachte die Umlaute:AutoIt!>18:34:41 Error: EndUpdateResource: Returncode = 0 - LastError:110:Das System kann das angegebene Gerät oder die angegebene Datei nicht öffnen.rc:2
AutoitWrapper verstellt bei mir auch die Versionsnummer zurück nach 05 auch wenn in der gespeicherten Version nur 5 steht. Somit ist beim zweiten compile dann auch die 05 wieder da und die Zeichensatzcodierung ist verstellt.
Liegt hier mein Problem, dass mit der Zeichencodierung etwas nicht stimmt, bzw. verstellt wird?EDIT:
Ich habe den AutoItWrapper bei mir auf dem Rechner kompiliert.
in näge Zeile 2530 hinzugefügt:AutoIthinzugefügt: Write_RC_Console_Msg("sleeping 2000ms for FileChecks", "", "...", 0) hinzugefügt: Sleep(2000) ORIGINAL: Local $result = DllCall("kernel32.dll", "int", "EndUpdateResourceW", "ptr", $rh, "int", 0)
NUN funktionieren auch wieder die Wrapper directiven!Einiziges Problem:
Irgendwas verstellt mir die Zeichencodierung im der Logausgabe: -
OKAY,
ich habe folgendes auskommentierte komplett aus der Datei entfernt:
AutoIt;~ #AutoIt3Wrapper_Icon=..\..\..\..\AutoIt\Programme\AutoIt3\Aut2Exe\Icons\AutoIt_Main_v10_256x256_RGB-A.ico ;~ #AutoIt3Wrapper_Res_Comment=Marco ;~ #AutoIt3Wrapper_Res_Description=Marco ;~ #AutoIt3Wrapper_Res_Fileversion=0.16.05.8 ;~ #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y ;~ #AutoIt3Wrapper_Res_LegalCopyright=Marco ;~ #AutoIt3Wrapper_Res_Language=1031 ;~ #AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer% ;~ #AutoIt3Wrapper_Res_Field=Compile Date|%date% %time%
Sobald dies nicht mehr in der Datei vorhanden ist, läuft das Script stabil durch den compiler.Aber ich möchte diese Sachen gerne nutzen
Was bedeutet dieses hier:
Korrekt, ich hatte bei mir in der Version "05" stehen. Habe es in "5" geändert
Photon:
Ich habe deinen Test gemacht.
MIT auskommentierten Block hat es genau dein Verhalten. Jedes mal wenn ich eine Variable hinzufüge funktioniert es. Nur der zweite UNVERÄNDERTE compile schlägt fehl.Jedoch wenn ich den Block ein kommentiere, schlägt nun jedes mal fehl. Naja, jedes 10 mal ca. läuft durch. Virenscanner komplett deaktiviert.
-
Ja, genau:
AutoIt
Alles anzeigen#AutoIt3Wrapper_Icon=..\..\..\..\AutoIt\Programme\AutoIt3\Aut2Exe\Icons\AutoIt_Main_v10_256x256_RGB-A.ico #AutoIt3Wrapper_Outfile=M:\MOVIE_SymLinks.exe #AutoIt3Wrapper_Outfile_x64=M:\MOVIE_SymLinks.exe #AutoIt3Wrapper_Compression=4 #AutoIt3Wrapper_UseUpx=y #AutoIt3Wrapper_Change2CUI=y #AutoIt3Wrapper_Res_Comment=Marco #AutoIt3Wrapper_Res_Description=Marco #AutoIt3Wrapper_Res_Fileversion=0.16.05.8 #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y #AutoIt3Wrapper_Res_LegalCopyright=Marco #AutoIt3Wrapper_Res_Language=1031 #AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer% #AutoIt3Wrapper_Res_Field=Compile Date|%date% %time%
und dann einmal:
AutoIt
Alles anzeigen;~ #AutoIt3Wrapper_Icon=..\..\..\..\AutoIt\Programme\AutoIt3\Aut2Exe\Icons\AutoIt_Main_v10_256x256_RGB-A.ico #AutoIt3Wrapper_Outfile=M:\MOVIE_SymLinks.exe #AutoIt3Wrapper_Outfile_x64=M:\MOVIE_SymLinks.exe #AutoIt3Wrapper_Compression=4 #AutoIt3Wrapper_UseUpx=y #AutoIt3Wrapper_Change2CUI=y ;~ #AutoIt3Wrapper_Res_Comment=Marco ;~ #AutoIt3Wrapper_Res_Description=Marco ;~ #AutoIt3Wrapper_Res_Fileversion=0.16.05.8 ;~ #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y ;~ #AutoIt3Wrapper_Res_LegalCopyright=Marco ;~ #AutoIt3Wrapper_Res_Language=1031 ;~ #AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer% ;~ #AutoIt3Wrapper_Res_Field=Compile Date|%date% %time%
Den von dir beschriebenen Test werde ich gleich machen.
Was bedeutet dieses hier:
! Invalid FileVersion value 3=05. It will be changed to:5 -
Seit wann es nicht mehr funktioniert ist eine gute Frage. Habe schon länger an dem PC keine mehr kompiliert.
Auf meinem anderen "alten" Rechner (ein andere AntiVirus Software) läuft der gleiche SourceCode.
Jetzt habe ich meinen "alten" Rechner entsorgt und nutze nur noch den neuen und nun habe ich dieses blöde Problem.Interessant war an dem Test...
Nachdem ich alle ResourceUpdate Sachen kommentiert habe, lief der erste Compile ohne Fehler durch. Dann der zweite/dritte/vierte/ Compile den genauen selben Error: LastError:110
Alle ResourceUpdate Sachen wieder aktiv geschaltet, lief der erste Compile ohne Fehler durch. Dann der zweite/dritte/vierte/ Compile den genauen selben Error: LastError:110Das finde ich nun mal sehr merkwürdig... Merkt sich die AntiViren-SW vielleicht ein hash vom compile.tmp-file und blockiert die dann irgendwie systemseitig? Ein deaktivieren des Virenscanner bringt ja keine Besserung.
Merkwürdig das alles.Ich will gleich nochmal den Hinweis im englischen Forum testen:
exclude C:\Users\user\AppData\Local\AutoIt v3\Aut2Exe\ in AntiViren-SW
EDIT: Auch mit diesem Eintrag habe ich das Problem!