Size: a a a

2019 December 21

Ra

Ruslan aka DUDE in AutoIT RU
автор сего плагина на ютуюбе чтото показывал но толком ничего не понятно было
источник

Ra

Ruslan aka DUDE in AutoIT RU
JetP1L0t
RevisionFX.DEFlicker.v1.4.12-AMPED
RevisionFX.DEFlicker.v1.4.12.MACOSX-AMPED
названия релизов для адобы
благодарю, буду знать
источник
2019 December 22

Ra

Ruslan aka DUDE in AutoIT RU
Есть код
#include <authread.au3>

Global $test = 1337

_AuThread_Startup()

Func access3()
 MsgBox(0,'access3', $test)
EndFunc
Func thread1()
 access3()
EndFunc
Global $hThread1 = _AuThread_StartThread("thread1")
Sleep(3000)

пашет отлично (MsgBox выводит 1337)
Есть почти идентичный код (просто с GUI)

#include <GUIConstantsEx.au3>
#include <authread.au3>

_AuThread_Startup()

GUICreate("app", 250, 250)
Global $idA = GUICtrlCreateInput("111", 5, 5, 100)
Global $idB = GUICtrlCreateInput("222", 5, 30, 100)
GUISetState(@SW_SHOW)

Func access3()
 MsgBox(0,'access3', $idA)
 MsgBox(0,'access3', $idB)
EndFunc

Func thread1()
 access3()
EndFunc
Global $hThread1 = _AuThread_StartThread("thread1")
Sleep(3000)

И уже ругается на то что я пытаюсь считать незадекларированную переменную
ЧЯДНТ?
источник

ДК

Дмитрий Кожанов in AutoIT RU
Все глобальные переменные объявляются до всего кода
источник

ДК

Дмитрий Кожанов in AutoIT RU
Ты пытаешься обратиться к переменным которые ещё не создал
источник

Ra

Ruslan aka DUDE in AutoIT RU
Добавил в начало  перед  _AuThread_Startup()
Global $idA = 0
Global $idB = 0
В access3 получаю 0 0
Проверил что все крректно присваивается
перед GUISetState(@SW_SHOW)
поставил считывание $idA и $idB - там 3 и 4
источник

Ra

Ruslan aka DUDE in AutoIT RU
Дмитрий Кожанов
Ты пытаешься обратиться к переменным которые ещё не создал
Ничего подобного
MsgBox перед GUISetState(@SW_SHOW) заблокировал выполнение (ожидая ок) , вывел 3 и 4
следующий MsgBox вывел 0 и 0
источник

ДК

Дмитрий Кожанов in AutoIT RU
Ruslan aka DUDE
Добавил в начало  перед  _AuThread_Startup()
Global $idA = 0
Global $idB = 0
В access3 получаю 0 0
Проверил что все крректно присваивается
перед GUISetState(@SW_SHOW)
поставил считывание $idA и $idB - там 3 и 4
Кхем. Ну блин, тебе CreateInput выдаёт Id элемента, что ты потом пытаешься с этим сделать не пойму?
источник

ДК

Дмитрий Кожанов in AutoIT RU
Они по сути константами должны быть
источник

Ra

Ruslan aka DUDE in AutoIT RU
Дмитрий Кожанов
Кхем. Ну блин, тебе CreateInput выдаёт Id элемента, что ты потом пытаешься с этим сделать не пойму?
SetCtrlData или как там оно
источник

Ra

Ruslan aka DUDE in AutoIT RU
ой
не то, в данном случае мне нужно считать значение полей (ReadCtrlData)
источник

ДК

Дмитрий Кожанов in AutoIT RU
Ruslan aka DUDE
SetCtrlData или как там оно
Так Окей. AuThread что за либа? Псевдопотоки?
источник

Ra

Ruslan aka DUDE in AutoIT RU
Дмитрий Кожанов
Так Окей. AuThread что за либа? Псевдопотоки?
источник

ДК

Дмитрий Кожанов in AutoIT RU
Скорее всего. Так как даже в C# нельзя присваивать значения из потока в поток без Invoke
источник

Ra

Ruslan aka DUDE in AutoIT RU
я бегло смотрел код и кажется там через pipe принимает данные
т.е. это процессы а не потоки (походу)
источник

Ra

Ruslan aka DUDE in AutoIT RU
Дмитрий Кожанов
Скорее всего. Так как даже в C# нельзя присваивать значения из потока в поток без Invoke
Сами для потоков в аутоите чтото юзали?
потомучто ничего кроме почти нативного решения (вызовы api) не находил
источник

ДК

Дмитрий Кожанов in AutoIT RU
Ruslan aka DUDE
Сами для потоков в аутоите чтото юзали?
потомучто ничего кроме почти нативного решения (вызовы api) не находил
А ничего и не существует
источник

ДК

Дмитрий Кожанов in AutoIT RU
Работа с потоками решается только на уровне самого языка. Если язык их не держит, а скриптовые в основном их не поддерживают, то все)
источник

Ra

Ruslan aka DUDE in AutoIT RU
ясно, значит надо делать механизм доставки и обновления переменных из главного "потока"
источник

Ra

Ruslan aka DUDE in AutoIT RU
Как я понимаю, второй код не отрабатывает как первый т.к. интерфейс в другом потоке
потому (псевдо) потоки либы и (реальный поток) gui вообще не видят дргуг друга
(это предположение)
источник