Вверх ↑
Разработчик
Ответов: 26149
Рейтинг: 2127
#1: 2022-01-22 18:40:14 ЛС | профиль | цитата
TheRenat писал(а):
Ещё похоже есть баг, связанный с тем, что onExecuteEnd вызывается перед любым onExecute (если выбран один файл вне зависимости от того, Select = Multi или Single)

Да там такого быть не может, если брать первую твою версию. Это же разные методы работают, в методе Single вообще нет никакого упоминания про onExecuteEnd, как он может срабатывать?
Млин, заставил ты меня проверить твой код в деле. Все у меня прекрасно работает. На одном файле при Multi отрабатывает только onExecute, на множественном: в цикле -- onExecute, в конце цикла -- onExecuteEnd, и только один раз. Я бы вообще сделал, чтобы onExecuteEnd выдавался и на один файл. Вот схема, при множественном выборе список исправно копируется в Memo, при выборе одного файла -- фиг вам, а ведь, КМК, должен.

Схема

Add(MainForm,2953706,196,112)
{
Width=455
link(onCreate,8436208:doExecute,[])
}
Add(ODialog,8436208,266,126)
{
Select=1
Point(onExecuteEnd)
link(onExecute,12424732:doAdd,[])
link(onExecuteEnd,11324573:doData,[(326,146)(326,188)])
}
Add(ListBox,12424732,336,126)
{
Left=10
Top=10
Width=200
Height=220
}
Add(Memo,6918032,399,161)
{
Left=220
Top=10
Width=200
Height=220
}
Add(DoData,11324573,336,182)
{
link(onEventData,6918032:doText,[])
link(Data,12424732:Text,[])
}


Ладно в Simple, там на этапе построения схемы будет известно, что вызывается только один файл, но вот в Multi совершенно не очевидно, что будет выбрано именно несколько файлов. А вот использовать две точки в таком режиме ничего хорошего не дадут, тогда добавленная точка вообще смысла иметь не будет
карма: 22

0
Редактировалось 4 раз(а), последний 2022-01-22 18:44:43