APanel.Path0 -- как получить аналог из плагина?

Место, где разработчики плагинов могут поделиться своим опытом.
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

APanel.Path0 -- как получить аналог из плагина?

Post by 2useven10 »

Можно ли через far api в плагине получить аналог APanel.Path0 ?
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

APanel.Path0 -- как получить аналог из плагина?

Post 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;
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

APanel.Path0 -- как получить аналог из плагина?

Post by John Doe »

Для активной панели должно быть то же самое, что и http://api.farmanager.com/ru/fsf/getcur ... ctory.html
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

APanel.Path0 -- как получить аналог из плагина?

Post by 2useven10 »

Для MacroControl() нужен luamacro/luafar3.dll ?

Сейчас нужно для активной, но для пассивной тоже было бы неплохо...
Получается у плагина нет доступа к Panel->GetDirectory() ?
Last edited by 2useven10 on Mon 25 Dec, 2017 14:09, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

APanel.Path0 -- как получить аналог из плагина?

Post 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?
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

APanel.Path0 -- как получить аналог из плагина?

Post by 2useven10 »

John Doe wrote: Mon 25 Dec, 2017 14:22Через FCTL_SETACTIVEPANEL?
Да с бубном можно.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

APanel.Path0 -- как получить аналог из плагина?

Post by zg »

а каков вообще сценарий использования Path0?
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

APanel.Path0 -- как получить аналог из плагина?

Post by 2useven10 »

Например, в arclite умолчательный каталог для распаковки из комстроки.
Last edited by 2useven10 on Mon 25 Dec, 2017 21:13, edited 1 time in total.
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

APanel.Path0 -- как получить аналог из плагина?

Post by 2useven10 »

Хотя нет там обычно в архив ещё не вошли.
Пытался добавить (возможно сомнительный) ии, если путь к архиву ведёт во временный каталог, а архив открыли в 'нормальном' каталоге,
тогда считаем, что архив вложенный.
Last edited by 2useven10 on Mon 25 Dec, 2017 21:22, edited 2 times in total.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

APanel.Path0 -- как получить аналог из плагина?

Post by zg »

через префикс можно открыть архив из временного каталога находясь в обычном. в данной ситуации надо просто подумать о нормальном механизме, а не лепить странные костыли.
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

APanel.Path0 -- как получить аналог из плагина?

Post by 2useven10 »

Думал, часа 3. Честного способа понять, что arclite работает с вложенным архивом я не нашёл.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

APanel.Path0 -- как получить аналог из плагина?

Post by zg »

фар знает, что архив вложенный, можно добавить в openanaliseinfo хэндл и гуид родительской панели.
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

APanel.Path0 -- как получить аналог из плагина?

Post by 2useven10 »

Я, к сожалению, очень плохо ориентируюсь во взаимодействии фар с плагинами.
Если это можно добавить - было бы здорово.
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

APanel.Path0 -- как получить аналог из плагина?

Post by 2useven10 »

zg wrote: Mon 25 Dec, 2017 22:24можно добавить в openanaliseinfo
Если открывать через префикс, этой информации всё равно не будет ?
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

APanel.Path0 -- как получить аналог из плагина?

Post by NightRoman »

zg wrote: Mon 25 Dec, 2017 17:08а каков вообще сценарий использования Path0?
Для сохранения на диск чего-то с панели папка по умолчанию была бы очень полезна. В своем плагине пока запоминаю текущую папку при старте панели. В принципе, так жить можно. Но есть проблема, если панель сама запускается из плагиновой панели, тогда непонятно, как эту папку получить.
Post Reply

Return to “Разработка плагинов”