Page 1 of 2
APanel.Path0 -- как получить аналог из плагина?
Posted: Mon 25 Dec, 2017 12:12
by 2useven10
Можно ли через far api в плагине получить аналог APanel.Path0 ?
APanel.Path0 -- как получить аналог из плагина?
Posted: Mon 25 Dec, 2017 12:55
by Shmuel
Не припомню прямого способа в API. Однако можно так:
Code: Select all
string Path0;
MacroExecuteString data = { sizeof(MacroExecuteString),0,L"return APanel.Path0",0,nullptr,0,nullptr };
if (Info.MacroControl(&Guid,MCTL_EXECSTRING,0,&data) && data.OutValues[0].Type == FMVT_STRING)
Path0 = data.OutValues[0].String;
APanel.Path0 -- как получить аналог из плагина?
Posted: Mon 25 Dec, 2017 12:58
by John Doe
APanel.Path0 -- как получить аналог из плагина?
Posted: Mon 25 Dec, 2017 14:08
by 2useven10
Для MacroControl() нужен luamacro/luafar3.dll ?
Сейчас нужно для активной, но для пассивной тоже было бы неплохо...
Получается у плагина нет доступа к Panel->GetDirectory() ?
APanel.Path0 -- как получить аналог из плагина?
Posted: Mon 25 Dec, 2017 14:22
by John Doe
2useven10 wrote: ↑Mon 25 Dec, 2017 14:08Для MacroControl() нужен luamacro/luafar3.dll ?
Нужен
2useven10 wrote: ↑Mon 25 Dec, 2017 14:08Сейчас нужно для активной, но для пассивной тоже было бы неплохо...
Через FCTL_SETACTIVEPANEL?
APanel.Path0 -- как получить аналог из плагина?
Posted: Mon 25 Dec, 2017 14:30
by 2useven10
John Doe wrote: ↑Mon 25 Dec, 2017 14:22Через FCTL_SETACTIVEPANEL?
Да с бубном можно.
APanel.Path0 -- как получить аналог из плагина?
Posted: Mon 25 Dec, 2017 17:08
by zg
а каков вообще сценарий использования Path0?
APanel.Path0 -- как получить аналог из плагина?
Posted: Mon 25 Dec, 2017 21:12
by 2useven10
Например, в arclite умолчательный каталог для распаковки из комстроки.
APanel.Path0 -- как получить аналог из плагина?
Posted: Mon 25 Dec, 2017 21:22
by 2useven10
Хотя нет там обычно в архив ещё не вошли.
Пытался добавить (возможно сомнительный) ии, если путь к архиву ведёт во временный каталог, а архив открыли в 'нормальном' каталоге,
тогда считаем, что архив вложенный.
APanel.Path0 -- как получить аналог из плагина?
Posted: Mon 25 Dec, 2017 21:51
by zg
через префикс можно открыть архив из временного каталога находясь в обычном. в данной ситуации надо просто подумать о нормальном механизме, а не лепить странные костыли.
APanel.Path0 -- как получить аналог из плагина?
Posted: Mon 25 Dec, 2017 22:10
by 2useven10
Думал, часа 3. Честного способа понять, что arclite работает с вложенным архивом я не нашёл.
APanel.Path0 -- как получить аналог из плагина?
Posted: Mon 25 Dec, 2017 22:24
by zg
фар знает, что архив вложенный, можно добавить в openanaliseinfo хэндл и гуид родительской панели.
APanel.Path0 -- как получить аналог из плагина?
Posted: Mon 25 Dec, 2017 22:29
by 2useven10
Я, к сожалению, очень плохо ориентируюсь во взаимодействии фар с плагинами.
Если это можно добавить - было бы здорово.
APanel.Path0 -- как получить аналог из плагина?
Posted: Tue 26 Dec, 2017 06:24
by 2useven10
zg wrote: ↑Mon 25 Dec, 2017 22:24можно добавить в openanaliseinfo
Если открывать через префикс, этой информации всё равно не будет ?
APanel.Path0 -- как получить аналог из плагина?
Posted: Tue 26 Dec, 2017 07:15
by NightRoman
zg wrote: ↑Mon 25 Dec, 2017 17:08а каков вообще сценарий использования Path0?
Для сохранения на диск чего-то с панели папка по умолчанию была бы очень полезна. В своем плагине пока запоминаю текущую папку при старте панели. В принципе, так жить можно. Но есть проблема, если панель сама запускается из плагиновой панели, тогда непонятно, как эту папку получить.