View Issue Details

IDProjectCategoryView StatusLast Update
0003601Far ManagerMacropublic2018-04-26 09:23
Reporterbuniak_a_h Assigned To 
PrioritylowSeverityminorReproducibilityalways
Status newResolutionopen 
Platformx64OSWindowsOS Version10
Product Version3.0 
Summary0003601: Не работает Panel.FExist на Временной панели
DescriptionОписание функции:

itemIdx=panel.fexist
<...>
Функция возвращает 0, если такого объекта на панели нет, или индекс элемента.
<...>

Энциклопедия
Так оно и работает на файловой панели, отражающей реальную дисковую папку. НО! На панели плагина (проверялось на TmpPanel) функция всегда возвращает "0" (хотя файл реально существует).
Про то, что функция не работает на панели плагина, в описании ничего не сказано.
Steps To Reproduce
  1. Поиск файла (Alt+F7); результаты поиска поместить на временную панель.
  2. В командной строке ввести команду:
  3. lua:=Panel.FExist(0, <имя_файла_с_панели>)
  4. В результате будет "0", хотя этот файл на панели есть
Additional InformationВозможно, дело в "полных путях". Например:
Панель отражает реальную дисковую папку C:\Dir\Sub; на ней есть файл qqq.txt
На этой панели команда
    lua:=Panel.FExist([[qqq.txt]])
возвращает позицию этого файла. А команда
    lua:=Panel.FExist([[C:\Dir\Sub\qqq.txt]])
возвращает "0". Что, по-моему, тоже неправильно: ведь файл существует, и элемент панели, отражающий этот файл - тоже.
TagsPanel.FExist, TempPanel
Build

Activities

JohnDoe

2018-04-26 07:19

updater   bugnote:0016056

Тут проблема наверно глубже чем просто Panel.FExist.
Что правильно считать "именем"?

По умолчанию во временной панели режим Wide, а переключившись в любой другой мы получим на панели имена без путей.
Но ведь так на панели легко получить множество "одноимённых" элементов..

JohnDoe

2018-04-26 07:23

updater   bugnote:0016057

Впрочем как я посмотрю на временной панели Panel.FExist не работает в любом случае, что с путём, что без.

buniak_a_h

2018-04-26 08:05

reporter   bugnote:0016058

Last edited: 2018-04-26 08:35

Что правильно считать "именем"?

JohnDoe
То, что сносится в командную строку комбинацией CtrlEnter. Оно же попадает в буфер по CtrlIns.
Я проверил: независимо от вида панели, от настроек типа "Показывать расширение" (модификация "N") с временной панели в командную строку сносится всегда одно и то же

buniak_a_h

2018-04-26 09:23

reporter   bugnote:0016059

Что правильно считать "именем"?

JohnDoe
Вариант (хотя, подозреваю, это будет тоже самое) - то, что в APane.Current (или в panel.GetPanelItem(nil,1,0).FileName).
Поясню.
Не очень представляю себе использование этой функции ВНЕ макросов. А в макросе имя итема - это либо APanel.Current, либо panel.GetPanelItem(nil,1,APanel.CurPos).FileName.
Логично было бы, чтобы Panel.FExist(0,APanel.Current)) возвращала APanel.CurPos

Issue History

Date Modified Username Field Change
2018-04-25 13:51 buniak_a_h New Issue
2018-04-25 13:51 buniak_a_h Tag Attached: Panel.FExist
2018-04-25 14:09 shmuel Category Panel => Macro
2018-04-25 14:09 shmuel Description Updated
2018-04-25 14:09 shmuel Steps to Reproduce Updated
2018-04-25 14:09 shmuel Additional Information Updated
2018-04-26 07:19 JohnDoe Note Added: 0016056
2018-04-26 07:23 JohnDoe Note Added: 0016057
2018-04-26 07:29 JohnDoe Summary Не работает Panel.FExist на плагиновой панели => Не работает Panel.FExist на Временной панели
2018-04-26 07:30 JohnDoe Tag Attached: TempPanel
2018-04-26 08:05 buniak_a_h Note Added: 0016058
2018-04-26 08:35 buniak_a_h Note Edited: 0016058
2018-04-26 08:35 buniak_a_h Note Edited: 0016058
2018-04-26 09:23 buniak_a_h Note Added: 0016059