View Issue Details

IDProjectCategoryView StatusLast Update
0002170Far ManagerMacropublic2012-10-25 21:04
Reportermax rusov Assigned Toshmuel  
PrioritynormalSeveritymajorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version3.0 
Fixed in Version3.0 
Summary0002170: Не работает mmode(3, 1)
DescriptionНе работает "асинхронный" режим Plugin.Call, который должен включаться командой mmode(3, 1)

Пример:

farmacro Descr = "Test" Key="CtrlAltF12" DisableOutput=0
{{
  mmode(3, 1) -- Не влияет на результат
  CaseConv="ADAC3050-56E8-45FE-9CB1-A737623CC4A6";
  Plugin.Call(CaseConv)
  msgbox("", "Привет")
}}
TagsNo tags attached.
Build2898

Activities

shmuel

2012-10-22 16:54

developer   bugnote:0009628

В Писании про mmode(3,x) сказано следующее:
> разрешает или запрещает исполнение макросов при вызове плагина макрофункцией CallPlugin.

А также пример, где приостанавливается исполнение текущего макроса, исполняется макрос вызванного плагина, а после возврата ф-ции Plugin.Call возобновляется исполнение текущего макроса. Это мне понятно. А ваш пример как-то не вписывается в определение Писания. То-есть да, я проверил, что с прежним макродвижком выводится msgbox не дожидаясь возврата из Plugin.Call, но это не может быть, видимо, образцом для подражания. Просветите меня насчёт mmode(3) так как документация ну очень скудная.

max rusov

2012-10-22 19:21

reporter   bugnote:0009629

Если из Plugin.Call открывается диалог плагина, то в синхронном режиме исполнение макроса приостанавливается, пока диалог не закроется. Это имеет 2 последствия:

1. Мы не можем управлять диалогом из этого макроса - установить позицию или начальные значения контролов или сделать любые другие действия.
2. Все время работы этого диалога макродвижек находится в состоянии EXECUTING (горит символ P), как следствие в этом диалоге не работают никакие другие макросы.

Фактически это делает Plugin.Call бесполезным в 90% случаев (на моей практике).

В принципе, теперь, когда есть Plugin.Menu и Plugin.Command это не является критичной проблемой, но, с другой стороны - потеря функциональности на лицо. Очень хотелось бы это вернуть.

shmuel

2012-10-23 22:41

developer   bugnote:0009646

Спасибо за объяснение!
Пробуем 2898.

max rusov

2012-10-25 06:20

reporter   bugnote:0009671

Все работает, спасибо

Issue History

Date Modified Username Field Change
2012-10-21 18:51 max rusov New Issue
2012-10-22 16:54 shmuel Note Added: 0009628
2012-10-22 19:21 max rusov Note Added: 0009629
2012-10-23 22:41 shmuel Note Added: 0009646
2012-10-23 23:01 shmuel Assigned To => shmuel
2012-10-23 23:01 shmuel Status new => assigned
2012-10-25 06:03 shmuel Status assigned => feedback
2012-10-25 06:20 max rusov Note Added: 0009671
2012-10-25 06:20 max rusov Status feedback => assigned
2012-10-25 21:03 shmuel Status assigned => resolved
2012-10-25 21:04 shmuel Build => 2898
2012-10-25 21:04 shmuel Status resolved => closed
2012-10-25 21:04 shmuel Resolution open => fixed
2012-10-25 21:04 shmuel Fixed in Version => 3.0