[TC] jaws 22 не работает скрипт say icon sttatus
In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
List-Post:List-Owner:List-Archive;
bh=aGK6s8vkRbEc+GLI/6yrsQs+uBDFPff+OIiWCgjH7eA=;
b=ITSpnKHevxcIi74deWDUfeAadf
DVvY35ioIQwJqIyGWKiKmcQSCOl9/NERtynjAy05uQ8w6+oP17gEVKViES187ffAmOmaqSYcyYPO
I
RvQ0wCzXj9W7nmJ7rj2QWE7mY7QDiYCXptypG6/E8M3FXGZsWTAuyPjFq4LEVRs/yekg=;
Всем привет.
Перенес в jaws 22, вот такой скрипт:
Script SayIconStatus (string SetOfTemplates01, string SetOfTemplates02, string SetOfTemplates03, string SetOfTemplates04, string SetOfTemplates05, string SetOfTemplates06, string SetOfTemplates07, string SetOfTemplates08, string SetOfTemplates09, string SetOfTemplates10)
; скрипт озвучивающий состояние значка в трее, причём в качестве параметра скрипта передаётся подстрока для поиска значка.
var
StringArray SetOfTemplates, ; массив состоящий из набора шаблонов передаваемых в скрипт через параметры скрипта
string sTrayTip,
string result, ; переменная содержащая все параметры для озвучки диагностики
int iTrayItems,
int iCounter,
int iCounterArray = 0, ; число параметров передаваемое в скрипт
int iNumberArray = 1, ; счётчик по массиву
string sIconTip
let SetOfTemplates = new StringArray[10] ; массив состоящий из наборов шаблонов не превышает 10 эллементов
PlaySound (GetSharedSettingsDirectory ()+"\\SOUNDS\\Click.wav")
; заполняем массив параметрами из скрипта
If StringLength (SetOfTemplates01) != 0 Then
let SetOfTemplates[1] = SetOfTemplates01
Let iCounterArray = iCounterArray + 1
Else
PlaySound (GetSharedSettingsDirectory ()+"\\SOUNDS\\PianoDown2-E-D.wav")
SayString ("Параметр в скрипте для поиска не задан. Скрипт прекращает работу.")
Return
EndIf
If StringLength (SetOfTemplates02) != 0 Then
let SetOfTemplates[2] = SetOfTemplates02
Let iCounterArray = iCounterArray + 1
EndIf
If StringLength (SetOfTemplates03) != 0 Then
let SetOfTemplates[3] = SetOfTemplates03
Let iCounterArray = iCounterArray + 1
EndIf
If StringLength (SetOfTemplates04) != 0 Then
let SetOfTemplates[4] = SetOfTemplates04
Let iCounterArray = iCounterArray + 1
EndIf
If StringLength (SetOfTemplates05) != 0 Then
let SetOfTemplates[5] = SetOfTemplates05
Let iCounterArray = iCounterArray + 1
EndIf
If StringLength (SetOfTemplates06) != 0 Then
let SetOfTemplates[6] = SetOfTemplates06
Let iCounterArray = iCounterArray + 1
EndIf
If StringLength (SetOfTemplates07) != 0 Then
let SetOfTemplates[7] = SetOfTemplates07
Let iCounterArray = iCounterArray + 1
EndIf
If StringLength (SetOfTemplates08) != 0 Then
let SetOfTemplates[8] = SetOfTemplates08
Let iCounterArray = iCounterArray + 1
EndIf
If StringLength (SetOfTemplates09) != 0 Then
let SetOfTemplates[9] = SetOfTemplates09
Let iCounterArray = iCounterArray + 1
EndIf
If StringLength (SetOfTemplates10) != 0 Then
let SetOfTemplates[10] = SetOfTemplates10
Let iCounterArray = iCounterArray + 1
EndIf
; конец блока заполнения масива параметрами скрипта
let iTrayItems = SysTrayGetItemCount ()
; начинаем перебор по массиву
while iNumberArray <= iCounterArray
Let sTrayTip= SetOfTemplates[iNumberArray]
Let result = result + "\"" + sTrayTip + "\", "
let iCounter= 0
while StringContains (sIconTip, sTrayTip) == 0 && iCounter <= iTrayItems
let iCounter=ICounter+1
let sIconTip = SysTrayGetItemToolTip (iCounter)
endwhile
; итак, если подстрока была найдена, то выполняем проверку на колличество нажатий скрипта
If StringContains (sIconTip, sTrayTip) != 0 Then
; проверяем колличество нажатий скрипта
if IsSameScript() == 1 then
sayUsingVoice(vctx_message,"Opening your " + sIconTip, ot_no_disable)
saveCursor()
SysTrayMoveToItem (iCounter)
LeftMouseButton ()
leftMouseButton()
restoreCursor()
return
endIf
sayUsingVoice(vctx_message,sIconTip,ot_no_disable)
Return
EndIf
Let iNumberArray = iNumberArray + 1
endwhile
; озвучиваем все шаблоны из списка иговорим, что они не найдены
; say(result + " not found",ot_error)
If iCounterArray <= 1 Then
say(sTrayTip + " not found",ot_error)
Else
say(" Options not found",ot_error)
EndIf
EndScript
при компиляции сразу ж выдается такая ошибка:
Ошибка компиляции
Error: Unknown variable vctx_message
ОК
курсор стоит на строке:
sayUsingVoice(vctx_message,"Opening your " + sIconTip, ot_no_disable)
Что тут поменялось и где править?
С почтением Андрей.
Здравствуйте, Andrij.
отвечаю на письмо от 26 июля 2022 г., 22:48:14:
получается, что либо в файле заголовка либо в файле сообщений отсутствует данная константа-переменная. надо просмотреть эти
файлы и при отсутствии данной константы-переменной прописать ее, а взять ее значение надо из джоза, в котором работал данный скрипт.