Forum Replies Created
-
AuthorPosts
-
December 21, 2010 at 6:16 pm in reply to: [AC BUG] Accesviolation at 000000 (TsSkinManager.GetSkinIndex) #44264alex000Participant
Аналогично в дизайнере – при добавлении InternalSkin 🙁
Это появилось в последней версии – 7.26, и выпадет только если на форме есть TsPageControl
alex000ParticipantQuote:зависания в местах кода, где есть Application->ProcessMessages()Очевидно – без демки повторить зависание нереально. Можно показать код, и форму на которой зависает?
alex000ParticipantДемка здорово помогла бы Support`у быстрее разобраться с проблемой.
alex000Participant'koderali' wrote:Пишет мол:
you are using an old on the WLM(internal) skin
Поработаю переводчиком:
Quote:Вы используете старую версию скина WLM (внутренний). Пожалуйста обновите скин до последней версии.
Это сообщение появляется только в дизайнере, run-time оно не появится.
Из чего совершенно очевидно, что TsSkinManager->InternalSkins содержит устаревший скин, и его надо заменить на новый.
Наверно, эти демки давно не обновлялись.
alex000ParticipantЭтот баг проявляется даже в ASkinDemo.exe v7.23 (Invisible controls->Dialog functions), но только если выключить ExtendedBorders
alex000Participant'Feg16' wrote:Балабол. Если нет доводов – могу предложить тряпочку. Тормозит не у меня, тормозит в парке на < 800 машин. Разбираться бесполезно ибо на запросы что там-то и там-то двойная / тройная прорисовка за раз - никто не отвечает. По поводу демку о тормознутости – могли бы соизволить и посмотреть нижесозданные топики.
Мне нужно извиниться – не стоило писать в эту тему столь грубый комментарий.
Парк в 800 машин внушает. Надеюсь, с их помощью Вам удастся выяснить причину тормозов и сделать AlphaControls немного быстрее и безглючнее.
Беру свою тряпочку и умолкаю.
alex000ParticipantАбстрактным суждениям “Седьмая версия черепаха по сравнению с шестой.” мне кажется, не место в ветке “Решение проблем”
– если у вас тормозит – покажите где, как говорится – демку в студию.
Память – само собой скины едят память, с этим ничего не поделать. Если это так критично – не используйте скины.
Я не располагаю большим парком машин, и возможно, проблема с тормозами действительно существует – если так, то надо разобраться в чем дело, а не кричать
'Feg16' wrote::a1: Верните версию 6.69 :a1:
alex000ParticipantО чем вы ? Седьмая версия работает вполне шустро и стабильно. ЧЯДН?
Есть подозрение, что многие стали переходить с шестой версии на седьмую, именно сейчас, когда вышла стабильная версия, в надежде что там не будет багов.
Но кто эти баги выловит, если бета версию никто не ставил?
Если ставить все бета версии, то если что не так – всегда можно откатиться назад.
Бету есть смысл ставить хотя бы на пробу. При этом баги будут замечены сразу и к выходу стабильной версии они уже будут исправлены.
Насчет памяти, не знаю, я попробовал запустить ASkinDemo версии 6.69 и 7.22 – памяти было съедено одинаково.
И кстати – не верьте Диспетчеру задач – он нагло врет насчет памяти, используйте ProcessExplorer.
ЗЫ Этой теме не место в “Решение проблем”.
alex000Participant'Gobel' wrote:Доброго времени суток.
Проблема следующая обновил AC c 6.66 на 7.22 (скины поменял на соответствующие) после чего на TToolButton стали некорректно рисоваться иконки:
Вокруг рисунка на некоторых кнопках появился розовый цвет.
OS: Windows 7×32 Ultimate Aero
Compiler: Delphi 7
Вы не сказали главного – откуда берутся иконки?
TImageList, TPngImageList или TsAlphaImageList ?
Если вы используете TPngImageList, возможно вы забыли включить в sDefs.inc ключ USEPNG.
Если нет – возможно дело в самих иконках – желательно выложить демку.
alex000ParticipantЧерт, немного опоздал – http://www.alphaskins.com/forum/index.php?showtopic=5684 – это уже заметили.
Только уважаемый Ralph, немного неправ, код:
Code:if (StatusBar <> nil) and (statusbar.Panels.Count<>0 )and (StatusBar.Panels[Index].Style = psOwnerDraw) and Assigned(StatusBar.OnDrawPanel) then beginприведет к List index out of bounds если statusbar.Panels.Count > 0 и включено свойство SimplePanel ! В этом случае Index = -1
правильно будет так:
Code:if (StatusBar <> nil) and (Index<>-1) and (Index < statusbar.Panels.Count)and (StatusBar.Panels[Index].Style = psOwnerDraw) and Assigned(StatusBar.OnDrawPanel) then begin(Index<>-1) and (Index < statusbar.Panels.Count) !
alex000ParticipantСпасибо, работает. Но появилась другая проблема – если в StatusBar нет ни одной панели – будет List index out of bounds.
Этот баг можно повторить просто убрав содержимое StatusBar1.Panels из демки выше.
Конкретно у меня это проявилось на EhLib Print Preview Form:
Code::7c812afb kernel32.RaiseException + 0x52
:00473F35 Classes::TList::Error(Self=:00470CDC, Msg={ “List index out of bounds (%d)” }, Data=-1)
:00473F9E Classes::TList::Error(Self=:00470CDC, Msg=:0048BABC, Data=-1)
:004740D0 Classes::TList::Get(Self=:05E85118, Index=-1)
:0047582E Classes::TCollection::GetItem(Self=:05E7D230, Index=-1)
:0061FDAB Comctrls::TStatusPanels::GetItem(Self=:05E7D230, Index=-1)
:008BF0C9 Acsbutils::TacStatusBarWnd::InternalDrawPanel(Self=:05E27660, Index=-1, Text={ “Page 1 of 1” }, Rect=:0012EB10) // !!! !!! !!!
:008BF312 Acsbutils::TacStatusBarWnd::PaintPanels(Self=:05E27660)
:008BF544 Acsbutils::TacStatusBarWnd::PrepareCache(Self=:05E27660)
:008BF61C Acsbutils::TacStatusBarWnd::WMNCPaint(Self=:05E27660, aDC=0)
:008BEB43 Acsbutils::TacStatusBarWnd::acWndProc(Self=:05E27660, Message=:0012EC08)
:0060317B Controls::TWinControl::MainWndProc(Self=:05E430C0, Message=:0012EC08)
:00481CEA Classes::StdWndProc(Window=921092, Message=133, WParam=1, LParam=0)
:7e368734 USER32.GetDC + 0x6d
:7e37bdf1 ; C:windowssystem32USER32.dll
:7e378ea0 ; C:windowssystem32USER32.dll
:7e378eec ; C:windowssystem32USER32.dll
:7c90e473 ntdll.KiUserCallbackDispatcher + 0x13
:5b267ce8 ; C:windowssystem32uxtheme.dll
:7e37e565 USER32.SetWindowRgn + 0x3d
:00859148 Sskinprovider::UpdateRgn(sp=:05E6A320, Repaint=true)
:0086BBE5 Sskinprovider::TsSkinProvider::AC_WMNCPaint(Self=:05E6A320)
:008611C2 Sskinprovider::TsSkinProvider::NewWndProc(Self=:05E6A320, Message=:0012EFA4)
:0060317B Controls::TWinControl::MainWndProc(Self=:05E8CF20, Message=:0012EFA4)
:00481CEA Classes::StdWndProc(Window=1445494, Message=133, WParam=1, LParam=0)
:7e368734 USER32.GetDC + 0x6d
:7e37bdf1 ; C:windowssystem32USER32.dll
:7e378ea0 ; C:windowssystem32USER32.dll
:7e378eec ; C:windowssystem32USER32.dll
:7c90e473 ntdll.KiUserCallbackDispatcher + 0x13
:005FED30 Controls::TControl::WndProc(Self=:05E8CF20, Message=:0012F400)
:00603ABD Controls::TWinControl::WndProc(Self=:05E8CF20, Message=:0012F400)
:005DA8BA Forms::TCustomForm::WndProc(Self=:05E8CF20, Message=:0012F400)
:0085E100 Sskinprovider::TsSkinProvider::NewWndProc(Self=:05E6A320, Message=:0012F400)
:005FE8DD Controls::TControl::Perform(Self=:05E8CF20, Msg=45081, WParam=0, LParam=0)
:00602FBD Controls::TWinControl::UpdateShowing(Self=:05E8CF20)
:0060304A Controls::TWinControl::UpdateControlState(Self=:05E8CF20)
:00605F36 Controls::TWinControl::CMVisibleChanged(Self=:05E8CF20, Message=:0012F738)
:005FED30 Controls::TControl::WndProc(Self=:05E8CF20, Message=:0012F738)
:00603ABD Controls::TWinControl::WndProc(Self=:05E8CF20, Message=:0012F738)
:005DA8BA Forms::TCustomForm::WndProc(Self=:05E8CF20, Message=:0012F738)
:008620C4 Sskinprovider::TsSkinProvider::NewWndProc(Self=:05E6A320, Message=:0012F738)
:005FE8DD Controls::TControl::Perform(Self=:05E8CF20, Msg=45067, WParam=1, LParam=0)
:005FCD51 Controls::TControl::SetVisible(Self=:05E8CF20, Value=true)
:005DA1AE Forms::TCustomForm::SetVisible(Self=:05E8CF20, Value=true)
:005DF411 Forms::TCustomForm::Show(Self=:05E8CF20)
:006bcbe9 ; Prvfrmeh::TPreviewFormEh::PreviewEh1OpenPreviewer
:006c3d77 ; PrnDbgeh::_16480
:006c58c0 ; PrnDbgeh::_16495
:006c5ebc ; Prndbgeh::TPrintDBGridEh::PrintTo
:006bee1e ; Prndbgeh::TPrintDBGridEh::Preview
:004BEF5A TagGridToolsFrame::agTBPPreviewClick(this=:01994550, Sender=:043546F0)
:005FF2F0 Controls::TControl::Click(Self=:043546F0)
:00634533 Comctrls::TToolButton::Click(Self=:043546F0)
:005FF879 Controls::TControl::WMLButtonUp(Self=:043546F0, Message=:0012FC60)
:005FED30 Controls::TControl::WndProc(Self=:043546F0, Message=:0012FC60)
:005FE8DD Controls::TControl::Perform(Self=:043546F0, Msg=514, WParam=0, LParam=589834)
:006035D7 Controls::TWinControl::IsControlMouseMsg(Self=:044563C0, Message=:0012FDB4)
:00603977 Controls::TWinControl::WndProc(Self=:044563C0, Message=:0012FDB4)
:00639D07 Comctrls::TToolBar::WndProc(Self=:044563C0, Message=:0012FDB4)
:00888C6E Stoolbar::TsToolBar::WndProc(Self=:044563C0, Message=:0012FDB4)
:0060317B Controls::TWinControl::MainWndProc(Self=:044563C0, Message=:0012FDB4)
:00481CEA Classes::StdWndProc(Window=855718, Message=514, WParam=0, LParam=721082)
:7e368734 USER32.GetDC + 0x6d
:7e368816 ; C:windowssystem32USER32.dll
:7e3689cd ; C:windowssystem32USER32.dll
:7e3696c7 USER32.DispatchMessageA + 0xf
:005E4063 Forms::TApplication::ProcessMessage(Self=:019EBD40, Msg=:0012FEEC)
:005E40A8 Forms::TApplication::HandleMessage(Self=:019EBD40)
:005E4343 Forms::TApplication::Run(Self=:019EBD40)
:00403337 WinMain( =:00400000, =NULL, =:00141F15, =9)
:00b73a1b ; __startupОчевидно, нужно добавить в InternalDrawPanel проверку на Index < кол-во панелей.
alex000ParticipantAlphaControls 7.05 – все нормально.
Спасибо!
alex000ParticipantВ AlphaControls v7.05 баг исправлен, но не совсем..
Если переключать CheckBox с клавиатуры – все ок, но если переключать мышкой баг остался.
Это моя вина, наверно я сделал не совсем понятную демку: баг есть, неважно чем переключать TsCheckBox мышкой или клавиатурой.
alex000ParticipantQUOTE (Support @ Aug 6 2010, 08:58 AM) <{POST_SNAPBACK}>AlphaSkins нормально работают под Win9x?
Честно говоря, давно не проверял – пару лет назад – работало.alex000ParticipantДело в том, что если поставить DefaultDraw в False, мне придется самому полностью отрисовывать дерево/надписи – а мне требуется по-своему отрисовать только иконки (PaintImages = false) – надписи пусть уже рисует система.
Кстати, поддерживаю идею заскинить TreeView полностью – Windows малость криво рисует эти надписи – мне пришлось изрядно пошаманить чтобы заставить Windows 98, и одновременно Windows XP, отображать в дереве юникодные символы.
Ведь за что я в свое время стал использовать AlphaControls – Windows игнорирует кодировку для Caption формы, а AlphaControls перехватывает отрисовку Caption, и позволяет использовать любую кодировку <img src="style_emoticons//smile.gif” style=”vertical-align:middle” emoid=”:)” border=”0″ alt=”smile.gif” />
В любом случае – для себя я проблему пока решил.
alex000ParticipantСпасибо! Версия AlphaControls 7.04 не падает.
alex000ParticipantВ версии 7.04 все по-прежнему..
Кстати, http://www.alphaskins.com/forum/index.php?showtopic=2691 – вот старая тема с похожей проблемой.
alex000ParticipantQUOTE (zixzelz @ Aug 4 2010, 06:49 PM) <{POST_SNAPBACK}>Тоже самое(((
Тупо хочет pas файлы
Попробуйте вместо pas-файлов подсунуть ему dcu-файлы из пакета для Delphi 6.alex000ParticipantQUOTE (Support @ Aug 2 2010, 12:32 PM) <{POST_SNAPBACK}>Спасибо за информацию. А раньше не было такого?
Нет, в AlphaControls ветки 6 все было нормально.alex000ParticipantQUOTE (Torbins @ Jul 26 2010, 08:39 PM) <{POST_SNAPBACK}>Вообще АС уже давно имеют собственную поддержку Png, и присутствие PngComponents не обязательно. Видимо остались какие то старые следы.
Я знаю про поддержку Png, мне просто лень переделывать всю программу с TPngImageList на TsAlphaImageList .И если я включу ключ USEPNG в sDefs.inc – то присутствие PngComponents обязательно!
-
AuthorPosts