Страница 37 из 243

Добавлено: Сб ноя 17, 2012 20:58
MVV
ask-rus,
А ты попробуй изменить экзешник или библиотеку, загруженную в память. Сохранить не сможешь, а переименовать - легко (впрочем, в некоторых случаях даже переименовать нельзя). Операционная система позволяет. То же и тут.
Значит, cm_UnloadPlugins должна помочь.
Неа. :) Autorun не выгружается этой командой.

И вообще, шрифты не выгрузишь, пока хоть кто-то их использует. Не всё так просто.

Добавлено: Сб ноя 17, 2012 21:02
ask-rus
MVV
Точно не выгружается? Так-то прога сохраняет измененный шрифт после cm_UnloadPlugins, два раза проверил.

Добавлено: Сб ноя 17, 2012 21:04
MVV
Вроде добавляли защиту от выгрузки, по идее не должен.

Ну раз помогает, тогда в чем проблема? :)

Добавлено: Сб ноя 17, 2012 21:22
ask-rus
Последний эксперимент.

- Шрифт загружен плагином;
- Шрифт задействован в файл. панелях;
- Изменяю шрифт программой, сохраняю - фиг;
- Изменяю шрифт программой, cm_UnloadPlugins, сохраняю - браво;
- Смотрю файл. панели и уже вижу изменения, даже перезапускать не пришлось.

Как так...

Добавлено спустя 12 минут:

Вроде всё здорово, погляжу как будет после перезагрузки Windows. Слишком всё гладко, до этого чего только не было.

Добавлено: Сб ноя 17, 2012 21:26
MVV
Странно, конечно, что изменения применяются так быстро. Но попытаться объяснить можно. При обновлении содержимого панели тотал загружает Autorun вновь (если он действительно выгружался - можно проверить диспетчером задач типа Process Explorer), следовательно, загружаются и шрифты.

Добавлено: Сб ноя 17, 2012 21:39
ask-rus
Перезапуск TC всё-таки требуется, там был какой-то глюк явно. С выгрузкой по команде шрифт файл. панелей сбрасывается на один из стандартных Windows.

Добавлено: Сб ноя 17, 2012 21:40
Loopback
MVV писал(а):Вроде добавляли защиту от выгрузки, по идее не должен.
Она отдельной командой активируется, по-умолчанию выгрузка возможна.

ask-rus
[s]Видимо ты успеваешь сохранить шрифт до обновления окна тотала и повторной загрузки плагина. Ну и хорошо, раз получается.[/s]

Опоздал...

Добавлено: Сб ноя 17, 2012 21:47
MVV
С выгрузкой по команде шрифт файл. панелей сбрасывается на один из стандартных Windows.
Вот этого я ожидал. Впрочем, раз глюк был, возможно, можно как-то успеть загрузить шрифт до того как тотал заметит, что он недоступен.

Добавлено: Сб ноя 17, 2012 22:01
ask-rus
Это был не глюк, значит, я успевал сохранить шрифт до обновления окна TC и повторной загрузки плагина (зачеркнуто Loopback-ом). Редактирую шрифт, cm_UnloadPlugins, сохраняю шрифт и перезапускаю TC - такой порядок меня устраивает, проблема иссякла.

Добавлено: Чт ноя 22, 2012 18:02
Loopback
Девятая бета.

Скачать

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

+ функция FileExist
* оптимизирован код, слегка уменьшен размер плагина
* внутренние переменные могут принимать пустое значение
Вроде на данном этапе все хотелки учел?

Добавлено: Чт ноя 22, 2012 18:53
Flasher
Loopback писал(а):Вроде на данном этапе все хотелки учел?
Была ещё старая тема по закрытию запущенных из плагина процессов при закрытии ТС.
Ещё такое было пожелание.
И можно ещё FolderExist, раз FileExist есть?

Добавлено: Чт ноя 22, 2012 21:49
Loopback
Flasher писал(а):Была ещё старая тема по закрытию запущенных из плагина процессов при закрытии ТС.
Не понял, а ShellExec с ключом /T разве это не делает?
Flasher писал(а):Ещё такое было пожелание.
Так теперь можно выполнять действия на выходе.
Flasher писал(а):И можно ещё FolderExist, раз FileExist есть?
FileExist работает с каталогами. Надо только, чтобы имя проверяемого каталога не заканчивалось на "". Кстати да, нужно сделать, чтобы функция сама убирала слэш с конца.

Добавлено: Пт ноя 23, 2012 00:00
Flasher
Loopback писал(а):Не понял, а ShellExec с ключом /T разве это не делает?
А, пардон, не из плагина, а вообще любые, включая отдельные скрипты, вызванные через интерпретатор.
Loopback писал(а):Так теперь можно выполнять действия на выходе.
Где? Не могу найти такой команды.
Можно пару примеров с dll/inf/скриптом?

Добавлено: Пт ноя 23, 2012 13:34
Loopback
Flasher писал(а):А, пардон, не из плагина, а вообще любые, включая отдельные скрипты, вызванные через интерпретатор.
ProcessTerminate. Нужно подключить плагин Process.

Насчет "любых скриптов" нет, для этого надо получать полную командную строку приложения и как-то сравнивать ее.


Flasher писал(а):Где? Не могу найти такой команды.
Можно пару примеров с dll/inf/скриптом?
Все есть в справке. Секция "на выходе" отделяется от основной директивой #FinalizeSection. Вот пример для регистрации/разрегистрации:

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


ShellExec regsvr32.exe "mydll.dll"

#FinalizeSection

ShellExec regsvr32.exe "/u mydll.dll"


Добавлено: Пт ноя 23, 2012 17:43
Flasher
Loopback писал(а):ProcessTerminate. Нужно подключить плагин Process.
Это я видел, только мне надо было именно при закрытии.
Loopback писал(а):Все есть в справке. Секция "на выходе" отделяется от основной директивой #FinalizeSection.
Вот другое дело. Только в справке это располагается в разделе "Планы", поэтому я не придал этому значения.
Буду пробовать. Получается плагин будет начинать поиск с решётки? Может, стоит взять другой символ, чтобы не проверять строки комментариев?