Переименовать callplugin

Здесь обсуждается всё, что касается макросов.
Locked
Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: Переименовать callplugin

Post by Maximus5 » Fri 02 Mar, 2012 00:06

Latest post of the previous page:

В этом "next" после записи макроса описанного здесь перестает реагировать на Ctrl.
Можно сохранить макрос (ShiftF9) и после перезапуска фара - реагировать на Ctrl. тоже уже не будет.

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Re: Переименовать callplugin

Post by Skirda » Fri 02 Mar, 2012 04:38

Упс. Не то выкатил. Вот.
We are the Borg. You will be assimilated.
So Say We All!

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Re: Переименовать callplugin

Post by Skirda » Fri 02 Mar, 2012 07:01

На тестирование.

Code: Select all

N=Plugin.Call(Guid,MenuGuid)    
N=Plugin.Config(Guid[,MenuGuid])
N=Plugin.Prefix(Guid,Command)   
N=Plugin.Int(Guid,Item)


Mantis#1903
We are the Borg. You will be assimilated.
So Say We All!

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: Переименовать callplugin

Post by Maximus5 » Fri 02 Mar, 2012 07:11

Code: Select all

N=Plugin.Call(Guid[,MenuGuid])
как и у Config второй параметр необязателен, если у плагина один пункт

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Re: Переименовать callplugin

Post by Skirda » Fri 02 Mar, 2012 07:21

По поводу "обязателен/необязателен".

Технически сейчас можно указывать сколь угодно параметров и сколь угодно не указывать (big tnx zg).
Но мы сохраним старую форму синтаксиса с обоснованием: что же по минимуму ожидает та или иная макрофункция на входе.
We are the Borg. You will be assimilated.
So Say We All!

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: Переименовать callplugin

Post by Maximus5 » Fri 02 Mar, 2012 07:44

так я и говорю про минимум.
или ты про callplugin?

User avatar
John Doe
Бюрократ
Posts: 12192
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 31 times
Been thanked: 159 times

Re: Переименовать callplugin

Post by John Doe » Fri 02 Mar, 2012 12:43

Skirda wrote:next
В этом билде mmode(3,1) работает как положено (активирует "асинхронный" режим callplugin).
Но отвалился запуск макропоследовательности переданной параметром
Хотя не, я ж со старой версией плагина запустил, так что всё в порядке!

User avatar
John Doe
Бюрократ
Posts: 12192
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 31 times
Been thanked: 159 times

Re: Переименовать callplugin

Post by John Doe » Fri 02 Mar, 2012 12:56

Skirda wrote:На тестирование.

Code: Select all

N=Plugin.Call(Guid,MenuGuid)    
N=Plugin.Config(Guid[,MenuGuid])
N=Plugin.Prefix(Guid,Command)   
N=Plugin.Int(Guid,Item)


Mantis#1903
Диалог FileCase открывается, но при закрытии падает:

Code: Select all

macro:post Plugin.Call("ADAC3050-56E8-45FE-9CB1-A737623CC4A6")

Code: Select all

╔════════════════════════ Exception occurred ════════════════════════╗
║ Exception:   Access violation (read from 0x0000000E)               ║
║ Address:     0x00551456                                            ║
║ Function:    wmain                                                 ║
║ Module:      C:\APPs\FAR\1903\Far.exe                              ║
╟────────────────────────────────────────────────────────────────────╢
║                    { Terminate Far } [ Debug ]                     ║
╚════════════════════════════════════════════════════════════════════╝

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: Переименовать callplugin

Post by Maximus5 » Fri 02 Mar, 2012 14:39

Поправил.

Есть другая заморочка. Нужен специалист по макросам )

в итоге, MR разрушается. Push/Pop наверное где-то звать надо?

User avatar
John Doe
Бюрократ
Posts: 12192
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 31 times
Been thanked: 159 times

Re: Переименовать callplugin

Post by John Doe » Fri 02 Mar, 2012 15:18

Возвращая к mmode(3,x).
Можно ли распространить его действие на новое семейство функций?

User avatar
SUSim
Posts: 1520
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 8 times

Re: Переименовать callplugin

Post by SUSim » Fri 02 Mar, 2012 17:44

John Doe wrote:Возвращая к mmode(3,x).
Можно ли распространить его действие на новое семейство функций?
это какое такое семейство?
SimSU ··· ·· -- ··· ··-

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Re: Переименовать callplugin

Post by Skirda » Sat 03 Mar, 2012 12:38

Maximus5 wrote:Есть другая заморочка. Нужен специалист по макросам
Что и где и на чем смотреть?
We are the Borg. You will be assimilated.
So Say We All!

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: Переименовать callplugin

Post by Maximus5 » Sat 03 Mar, 2012 19:27

Запустить фар (PluginCall6.diff) с двумя плагинами: FileCase и FarCmds
Выполнить: macro:post Plugin.call("ADAC3050-56E8-45FE-9CB1-A737623CC4A6")
Открывается диалог, сразу жмем Esc, в отладчике, после завершения
macro.cpp:5853: MFunc->Func(MFunc);
видим, что указатель MR был разрушен (вложенный вызов GetKey/ReleaseWORKBuffer).

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Re: Переименовать callplugin

Post by Skirda » Mon 05 Mar, 2012 06:50

самое простое - содержимое функций втащить в GetKey() по аналогии с callplugin
We are the Borg. You will be assimilated.
So Say We All!

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Re: Переименовать callplugin

Post by Skirda » Tue 06 Mar, 2012 11:03

тестируем (на основе PluginCall7.diff)
здесь так же mmode(3,1) по умолчанию включен
We are the Borg. You will be assimilated.
So Say We All!

User avatar
John Doe
Бюрократ
Posts: 12192
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 31 times
Been thanked: 159 times

Re: Переименовать callplugin

Post by John Doe » Tue 06 Mar, 2012 17:12

Продолжает падать на том же примере.

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: Переименовать callplugin

Post by Maximus5 » Wed 07 Mar, 2012 11:00

Исправил. это был артефакт от старого патча (

Locked

Return to “Обсуждение макросов”