Форум: "Прочее";
Текущий архив: 2013.05.05;
Скачать: [xml.tar.bz2];
ВнизНовогодняя задачка Найти похожие ветки
← →
Rouse_ © (2013-01-01 17:12) [0]Для любителей покопаться в VCL :)
Дано: новый проект, на форе размещаем ListView у которого BorderStyle выставляем в bsNone, а ViewStile выставляем в vsReport.
Через "пропертю" Columns создаем 3 колонки.
После чего делаем Copy-Paste самому ListView ну ту же форму.
Вопрос, почему у нового ListView пропали колонки?
ЗЫ: Зотычу плз не отвечать, я и так знаю что ты решишь задачку :)
← →
Юрий Зотов © (2013-01-01 17:24) [1]Это дискриминация! Я обращусь в Страсбург!
← →
Rouse_ © (2013-01-01 17:30) [2]Они меня поддержат, я им тоже отправил письмо с просьбой, багрепорты от Зотыча не принимать :)
← →
DVM © (2013-01-01 18:33) [3]
> Rouse_ © (01.01.13 17:30) [2]
> Они меня поддержат, я им тоже отправил письмо с просьбой,
> багрепорты от Зотыча не принимать :)
Они тебя не послушали
http://qc.embarcadero.com/wc/qcmain.aspx?d=54961
← →
Rouse_ © (2013-01-01 18:42) [4]
> DVM © (01.01.13 18:33) [3]
Да, я в курсе что такой багрепорт есть, причем он не единственный, впрочем вопрос не о нем, вопрос о том - почему происходит такое...
Мы же программисты, значит должны понять и объяснить :)
← →
NoUser (2013-01-01 20:32) [5]
object ListView1: TListView
Left = 12
Top = 20
Width = 250
Height = 150
BorderStyle = bsNone // -> RecreateWnd;
//or MultiSelect = True // -> RecreateWnd;
Columns = <
item
Caption = "c"
end
item
Caption = "b"
end
item
Caption = "a"
end>
//если "BorderStyle = bsNone" переместить сюда - проблема не проявляется
TabOrder = 1
ViewStyle = vsReport
end
Чем плох RecreateWnd для Columns пока не скажу (с компонентостроительством совсем незнаком).
А к г-ну Rouse есть встречная задачка: как дебажить в design-time.
Ну и для дальнейшего пробуждения от празднования:
При запуске (XE,XE2) вызывается timeBeginPeriod(1)
Зачем это, и как это можно устранить.
← →
Rouse_ © (2013-01-01 21:53) [6]
> NoUser (01.01.13 20:32) [5]
Направление верное, молодец :)
> как дебажить в design-time.
Второй копией Delphi
> При запуске (XE,XE2) вызывается timeBeginPeriod(1)
> Зачем это, и как это можно устранить.
Зачем, это и так понятно, почему это плохо можно узнать здесь: http://software.intel.com/en-us/articles/cpu-power-utilization-on-intel-architectures/
Устранить теоретически только патчем...
← →
брат Птибурдукова (2013-01-01 22:00) [7]
> как дебажить в design-time.
Attach to process или просто пакету указать bds.exe в качестве host application.
← →
NoUser (2013-01-02 00:01) [8]> Второй копией Delphi
Спасибо, но как, например, дальше там найти RecreateWnd ?
> Зачем, это и так понятно
Зачем это в RAD - для меня не очевидно.
← →
Rouse_ © (2013-01-02 00:03) [9]
> NoUser (02.01.13 00:01) [8]
> Спасибо, но как, например, дальше там найти RecreateWnd?
Бряк на нем ставишь и все.
> Зачем это в RAD - для меня не очевидно.
Здесь я затрудняюсь ответить, что-то они хотели этим сообщить...
← →
Аббат Пиккола (2013-01-02 04:08) [10]Удалено модератором
Примечание: Offtopic
← →
Наиль © (2013-01-03 10:43) [11]
> Чем плох RecreateWnd для Columns пока не скажу (с компонентостроительством
> совсем незнаком).
RecreateWnd меняет Handle окна.
А колонки (Columns) создаются отправкой сообщений Send(Post)Message окну.
На самом деле это ни как должно влиять на процесс, если используется свежий Handle из TWinControl.Handle.
Видимо в данном случае это не так и используется Handle закешированный при создании ListView.
Ответ чисто теоретический. Т.к. не программирую очень давно, и Delphi под рукой нет.
← →
Rouse_ © (2013-01-03 17:51) [12]Ну в принципе что-то похоже, но немного не совсем так :)
← →
Rouse_ © (2013-01-07 02:38) [13]Новый Год заканчивается. Еще варианты будут, а то-ж как всегда придет Зотыч и поправит все по VCL :)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.05.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.002 c