Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2009.11.22;
Скачать: [xml.tar.bz2];

Вниз

Что скажете...   Найти похожие ветки 

 
iNSiDE ©   (2007-07-27 17:41) [80]

Вы точно неверно поняли то, о чем сказал я и, ранее меня (я всю ветку не читал) Unknown Mystic Просто попробуйте нажать сами кнопку Cancel в окне ассоциаций. И это под админом)

ЗЫ: ключик высылаю, верю, что там конфиденциально все... Но будет время -- я дебаггером поковыряю-таки)


 
Vladimir Kladov   (2007-07-27 20:44) [81]

Ну вот, ShowModalParented результата не дал. Заодно пришлось и NEW_MODAL пофиксить (он нужен, чтобы ShowModalParented работал, а с ним не компилировалось). Сделал "топорный" фикс с ещё одним символом MODAL_ACTIVATE_FIX, и теперь при активации все видимые окна выползают заодно с модальной формой (одна беда: у меня-то всё просто, 1 главная форма, и 1 модальная, в более сложных ситуациях порядок показа не гарантируется, кроме того, что текущая модальная впереди). И заодно сделал фиксацию модальности для клика, чтобы корректно работала при вложенной модальности, заметил, пока разглядывал код (до сих пор в KOL-проектах вложенной модальности хотя не встречал ни разу). В общем, фикс будет, для KOL, хоть и "топорный". Тоже польза.

Я пока суть да дело, между парой замесов уже почти довёл до ума стандартную тему, скоро будет готова к релизу.

Про Cancel в ассоциациях: теперь понял, что к чему. Поправил, будет верно. Я сразу-то тоже не просёк. Значит, так объяснили :)

Вот, кстати, глюк проскочил странный. Наг-панель появилась, когда было активное меню, и уже приготовился нажать на "Set password". И я успел кликнуть пункт, когда наг уже пошёл. Забавно то, что диалог установки пароля появился только после того, как прошёл наг. Хотя нет, забавно не это, а то, что я не смог его закрыть ни кнопкой Cancel, ни крестиком. Непонятно почему диалог сразу не повился, наг ведь не создаёт модального цикла обработки сообщений. И непонятно, почему не сработали клики по диалогу (хотя визуально все кнопки нажимались). Идеально было бы в момент старта наг-скрина убрать активные поп-меню, но не знаю, как. Запрещать появление нага при каких бы то ни было обстоятельствах вроде активного поп-меню весьма нежелательно: любое внешнее условие может быть использовано для целей взлома (достаточно ведь убрать наг-скрин, а если есть внешнее условие при котором он не стартует, то его можно просто сымитировать).

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


 
Vladimir Kladov   (2007-07-27 22:25) [82]

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

Залил версию 4.01D с Dual interface, F12 меняет вид. Цвет заднего плана в виде "стандарт" = clWindow сначала, дальше меняем по вкусу. Не знаю, может clBtnFace в итоге сделаю.


 
Vladimir Kladov   (2007-07-28 13:23) [83]

Ну вот, первый запрос пришёл. Прикол заключается в том, что письма, отправленные на vk@, приходят на zoomer@. А письма, отправленные на zoomer@, не приходят вообще. Так что все письма шлите на vk@, даже если ответ пришёл с zoomer@.


 
iNSiDE ©   (2007-07-28 23:05) [84]

Я автор первого запроса). Оригинальная у вас система регистрации, я до сих пор не встречал... А если я на другой комп пересяду, мне придется заново регистрироваться? Это произойдет через месяц - два, а наверняка тогда программа уже выйдет из стадии бета-тестирования и начнет продаваться за денежки)

PS: надо же, я до сих пор глюков новых не обнаружил...


 
iNSiDE ©   (2007-07-28 23:06) [85]

А еще я такой наглый, что забыл одблагодарить автора))).
ОГРОМНЕЙШЕЕ ВАМ СПАСИБО)


 
Unknown Mystic ©   (2007-07-29 02:00) [86]

Кстати, Владимир, предлагаю подумать еще вот над чем:
Что будет, если поставить зумер под перемещаемым профилем. Ведь если человек сядет за другой комп, то там зумер будет незареген, а ассоциация останется... И придется либо каждый раз менять ассоциацию, либо незарегиным зумером смотреть... Естественно, если он не будет покупать лицензию на комп за которым раз в неделю сидит...
Может стоит запоминать предыдущию ассоциацию и в зависимости от установок запускать, открывать не зумером, а прогой с которой была ассоциация?


 
Vladimir Kladov   (2007-07-29 08:31) [87]

Ассоциацию недолго сбросить, при этом старая должна восстанавливаться. Большинство просмотрщиков легко ставят ассоциацию на себя, с обратным восстановлением это не всегда так.

Для легальных покупателей на случай пересаживания на другой комп, переустановки оси, апгрейда железа (сетевая, винт) я решил без проблем выдавать 5 лицензий за год, по крайней мере за первый год.

Так что и вы высылайте запрос, когда понадобится.

И вообще пытаюсь придумать способ в отдельной версии Mobile работать только со съёмного устройства, с периодической (неделя/месяц) ре-активации методом запуска на машине с легальной лицензией. О перемещении профиля я как-то не думал. На другой машине оборудование другое. Это проблема.

Честно: с большим удовольствием не делал бы защиту вообще. Но почему-то есть такая уверенность, что останусь в прогаре :)

А я нашёл баг. Проявляется на больших jpeg"ах, после переключения из Fit to window обратно и масштабированием вниз. Картинка занимает верхний левый угол, размер картинки не меняется. Вроде когда-то уже фиксил подобное, но с оптимизацией масштабирования вниз это вернулось.

И всё еще не получилось установить win2K. VmWare что-то чудит, не хочет ставить свои Tools на машину (сервисы не запускаются). Попробую Virtual PC.


 
ANTPro ©   (2007-07-29 13:04) [88]

> [87] Vladimir Kladov   (29.07.07 08:31)
> И вообще пытаюсь придумать способ в отдельной версии Mobile
> работать только со съёмного устройства, с периодической
> (неделя/месяц) ре-активации методом запуска на машине с
> легальной лицензией. О перемещении профиля я как-то не думал.
> На другой машине оборудование другое. Это проблема.

А не лучше ли просто привязать к носителю? К серийному номеру логического диска.


> [87] Vladimir Kladov   (29.07.07 08:31)
> Для легальных покупателей на случай пересаживания на другой
> комп, переустановки оси, апгрейда железа (сетевая, винт)

Восстановление ОС из образа тоже считается переустановкой?
И отключение сети или винта(одного из винтов) апгрейд железа?

Очень оригинальный инсталятор мне понравилось :) запускаешь его... и ничего


 
Vladimir Kladov   (2007-07-29 15:45) [89]

Привязать к носителю - это опять пересылка данных ко мне и обратно. Или в тот момент, когда из легальной машины делается мобильная копия? Немножко опасно: алгоритм привязки трудно укрыть.

Восстановление из образа - вряд ли (если логический серийный номер винта тот же). Но нужно ещё совпадение MAC-адреса.

Что - ничего? Прав нет? Я только добрался до проверки с урезанными правами. Там пока - ничего не запускается. И где тогда оригинальность, если ничего не видно?


 
Unknown Mystic ©   (2007-07-29 19:05) [90]

Вам недолго, мне не долго, а простому пользователю? Он вообще может не знать, где восстановить ассоциацию...

А выдача доплицензий - сомнительно... Во-первых это надо ждать, а во-вторых не известно, для чего они реально использованы будут.

Кстати для авторизации админские права нужны?


 
Vladimir Kladov   (2007-07-29 20:38) [91]

Нет, не нужны. Требуется доступ только HKCU, куда копируется файл лицензии, в шифрованном виде.

Я и не хочу, чтобы были ещё лицензии. В принципе, реалистично выглядит вариант, когда программа просто копируется на сменный носитель, запускается с него на той же машине, проверяет права, и собщает, что её можно использовать с этого носителя на любой машине, но не более 7 суток или 49 часов суммарной работы. После чего нужен запуск на "родной" машине, для продления срока пользования. Имеется в виду, что программа в принципе не требует установки, размер имеет небольшой, запускать можно хоть с дискеты, не говоря уже о флэш-диске. Но если только такая схема защиты, как сейчас, то - только с наг-скрином, на другой машине. Вот я и подумал про вариант с работой со сменного диска-only.

Если пользователь не знает, как восстановить ассоциацию, запустив другую программу, то скорее всего, он вообще не знает, что это такое. Такой пользователь всё равно обратится к админу, и тот ему всё сделает.


 
iNSiDE ©   (2007-07-29 21:11) [92]

Так... Ближайший годик я восстанавливал винду из образа довольно часто, при появление малейших глюков, так как на диске С у меня из изменяемых файлов хранится разве что реестр, остальной профиль перенесен на другой диск. А это значит, что после первого же восстановления Windows регистрация зумера слетит... Печально ;(


 
Vladimir Kladov   (2007-07-30 10:15) [93]

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

Как это у меня винда живёт без глюков уже второй год, не понимаю :)


 
Vladimir Kladov   (2007-07-30 14:49) [94]

Теперь я начинаю понимать, что с инсталлером. В KOL баг нашёлся с градиентом.


 
ANTPro ©   (2007-07-30 15:17) [95]

> [89] Vladimir Kladov   (29.07.07 15:45)
> Привязать к носителю - это опять пересылка данных ко мне
> и обратно. Или в тот момент, когда из легальной машины делается
> мобильная копия? Немножко опасно: алгоритм привязки трудно
> укрыть.

Посмотрите как сделано у The Bat!, в его прототивной версии The Bat! Voyager (у меня правда ломаная версия :)


> [89] Vladimir Kladov   (29.07.07 15:45)
> Что - ничего? Прав нет? Я только добрался до проверки с
> урезанными правами. Там пока - ничего не запускается. И
> где тогда оригинальность, если ничего не видно?

Пользователь - админ. Запускается инсталятор создается окно(но не показывается, только кнопка на панели задач). И тутжу закрывается без вопросов и ругани.

ЗЫ Я такого странного инсталлера никода не видел.


 
ANTPro ©   (2007-07-30 15:19) [96]

> [94] Vladimir Kladov   (30.07.07 14:49)

Возможно ли его поправить без перезаливки всего? BinDiff например?


 
Vladimir Kladov   (2007-07-30 17:14) [97]

Это же програма, ещё и закодированная и ужатая. Так что BinDiff вред ли. 724К - это разве много? :) Хотя мне вкачать -  ноговато. На соединении 33.6 еле-еле... Как раз новую версию пытаюсь вкачать. Как докачаю, сообщу.


 
ANTPro ©   (2007-07-30 17:32) [98]

> [97] Vladimir Kladov   (30.07.07 17:14)

Ну из ужатой легко сделать не ужатую...
Может стоит все таки попробывать? :)
GPRS дорогой зараза, хоть и 700кб заливается за 2,5 минуты


 
Vladimir Kladov   (2007-07-30 18:18) [99]

Я сейчас GPRS-ом вкачал. 5 р. за мегабайт - разве дорого.
Я же говорю - закодирована. Не получится. Кодирование каждый раз разное, потому что зависит от входного потка, а он изменился.


 
Vladimir Kladov   (2007-07-30 21:09) [100]

Возникла забавная штука: программа, скомпилированная под Windows 95 (на виртуальной машине), в таком же Delphi6, на ней запускается без проблем. Скомпилированная под XP, со всеми теми же исходными файлами, на этой же виртуальной машине уже не запускается. Говорит, что Файл ZOOMER.EXE связан с отсутствующим компонентом OLEAUT32:VarNot. Я фигею, и думаю: а как быть, что, компилировать на виртуальной машине, чтобы везде запускалось?

Порылся по исходникам, объявлено это дело в VarUtils. Теперь вот кумекаю, а как бы от этого гадства избавиться. В исходниках VCL, которые стоят на win95, этот модуль отличается (т.е. исходники НЕ ТЕ ЖЕ). Как-то это по-свински даже, можно было бы и предупредить.


 
iNSiDE ©   (2007-07-30 21:22) [101]

Прикольно). А разве Зумер не на КОЛ написан? При чем там VCL?


 
Vladimir Kladov   (2007-07-30 22:37) [102]

Используется KOLOLERE, без OLE картинки в RichEdit не вставляются. Сложность вопроса в том, что без OLE собрать можно, заменив Variants. Но тогда нет картинок в rich edit и нужна альтернатива типа своего memo с картинками. Пока так оставлю, OLE добавляется в W95 и NT4 при установке IE4. Думаю, что сейчас уже практически никто не использует W95 и NT4, но всё-таки вдруг. Хотелось бы, чтобы хотя бы запускалось это под 95/NT4, пусть и без справки (где и нужен RichEdit). Вариант видится такой: делать систему справки всё-таки в виде отдельного приложения, вытаскивающего нужные графические ресурсы из Zoomer.exe. Собственно, надобность в собственной системе справки как раз в том, чтобы сэкономить на общем объёме за счёт графики в справке, которая "воруется" из ресурсов приложения и не дублируется.

А меня всё-таки удивило то обстоятельство, что "современный" Delphi установился на старую ось в другой конфигурации исходников / библиотеки, ни о чём не предупреждая. В исходниках, где я рылся, в VarUtils, в начале не хватает целого блока кода, а именно:

uses
 SysUtils, Types;

const
{$IFDEF MSWINDOWS}
 GenericVarUtils = False;
{$ELSE}
 GenericVarUtils = True;
{$ENDIF}
 GenericVariants = GenericVarUtils;
 //GenericVariants = True;
 GenericOperations = GenericVariants;
 GenericSafeArrays = GenericVarUtils;
 GenericSafeArrayUsesLibC = GenericSafeArrays;



Да и дальше идут различия. Получается, что Delphi проверяет, что за система, на которую он устанавливается. И соответствено морфируется под неё. Но что-то я не припомню, чтобы об этом где-то предупреждение было. Хоть в страницу "Секреты Delphi" пиши.


 
Andrey_rus ©   (2007-07-30 23:30) [103]

Я в шоке!
IMHO, рулить надо в сторону NT2000. 9x неперспективен.


 
Jon ©   (2007-07-31 02:30) [104]


> Думаю, что сейчас уже практически никто не использует
> W95 и NT4, но всё-таки вдруг.

Still in use here!


 
Vladimir Kladov   (2007-07-31 03:38) [105]

Вот-вот. Я и говорю, что всё еще используется, и достаточно широко. На стареньких ноутбуках, например. В общем, я подумал, и наверное, проще отказаться от rich edit, и использовать для форматирования - контролы, внутри ScrollBox. Некоторые вещи становятся невозможны, как рисунок внутри строки текста, если строка занимает параграф. Зато становятся более возможны такие вещи, как таблица. Я над этим поработаю.

А пока что мне удалось "победить" очень медленную работу с очень большими jpeg"ами, когда отключён Fit to window. Правда, победа неполная. Когда масштаб мелкий (5, 10, 25, 50%), всё неплохо крутится. И даже для 100% ещё терпимо, тормоза почти полностью возвращаются на масштабе 75%. Полная победа была бы, если бы удалось так подправить модуль jpeg"а, чтобы можно было получить непосредственно указанный квадратик из него, не восстанавливая всё прочее изображение. Или даже если это невозможно, то хотя бы не выделять память для всего изображения сразу, пропуская ненужные пиксели при построчном восстановлении. Потому что для постера размером 8000х20000 нужно выделить единовременно 0,5 Гигабайта (и ещё их заполнить), а это тяжко. Займусь этим вскорости, а пока выложил 401E с победой частичной.


 
Vladimir Kladov   (2007-07-31 10:30) [106]

Кстати, забыл добавить: в 401Е удалось победить ситуацию, когда наг-экран не считал при наличии модального окна, например, диалога выбора папки. И инсталлер с унинсталлером вернул к стилю GRush. Дело даже не в красоте, а просто так будет одинаково во во всех системах, и мне не надо будет мучиться с настройками под каждую версию винды (а то я вдруг заметил, что под 95 в стандартном варианте вдруг заголовок обрезан, и ещё какие-то мелкие артефакты полезли).


 
Unknown Mystic ©   (2007-07-31 22:16) [107]

// WinXP SP2, админские права, v 4.01E

А я еще багу откопал :)
Если инсталлер свернуть, а потом развернуть (щелчком в панеле задач или кнопкой свернуть все), то он говорит, что установился и закрывается.

Автоопределение не занятых ассоциаций так и не работает...

Опа! Это вы поправили или от чего-то это зависит? Тут не вылетает при нажатии на Option and About до появленя нага (кстати откуда это название взялось?)
Зато и доп панель не появляется... (только когда зумер в собственном стиле, а не виндовом)

Еще в зумерском стиле заголовок GroupBox, или что там в выборе стиля используется, перечеркнут борднром.

Нажал на Option and About и не успело появится окошко, как вылез наг. Ну я нажал требуемую цыфру и снова нажал на настройки. В результате окно настроек не закрывалось и жрал зумер почти 100% процессорного времени...

А отчего зависит когда наг появляется? Просто он иногда выскакивает секунд через 10 после закрытия предыдущего...

Уменьшаем изображение (<100%), проскроливаем колесом мыши по тумбам. Ставим fit to window (* при активном тумбе) - размер картинки не меняется, еще раз * - меняется, но не помню, на весь экран или на 100%. Теперь скролим список в обратную сторону. Картинки теже, но дополнены черным кажется до 100%.
* всегда меняет галочку fit to window, но не всегда меняет изображение...
Вообще * работает фиг знает как... С картинки больше экрана - нормально, а если маленьше, то до 100% и то не всегда с первого раза.
С большого изображения * -> на весь экран (Скажем с 800% на 102%), а - потом приходится прощелкивать предыдущие увеличения (т.е. 800 -> 400 -> 200, хотя реально остается 102%)...

Да вот еще что после всяких манипуляций во время написания предыдущего пункта, закрытие зумера не приводило к его выгрузке, во всяком случае оставалась подсказка и некий процесс zoomer.exe. При этом все это чудо загружало проц почти на 100%...

Может сделать так, чтоб загружаемое изображение всегда было видно целиком? Т.е. если не влазит на экран - сразу уменьшать?


 
ANTPro ©   (2007-07-31 22:36) [108]

> [107] Unknown Mystic ©   (31.07.07 22:16)
> (кстати откуда это название взялось?)

nagscreen - раздражающий экран [en]


> [99] Vladimir Kladov   (30.07.07 18:18)

Кстати, а зачем такой огромный размер? Не по КОЛовски как-то :)


 
Unknown Mystic ©   (2007-07-31 23:06) [109]

Только сейчас заметил... На рабочем столе создался какой-то ярлык на зумерский хелп...

При установке на рабочий стол ярлык не кидался.
сетап лежал на рабочем столе.


 
Vladimir Kladov   (2007-08-03 12:08) [110]

2Unknown Mistic:
Вот спасибо, сейчас буду фиксить.
show/Hide installer"а: разобрался.
Автоопределение не занятых ассоциаций так и не работает - Вы о чём говорите, о кнопке Unused в инсталлере? У вас действительно есть типы из списка, ни с чем не связанные? (Допускаю, что такими могут быть например tiff, psd, tga - без установленных других просмотрщиков или редакторов: проверяется наличие в реестре ветки .ext для соответствующего расширения в HK_Classes_root).
Или все-таки о том, что не переназначается ассоциация на какой-то из привязанных ранее расширений? Тогда вопрос: на какую программу назначен (чем продолжает открываться), и какой тип, чтобы мне посмотреть конкретно, под 2К. Под ХП вроде бы все ассоциации нормально отбираются у прежних владельцев (и что забавно, возвращаются, если галку снять).
доп панель не появляется... (только когда зумер в собственном стиле Что за доп. панель? Наг? Панель с первыми подсказками при входе? Не пойму, поясните тугодуму.
GroupBox, , перечеркнут борднром - да, прозрачный потому что. В принципе, группа необязательна, и самих радиобоксов достаточно, уберу.
Нажал на Option and About и не успело появится окошко, как вылез наг Вполне может быть, что и не успело. Но в цикл модальностой обработки сообщений, наверное, уже попало. Посмотрю, что можно сделать, чтобы учесть факт модальности ещё до того, как создастся окно. Сейчас при появлении модального окна корректируется порядок обработки сообщений (на нормальный, исковеркан он как раз для обычного случая, без модальности, чтобы кое-что оптимизировать).
отчего зависит когда наг появляется? Просто он иногда выскакивает секунд через 10 после закрытия предыдущего Совершенно случайно. Иногда и быстрее чем серез 1сек. А иногда и 5 минут ждать приходится. Если ставить барьер по времени, чтобы наг не появлялся как минимум какое-то указанное время, то в принципе появляется лазейка: найти этот барьер, и сделать так, чтобы программа считала, что этот барьер времени еще не пройден.

Уменьшаем изображение - вот оно, то, что уменя не получалось воспроизвести. На этот раз связано с кэшированием недавно загруженных изображений. Причём, это только с jpeg-ом такое, и даже понятно почему (у него есть режим загрузки половинок, четвертинок и осьмушек - в буфере осталось загруженное, но с другой степенью уменьшения). Ну теперь понятно, как поправить.

* работает фиг знает как Вообще-то мне казалось, что понятно. Отыскивается ближайший масштаб, при котором картинка по возможности вписана в рамки окна при выходе из Fit to window, при переключении в Fit to window большое уменьшится, а вписанное - оно и так вписано уже.
чтоб загружаемое изображение всегда было видно целиком - так это же и есть Fit to window.

Я понял, что не понравилось потом приходится прощелкивать предыдущие увеличения (т.е. 800 -> 400 -> 200, хотя реально остается
102%
Это можно посмотреть, именно для уменьшения в режиме Fit, чтобы корректировалось. Некоторые технические сложности.

оставалась подсказка и
некий процесс zoomer.exe
Иногда виснет а иногда и падает. Но довольно редко. Разве у вас ни разу не висли другие программы? (Может, картинка большая попалась, может что-то заело на выходе, поток какой-нибудь не остановился). У моей жены winword на старом компе тоже вылетает с зависанием процесса. Пришлось научить, как находить зависший процесс в диспетчере задач, и грохать его там. Оно бы здорово сделать так, чтобы никогда ничегно не висло, но мир, увы, не идеален. Вообще, если есть установленный на машине msvc++, то можно попробовать приаттачить зависший процесс и  хотя бы взглянуть, сколько там потоков застыло, и нет ли дедлока (про это он сам скажет при нажатии на кнопку стоп, если имеет место). Отладчик Delphi, к сожалению, слабоват для отладки уже запущенных процессов.

На рабочем столе создался какой-то ярлык Странно. А не в главном меню? У меня прописано в главном меню чтобы создавался линк (кстати, у него должна быть "неправильная" иконка, я пока не придумал, как сделать правильную).

2ANTPro: очень много кода ушло на графические библиотеки, пришлось задействовать практически всё, что есть, на случай, если одна библиотека не может, используется пара других. Причём примерно половина - это KolCxTiff. Gdi+ задействуется вообще в последнюю очередь, т.к. лажается очень часто, и работает жутко медленно, на больших изображениях. Но иногда (редко) берёт форматы, которые не берутся другими либами.


 
Unknown Mystic ©   (2007-08-03 15:05) [111]

Да именно об Unused в инсталлере. В том то и дело, что он обзывает .bmp и еще какие-то не связанными... Хотя реально, они должны быть связаны. Во всяком случае в "свойства папки" -> "типы файлов" запись соответствующая есть. В реестре - посмотрю.
Причем повторю, в первой выложенной версие, даже после неудачной попытки ассоциировать выбранные типы, при следующей инсталляции, сетап верно определял, что они уже "заняты".


> Что за доп. панель?
Панелька с дополнительными кнопками. Это та которая включается предпоследней кнопкой в тулбаре.


> Если ставить барьер по времени, чтобы наг не
> появлялся как минимум какое-то указанное время, то в принципе
> появляется лазейка: найти этот барьер, и сделать так, чтобы
> программа считала, что этот барьер времени еще не пройден.

Зачем? Можно его минимум просто увеличить :) Наверное...
Ну хорошо, а найдут максимум и поставят максимально возможное значение, сколько там? Даже если 65024, то наг уже не проблема. Правда если под время 1 байт отвести, тогда не поможет...
("А иногда и 5 минут ждать приходится." => сейчас больше байта :) )

А вообще, в чем проблема найти максимум и заставить программу считать, что он еще не наступил, если вы считаете, что можно так сделать с минимумом?


> * работает фиг знает как Вообще-то мне казалось, что понятно.
>  Отыскивается ближайший масштаб, при котором картинка по
> возможности вписана в рамки окна при выходе из Fit to window,
>  при переключении в Fit to window большое уменьшится, а
> вписанное - оно и так вписано уже.чтоб загружаемое изображение
> всегда было видно целиком - так это же и есть Fit to window.
>

Ну во-первых, первое нажатие * должно переводить картинко либо в весь экран, либо "ближайший масштаб ...". Реально - часто ни то, ни другое. Например, не раз у меня при нажатии * масштаб изменился: 10% -> 9%

Далее, из-за того что * не всегда с первого раза растягивает на весь экран - происходит не соответствие галочки Fit to window и изображения. Помоему такое всегда случается, если нажать * сразу после выбора тумба.

С прощелкиванием - вообще странно. В чем проблема? Нажатие "-" должно переводить в тот же масштаб, что и повторное нажатие "*", а "+" - соответственно в следующий за тем, куда переводит повторная "*".

Да, кстати, не помню спрашивал или нет. Как вернуть тумбы после двойного щелчка на одном из них?


>> Может сделать так, чтоб загружаемое изображение всегда было
>> видно целиком? Т.е. если не влазит на экран - сразу уменьшать?


> так это же и есть Fit to window.

Но по умолчанию же картинки не Fit to window, как я понимаю? Тем более, что качество у Fit to window должно быть хуже, чем у обного из "стандартных" масштабов. Вот я и говорил, что может сразу загружать картинку в виде, который получается при двойном нажатии *.


> Иногда виснет а иногда и падает. Но довольно редко. Разве
> у вас ни разу не висли другие программы?

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


> На рабочем столе создался какой-то ярлык Странно. А не в
> главном меню? У меня прописано в главном меню чтобы создавался
> линк (кстати, у него должна быть "неправильная" иконка,
> я пока не придумал, как сделать правильную).

Прошу прощения, я не правильно выразился... Так что еще раз с начала:
На рабочем столе создался какой-то ярлык на зумерский хелп... (картинка у него действительно левая)
При установке на рабочий стол ярлык не кидался. (под этим я имел ввиду, что обе галочки в сетапе были сняты. Помоему создание ярлыка в меню и создание ярлыка на рабочем столе - не помню точно, а новый сетап качать не охота. Как-нибудь потом с исправлениями...)
ZoomerSetup.exe (или просто Setup.exe?) лежал на рабочем столе.


 
Vladimir Kladov   (2007-08-03 19:28) [112]

2Unknown Mystic
обзывает .bmp и еще какие-то не связанными Странно, у меня такого не было. Может, накладки какие-то после нескольких установок/удалений. Надо тогда посмотреть, куда они связаны, до установки.
доп. панель - да, у меня тоже. исправил. В e версии будет. Тут и изменение внешнего стиля на виндовый помешало: тулбар никак не хотел показывать все кнопки, пока не отключил tboflat.
насчет барьера наг-скрина: в том-то и дело, что сейчас нет никакого барьера, ни максимума, ни минимума. Поставить любой барьер - равносильно предоставить лазейку. Я сейчас подправил вероятности, выскакивает чуть реже, но доставать будет всё равно.
10% -> 9% - это просто ошибка округления вниз. Буду использовать Round (до этого был аналог Trunc, точнее целочисленная формула W1 * 100 div W2).
Нажатие "-" должно переводить в тот же масштаб, что и повторное нажатие "*", а "+" - соответственно в следующий за
тем, куда переводит повторная "*"
- а если точно 100% например, и как раз вписано в окно? Ведь и такое бывает. Тогда * не должно ничего менять, кроме режима для следующей команды. Хотя нет, меняет: это неправильно считается минимальный подходящий масштаб, лишний раз уменьшает, сейчас поправлю тоже.
Как вернуть тумбы Enter, popup menu->Switch view file list, F1 тоже работает. Еще двойной клик, но это только если картинка вписана в экран.

по умолчанию же картинки не Fit to window - сделать этот режим стартовым? Можно.

msvc++ нужен, я это очень понял при отладке зумера. Delphi входил в ступор, даже при непосредственной отладке, а msvc++ хотя бы показывал адреса подпрограмм в стеках потоков. Пару серьезных проблем удалось выявить с его помощью.

создался какой-то ярлык на зумерский хелп... (картинка у него действительно левая)
При установке на рабочий стол ярлык не кидался. (под этим я имел ввиду, что обе галочки в сетапе были сняты
- вот оно в чём дело. Главное меню не создавалось, а линк на справку пытался себя тем нее менее куда-то создать. Забавно, что он нашёл место на работчем столе. Надо просто внести создание этого линка внутрь своего if then begin...end; (а я-то смотрел в участок кода, где линк на саму программу создаётся на рабочем столе).

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

Сейчас буду закачивать 401e.


 
Unknown Mystic ©   (2007-08-03 22:27) [113]

> насчет барьера наг-скрина
Тогда не понял... А как определяется когда он вылазит? Ежесекундно генерится число и проверяется его значение? Ну так это тоже в общем-то барьер...

Т.е. последовательность 10% -- (нажата *) --> 9% -- (нажата *) --> 102% Это нормально? (Ошибка округления - не в счет)

> а если точно 100% например
Во первых это довольно редко бывает, что Fit to window = "стандартному" масштабу. И в любом случае лучше, чем прокручивать  гораздо большее число масштабов, хотя соответствие "стандартному" масштабу можно и проверить...

> по умолчанию же картинки не Fit to window - сделать этот
> режим стартовым? Можно.

Если не ошибаюсь, вы говорили, что у Fit to window качество хуже, чем у стандартных масштабов, поэтому на мой взгляд это плохой вариант. Да и кроме того зачем растягивать картинку, если при 100% она и так почти на пол экрана? Только качество ухудшится, да лишнее время на масштабирование.

> Забавно, что он нашёл место на работчем столе.
Скорее в папке из которой сетап запускался, а у меня он на рабочем столележал.

> Сейчас буду закачивать 401e.
"е" вроде была уже... В общем следующую за ней скачаю - дальше тестить :))

А нововведения, это да - опасно вводить. Глюков натащить можно. Да и на тест много времени уйдет...

Да кстати, а вы не хотите этот todo в хелп запихнуть? Как "ожидаемое в следующих версиях" или еще как-то?..


 
Vladimir Kladov   (2007-08-04 08:24) [114]

С барьером всё сложнее. Таймер там как один из источников, но на самом деле не только он один. Вдаваться в подробности мне не хочется, да я уже и сам в деталях "плаваю". Смысл в том, что инициироваться наг может в нескольких местах программы, более того, он ещё и несколькими способами отображается, на случай, если один из способов заглушат. В общем, барьера и вправду нет - по совокупности источников. В таймере, как одном из барьеров, есть верхний барьер, но гораздо чаще срабатывает не от него.

10% -- (нажата *) --> 9% -- (нажата *) --> 102% "Подходящий" масштаб начинает отыскиваться от 100% сначала вверх, потом уменьшается вниз, пока размер больше вписанного (при выключении Fit"а). Мне показалось так удобно (команды "1" тогда ещё не было, это был заодно и способ минимальным числом операций приблизиться к 100%). В 401e (е маленькое, предыдущий вариант был 401E) исправлен показ масштаба уже.

зачем растягивать - Fit window только сжимает. Если получилось больше 100%, то это потому, что сначала изображение увеличено в 2**n, а потом уменьшено, чтобы быть вписанным.

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

todo в хелп запихнуть - не, не хочу. Вдруг мои планы изменятся. Или не получится что-нибудь из запланированного. Пусть будет сюрприз.


 
Vladimir Kladov   (2007-08-04 12:13) [115]

Рано радовался: нашёл еще один баг, с загрузкой тумбнайлов двухцветных битмапов. Кстати, если кто не в курсе, в KOL.TBitmap можно построить произвольную палитру, через DibPalEntries[ 0..DibPalEntryCount-1 ]. Применил неправильную формулу, получился черный прямоугольник. В 401F будет.


 
Vladimir Kladov   (2007-08-04 18:17) [116]

Наконец-то мне удалось поймать за хвост зависание на выходе. Сначала глазам не поверил, потом убедился: и правда прога висит на обработчике WndProcTransparent. Обидно то, что окно в этот момент уже невидимое. В общем, небольшую поправочку (разумеется, опциональную)  к KOL.pas пришлось придумывать, такие дела.

И наг опять визуально что-то не всегда считает. Думал, убрал возможную причину. С исправлением в WndProcTransparent считает вроде. Вот и думаю теперь: а при чём он тут?


 
Vladimir Kladov   (2007-08-04 23:48) [117]

Выложил 401F. Наг должен считать, прога не должна виснуть на выходе. Исправлена работа с 2хцветными битмапами.


 
Vladimir Kladov   (2007-08-05 10:11) [118]

Кто-нибудь скачал 401F ? Мне интересно.
Кстати, zoomer@ все еще не пашет, если кто-то еще присылал запросы на регистрацию, просьба повторить на vk@.


 
Vladimir Kladov   (2007-08-05 22:09) [119]

Обновил до 401f. Решено 2 проблемы: Enter при старте, и многократный [-] в режиме Fit window больше не нужен после нескольких лишних [+].


 
Vladimir Kladov   (2007-08-05 22:10) [120]

Ах, да, еще 3я: F12 в полном экране не делало форму выбору стиля передовой.



Страницы: 1 2 3 4 5 6 7 8 9 
10 вся ветка

Форум: "KOL";
Текущий архив: 2009.11.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.76 MB
Время: 0.034 c
1-1225358517
Дмитрий Белькевич
2008-10-30 12:21
2009.11.22
Как узнать, какой из тредов зашарил файл


15-1253626742
StriderMan
2009-09-22 17:39
2009.11.22
рынок "тяжелых" вычислений


15-1253737804
Юрий
2009-09-24 00:30
2009.11.22
С днем рождения ! 24 сентября 2009 четверг


15-1253910608
Юрий
2009-09-26 00:30
2009.11.22
С днем рождения ! 26 сентября 2009 суббота


2-1254932240
Johnnnnn
2009-10-07 20:17
2009.11.22
Сменить директорию диалога Open?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский