Forum Replies Created
-
AuthorPosts
-
funny
ParticipantВот еще одна ошибка, которая появилась при переходе с 6-ой на 7-ой версии AC. Если на форме лежит TsPageControl, “шкурки” отключены, TsPageControl.Enabled = False, TsPageControl.Images <> NIL, то текст заголовков закладок пишется на черном фоне. Скриншот и демо для D2009 прилагаю.
funny
ParticipantОшибка исчезла после того, как с формы были удалены все объекты (включая TsSkinManager и TsSkinProvider), а затем повторно добавлены, один за другим.
funny
Participant“Шкурки” все новые, от версии 7.54.
Демо создать не удаётся. Если создавать демо с нуля, то всё работает нормально. Если копирую TsPageControl из моей формы и вставляю в новую форму, то непосредственно в IDE выдается сообщение об ошибке “Scan line index out of range”, но затем проект компилируется и работает без ошибок.
funny
ParticipantВозможно, это не “зависание”, а программа уходит на бесконечный цикл, загружая процессор на 100%. У меня произошло такое в версии 7.25 (D7, Win7 c Aero) при открытии одного диалогового окна. Воссоздать эту ситуацию в демке не удалось.
(Продолжаю пользоваться версией 6.61 AC. Видимо, перейти на 7-ую версию в этом году уже не удастся.)
funny
ParticipantВ версии AC 7.21 заметил описанную выше ошибку, но уже не в первом столбце, а во втором, третьем и т.д. То есть, Вы исправили ошибку лишь для первого столбца (Item), но она осталась для всех последующих (Item.SubItems). Демо прилагается; Delphi 7, WinXP SP3.
funny
ParticipantНасчет TsCheckListBox надо добавить – у него свойство Style равно “lbOwnerDrawFixed”; полагаю, из-за этого элементы списка отрисовываются как выбранные. Так что, это проблема решаемая – я сам присвою цветам нужные значения. Но в версиях AC 5.xx-6.xx проблем с этим объектом не было.
Еще одно наблюдение: если не заходить в главное меню программы, а просто закрыть ее – получаю ошибку “Stack overflow”.
funny
ParticipantДа, с версией 7.01 проект компилируется нормально. Но “глюков” с новой версией AC пока многовато, подожду на нее переходить. Успехов!
funny
ParticipantОшибка осталась и в AC 6.52 beta.
funny
ParticipantНашел решение: положить всё на панель (TsPanel); это заставит все компоненты перерисовываться.
funny
ParticipantЕще раз вынужден обратиться к Вам за помощью. В AC 6.40, если используются достаточно новые скины (такие как Acryl, Sapphire, Topaz и др.), не перерисовываются элементы, лежащие поверх TImage. Например, в одной из моих программ на картинке лежат TsBevel, TLabel, TsLabel, TShape – ничего из этого не отображается. Пытался принудительно их перерисовывать (MyShape.Repaint, MyShape.Refresh, MyShape.Invalidate) – никакого результата, ничего не отрисовывается.
Не хотелось бы переделывать всю программу, без картинки TImage не обойтись (ее хочет заказчик). Как принудительно заставить отрисовывать компоненты, лежащие поверх TImage (TsLabel, TsBevel, TShape и т.п.)?
funny
ParticipantПонятно, спасибо.
funny
ParticipantДа, спасибо за совет, так потом и сделал; просто не сразу сообразил. <img src="style_emoticons//rolleyes.gif” style=”vertical-align:middle” emoid=”:roll:” border=”0″ alt=”rolleyes.gif” />
Всё равно не очень понимаю смысл подобного предупреждения; вот если бы программа с новым скином “падала” или “зависала” – тогда это действительно нужно. Рекомендую, все же, показывать подобные предупреждение, только когда программа запускается из IDE…
funny
ParticipantКстати, насколько я помню институтский английский, правильней будет написать: “This version of the skin is not completely supported by the AlphaControls package. Components must be updated up to latest version for using this skin.“
funny
ParticipantСвойство Application.MainFormOnTaskBar не использую. Сейчас попробовал присвоить ему True или False – на существование проблемы это не влияет.
Проблема остается и с ВЫКЛЮЧЕННЫМИ скинами. Даже если скины не используются, все равно в процедуре NewWndProc у SkinProvider'a приходится обрабатывать сообщение WM_QUERYENDSESSION. (Сам удивляюсь…)
-
AuthorPosts