View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002170 | Far Manager | Macro | public | 2012-10-21 18:51 | 2012-10-25 21:04 |
| Reporter | max rusov | Assigned To | shmuel | ||
| Priority | normal | Severity | major | Reproducibility | have not tried |
| Status | closed | Resolution | fixed | ||
| Product Version | 3.0 | ||||
| Fixed in Version | 3.0 | ||||
| Summary | 0002170: Не работает 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("", "Привет") }} | ||||
| Tags | No tags attached. | ||||
| Build | 2898 | ||||
|
|
В Писании про mmode(3,x) сказано следующее: > разрешает или запрещает исполнение макросов при вызове плагина макрофункцией CallPlugin. А также пример, где приостанавливается исполнение текущего макроса, исполняется макрос вызванного плагина, а после возврата ф-ции Plugin.Call возобновляется исполнение текущего макроса. Это мне понятно. А ваш пример как-то не вписывается в определение Писания. То-есть да, я проверил, что с прежним макродвижком выводится msgbox не дожидаясь возврата из Plugin.Call, но это не может быть, видимо, образцом для подражания. Просветите меня насчёт mmode(3) так как документация ну очень скудная. |
|
|
Если из Plugin.Call открывается диалог плагина, то в синхронном режиме исполнение макроса приостанавливается, пока диалог не закроется. Это имеет 2 последствия: 1. Мы не можем управлять диалогом из этого макроса - установить позицию или начальные значения контролов или сделать любые другие действия. 2. Все время работы этого диалога макродвижек находится в состоянии EXECUTING (горит символ P), как следствие в этом диалоге не работают никакие другие макросы. Фактически это делает Plugin.Call бесполезным в 90% случаев (на моей практике). В принципе, теперь, когда есть Plugin.Menu и Plugin.Command это не является критичной проблемой, но, с другой стороны - потеря функциональности на лицо. Очень хотелось бы это вернуть. |
|
|
Спасибо за объяснение! Пробуем 2898. |
|
|
Все работает, спасибо |
| 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 |