[Tools] Open File Shell For TC

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Yams
В текущей ситуации указатель Тотала и показывает, какое раширение будет определяющим при выборе EXE. Но исправлю. Попробую каким-то другим образом этот момент анализировать.
Так ведь в будущем всё равно для каждого файла будет свой редактор открываться - соответственно, и EXE у каждого будет свой. :) А пока можно просто анализировать по первому файлу из списка выделенных файлов.
Мне лично по сети Exe запускать пока не нужно, потому я и решил выдёргивать иконки из EXE постоянно, минуя кэш.
Мне тоже не нужно, но даже если без сети будет список из трёх-четырёх десятков файлов, уже могут появиться заметные подтормаживания... Хотя не уверен, не засекал. :) (Да и не получится засечь, комп мощный.)
Точнее, сделаю опциональным.
Ждём-с. ;) Только обязательно с поддержкой полупрозрачности! :)
Аватара пользователя
anephew
Сообщения: 35
Зарегистрирован: Сб мар 04, 2006 10:18

Сообщение anephew »

подскажите как мне снать ассоциацию с файла,то есть хочу поменять приложение на открытие файла,которое уже открываетца приложением выбранным в плаге.
спасиБО ))))
подписываюсь под своими словами
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

anephew
Открыть саму программу (включив ScrollLock) и настроить расширения.
Аватара пользователя
anephew
Сообщения: 35
Зарегистрирован: Сб мар 04, 2006 10:18

Сообщение anephew »

спасиб
забыл же что это exe ))))
Аватара пользователя
Yams
Сообщения: 115
Зарегистрирован: Пн окт 17, 2005 16:31
Откуда: Тверь
Контактная информация:

Сообщение Yams »

Прошу прощения за долгое молчание. CaptainFlint, спасибо за поддержку топика!
Думаю выложить новую версию к началу апреля, если ничего критичного в личной жизни не произойдёт :)

Что будет точно нового:
- опциональное кеширование иконок. Кстати, я проверил: всё-таки загрузка иконок из EXE-файлов по времени занимает столько же времени, сколько и загрузка из BMP. Там, вообще говоря, можно будет придумать вообще свой формат хранения изображений, чтобы можно было быстрее загрузить их в память. Но это в далёком будущем :wink: А в случае, если программа находится по сети, кеширование даёт заметный прирост в скорости запуска.

- исправится проблема с буфером обмена. Inter aka V-Isa подсказал мне на главном форме программы хорошую идею: не кидать в буфер обмена список выделенных файлов, а сохранять их в файл и брать оттуда этот список.

- поправлю другие ошибки, например, открытие (точнее, неоткрытие:) ) файлов без расширения.
In Pascal we trust
Аватара пользователя
Yams
Сообщения: 115
Зарегистрирован: Пн окт 17, 2005 16:31
Откуда: Тверь
Контактная информация:

Сообщение Yams »

К сожалению, не получилось выложить в апреле программу. Кроме того, не всё из заявленного будет выполнено в будущей версии. Не будет кэширования иконок, слабо поправлена ошибка с буфером обмена.

Связана эта задержка прежде всего с переходом программы на Unicode-"салазки".

Вчера доработал последние неточности с Unicode-строками, программа стала более-менее стабильной. Сейчас готовлю файл справки и обновление Html-страницы, после этого выложу программу.
In Pascal we trust
Аватара пользователя
Yams
Сообщения: 115
Зарегистрирован: Пн окт 17, 2005 16:31
Откуда: Тверь
Контактная информация:

Сообщение Yams »

В программе обнаружились досадные ошибки,эти ошибки я постараюсь ликвидировать в ближайшее время. Осправленную версию выложу на сайте, но саму версию обновлять не буду. Просто сообщу об этом здесь и на странице программы.

Замеченные ошибки:
1) Программа не открывает файлы в архиве, Open File TC передаёт не ссылку на файл во временной папке, а прямую ссылку на файл в архиве. Т.е. не C:\Temp\_tc\1.txt, а C:\Working\Archive.rar/1.txt
2) При изменении списка поддерживаемых типов (открытие окна "Список расширений") для программы сбрасывается тип запуска. Т.о. для AkelPad придётся заново выставить пункт №2 или №4 в свойствах программы.

Больше пока явных багов замечено не было.
Последний раз редактировалось Yams Пт май 12, 2006 20:31, всего редактировалось 1 раз.
In Pascal we trust
Аватара пользователя
CJ Flash
Сообщения: 128
Зарегистрирован: Ср фев 15, 2006 18:50
Откуда: Череповец

Сообщение CJ Flash »

Yams писал(а):Обновил программу. Вроде бы учёл все пожелания! :)
В Win98 не работает автопрописывание программы в wincmd.ini и не создаётся файл настроек самого OpenFileTC, как результат - программа не функционирует, ибо ей попросту неоткуда читать настройки.
PS: Установка производилась "с нуля".
The past was yesterday...

TC 8.51a x32, #116718 Personal licence
Аватара пользователя
Yams
Сообщения: 115
Зарегистрирован: Пн окт 17, 2005 16:31
Откуда: Тверь
Контактная информация:

Сообщение Yams »

2 CJ Flash:

Скажите, а какой Ini-файл Open File TC отображает в своих настройках? Настройки, пункт "О программе".

Вы запускали программу с запущенным TC? Если Total Commander не запущен, то Open File TC найти файл настроек не сможет.

Потом, попробуйте запустить программу (Из-под TC) со включенным Scroll Lock, в этом случае программа ещё раз пытается перечитать путь до файла настроек.

Если ничего из вышеперечисленного не помогло, вы можете вручную вписать файл настроек TC:
[Main]
TC_INIFileName=<Здесь путь до Ini-файла, можно использовать тэг %COMMANDER_PATH%>.

Если и это не помогло, то просто вручную запишите программу как редактор к ТС. В меню ТС:
Запуск->Изменить главное меню->Правка/Просмотр, там в качестве редактора укажите полное имя OpenFileTC.exe.
In Pascal we trust
Аватара пользователя
CJ Flash
Сообщения: 128
Зарегистрирован: Ср фев 15, 2006 18:50
Откуда: Череповец

Сообщение CJ Flash »

Скажите, а какой Ini-файл Open File TC отображает в своих настройках? Настройки, пункт "О программе".
Правильный, т.е. тот же, что и сам TC в своем About`e. В моём случае, это E:\SOFT\USED\TOTALCMD\wincmd.ini
Вы запускали программу с запущенным TC? Если Total Commander не запущен, то Open File TC найти файл настроек не сможет.
Да, TC был запущен.
Потом, попробуйте запустить программу (Из-под TC) со включенным Scroll Lock, в этом случае программа ещё раз пытается перечитать путь до файла настроек.
Попробовал, результат тот же.
Если ничего из вышеперечисленного не помогло, вы можете вручную вписать файл настроек TC:
[Main]
TC_INIFileName=<Здесь путь до Ini-файла, можно использовать тэг %COMMANDER_PATH%>.
Пробовал, с тегом и без - безрезультатно.
Если и это не помогло, то просто вручную запишите программу как редактор к ТС. В меню ТС:
Запуск->Изменить главное меню->Правка/Просмотр, там в качестве редактора укажите полное имя OpenFileTC.exe.
Увы...

Уж не знаю, с чем это связано, но проблема именно в том, что OpenFileTC не сохраняет свои настройки.

PS: Ко мне можно на "ты" :) Если для Вас это приемлемо.
The past was yesterday...

TC 8.51a x32, #116718 Personal licence
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

В версии 1.5 появились странные вылетания. Жму F4 - вылетает исключение:
---------------------------
Open File shell for TC
---------------------------
Access violation at address 004C639A in module 'OpenFileTC.exe'. Read of address 00000000.
---------------------------
ОК
---------------------------
После нажатия OK открывается пустое окошко Open File TC, без единого значка внутри. Закрываю, снова жму F4 на том же самом файле - нормально открывается. Несколько раз открывается нормально. Потом снова выскакивает. Никакой закономерности пока обнаружить не удалось... :(

PS: На всякий случай: основной редактор - EmEditor 6.00 beta (сейчас - beta 9). На других программах пока такую ошибку не ловил, но я и пользуюсь ими несравненно реже.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Аватара пользователя
Yams
Сообщения: 115
Зарегистрирован: Пн окт 17, 2005 16:31
Откуда: Тверь
Контактная информация:

Сообщение Yams »

2 CJ Flash:
Посмотрю и исправлю ошибку. Пока сказать, в чём дело, не могу.

2 CaptainFlint:
Это как раз то, чего я больше всего боялся :( Переводил я программу на Unicode-строки, а эти строки требуют совершенно другого к себе подхода. И, видимо, не везде этот подход я реализовал.
Проблема не в редакторе, проблема внутри самой программы. Я переколдовал с командной строкой. К сожалению. Попробую исправить, но не уверен, что отловлю ошибку.
In Pascal we trust
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Бум ждать. :)
Кстати, я когда-то говорил, что неплохо бы улучшить иконку самой программы (чтобы не было чёрной каёмочки). Видимо, это так где-то и затерялось. :) В общем, я тут склепал по образу и подобию, смотрится куда лучше. Выложил сюды, если хочешь, можешь прямо её использовать для новой версии. Если нет - буду у себя локально менять Ресурс Хакером. ;)
Почему же, ё-моё, ты нигде не пишешь "ё"?
Аватара пользователя
Yams
Сообщения: 115
Зарегистрирован: Пн окт 17, 2005 16:31
Откуда: Тверь
Контактная информация:

Сообщение Yams »

Архив скачал, поставлю :) О просьбе не забыл, просто всё руки не доходили
In Pascal we trust
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Тут возникла одна интересная идейка для OFTC.
Как известно, в Тотале с MDI-редакторами наблюдаются определённые проблемы: Тотал запускает редактор, тот видит уже запущенную свою копию, передаёт открываемый файл в ту копию, и сам завершается. Соответственно, при редактировании файлов из архивов, с FTP и пр., происходит ошибка: во-первых, файл сразу удаляется, а во-вторых, Тотал перестаёт следить за процессом редактора, чтобы после его завершения обновить файл в архиве / на FTP. Кое-что по этой проблеме было предложено на оф. форуме Тотала, но, как это часто бывает, ни ответа, ни привета.
Возникла идея попробовать как-нибудь (хотя бы частично) решить эту проблему при помощи OFTC. Я вижу два возможных пути.
1. Реализовать различные настройки программ для редактирования обычных и временных файлов. Например, в том же EmEditor есть режим /sp, запускающий редактор отдельным процессом. Тогда можно было бы сделать так, чтобы при обычном редактировании EE запускался как обычно, и OFTC не следил бы за запущенным процессом, а при редактировании временных файлов OFTC запускал бы эту модифицированную командную строку (разумеется, всё это должно настраиваться), редактор запускался бы отдельно, и OFTC имел бы возможность следить за редактором, завершаясь после того, как закроется редактор - тогда Тотал нормально увидит обновление файла и закачает/запакует его обратно.
2. Попробовать как-нибудь особенным способом работать с MDI-редакторами (сделать отдельную опцию в свойствах программы, наряду с опциями исправления проблем типа кавычек). Если эта опция включена, то OFTC учитывает, что редактор MDI, т.е. что он автоматом закроется, если найдёт свою копию, и передаст открываемый файл в ту копию. Правда, я пока совершенно не представляю, как можно будет это учесть для слежения за закрытием документа. :( Это пока голая идея, я даже не уверен, возможно ли вообще реализовать что-то подобное. Файл не блокируется, т.е. отследить его закрытие по никак нельзя. (Правда, в EE есть опция держать файл залоченным, но без неё работать гораздо удобнее и привычнее.)

В общем, второй путь выглядит более перспективным, но значительно более сложным в реализации. Первый должен реализоваться гораздо проще, но подойдёт далеко не для всех случаев (не все MDI-редакторы поддерживают запуск в режиме SDI).

PS: Да, и ещё: хорошо бы сделать тултипчики в программке исчезающими не через фиксированный промежуток времени, а когда мыша с места сдвинется. Просто сейчас этот промежуток слишком короткий, не успеваешь прочитать весь текст. А если увеличить время показа - будет раздражать (если, например, читать не требуется). Поэтому такое убирание тултипа "по запросу" сделало бы работу с программой куда комфортнее.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Ответить