Что нового

Скрипт не подгружает DSEngine.au3

Grell

Новичок
Сообщения
127
Репутация
0
Добрый вечер. Помогите.
У меня был скрипт, который работал.
И вдруг перестал работать.

Скрипт выводил на окно GUI - видеофайл, случайно выбирая его из папок.
Но вот теперь он перестал работать.
Выдает ошибку :
(236) : ==> Subscript used on non-accessible variable.:
$hEngine = $ret[0]
$hEngine = $ret^ ERROR

Помогите. Как поправить скрипт ?

Код:
#include "DSEngine.au3"
#include <WindowsConstants.au3>
#include <GuiConstants.au3>
#include <MenuConstants.au3>
#include <WinAPI.au3>
#include <WinAPISys.au3>
#include <MsgBoxConstants.au3>
#include <File.au3>


Local $aFileList = _FileListToArrayRec("f:\-видео файлы", "**", $FLTAR_FILES, $FLTAR_RECUR, $FLTAR_NOSORT, $FLTAR_FULLPATH)
If @error Then Exit MsgBox($MB_ICONERROR + $MB_TOPMOST, "Ошибка", "Файлы не найдены")
;ShellExecute($aFileList[Random(1, $aFileList[0], 1)])


Global $sFile = $aFileList[Random(1, $aFileList[0], 1)]


Global $fVolume, $fMove, $iValue = -10000
Global $hWnd = GUICreate("DirectShow Engine Example", 480, 320, -1, -1, $WS_POPUP, $WS_EX_TOPMOST)
GUIRegisterMsg($WM_MOUSEMOVE, "WM_MOUSE")
GUIRegisterMsg($WM_MOUSELEAVE, "WM_MOUSE")
GUIRegisterMsg($WM_LBUTTONDOWN, "WM_MOUSE")
Engine_Startup(@ScriptDir & "\DSEngine_UDF.dll")
Engine_LoadFile($sFile, $hWnd)
GUISetState()
Engine_StartPlayback()
Engine_Mute()
$End = Engine_GetLength()
Engine_SetPosition(Random(1, $End)) ; Установить случайное время


Do
  If Engine_GetPosition() = $End Then Engine_SetPosition(0)
  Until GUIGetMsg() = -3

Engine_Shutdown()

Func WM_MOUSE($hWnd, $iMsg)
    Switch $iMsg
        Case $WM_LBUTTONDOWN
            $fMove = True
            _SendMessage($hWnd, $WM_SYSCOMMAND, 0xF009, 0, "int", "int", "long")
        Case $WM_MOUSEMOVE
            If Not $fVolume Then
                AdlibUnRegister("_VolumeDown")
                AdlibRegister("_VolumeUp", 10)
                $fVolume = True
                _WinAPI_TrackMouseEvent($hWnd, $TME_LEAVE)
            EndIf
        Case $WM_MOUSELEAVE
            If $fMove ThenДа
                $fMove = False
                _WinAPI_TrackMouseEvent($hWnd, $TME_LEAVE)
            ElseIf $fVolume Then
                AdlibUnRegister("_VolumeUp")
                AdlibRegister("_VolumeDown", 10)
                $fVolume = False
            EndIf
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_MOUSE

Func _VolumeUp()
    If $iValue < 0 Then
        $iValue += 100
        Engine_SetVolume($iValue)
    Else
        AdlibUnRegister("_VolumeUp")
    EndIf
EndFunc   ;==>_VolumeUp

Func _VolumeDown()
    If $iValue > -10000 Then
        $iValue -= 100
        Engine_SetVolume($iValue)
    Else
        AdlibUnRegister("_VolumeDown")
    EndIf
EndFunc   ;==>_VolumeDown
 

Вложения

  • 1.rar
    64.5 КБ · Просмотры: 1

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
У тебя что-то с длл, ошибка говорит что длл не грузится.
 
Автор
G

Grell

Новичок
Сообщения
127
Репутация
0
Ясно.
А делать что ?

До переустановки windows7 x64 все нормально было.
А теперь вот такую ошибку показывает:
 

Вложения

  • Ошибка.jpg
    Ошибка.jpg
    22.6 КБ · Просмотры: 8

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
обрати внимание на
Код:
Engine_Startup(@ScriptDir & "\DSEngine_UDF.dll")

путь и имя библиотеки


с нашего форума здесь
обновленная библиотека тема
 
Последнее редактирование:
Автор
G

Grell

Новичок
Сообщения
127
Репутация
0
Понятно.
теперь вроде как все в порядке.
 
Верх