Что нового

FindPixel выдаёт ошибку

Demon83

Новичок
Сообщения
14
Репутация
0
Что я пытаюсь выполнить?
Использовать функции по ссылке из последнего поста
Из этой темы: http://autoit-script.ru/index.php?topic=19590.15

Как я это пытался/ась выполнить?
Помещал содержимое в папку include, рядом со скриптом и тд...

Что я ожидаю от выполненных действии?
Хочу использовать описанный функционал в перекрытых окнах

Что происходит на самом деле?
выдаёт ошибку Failed to load FindPixel.dll. Check if the file FindPixel.dll is installed near this script.
 

Prog

Продвинутый
Сообщения
537
Репутация
65
Файл FindPixel.dll находится в папке со скриптом и его разрядность соответствует разрядности dll?
 
Автор
D

Demon83

Новичок
Сообщения
14
Репутация
0
насчёт разрядности не знаю, не в курсе что это =), но по мимо своих поделок, запускал Demo.au3 из архива, полагаю его разрядность должна соответствовать о_О.
 

Prog

Продвинутый
Сообщения
537
Репутация
65
Тогда сравните ваш код с тем что Demo.au3 и найдите отличия.
По какой-то причине скрипт не может загрузить DLL.
 
Автор
D

Demon83

Новичок
Сообщения
14
Репутация
0
Видимо я криво написал, в общем я разархивирую архив в папку, запускаю там Demo.au3 и всё равно выдаёт ошибку, хотя по идее все файлы в куче, они должны соответствовать друг другу, но таки выдаёт ошибку прописанную в FindPixel.au3 кстати, ваш вариант, что на первом посте, v_1.0, так же пробовал запускать файл Тест.au3 из свежераспакованной папки, выдаёт ошибку:
Line 22 (File "Z:\Downloads\FindPixel_v1.0\Tecт.au3"):
$Ret=$Ret[0]]
$Ret=$Ret^ ERROR
Error: Subscript used on non-accessible variable.
Я же правильно понимаю что в Тесте не надо ничего менять? И кстати что должно произойти, при запуске?
Сори за тупняк, я только начал знакомится с autoit, но хотелось бы делать это в процессе написания скриптика =)

Помогите пожалуйста разобраться, по какой причине могут возникать сложности с открытием dll?


Добавлено:
Сообщение автоматически объединено:

Ну раз вариантов нет, может скинете ссылку на заведомо работающую dll, с заведомо подходящим к ней скриптиком? Так сказать для проверки, может у меня вообще с ними проблемы о_О.


Добавлено:
Сообщение автоматически объединено:

В архиве лежат следующие файлы: Demo.au3 FindPixel.au3 FindPixe|.chm FindPixel.dl| FindPixe|.pb я их распаковал и положил в папку в корне диска, убрал всё из файла демо, кроме:
Код:
#include "FindPixel.au3"
#include <WinAPIGdi.au3>

Запускаю этот файл, он подгружает FindPixel.au3, в котором я ничего не менял =), и там, как я понимаю, в проверке на подгрузку dll что-то идёт не так:
Код:
; #CONSTANTS# =======================================================
Global Const $Dll_name = 'FindPixel.dll'
;=======================================================
; #DLL OPEN# =================================================================================================================================================
OpenFPDll()
Func OpenFPDll()
	Global $FP_Dll = -1
	$FP_Dll = DllOpen($Dll_name)
	If $FP_Dll = -1 Then
		MsgBox(0, 'Error', 'Failed to load '&$Dll_name&'. Check if the file '&$Dll_name&' is installed near this script.')
		Exit(1)
	EndIf
EndFunc
; =============================================================================================================================================================



Добавлено:
Сообщение автоматически объединено:

Вариант с первой страницы v1.0
в папке два файла FindPixel.dll и Тест.au3, содержимое Тест.au3:
Код:
#include <WinAPIGdi.au3>

$dll=DllOpen("FindPixel.dll")
MsgBox (64, "1111", $dll, 333)
DllClose($dll)

возвращает -1
 

Prog

Продвинутый
Сообщения
537
Репутация
65
Я все же думаю что дело в разрядности dll. Попробуйте библиотеку сначала с одной папки, а потом с другой.
 

Вложения

  • FindPixel.zip
    66.7 КБ · Просмотры: 14

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Проверил у себя на Windows 10x64 примеры всех версий работают . Какая версия AutoIt у Вас ?
 
Автор
D

Demon83

Новичок
Сообщения
14
Репутация
0
О, большое спасибо.
OffTopic:
Я виноват, я должен был погуглить, что такое разрядность, ещё в первый раз, но я почему-то подумал, что речь идёт о чём-то, на что я не могу повлиять, кстати забавно, что я забыл это слово, ведь я, однозначно, с ним, неоднократно, сталкивался. :-\

Теперь я разобрался, я должен был запускать скрипт, от Run Script (x86), а я это делал либо по умолчанию, либо от х64, и она не подгружалась :-[ , от х86 всё работает!

И огромное спасибо за x64 версию dll ;D
 
Верх