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

Добавлено: Ср авг 28, 2013 20:19
Flasher
MVV писал(а):Но мне всё равно кажется, что будет более гибко, если в конфиге можно будет вручную искать текст в комстроке.
"Вручную" - это как?

Добавлено: Ср авг 28, 2013 20:32
MVV
Что-то вроде:

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

# Общие команды
...

StrPos nPosS %PROCESS_COMMANDLINE% '/S='
If nPosS < 0 Then
# Команды только для полноценного TC
...
EndIf
Вполне логично будет добавить в подплагин Autorun_Process.dll псевдопеременную PROCESS_COMMANDLINE, возвращающую командную строку тотала.


Loopback,
Давно замечал, но ещё не сообщал: если окно справки небольшое, в описании синтаксиса некоторых функций появляется горизонтальная прокрутка - это удобно. Но при этом высоты элемента не хватает, и появляется убогая вертикальная прокрутка - увеличить бы чуть-чуть высоту полей синтаксиса, чтобы там могла поместиться полоса прокрутки.

Добавлено: Ср авг 28, 2013 21:20
Avada
Loopback
Я тоже собирался про это сообщить, но руки не доходили. Самый яркий пример проблем с высотой и прокруткой элементов — это, видимо, верхняя часть страницы про ShellExec.

Добавлено: Чт авг 29, 2013 13:29
Loopback
MVV
Avada
Покопался немного с этим, похоже, совсем хорошо не сделать (chm, насколько я понимаю, использует ядро IE6, а у него с поддержкой css не очень), но вертикальную прокрутку убрал. В следующей версии будет.

Добавлено: Пт авг 30, 2013 16:40
MVV
Предлагаю размещать новую кнопку '+' справа от кнопки 'Опции', которую слегка сдвинуть левее. А комбобокс фильтра растягивать до прежней длины, а то уродливо смотрится укороченный.

Кстати, как ты ищешь кнопки? Думаю, кнопку '+' можно искать по тексту, кнопку 'Опции' - тоже (искать кнопку с текстом '>>' - я проверил, этот текст не подлежит локализации). Так мы не будем зависеть от идентификаторов, порядка размещения и позиции/размера кнопок.

Набросал себе временное решение для отключения загрузки 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


Добавлено: Пт авг 30, 2013 19:37
Loopback
MVV писал(а):редлагаю размещать новую кнопку '+' справа от кнопки 'Опции', которую слегка сдвинуть левее. А комбобокс фильтра растягивать до прежней длины, а то уродливо смотрится укороченный.
Ну если только третьим вариантом, меня текущее расположение в принципе устраивает :)
MVV писал(а):Кстати, как ты ищешь кнопки? Думаю, кнопку '+' можно искать по тексту, кнопку 'Опции' - тоже (искать кнопку с текстом '>>' - я проверил, этот текст не подлежит локализации). Так мы не будем зависеть от идентификаторов, порядка размещения и позиции/размера кнопок.
По идентификаторам. В принципе можно и по тексту, если только быть уверенным, что Гислер не добавит еще кнопок с таким же текстом :)
MVV писал(а):Набросал себе временное решение для отключения загрузки Autorun_MoveButton.dll на бете:
А зачем отключать? Вчера выложил исправленную версию, работающую на 8.50.

Кстати, раз такое дело, есть вопрос: я пробовал из плагина получить версию файла, но у меня почему-то функция GetFileVersionInfoSize не работает на том же файле тотала, из которого загружена библиотека. Код получения размера структуры:

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

DWORD dwHandle = 0, dwLen;
dwLen = GetFileVersionInfoSize((LPCWSTR)szFileName, &dwHandle);
Всегда возвращает 0. Для любых других файлов все ок. В чем может быть косяк?

Добавлено: Пт авг 30, 2013 20:42
MVV
Ну если только третьим вариантом, меня текущее расположение в принципе устраивает
Было бы чудесно. Ненужная кнопка в ущерб ширины поля реально напрягает, да и визуально.
По идентификаторам.
Как так? Они же у контролов в дельфе каждый раз меняются...
А зачем отключать? Вчера выложил исправленную версию, работающую на 8.50.
Ты ж в теме сообщай, а то не видно. :) Заюзаем.
Всегда возвращает 0. Для любых других файлов все ок. В чем может быть косяк?
Если ты о TC 8.50b1, то неудивительно: там нет ресурса VersionInfo. :)

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

А в справке ещё не исправил скроллбары?

Добавлено: Пт авг 30, 2013 20:42
Avada
MVV писал(а):Ты ж в теме сообщай, а то не видно.
Он вообще-то сообщил.

Добавлено: Пт авг 30, 2013 20:42
Loopback
MVV писал(а):Как так? Они же у контролов в дельфе каждый раз меняются...
Дезинформировал... По имени класса, конечно.
MVV писал(а):Если ты о TC 8.50b1, то неудивительно: там нет ресурса VersionInfo.
Вот ведь :shock: И ведь даже в голову не пришло проверить!

Раньше же всегда была, почему он ее убрал?
MVV писал(а):А в справке ещё не исправил скроллбары?
В следующей версии, скоро. Если хочется побыстрее, в chm-е есть файл offline.css, можно его CHMDir-ом распаковать и поправить. Там нужно селектор pre.code поменять на такой:

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

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;
}  

Добавлено: Пт авг 30, 2013 20:48
MVV
Точно, я как-то пропустил этот пост... Или он позже отредактировался. :)
Наверно, лучше будет сделать команды типа "CmdlineGetParam var param" и "CmdlineHaveParam param", c ними будет проще.
Думаешь, оно стоит добавления двух процедур? По-моему, переменной бы хватило. Но в любом случае, CmdlineGetParam будет возвращать всю комстроку или конкретный параметр? Если всю, название нелогичное, если параметр - то который из? А CmdlineHaveParam - правильнее будет CmdlineHasParam. Но сможет ли она искать часть параметра, или только целиком? Поиск подстроки был бы более общим вариантом.
Дезинформировал... По имени класса, конечно.
Ты отличаешь TButton от TButton? :shock:
Раньше же всегда была, почему он ее убрал?
На оффоруме уже сообщали, что нету. Считай это багом первой беты. :wink:
В следующей версии, скоро.
Не, подожду, я просто думал, что ты выложил новую версию уже после исправления.

Добавлено: Пт авг 30, 2013 21:01
Loopback
MVV писал(а):Думаешь, оно стоит добавления двух процедур? По-моему, переменной бы хватило.
Да, уже передумал, согласен :)
MVV писал(а):Ты отличаешь TButton от TButton?
Так есть же еще номер экземпляра. Совместно с классом вполне надежно идентифицирует. До добавления новой кнопки в начало формы :)
MVV писал(а):На оффоруме уже сообщали, что нету. Считай это багом первой беты.
Мда, этот баг стоил мне минут пятнадцати колупания, после чего бросил до лучших времен.

Добавлено: Пт авг 30, 2013 23:03
MVV
Так есть же еще номер экземпляра.
Что за номер экземпляра? Идентификатор элемента управления? С ними-то как раз и проблема у дельфей, что они не фиксированы (тупо запустил 2 копии тотала, в одной кнопка ОК имеет идентификатор 00020632, в другой - 00020552, закрыл-открыл диалог заново - 00030632 и 00030552, и т.д.) в отличие от стандартных диалогов на API, где каждый элемент окна имеет неизменный идентификатор (часть вообще стандартны: кнопка OK - 1, Отмена - 2 и т.п.).

Поиск по тексту '>>' и '+' хотя и неуклюж, зато найдет кнопку в любой версии тотала.

Добавлено: Вт сен 03, 2013 12:45
Loopback
MVV
Нет, не идентификатор. Ну вот создается экземпляр контрола определенного класса, потом второй. Их порядок от запуска к запуску постоянен, в том числе и в дельфи. К сожалению, если добавить еще один контрол в форму до тех двух, номера будут другие.

Такое определение контролов "ClassnameNN" широко используется в Autoit и AHK для работы с чужими формами.

Добавлено: Вт сен 03, 2013 13:35
MVV
А, ты имеешь в виду tab order?

Добавлено: Вт сен 03, 2013 15:14
Loopback
В WinAPI получается да, но в формах дельфи tab order не привязан к порядку создания. Так что это именно порядок создания контролов.