Войти

Показать полную графическую версию : Не запускается скрипт AutoIt на машине с Windows 98 на борту


Danvervlad
03-03-2011, 10:50
Возможно есть какие-то способы заставить работать скрипт на машине с ОС Windows 98?

Iska
03-03-2011, 13:11
Цитирую:
24th December, 2008 - v3.3.0.0

AutoIt:
* Windows 9x and Windows NT 4.0 Operating System support has been removed. Use v3.2.12.1 of AutoIt if you really need this.

Danvervlad
24-03-2011, 13:26
Пробовал я компилировать скрипт в AutoIt версии 3.2.12.1 - на 98 всеравно не запускается... Даже в самом 98 пробовал - никак. В чем может быть дело? Может кто имеет опыт в запуске скриптов под Windows 98?

Iska
24-03-2011, 13:45
Danvervlad, причины могут быть разные. Думаю, стоит привести текст скрипта.

Danvervlad
24-03-2011, 17:38
да элементарное окошко в Windows XP запускается нормально, а в Windows 98 не хочет запускаться! Никаких ошибок, просто не запускается!
MsgBox(0,"Hello!","It's me!")

Если этот же код компилировать последней версией Autoit, то выскакивает ошибка как на скрине в первом посте. А компилирую версией 3.2.12.1 и вообще ничего!

Проблема в том что у меня в обслуживании есть довольно много машин с Windows 98 на борту, и менять их пока никто не собирается, тем более что со своей задачей они справляются.

Iska
24-03-2011, 21:41
Danvervlad, я сожалею, но у меня сие работает:
http://img200.imagevenue.com/loc159/th_91483_AutoIt_3.2.12.1_In_Windows_98_SE_122_159lo.jpg (http://img200.imagevenue.com/img.php?image=91483_AutoIt_3.2.12.1_In_Windows_98_SE_122_159lo.jpg)
Я развернул Windows 98 SE на виртуальной машине с наличествующего у меня оригинального диска с настройками по умолчанию. Затем установил AutoIt 3.2.12.1. Взял код из предыдущего поста. Выполнил его из-под редактора SciTE. Затем скомпилировал его в исполняемый файл и так же выполнил.

То есть, у меня никаких проблем не возникло как с исполнением, равно как и с компиляцией. Увы, боюсь, я не смогу воспроизвести Вашу ситуацию. Не скомпилированные скрипты из-под редактора SciTE у Вас также не запускаются?

Danvervlad
25-03-2011, 16:15
вот только что попробовал выполнить тоже самое:

Опа! только заметил что файл AutoIt3A.exe открывает окно, и выбрав *.au3 файл он ЗАПУСКАЕТСЯ! Но вот файл AutoIt3.exe - нет! Какая между ними(файлами: AutoIt3.exe и AutoIt3A.exe) разница?

еле запустил! переименовал Aut2exeА.exe в Aut2exe.exe... все вроде как работает, но с FTP не качает:( сначала поругался на отсутствующий файл FTPEx.au3, потом, когда я его добавил, поругался на отсутствие API функции из FTPEx.au3... я взял да и заменил все .au3 файлы из папки Include на файлы из рабочей 3.5.х версии... скрипт успешно компилировался... но запускаться не хочет ни в XP ни в 98. Начальный кусок выполняется - создается INI файл, а дальше молчит...

Iska
25-03-2011, 23:07
Дабы не мучаться вручную — возьмите не zip, а install (http://www.autoitscript.com/autoit3/files/archive/autoit/autoit-v3.2.12.1-setup.exe)-версию.
AutoIt3.exe — версия для x86 NT-систем.
AutoIt3_x64.exe — версия для x64-систем.
AutoIt3A.exe — версия для Win9x-систем.
При установке инсталлятор сам развернёт правильный файл, который и будет называться на целевой системе как «AutoIt3.exe» (аналогично будет с «Au3Info.exe/Au3Info_x64.exe/Au3InfoA.exe», и с «Aut2exe.exe/Aut2exe_x64.exe/Aut2exeA.exe»).

сначала поругался на отсутствующий файл FTPEx.au3, потом, когда я его добавил, поругался на отсутствие API функции из FTPEx.au3... я взял да и заменил все .au3 файлы из папки Include на файлы из рабочей 3.5.х версии... скрипт успешно компилировался... но запускаться не хочет ни в XP ни в 98.
Действительно, с чего бы это, а :lol:?! «FTPEx.au3» написан с прототипами Wide-функций библиотеки «Wininet.dll», например:
Func _FTP_Command($l_FTPSession, $s_FTPCommand, $l_Flags = $FTP_TRANSFER_TYPE_ASCII, $l_ExpectResponse = 0, $l_Context = 0)
If $__ghWinInet_FTP = -1 Then Return SetError(-2, 0, 0)
Local $ai_FTPCommand = DllCall($__ghWinInet_FTP, 'bool', 'FtpCommandW', 'handle', $l_FTPSession, 'bool', $l_ExpectResponse, 'dword', $l_Flags, 'wstr', $s_FTPCommand, 'dword_ptr', $l_Context, 'ptr*', 0)
If @error Or $ai_FTPCommand[0] = 0 Then Return SetError(-1, _WinAPI_GetLastError(), 0)

Return SetError(0, $ai_FTPCommand[6], $ai_FTPCommand[0])

EndFunc ;==>_FTP_Command

в то время как компилируете Вы с помощью ANSI версии AutoIt. Было бы очень странно, если бы сие заработало. Впрочем, я могу и ошибаться. Попробуйте сходить в Русское сообщество AutoIt (http://autoit-script.ru/) с данным вопросом.

Danvervlad
28-03-2011, 13:19
с AutoIt понятно...

а просто FTP.au3 в среде Windows 98 будет работать?

Iska
28-03-2011, 14:27
Я не нашёл в комплекте AutoIt 3.2.12.1 такого файла. Какой «FTP.au3» подразумевается?

Danvervlad
13-04-2011, 13:31
в комплекте его нет... я его видел в сети

Iska
13-04-2011, 14:02
Расплывчатый ответ, не позволяющий дать никакого определённого ответа на Ваш вопрос:
а просто FTP.au3 в среде Windows 98 будет работать? »
Но, коль он у Вас есть — попробуйте; что может быть проще?!

Danvervlad
15-04-2011, 16:20
т. е. больше нет никаких способов скачать файл с FTP используя UDF Autoit'а той версии, которая поддерживает Windows 98?

Iska
15-04-2011, 17:49
Есть. Например, попробовать переписать «FTPEx.au3», используя прототипы «*A» соответствующих функций WinAPI (вместо «*W»), и поправив остальной код включаемого компонента.

используя UDF Autoit'а той версии, которая поддерживает Windows 98? »
Мы вроде как выяснили ранее, что такого UDF в комплекте поставки не существовало. Вы сказали, что видели такой в сети. Я предложил Вам его попробовать. Вы пробовали?




© OSzone.net 2001-2012