Scripts discussion (4)

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 351
Joined: Mon Jun 03, 2019 2:33 am

Re: Scripts discussion (4)

Post by AZJIO »

InputBox_function.js не работает на новой версии, даже пример InputBox.js не работает, крашит AkelPad. Может кто поправит?

Offline
Posts: 3244
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Re: Scripts discussion (4)

Post by VladSh »

Instructor
Результаты обратной трассировки по InputBox_function.js.

Offline
Posts: 3244
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Re: Scripts discussion (4)

Post by VladSh »

И ещё у меня при попытке вызова FindReplaceFiles.js вылетает сообщение об ошибке:
---------------------------
Scripts plugin
---------------------------
Script: C:\Portable\AkelPad\AkelFiles\Plugs\Scripts\FindReplaceFiles.js
Line: 663
Symbol: 5
Error: Недостаточно места в стеке
Code: 800A001C
Source: Ошибка выполнения JavaScript
---------------------------
Да Нет Отмена
---------------------------
При попытке его закрыть, оно не закрывается, а в цикле появляется ещё одно такое же сообщение, и так до бесконечности. Приходится снимать задачу.

Строка 663 это:

Code: Select all

nID = oSys.Call("User32::GetDlgCtrlID", oSys.Call("User32::GetFocus"));
ОС: Windows 11 Корпоративная, 24H2, 26100.4652, 1000.26100.128.0.

Offline
Site Admin
Posts: 6412
Joined: Thu Jul 06, 2006 7:20 am

Re: Scripts discussion (4)

Post by Instructor »

AZJIO wrote: Sun Aug 10, 2025 2:22 am InputBox_function.js не работает ...
См. Scripts v19.3

AkulaBig wrote: Wed Jul 02, 2025 1:28 pm В скрипте FindReplaceFiles.js под Вин 11 выдает ошибку...
VladSh wrote: Mon Aug 11, 2025 11:04 am И ещё у меня при попытке вызова FindReplaceFiles.js вылетает сообщение об ошибке...
Уведомил KDJ.

Как временное решение: 1. строку

Code: Select all

        nMaxFileSize = parseInt(GetWindowText(lParam), 10);
замените на

Code: Select all

        //+Win11 fix
        var sMaxFileSize = GetWindowText(lParam);

        if (sMaxFileSize == "")
        {
          nMaxFileSize = 0;
          return 0
        }
        nMaxFileSize = parseInt(sMaxFileSize, 10);
        //nMaxFileSize = parseInt(GetWindowText(lParam), 10);
        //-Win11 fix
2. блок

Code: Select all

    nID = oSys.Call("User32::GetDlgCtrlID", oSys.Call("User32::GetFocus"));
    if (nID == IDFILELV)
      nID = IDEDITB;
    else if ((nID != IDCURRENTB) && (nID != IDBROWSEB) && (nID != IDHELP1B) && (nID != IDHELP2B) && (nID != IDHELP3B) && (nID < IDSEARCHB))
      nID = IDSEARCHB;
    oSys.Call("User32::DefDlgProcW", hWnd, 1025 /*DM_SETDEFID*/, nID, 0);
замените на

Code: Select all

    //+Win11 fix
    //nID = oSys.Call("User32::GetDlgCtrlID", oSys.Call("User32::GetFocus"));
    //if (nID == IDFILELV)
    //  nID = IDEDITB;
    //else if ((nID != IDCURRENTB) && (nID != IDBROWSEB) && (nID != IDHELP1B) && (nID != IDHELP2B) && (nID != IDHELP3B) && (nID < IDSEARCHB))
    //  nID = IDSEARCHB;
    //oSys.Call("User32::DefDlgProcW", hWnd, 1025 /*DM_SETDEFID*/, nID, 0);
    var nDefID = LoWord(oSys.Call("User32::DefDlgProcW", hWnd, 1024 /*DM_GETDEFID*/, 0, 0));
    nID = oSys.Call("User32::GetDlgCtrlID", oSys.Call("User32::GetFocus"));
    if (nID == IDFILELV)
      nID = IDEDITB;
    else if ((nID != IDCURRENTB) && (nID != IDBROWSEB) && (nID != IDHELP1B) && (nID != IDHELP2B) && (nID != IDHELP3B) && (nID < IDSEARCHB))
      nID = IDSEARCHB;
    else
      nID = 0;
    if (nID && nDefID != nID)
      oSys.Call("User32::DefDlgProcW", hWnd, 1025 /*DM_SETDEFID*/, nID, 0);
    //-Win11 fix

Offline
Posts: 351
Joined: Mon Jun 03, 2019 2:33 am

Re: Scripts discussion (4)

Post by AZJIO »

Instructor wrote: Thu Aug 21, 2025 8:02 am См. Scripts v19.3
Спасибо, теперь всё работает.

Offline
Posts: 3244
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Re: Scripts discussion (4)

Post by VladSh »

Instructor
У меня "временное решение" для FindReplaceFiles.js с новой версией Scripts-плагина не работает - та же ошибка "Недостаточно места в стеке" на строке 663.

Offline
Posts: 351
Joined: Mon Jun 03, 2019 2:33 am

Re: Scripts discussion (4)

Post by AZJIO »

Это? У меня работает.
Image

Offline
Site Admin
Posts: 6412
Joined: Thu Jul 06, 2006 7:20 am

Re: Scripts discussion (4)

Post by Instructor »

VladSh wrote: Fri Aug 22, 2025 3:26 pmУ меня "временное решение" для FindReplaceFiles.js с новой версией Scripts-плагина не работает - та же ошибка "Недостаточно места в стеке" на строке 663.
Выложите/вышлите папку с AkelPad'ом.

Добавлено
Внёс дополнительные правки.

Offline
Posts: 3244
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Re: Scripts discussion (4)

Post by VladSh »

Instructor
Последние изменения работают. Спасибо!

P.S. Только что 11-я винда обновилась до сборки 26100.7171, с пакетом интерфейса компонентов 1000.26100.265.0, и на ней старый код всё ещё не работает. Проверил, т.к. надеялся, что м.б. исправили, но - нет...
Post Reply