Страница 108 из 130

Добавлено: Чт янв 21, 2016 18:28
MVV
Я использую только TCx32, так что это на TCx32, а насчёт TCx64 не знаю.

Добавлено: Чт янв 21, 2016 20:40
Flasher
Может, ещё на Win x32 проверить? У меня же всё в порядке.

Добавлено: Чт янв 21, 2016 21:05
MVV
Очень сомневаюсь, что одинаковые библиотеки будут работать по-разному. 32-битная подсистема на 64-битной системе - это те же 32-битные библиотеки из 32-битной системы. Возможно, ты что-то не так делаешь. Баг элементарно воспроизводится напрямую из командной строки:

Код: Выделить всё

TCFS2.exe /ef "tcm(502, 1) tcm(502, 1)"
Появляются два окна атрибутов, одно чётко поверх другого, если перетащить или закрыть верхнее, можно увидеть нижнее (но при этом перерисовываться оно не может и элементы управления отвечают очень плохо).

Добавлено: Чт янв 21, 2016 21:13
Flasher
Хм. Я попробовал команду 502,502 из кнопки, действительно 2 окна. Но из внутренних ассоциаций ничего такого не происходит, там-то одна команда вводится. А что там можно не так сделать? Всё банально.

Добавлено: Чт янв 21, 2016 21:31
MVV
Команда-то там вводится одна, но ключевой момент в том, что при выделении нескольких файлов она вызывается несколько раз.

Добавлено: Чт янв 21, 2016 22:00
Flasher
MVV
Почему несколько-то? Как TCFS2 тут определяет число выбранных файлов? Никак. То же касается и внутренних ассоциаций, для которых обработка выбранных файлов возможна только из выпадающего меню с указанием %1 (или без), но никак не напрямую (по Enter).

Добавлено: Чт янв 21, 2016 23:03
MVV
Определяет тут тотал. Ты выбираешь эн файлов и через внутреннюю ассоциацию говоришь запустить для них программу, вот тотал и запускает по экземпляру программы для каждого из них, и то, что %1 даже не указан в параметрах программы, уже ничего не меняет (лишь наличие %2 переключает режим).

Добавлено: Чт янв 21, 2016 23:08
Flasher
MVV писал(а):вот тотал и запускает по экземпляру программы для каждого из них
Если бы так было, то внутренняя ассоциация работала для групп файлов, а этого нет без указанных мной условий.

Добавлено: Пт янв 22, 2016 10:31
MVV
А ты сам пробовал без %1 в аргументах ассоциацию делать? У меня тотал прекрасно запускает несколько копий программы, по одной на выделенный файл.

Добавлено: Пт янв 22, 2016 13:47
Flasher
MVV писал(а):А ты сам пробовал без %1 в аргументах ассоциацию делать?
А то ты не знаешь, о чём выше вёлся разговор? Можешь сразу перейти к п. 2. Если есть что добавить, пиши там.

Добавлено: Пт янв 22, 2016 15:01
MVV
Возможно, мы о разном вели разговор. :)

Не считая бага, основная проблема была в том, как при куче выделенных файлов запускать программу только 1 раз, и %2 с этой задачей справляется, пусть и путём добавления некоторого "мусора" в командную строку.

В описании работы %2 по твоей ссылке примерно то же и сказано, о чём шла речь выше. Есть %2 - запускается всего 1 копия программы, нету %2 - запускается по 1 копии на каждый выделенный файл. Само собой, ассоциацию я запускаю через контекстное меню, а не по Enter.

Добавлено: Пт янв 22, 2016 17:21
Flasher
MVV писал(а):Само собой, ассоциацию я запускаю через контекстное меню, а не по Enter.
Ну, так это не основной режим. %2 исправил на %1 в своём условии, чтобы точнее было.

Добавлено: Пт янв 22, 2016 17:51
MVV
Тем не менее, суть остаётся прежней: если в аргументах программы во внутренних ассоциациях не встречается %2, то через контекстное меню нескольких выделенных файлов эта программа запускается несколько раз независимо от наличия %1 в аргументах, а если %2 там встречается, то только 1 раз, при этом вместо %2 подставляется разделённый пробелами список путей к файлам.

Добавлено: Пт янв 22, 2016 17:53
Flasher
MVV писал(а):то через контекстное меню
В условии изначально не было указано, поэтому суть под вопросом.

Добавлено: Пт янв 22, 2016 17:57
MVV
Явно не сказано, да, но сказано про неоднократное выполнение команды, из чего понятно (если принять во внимание, что по Enter ассоциацию для нескольких файлов применить невозможно), что использовалось контекстное меню.