Scripts plugin
- Author
- Message
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Добавлено: флаг ULT_LOCKSENDMESSAGE в метод AkelPad.ScriptNoMutex - вызовы AkelPad.SendMessage, AkelPad.Command блокируют поток скрипта (по умолчанию).
Добавлено: флаг ULT_UNLOCKSENDMESSAGE в метод AkelPad.ScriptNoMutex - вызовы AkelPad.SendMessage, AkelPad.Command не блокируют поток скрипта (медленнее).
Добавлено: флаг SH_GETLOCKSENDMESSAGE в метод AkelPad.ScriptHandle - блокировка потока скрипта вызовами AkelPad.SendMessage, AkelPad.Command.
Добавлено: флаг SH_GETEXECTYPE в метод AkelPad.ScriptHandle - получить код внешнего вызова скрипта.
Added: ULT_LOCKSENDMESSAGE flag in AkelPad.ScriptNoMutex method - AkelPad.SendMessage, AkelPad.Command called with script thread lock (by default).
Added: ULT_UNLOCKSENDMESSAGE flag in AkelPad.ScriptNoMutex method - AkelPad.SendMessage, AkelPad.Command called without script thread lock (slower).
Added: SH_GETLOCKSENDMESSAGE flag in AkelPad.ScriptHandle method - AkelPad.SendMessage, AkelPad.Command locks script thread.
Added: SH_GETEXECTYPE flag in AkelPad.ScriptHandle method - retrieve code of the external script call.
Scripts plugin v18.5
Добавлено: флаг ULT_UNLOCKSENDMESSAGE в метод AkelPad.ScriptNoMutex - вызовы AkelPad.SendMessage, AkelPad.Command не блокируют поток скрипта (медленнее).
Добавлено: флаг SH_GETLOCKSENDMESSAGE в метод AkelPad.ScriptHandle - блокировка потока скрипта вызовами AkelPad.SendMessage, AkelPad.Command.
Добавлено: флаг SH_GETEXECTYPE в метод AkelPad.ScriptHandle - получить код внешнего вызова скрипта.
Added: ULT_LOCKSENDMESSAGE flag in AkelPad.ScriptNoMutex method - AkelPad.SendMessage, AkelPad.Command called with script thread lock (by default).
Added: ULT_UNLOCKSENDMESSAGE flag in AkelPad.ScriptNoMutex method - AkelPad.SendMessage, AkelPad.Command called without script thread lock (slower).
Added: SH_GETLOCKSENDMESSAGE flag in AkelPad.ScriptHandle method - AkelPad.SendMessage, AkelPad.Command locks script thread.
Added: SH_GETEXECTYPE flag in AkelPad.ScriptHandle method - retrieve code of the external script call.
Scripts plugin v18.5
Last edited by Instructor on Sat Jun 04, 2016 8:26 am, edited 1 time in total.
-
Offline
- Posts: 1949
- Joined: Sat Mar 06, 2010 7:40 pm
- Location: Poland
Thank you very much. In CloseDocument.js works properly.Instructor wrote:With Scripts v18.5. CloseDocument.js:KDJ wrote:When I try to close any modified document (from the script), then displays message box "Document was modified. Do you want to save it?" and AkelPad hangs. On Win-XP sometimes, and on Win-7 always.Code: Select all
if (LoWord(wParam) == 1000) { AkelPad.ScriptNoMutex(0x20 /*ULT_UNLOCKSENDMESSAGE*/); AkelPad.Command(4318 /*IDM_WINDOW_FRAMECLOSE*/); AkelPad.ScriptNoMutex(0x10 /*ULT_LOCKSENDMESSAGE*/); }
Unfortunately in AkelPadManualSettings.js does not work. I don't know what is the cause.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
KDJ
Code: Select all
function SendMessage(hWnd, uMsg, wParam, lParam)
{
//return oSys.Call("User32::SendMessageW", hWnd, uMsg, wParam, lParam);
return AkelPad.SendMessage(hWnd, uMsg, wParam, lParam);
}
Scripts-Eng.txt wrote:ULT_UNLOCKSENDMESSAGE AkelPad.SendMessage, AkelPad.Command called without script thread lock (slower).
-
Offline
- Posts: 1949
- Joined: Sat Mar 06, 2010 7:40 pm
- Location: Poland
Instructor
In Scripts-Eng.txt I wanted to find "-100" and not found (using "Find" dialog).
Why not found, when I see that this string exists?
Because, the minus symbol is written as non-ASCII character ("\u2013").
These characters look identical (at monospace font):
"–" ("\u2013"),
"-" ("\u002D").
Can you correct it?
In Scripts-Eng.txt I wanted to find "-100" and not found (using "Find" dialog).
Why not found, when I see that this string exists?
Because, the minus symbol is written as non-ASCII character ("\u2013").
These characters look identical (at monospace font):
"–" ("\u2013"),
"-" ("\u002D").
Can you correct it?
-
Offline
- Posts: 1161
- Joined: Sun Oct 20, 2013 11:44 am
Пытаюсь запустить SessionMenu.js, строка меню:
Получаю ошибку:
Если в строке 53 взять значение по умолчанию в кавычки - не вылетает. Получается, проблема с типом данных (строка vs. число), но только с "-p", а вот "-sm" получается без ошибок.
Баг плагина?
Code: Select all
-"Показать меню с файлами сессии(й)" Call("Scripts::Main", 1, "SessionMenu.js", `-p=1, -b="!", -sm=2`)
Code: Select all
Скрипт: *\AkelFiles\Plugs\Scripts\SessionMenu.js
Строка: 53
Символ: 1
Ошибка: Синтаксическая ошибка
Код: 800A03EA
Источник: Ошибка выполнения Microsoft JScript
Баг плагина?
-
Offline
- Posts: 2
- Joined: Fri Aug 26, 2016 10:43 am
Непонятная ошибка при попытке в скрипте создать объект AkelPad.document. В скрипте всего одна эта строчка. Scripts.dll зарегистрирована. В чём проблема?
AkelPad 4.9.8 x86. ОС Win10 x64.
Code: Select all
var AkelPad = new ActiveXObject("AkelPad.document");
Code: Select all
---------------------------
Scripts плагин
---------------------------
Скрипт: D:\PROG\TOOLS\AkelPad\AkelFiles\Plugs\Scripts\MCode.js
Строка: 1
Символ: 1
Ошибка:
Код: 80010105
Источник:
-
Offline
- Posts: 23
- Joined: Sat Jun 14, 2014 3:56 am
List of messages send by AkelPad (EOD_ / AKDN_ / ...)
Is there a list of of messages which can be used when scripting in akelpad?
Examples:
#define EOD_SUCCESS 0 //Success.
#define EOD_ADT_OPEN EDT_OPEN //See EDT_OPEN.
...
...
#define AKDN_MAIN_ONSTART (WM_USER + 1) //0x401
#define AKDN_MAIN_ONSTART_PRESHOW (WM_USER + 2) //0x402
I got the above from:
https://github.com/Fr0sT-Brutal/AkelPad ... /AkelDLL.h
But I do not know if they are still valid (it's from 2014)?
At this moment I am using which seem to work:
#define AKDN_FRAME_ACTIVATE (WM_USER + 22) //0x416
#define AKDN_OPENDOCUMENT_FINISH (WM_USER + 54) //0x436
#define AKDN_SAVEDOCUMENT_FINISH (WM_USER + 56) //0x438
#define AKDN_EDIT_ONCLOSE (WM_USER + 13) //0x40D
#define AKDN_EDIT_ONFINISH (WM_USER + 12) //0x40C
I also looked in under "Scripts" in the plugin help:
Scipts >> Scripting Akelpad >> Windows Message >> SendMessage
At the top of that page ('SendMessage'), there is a blue link 'Windows® message' which displays a lot of windows messages.
I am not a C/C++ programmer but I managed to use some messages to trigger code in a dialog which I created in another application.
Examples:
#define EOD_SUCCESS 0 //Success.
#define EOD_ADT_OPEN EDT_OPEN //See EDT_OPEN.
...
...
#define AKDN_MAIN_ONSTART (WM_USER + 1) //0x401
#define AKDN_MAIN_ONSTART_PRESHOW (WM_USER + 2) //0x402
I got the above from:
https://github.com/Fr0sT-Brutal/AkelPad ... /AkelDLL.h
But I do not know if they are still valid (it's from 2014)?
At this moment I am using which seem to work:
#define AKDN_FRAME_ACTIVATE (WM_USER + 22) //0x416
#define AKDN_OPENDOCUMENT_FINISH (WM_USER + 54) //0x436
#define AKDN_SAVEDOCUMENT_FINISH (WM_USER + 56) //0x438
#define AKDN_EDIT_ONCLOSE (WM_USER + 13) //0x40D
#define AKDN_EDIT_ONFINISH (WM_USER + 12) //0x40C
I also looked in under "Scripts" in the plugin help:
Scipts >> Scripting Akelpad >> Windows Message >> SendMessage
At the top of that page ('SendMessage'), there is a blue link 'Windows® message' which displays a lot of windows messages.
I am not a C/C++ programmer but I managed to use some messages to trigger code in a dialog which I created in another application.
-
Offline
- Posts: 1161
- Joined: Sun Oct 20, 2013 11:44 am
r0n
Sources (current 4.9.8 ): AkelPad-4.9.8-src.zip/AkelFiles/Plugs/AkelDLL/AkelDLL.h
Or in SVN-repository.
Sources (current 4.9.8 ): AkelPad-4.9.8-src.zip/AkelFiles/Plugs/AkelDLL/AkelDLL.h
Or in SVN-repository.
Last edited by Skif_off on Fri Nov 04, 2016 5:13 pm, edited 1 time in total.