Scripts plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Добавлено: необязательный параметр в метод AkelPad.Command для его передачи внутренней команде.

Added: optional parameter in method AkelPad.Command for passing to internal command.


Scripts plugin v13.0

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Instructor, обновился и десятки скриптов vbs перестали работать...
После длительных поисков нашёл причину

Раньше работала такая конструкция

Code: Select all

-"Test.vbs" Call("Scripts::Main", 1, "+Test.vbs", `"4155"`)

Code: Select all

With AkelPad
  Wnd = .GetMainWnd
  n = WScript.Arguments(0)
  Call .SendMessage(Wnd, 273, n, 0)
End With
т.е. скрипт получал параметр и SendMessage срабатывал. Сейчас нет.
Сейчас срабатывает другая конструкция:

Code: Select all

With AkelPad
  Wnd = .GetMainWnd
  n = CInt(WScript.Arguments(0))
  Call .SendMessage(Wnd, 273, n, 0)
End With
т.е. цифровой параметр стало обязательным переводить в цифровой тип.

Может можно это подправить, чтобы не исправлять десятки скриптов

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Andrey_A_A wrote:

Code: Select all

-"Test.vbs" Call("Scripts::Main", 1, "+Test.vbs", `"4155"`)
А разве передача `"4155"` со вложенными кавычками не является явным указанием трактовать этот параметр как строку?

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

трактовать этот параметр как строку
Не знаю как это трактовать, но это работало

А это как трактовать, если так тоже не работает?

Code: Select all

-"Test.vbs" Call("Scripts::Main", 1, "+Test.vbs", `4155`)

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

Post by Instructor »

Andrey_A_A
Раньше SendMessage принимал только числа (видимо VBScript сам производил конвертацию при передаче параметра методу SendMessage), теперь может принимать также и строки. WScript.Arguments(0) возвращает только строки, поэтому, чтобы передать число, необходима конвертация.

Не думать о конвертации позволит метод GetArgValue, т.к. тип наследуется от значения по умолчанию, но это другой подход к передаче параметров скрипту.

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

теперь может принимать также и строки.
Instructor, спасибо за разъяснения.

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

Post by Instructor »

Изменено: если в качестве дескриптора в методе ScriptHandle() используется ноль, то задействуется дескриптор текущего скрипта.
Добавлено: получение параметров синхронизации через метод ScriptHandle().
Исправлено: принудительный выход из цикла сообщений скриптов при выходе из программы.

Changed: if in ScriptHandle() method handle equal to zero, then current script handle is used.
Added: receive synchronization settings through a method ScriptHandle().
Fixed: forced to exit from scripts message loop when program closed.


Scripts plugin v13.1

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Товарищи, у меня одного отладка скриптов накрылась или это общий таракан?

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

Post by Instructor »

Добавлено: отладка скриптов в отладчике в режиме реального времени (JIT).
Добавлено: метод DebugJIT() - точка останова (вызвать программу отладки).

Added: just in time (JIT) scripts debugging in debugger.
Added: method DebugJIT() - breakpoint (causes break into the debugger).

Image



Scripts plugin v13.2

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

О гуд. Попробуем в ПН.

PS: попробовал сейчас - не работает. Ни через DebugJIT() ни через debugger; Пробую на MSVS2010 v10.0.30319.1 RTMRel

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

Post by Instructor »

FeyFre
На студии не пробовал. В настройках выбрана
To enable or disable Just-In-Time debugging

On the Tools menu, click Options.

In the Options dialog box, select the Debugging folder.

In the Debugging folder, select the Just-In-Time page.

In the Enable Just-In-Time debugging of these types of code box, select or clear the relevant program types: Managed, Native, or Script.

To disable Just-In-Time debugging, once it has been enabled, you must be running with Administrator privileges. Enabling Just-In-Time debugging sets a registry key, and Administrator privileges are required to change that key.

Click OK.
?

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Выбрана. И в настройках IE разрешена, и студия подхватывает отладку скриптов там. Так что врядли поломано что у меня. Год назад(кажись) работало точно. Попробую старые версии плагина, вдруг какая заработает(по релизам акела, что не поломать ничего).

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Попробовал потыкать из старых релизов АР(случайно выбирал версии от 4.5.0 - до текущей)... не пошло.
Попробовал поймать на MSVS 10.0.40219.1 SP1Rel(на другой машине)
Попробую где-то раздобыть студию по старше, может что и выплывет(прошлый раз работало то кажись на 2008-ой, хз может что и сломалось)...

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

Post by Instructor »

FeyFre
Проверил на MS VS 2005 - отладка работает.

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

Post by Instructor »

Добавлено: возможность устанавливать несколько перехватчиков сообщений одного типа в разные скрипты.
Исправлено: освобождение ресурсов после отладки.

Added: multisubclassing of one type in different scripts.
Fixed: releasing resources after debugging.


Scripts plugin v13.3
Post Reply