Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AkelPad (часть 2)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

yozhic



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

«Создание» – это, наверное, слишком громко сказано. Переделка.
Цель нижеописанных манипуляций: чтобы версии обеих битностей использовали общие файлы настроек.
 
1) В исходниках меняем:
Файл Строка № Что менять Чем менять    
AkelPad.c 1116 "%s\\AkelFiles\\Langs\\%s" "%s\\AkelFiles\\Langs64\\%s"    
Edit.c 12361 "%s\\AkelFiles\\Langs\\*.dll" "%s\\AkelFiles\\Langs64\\*.dll"    
Edit.c 13821 "%s\\AkelFiles\\Plugs\\%s.dll" "%s\\AkelFiles\\Plugs64\\%s.dll"    
Edit.c 13969 "%s\\AkelFiles\\Plugs\\%s.dll" "%s\\AkelFiles\\Plugs64\\%s.dll"    
Edit.c 14741 "%s\\AkelFiles\\Plugs\\*.%s" "%s\\AkelFiles\\Plugs64\\*.%s"    
Edit.c 14751 "%s\\AkelFiles\\Plugs\\%s" "%s\\AkelFiles\\Plugs64\\%s"    
Edit.c 19145 "%s\\AkelFiles\\AkelAdmin.exe" "%s\\AkelFiles\\AkelAdmin64.exe"

 
2) Компилируем x64 версию, переименовываем её (например, в AkelPad64.exe) и помещаем в папку AkelPad (рядом с файлом AkelPad.ini). 64-битные плагины помещаем в папку AkelFiles\Plugs64. 64-битные файлы переводов в папку AkelFiles\Langs64. 64-битный AkelAdmin.exe переименовываем в AkelAdmin64.exe и помещаем в папку AkelFiles.
 
3) У плагина SpellCheck.dll только 32-битная версия. Поэтому, если он используется и мы хотим загружать его при старте, нужно вначале отключить его автозагрузку в диалоге Plugins (Плагины), в AkelPad.ini удалить строку "SpellCheck::Background=65536" (если таковая имеется), во всех вызовах плагина в меню "+Call" исправить на "Call", а затем в AkelPad.ini в параметре CmdLineEnd= добавить:

Код:
/If(`AkelPad.Constants._X64 == 0`, `/Call("SpellCheck::Background")`, ``)

чтобы он загружался только при запуске 32-битной версии. Неудобство: от пользования автозагрузкой этого плагина в диалоге Plugins придётся полностью отказаться, иначе при старте 64-битной версии AkelPad будет жаловаться на отсутствующий файл. Зато при настройке контекстных меню неудобств нет. Например:

Код:
SET(64, If(`AkelPad.Constants._X64 == 0`))
  "Spell check" Call("SpellCheck::Background") Menu("SPELLCHECK") Icon("%a\AkelFiles\icons\ToolbarEx.dll", 35)
UNSET(64)

– так пункты меню со SpellCheck будут отображаться только при запуске 32-битной версии.
 
4) Если нужно перезагружаться из битности в битность (x86 <> x64), можно воспользоваться модифицированным AkelPadRestart.js (автор оригинала: KDJ). Пункт меню для его запуска:

Код:
-"Restart x86 <> x64" Call("Scripts::Main", 1, "AkelPadRestart.js", `-bitRestart -AkelPad.exe -AkelPad64.exe`)

2й параметр – имя 32-битного exe, 3й – имя 64-битного exe.
 
5) Если нужно, чтобы битность отображалась в заголовке окна AkelPad, можно воспользоваться AkelPadTitle.js от KDJ, предварительно слегка его модифицировав. Цель модификации: удалить суффикс из имени 64-битного exe-файла, т.к. скрипт берет заголовок из имени exe. Суффикс указывается в аргументе запуска скрипта. В начало скрипта, после комментариев добавить:

Код:
var pExeSuffix = AkelPad.GetArgValue("delExeSuffix", "");

В функцию GetExeName() (строка 281 оригинального скрипта) вместо:

Код:
  return sName.replace(/.+\\(.+)\..*$/, "$1");

вставить:

Код:
  if (pExeSuffix == '')
    return sName.replace(/.+\\(.+)\..*$/, "$1");
  else {
    var pat = new RegExp('.+\\\\(.+?)(' + pExeSuffix + ')?\\..*$','i')
    return sName.replace(pat, "$1");
    }

Можно добавить в комментарии:

Код:
// Дополнительный аргумент:
//  -delExeSuffix - удаляет указанное окончание из имени exe-файла, например: -delExeSuffix="64"
//                  (для использования в совмещённой сборке x86-x64)
// Дополнительный пример запуска:
//   /Call("Scripts::Main", 1, "AkelPadTitle.js", `-t="%%m %%e (%%b) - [%%F]" -t0="%%m %%e (%%b)" -t1="%%m %%e (%%b) - [%%F]" -delExeSuffix="64"`)

И в AkelPad.ini в параметре CmdLineEnd= добавить, например:

Код:
/Call("Scripts::Main", 1, "AkelPadTitle.js", `-t="%%m %%e (%%b) - [%%F]" -t0="%%m %%e (%%b)" -t1="%%m %%e (%%b) - [%%F]" -delExeSuffix="64"`)


Всего записей: 2773 | Зарегистр. 20-03-2008 | Отправлено: 01:50 11-11-2017 | Исправлено: yozhic, 15:10 10-07-2018
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » AkelPad (часть 2)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru