"Вручную" - это как?MVV писал(а):Но мне всё равно кажется, что будет более гибко, если в конфиге можно будет вручную искать текст в комстроке.
Autorun
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Что-то вроде:
Вполне логично будет добавить в подплагин Autorun_Process.dll псевдопеременную PROCESS_COMMANDLINE, возвращающую командную строку тотала.
Loopback,
Давно замечал, но ещё не сообщал: если окно справки небольшое, в описании синтаксиса некоторых функций появляется горизонтальная прокрутка - это удобно. Но при этом высоты элемента не хватает, и появляется убогая вертикальная прокрутка - увеличить бы чуть-чуть высоту полей синтаксиса, чтобы там могла поместиться полоса прокрутки.
Код: Выделить всё
# Общие команды
...
StrPos nPosS %PROCESS_COMMANDLINE% '/S='
If nPosS < 0 Then
# Команды только для полноценного TC
...
EndIf
Loopback,
Давно замечал, но ещё не сообщал: если окно справки небольшое, в описании синтаксиса некоторых функций появляется горизонтальная прокрутка - это удобно. Но при этом высоты элемента не хватает, и появляется убогая вертикальная прокрутка - увеличить бы чуть-чуть высоту полей синтаксиса, чтобы там могла поместиться полоса прокрутки.
Предлагаю размещать новую кнопку '+' справа от кнопки 'Опции', которую слегка сдвинуть левее. А комбобокс фильтра растягивать до прежней длины, а то уродливо смотрится укороченный.
Кстати, как ты ищешь кнопки? Думаю, кнопку '+' можно искать по тексту, кнопку 'Опции' - тоже (искать кнопку с текстом '>>' - я проверил, этот текст не подлежит локализации). Так мы не будем зависеть от идентификаторов, порядка размещения и позиции/размера кнопок.
Набросал себе временное решение для отключения загрузки Autorun_MoveButton.dll на бете:
Кстати, как ты ищешь кнопки? Думаю, кнопку '+' можно искать по тексту, кнопку 'Опции' - тоже (искать кнопку с текстом '>>' - я проверил, этот текст не подлежит локализации). Так мы не будем зависеть от идентификаторов, порядка размещения и позиции/размера кнопок.
Набросал себе временное решение для отключения загрузки Autorun_MoveButton.dll на бете:
Код: Выделить всё
If %ProductVersionMS_H% = 8 AND %ProductVersionMS_L%+0 >= 5 OR %ProductVersionMS_H% = 0 Then
Else
# Включает функционал MoveButton
LoadLibrary Plugins\Autorun_MoveButton.dll
MoveOptionsButton MOVE_LEGACY
EndIfКод: Выделить всё
MIME-Version: 1.0
Content-Type: application/octet-stream; name="GetFileVersion.7z"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="GetFileVersion.7z"
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
ABAAAAyAuAoBw/OOTgAA
Ну если только третьим вариантом, меня текущее расположение в принципе устраиваетMVV писал(а):редлагаю размещать новую кнопку '+' справа от кнопки 'Опции', которую слегка сдвинуть левее. А комбобокс фильтра растягивать до прежней длины, а то уродливо смотрится укороченный.
По идентификаторам. В принципе можно и по тексту, если только быть уверенным, что Гислер не добавит еще кнопок с таким же текстомMVV писал(а):Кстати, как ты ищешь кнопки? Думаю, кнопку '+' можно искать по тексту, кнопку 'Опции' - тоже (искать кнопку с текстом '>>' - я проверил, этот текст не подлежит локализации). Так мы не будем зависеть от идентификаторов, порядка размещения и позиции/размера кнопок.
А зачем отключать? Вчера выложил исправленную версию, работающую на 8.50.MVV писал(а):Набросал себе временное решение для отключения загрузки Autorun_MoveButton.dll на бете:
Кстати, раз такое дело, есть вопрос: я пробовал из плагина получить версию файла, но у меня почему-то функция GetFileVersionInfoSize не работает на том же файле тотала, из которого загружена библиотека. Код получения размера структуры:
Код: Выделить всё
DWORD dwHandle = 0, dwLen;
dwLen = GetFileVersionInfoSize((LPCWSTR)szFileName, &dwHandle);
Было бы чудесно. Ненужная кнопка в ущерб ширины поля реально напрягает, да и визуально.Ну если только третьим вариантом, меня текущее расположение в принципе устраивает
Как так? Они же у контролов в дельфе каждый раз меняются...По идентификаторам.
Ты ж в теме сообщай, а то не видно.А зачем отключать? Вчера выложил исправленную версию, работающую на 8.50.
Если ты о TC 8.50b1, то неудивительно: там нет ресурса VersionInfo.Всегда возвращает 0. Для любых других файлов все ок. В чем может быть косяк?
Добавлено спустя 10 минут:
А в справке ещё не исправил скроллбары?
Он вообще-то сообщил.MVV писал(а):Ты ж в теме сообщай, а то не видно.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Дезинформировал... По имени класса, конечно.MVV писал(а):Как так? Они же у контролов в дельфе каждый раз меняются...
Вот ведьMVV писал(а):Если ты о TC 8.50b1, то неудивительно: там нет ресурса VersionInfo.
Раньше же всегда была, почему он ее убрал?
В следующей версии, скоро. Если хочется побыстрее, в chm-е есть файл offline.css, можно его CHMDir-ом распаковать и поправить. Там нужно селектор pre.code поменять на такой:MVV писал(а):А в справке ещё не исправил скроллбары?
Код: Выделить всё
pre.code
{
font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace;
font-size: 1em;
text-align: left;
color: black;
border-radius: 2px;
border: 3px dashed silver;
background-color: #fffff0;
padding: 15px;
overflow-y: hidden;
}
Точно, я как-то пропустил этот пост... Или он позже отредактировался. 


Думаешь, оно стоит добавления двух процедур? По-моему, переменной бы хватило. Но в любом случае, CmdlineGetParam будет возвращать всю комстроку или конкретный параметр? Если всю, название нелогичное, если параметр - то который из? А CmdlineHaveParam - правильнее будет CmdlineHasParam. Но сможет ли она искать часть параметра, или только целиком? Поиск подстроки был бы более общим вариантом.Наверно, лучше будет сделать команды типа "CmdlineGetParam var param" и "CmdlineHaveParam param", c ними будет проще.
Ты отличаешь TButton от TButton?Дезинформировал... По имени класса, конечно.
На оффоруме уже сообщали, что нету. Считай это багом первой беты.Раньше же всегда была, почему он ее убрал?
Не, подожду, я просто думал, что ты выложил новую версию уже после исправления.В следующей версии, скоро.
Да, уже передумал, согласенMVV писал(а):Думаешь, оно стоит добавления двух процедур? По-моему, переменной бы хватило.
Так есть же еще номер экземпляра. Совместно с классом вполне надежно идентифицирует. До добавления новой кнопки в начало формыMVV писал(а):Ты отличаешь TButton от TButton?
Мда, этот баг стоил мне минут пятнадцати колупания, после чего бросил до лучших времен.MVV писал(а):На оффоруме уже сообщали, что нету. Считай это багом первой беты.
Что за номер экземпляра? Идентификатор элемента управления? С ними-то как раз и проблема у дельфей, что они не фиксированы (тупо запустил 2 копии тотала, в одной кнопка ОК имеет идентификатор 00020632, в другой - 00020552, закрыл-открыл диалог заново - 00030632 и 00030552, и т.д.) в отличие от стандартных диалогов на API, где каждый элемент окна имеет неизменный идентификатор (часть вообще стандартны: кнопка OK - 1, Отмена - 2 и т.п.).Так есть же еще номер экземпляра.
Поиск по тексту '>>' и '+' хотя и неуклюж, зато найдет кнопку в любой версии тотала.
MVV
Нет, не идентификатор. Ну вот создается экземпляр контрола определенного класса, потом второй. Их порядок от запуска к запуску постоянен, в том числе и в дельфи. К сожалению, если добавить еще один контрол в форму до тех двух, номера будут другие.
Такое определение контролов "ClassnameNN" широко используется в Autoit и AHK для работы с чужими формами.
Нет, не идентификатор. Ну вот создается экземпляр контрола определенного класса, потом второй. Их порядок от запуска к запуску постоянен, в том числе и в дельфи. К сожалению, если добавить еще один контрол в форму до тех двух, номера будут другие.
Такое определение контролов "ClassnameNN" широко используется в Autoit и AHK для работы с чужими формами.