Page 74 of 74
Re: Scripts plugin
Posted: Sun May 04, 2025 7:14 pm
by Instructor
Исправлено: остановка при ошибке и метод WScript.Quit в Windows 11 24H2 (jscript9Legacy.dll).
Fixed: stopping on error and WScript.Quit method in Windows 11 24H2 (jscript9Legacy.dll).
Scripts plugin v19.2
Re: Scripts plugin
Posted: Thu Aug 21, 2025 7:47 am
by Instructor
Исправлено: обходное решение для jscript9Legacy.dll, который игнорирует одиночный AddRef для объекта IDispatch в методе oSys.RegisterCallback.
Fixed: workaround for jscript9Legacy.dll that ignore single AddRef for IDispatch object in oSys.RegisterCallback method.
Scripts plugin v19.3
Re: Scripts plugin
Posted: Thu Nov 20, 2025 10:43 am
by VladSh
Instructor
Скрипт чтения настроек скрипта
Code: Select all
var oSet = AkelPad.ScriptSettings();
oSet.Begin(WScript.ScriptBaseName, 0x1 /*POB_READ*/);
var value = oSet.Read("param", 3 /*PO_STRING*/, "defaultString");
AkelPad.MessageBox(AkelPad.GetMainWnd(), value, WScript.ScriptName, 0 /*MB_OK*/);
oSet.End();
даёт ошибку в случае отсутствия ini-файла для скрипта (проверял на Win11):
---------------------------
Scripts plugin
---------------------------
Script: C:\Portable\AkelPad\AkelFiles\Plugs\Scripts\test.js
Line: 3
Symbol: 1
Error: Недостаточно памяти
Code: 800A0007
Source: Ошибка выполнения JavaScript
---------------------------
Да Нет
---------------------------
Если добавить пустой файл, то работает норм.
Думаю, нужно обработчик добавить на отсутствие файла, и возвращать значение по умолчанию в случае его отсутствия.
Re: Scripts plugin
Posted: Thu Nov 20, 2025 7:00 pm
by Infocatcher
VladSh wrote: ↑Thu Nov 20, 2025 10:43 am
Скрипт чтения настроек скрипта
Code: Select all
var oSet = AkelPad.ScriptSettings();
oSet.Begin(WScript.ScriptBaseName, 0x1 /*POB_READ*/);
var value = oSet.Read("param", 3 /*PO_STRING*/, "defaultString");
AkelPad.MessageBox(AkelPad.GetMainWnd(), value, WScript.ScriptName, 0 /*MB_OK*/);
oSet.End();
даёт ошибку в случае отсутствия ini-файла для скрипта
Так, вроде, так и задумано, в примере делается проверка возвращаемого oSet.Begin() значения:
Code: Select all
Пример (прочитать настройки скрипта):
var oSet=AkelPad.ScriptSettings();
if (oSet.Begin("", 0x1 /*POB_READ*/))
{
pString=oSet.Read("String", 3 /*PO_STRING*/);
bMultiline=oSet.Read("Multiline", 1 /*PO_DWORD*/);
oSet.End();
}
Re: Scripts plugin
Posted: Thu Nov 20, 2025 7:48 pm
by VladSh
Infocatcher
Ясно.
Re: Scripts plugin
Posted: Thu Nov 20, 2025 7:53 pm
by VladSh
Instructor
El Sanchez написал:
ошибка в коде AkelPad
здесь.
При nDataSize = 0, второй параметр SysAllocStringLen будет равен -1, но у функции тип этого параметра беззнаковый, и (UINT)-1 = 0xFFFFFFFF = 4294967295 байт.
Re: Scripts plugin
Posted: Sun Nov 23, 2025 6:48 pm
by Instructor
VladSh
См. Scripts v19.5
Re: Scripts plugin
Posted: Sun Nov 23, 2025 6:48 pm
by Instructor
Исправлено: AkelPad.ScriptSettings().Read ошибка выделения памяти при попытке чтения пустого дескриптора.
Fixed: AkelPad.ScriptSettings().Read memory allocation error when trying to read empty handle.
Scripts plugin v19.5