Forum Replies Created
-
AuthorPosts
-
Postscripter
ParticipantАу…
Postscripter
ParticipantQuote:Кстати, клеточку будет видно только после запуска прогиВо, блииин…)
Postscripter
ParticipantДемка – та же что и выше. Заменил все панели на TsPanel и поставил CHECKBOX – панель стала чисто белая… поставил FORM – стала в клеточку, но с границами, что не гуд.
Да ладно, не заморачивайтесь, это не критично… Главное что не вылетает и не зависает больше.
Postscripter
ParticipantПанель лежит на форме. Фон формы – в клеточку (такой скин), соответственно TPanel с отключенными Inner и Outer бордюрами (паребриками/фасками/…) растворяется, становится прозрачной, и из-под неё проступает клетка. Как в примере. А TsPanel так не может… Поэтому, думаю, лучше оставить TPanel и подождать исправления глюка Support-ом. Пока что есть костыль…
Postscripter
ParticipantПробовал всё. Checkbox – становится белой, хотя форма – в клеточку.
Postscripter
ParticipantА есть способ сделать альфа-панель прозрачной? Чтобы было видно саму форму? пробовал сделать SkinSection=FORM, но появилась рамка…
Postscripter
Participant'Torbins' wrote:предлагаю заменить все панели и кнопки ихними аналогамиКак раз в процессе. По мере замены ошибок и вылетов становится меньше 😀 Хотя есть и ещё способ – вызвать aForm.Position := poScreenCenter дважды. Чёрт возьми, да это же правило чётной ошибки! Дедушка Дейкстра был бы доволен)))))
Anchors никогда не юзал… Надо будет почитать мануальчик.
Postscripter
ParticipantДилема – отказаться от AC, или отказаться от использования TSpeedButton… Выбрал пока второе)) Заменил все TSpeedButton на TsSpeedButton — не помогло. Панель становится серой. Однако (!) вылеты на строчке Skin.active:=false; прекратились.
Postscripter
ParticipantИ ещё – если в процедуре LeaveAdmin дописать в конце skin.Active:=false;, то в этом месте всё просто изумительно рушится и восстановлению уже не поддаётся :a1: Глюкодромище, одним словом…))
PS Чтобы вызвалась эта процедура, нужно войти в режим управления (кнопка с шестерёнкой), а потом выйти из него. Пароль указан в txt-файле, кажется это был нолик.
Postscripter
ParticipantА, нет, ошибся – про повторном вызове вообще перестают скинироваться кнопки, расположенные на панели)))))
Postscripter
ParticipantПонимаю 🙂
Postscripter
ParticipantВот так, например [attachment=5489:851_extra_normal.png]
Postscripter
ParticipantА… сорри, Всё нормально, это просто шкурка от предыдущей версии 🙂
Postscripter
ParticipantУра, всё работает!!! http://exnax.narod.ru/antivir.htm
Postscripter
ParticipantКогда она скинится, там другие сообщения приходят. Целая куча. А эти – тоже от альф, да – но именно при создании и уничтожении.
Postscripter
ParticipantА ещё я заметил, что при уничтожении (при создании тоже) SpeedButton получает сообщение $A100, причём только в тех случаях, когда скинизация включена. То есть, как-то это событие всё же себя проявляет.
Postscripter
ParticipantА ещё можно проверять if (Ctrl is TSpeedButton). Только вот не уверен – всегда ли после вызова деструктора объекта он перестаёт отвечать этому условию… И что будет, если вместо Ctrl подставить что-нибудь левое, типа $0001 🙂
Postscripter
ParticipantТри строчки, я имел в виду, это “уменьшить глобальный счётчик кнопок ButtonsCount”, “освободить SpeedButton.Glyph” и “вызвать деструктор предка”. Вряд ли на других Delphi как-то сильно по-другому… Ну да ладно, не моё дело. Главное что проблема проблемой больше не будет :a7:
Во всяком случае, пока кто-нибудь не вызовет SpeedButton.Destroy до того как Application будет Terminated 😀
Postscripter
ParticipantQuote:нельзя отследить когда он уничтожаетсяМожно сплайсингом перехватить метод TSpeedButton.Destroy и заменить на свой. Можно даже не сохранять оригинальный деструктор, освободить память своими силами. Там всего 3 строчки.
Postscripter
ParticipantМм.. Странно, с другими компонентами ведь так не происходит?
А когда обновления ждать?
-
AuthorPosts