При наличии данной строки WScript.Quit игнорируется, т.к. сейчас WScript.Quit это послание серверу сценариев специального кода возврата SCRIPT_E_PROPAGATE, который говорит серверу выйти минуя OnScriptError. Однако строка "On Error Resume Next" блокирует выход. В новой версии плагина эта ситуация учтена.
Andrey_A_A wrote:Ещё одно: Если в конце пути каталога есть слеш \ , то функция GetFilePath не выдаёт родительский путь.
CPF_DIR для "D:\TC IMAGE\AkelFiles\Plugs\Scripts\Include" корректно выдаёт "D:\TC IMAGE\AkelFiles\Plugs\Scripts\Include".
Posted: Wed Dec 24, 2014 11:24 pm
by KDJ
Instructor wrote:
KDJ wrote:It seems to me that in x64 version, AkelPad.SetEditWnd method works incorrectly.
Not reproduced. Any example code?
Examples are in the scripts TextMarker.js and RunCommand.js, functions GetTextAE() and ReplaceTextAE().
TextMarker.js generates sometimes an error reported by Skif_off here: viewtopic.php?p=27149#p27149
If you run RunCommand.js, next press "CMD ?" button and choose command from the list, it replaces all text in AkelPad edit window instead of in edit window of the script.
Posted: Sat Dec 27, 2014 1:31 pm
by Infocatcher
Если скрыть дополнительные столбцы в списке скриптов, пункт «Открыть сайт» в контекстном меню остается, но заблокирован.
И еще с дополнительными столбцами притормаживает при первом открытии.
Тут бы или кэширование какое, или сперва список показать, а уже потом в отдельном потоке тянуть дополнительные данные из файлов.
Posted: Sat Dec 27, 2014 4:58 pm
by Instructor
KDJ
Not reproduced, but guess I now what happens.
In currently developed Scripts plugin 6.0 implemented support for __int64 values (JScript and VBScript don't have native support for 8-byte integers). Scripts uses the next algorithm: if number larger then 0xFFFFFFFF, number converted to string and first character in this string is NULL. For example, 123 -> "\x00123". Therefore incrementing pointer must be done with _PtrAdd (see example scripts in current development version).
I have uploaded two versions. First to debug your scripts. It will convert number to string if number larger then 0xFFFF (it is almost any pointer). When scripts after editing starts running without errors/crashes, you can try current development version.
Posted: Sat Dec 27, 2014 9:16 pm
by KDJ
Instructor
Unfortunately, this did not help. I think there is an error in SetEditWnd method.
This script works correctly in the following configurations:
- AkelPad 4.9.0 x86, WinXP x86,
- AkelPad 4.9.1 x86, WinXP x86,
- AkelPad 4.9.0 x86, Win7 x64,
- AkelPad 4.9.1 x86, Win7 x64,
- AkelPad 4.9.0 x64, Win7 x64.
Does not work correctly in:
- AkelPad 4.9.1 x64, Win7 x64 (text is added in AkelPad edit window instead of "my edit window").
Posted: Sun Dec 28, 2014 6:59 pm
by KDJ
Instructor
Furthermore I noticed that IsAkelEdit method returns an incorrect value (Scripts v.15.9 and 16.0 x64).
For my window created as "AkelEditW" (hMyEdit):
AkelPad.IsAkelEdit(hMyEdit) -> 0.
For AkelPad edit window also:
AkelPad.IsAkelEdit(AkelPad.GetEditWnd()) -> 0.
This can be a cause that SetEditWnd method not working properly.
In Scripts v15.8 x64 everything worked fine.
Posted: Sun Dec 28, 2014 7:20 pm
by Instructor
KDJ wrote:For my window created as "AkelEditW" (hMyEdit):
AkelPad.IsAkelEdit(hMyEdit) -> 0.