Вердикт таков:Администраторы, каков вердикт?
Приведите полный рабочий пример воспроизведения бага, иначе нечего даже обсуждать.
$NameLogFile = 'C:\Program Files\TeamViewer\Version5\TeamViewer5_Logfile.log'
$File = FileRead($NameLogFile)
У меня этот пример не работает, в силу того что нет файла по указанному пути, это и имелось в виду, нужен рабочий пример, чтобы я запустил и увидел проблему, разработчики AutoIt'а не отнесутся с серъёзностью к подобным багам (без конкретного примера воспроизведения).Какой "полный рабочий пример" Вы ожидаете увидеть? Всё прост
#include <WinAPI.au3>
FileChangeDir(@WindowsDir)
$search = FileFindFirstFile('*.log')
While 1
$file = FileFindNextFile($search)
$Handle = FileOpen($file, 0)
If $Handle = -1 Then ExitLoop
FileClose($Handle)
Wend
MsgBox(4096, 'Error!', _WinAPI_GetLastErrorMessage() & ' ' & $file)
Exit
А у меня не находит, пишет: «Больше файлов не осталось.»У меня нашёл файл Sti_Trace.log
$hSearch = FileFindFirstFile(@WindowsDir & '\*.log')
If @error Then
Exit
EndIf
While 1
$sFile = FileFindNextFile($hSearch)
If @error Then
Exit
EndIf
ConsoleWrite($sFile & ' - ')
$hFile = FileOpen(@WindowsDir & '\' & $sFile, 0)
If $hFile = -1 Then
ConsoleWrite('Error!')
Else
ConsoleWrite('OK')
EndIf
FileClose($hFile)
ConsoleWrite(@CR)
WEnd
А у меня с этим примером 4 файла Error...У меня все OK
Sti_Trace.log - Error!
wiaservc.log - Error!
wiadebug.log - Error!
WindowsUpdate.log - Error!
#include <WinAPI.au3>
$hSearch = FileFindFirstFile(@WindowsDir & '\*.log')
If @error Then
Exit
EndIf
While 1
$sFile = FileFindNextFile($hSearch)
If @error Then
Exit
EndIf
;$hFile = FileOpen(@WindowsDir & '\' & $sFile, 0)
$hFile = _WinAPI_CreateFile(@WindowsDir & '\' & $sFile, 2, 2, 6)
If $hFile <= 0 Then
ConsoleWrite($sFile & ' - Error!' & @CRLF)
Else
ConsoleWrite($sFile & ' - OK' & @CRLF)
EndIf
;FileClose($hFile)
_WinAPI_CloseHandle($hFile)
WEnd
Тоже самое, файл не открывается.FileOpen(@WindowsDir & '\' & $sFile, 1)
#include <WinAPI.au3>
#include <Debug.au3>
ConsoleWrite("_DebugBugReportEnv: " & _DebugBugReportEnv() & @CRLF & @CRLF)
FileChangeDir(@DesktopDir)
$sFile = "test.txt"
$hTmpFileOpen = FileOpen($sFile, 1)
$hFile = FileOpen($sFile, 0)
;$hFile = _WinAPI_CreateFile($sFile, 2, 2, 6)
If $hFile = -1 Then
ConsoleWrite($sFile & ' - Error!' & @CRLF)
Else
ConsoleWrite($sFile & ' - OK' & @CRLF)
EndIf
FileClose($hFile)
FileClose($hTmpFileOpen)
;_WinAPI_CloseHandle($hFile)
_DebugBugReportEnv: AutoIt:3.3.2.0 (Os:WIN_XP/X86/Service Pack 2 Language:0419 Keyboard:00000409 Cpu:X86)
test.txt - OK
_DebugBugReportEnv: AutoIt:3.3.4.0 (Os:WIN_XP/X86/Service Pack 2 Language:0419 Keyboard:00000409 Cpu:X86)
test.txt - Error!
Нас опередели. Valik пишет что это поведение является как раз исправлением бага, т.к доступа к подобным файлам быть не должно (хотя странно что WinAPI всё же имеет возможность доступа...).Ну что, оформляй
в таком случае, надо полагать что AutoIt впереди планеты всей, т.к.т.к доступа к подобным файлам быть не должно
Нас опередели.