Это ещё не всё: как найти в какой строке ошибкасобрать все includes
А исходник не выдаёт?скомпилированный скрипт выдает ошибку
#include <Inet.au3>
$sFileHandle = FileOpen(@ScriptDir & "\ip.txt", 0)
;~ в файле ip.txt указано множество адресов сайтов (каждый с новой строки)
$array_IP = StringSplit(FileRead($sFileHandle), @CRLF)
FileClose($sFileHandle)
$sOpenHandle = FileOpen("Open.txt", 1)
For $i = 1 to $array_IP[0]
If NOT(_INetGetSource($array_IP[$i]) = "") Then FileWrite($sOpenHandle, $array_IP[$i] & " доступен." & @CRLF)
Next
FileClose($sOpenHandle)
Global Const $tagRECT = "struct;long Left;long Top;long Right;long Bottom;endstruct"
Global Const $tagREBARBANDINFO = "uint cbSize;uint fMask;uint fStyle;dword clrFore;dword clrBack;ptr lpText;uint cch;" & "int iImage;hwnd hwndChild;uint cxMinChild;uint cyMinChild;uint cx;handle hbmBack;uint wID;uint cyChild;uint cyMaxChild;" & "uint cyIntegral;uint cxIdeal;lparam lParam;uint cxHeader" &((@OSVersion = "WIN_XP") ? "" : ";" & $tagRECT & ";uint uChevronState")
Global Const $HGDI_ERROR = Ptr(-1)
Global Const $INVALID_HANDLE_VALUE = Ptr(-1)
Global Const $KF_EXTENDED = 0x0100
Global Const $KF_ALTDOWN = 0x2000
Global Const $KF_UP = 0x8000
Global Const $LLKHF_EXTENDED = BitShift($KF_EXTENDED, 8)
Global Const $LLKHF_ALTDOWN = BitShift($KF_ALTDOWN, 8)
Global Const $LLKHF_UP = BitShift($KF_UP, 8)
Global Const $tagOSVERSIONINFO = 'struct;dword OSVersionInfoSize;dword MajorVersion;dword MinorVersion;dword BuildNumber;dword PlatformId;wchar CSDVersion[128];endstruct'
Global Const $__WINVER = __WINVER()
Func __WINVER()
Local $tOSVI = DllStructCreate($tagOSVERSIONINFO)
DllStructSetData($tOSVI, 1, DllStructGetSize($tOSVI))
Local $aRet = DllCall('kernel32.dll', 'bool', 'GetVersionExW', 'struct*', $tOSVI)
If @error Or Not $aRet[0] Then Return SetError(@error, @extended, 0)
Return BitOR(BitShift(DllStructGetData($tOSVI, 2), -8), DllStructGetData($tOSVI, 3))
EndFunc
Global Const $INET_FORCERELOAD = 1
Func _INetGetSource($sURL, $bString = True)
Local $sString = InetRead($sURL, $INET_FORCERELOAD)
Local $iError = @error, $iExtended = @extended
If $bString = Default Or $bString Then $sString = BinaryToString($sString)
Return SetError($iError, $iExtended, $sString)
EndFunc
$sFileHandle = FileOpen(@ScriptDir & "\ip.txt", 0)
$array_IP = StringSplit(FileRead($sFileHandle), @CRLF)
FileClose($sFileHandle)
$sOpenHandle = FileOpen("Open.txt", 1)
For $i = 1 to $array_IP[0]
If NOT(_INetGetSource($array_IP[$i]) = "") Then FileWrite($sOpenHandle, $array_IP[$i] & " доступен." & @CRLF)
Next
FileClose($sOpenHandle)
Global Const $0 = "struct;long Left;long Top;long Right;long Bottom;endstruct"
Global Const $1 = "uint cbSize;uint fMask;uint fStyle;dword clrFore;dword clrBack;ptr lpText;uint cch;" & "int iImage;hwnd hwndChild;uint cxMinChild;uint cyMinChild;uint cx;handle hbmBack;uint wID;uint cyChild;uint cyMaxChild;" & "uint cyIntegral;uint cxIdeal;lparam lParam;uint cxHeader" &((@OSVersion = "WIN_XP") ? "" : ";" & $0 & ";uint uChevronState")
Global Const $2 = Ptr(-1)
Global Const $3 = Ptr(-1)
Global Const $4 = 0x0100
Global Const $5 = 0x2000
Global Const $6 = 0x8000
Global Const $7 = BitShift($4, 8)
Global Const $8 = BitShift($5, 8)
Global Const $9 = BitShift($6, 8)
Global Const $a = 'struct;dword OSVersionInfoSize;dword MajorVersion;dword MinorVersion;dword BuildNumber;dword PlatformId;wchar CSDVersion[128];endstruct'
Global Const $b = _7m()
Func _7m()
Local $c = DllStructCreate($a)
DllStructSetData($c, 1, DllStructGetSize($c))
Local $d = DllCall('kernel32.dll', 'bool', 'GetVersionExW', 'struct*', $c)
If @error Or Not $d[0] Then Return SetError(@error, @extended, 0)
Return BitOR(BitShift(DllStructGetData($c, 2), -8), DllStructGetData($c, 3))
EndFunc
Global Const $e = 1
Func _ah($f, $g = True)
Local $h = InetRead($f, $e)
Local $i = @error, $j = @extended
If $g = Default Or $g Then $h = BinaryToString($h)
Return SetError($i, $j, $h)
EndFunc
$k = FileOpen(@ScriptDir & "\ip.txt", 0)
$l = StringSplit(FileRead($k), @CRLF)
FileClose($k)
$m = FileOpen("Open.txt", 1)
For $n = 1 to $l[0]
If NOT(_ah($l[$n]) = "") Then FileWrite($m, $l[$n] & " доступен." & @CRLF)
Next
FileClose($m)
В полной версии SciTE есть директива Wrapper'акак AU3Stripper запускать
#AutoIt3Wrapper_Run_Au3Stripper=y
inververs сказал(а):Я его запустил без параметров, он кажется повырезал не нужное и всего строк получилось 6660, явно не то
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.15.0 (Beta)
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
#pragma compile(Console, False)
; Script Start - Add your code below here
@exitCode
Можно скопировать содержимое всех вложенных файлов в начало главного скрипта (сохраняя порядок), и затем удалить все пустые строки, и строки с комментариями.есть у него ключ, который соберет в _stripped все, так же, как это делает компилятор?
inververs сказал(а):А есть у него ключ, который соберет в _stripped все, так же, как это делает компилятор?
inververs сказал(а):InnI да, вообщем как я понимаю, перед сборкой сперва запустится stripper, уберет все не нужное и в таком виде будет exe, а этот exe дополнительно ничего не повыкидывает? Не нужные функции, директивы итп?
А почему бы просто ссылку не оставить. Это же можно прочитать в SciTE по нажатию Ctrl+F1.veretragna сказал(а):Впрочем, оставлю еще и список ключей тут.
У меня сам AutoIt 3.3.14.1 (без всяких Wrapper'ов) ругается на @exitCode: "Unknown macro"Выдает ошибку в первой строке
И что, разве при проверке в SciTE эта ошибка не всплывает?inververs сказал(а):Ошибка Variable used without being declared.
inververs сказал(а):Ошибка Variable used without being declared. Строка 20362
Запустил AU3Stripper с параметром /mo.
В строке 20362 находится Return _CommClosePort(), явно тут нет ошибки.