Предварительная загрузка элементовDelphi , Компоненты и Классы , СпискиПредварительная загрузка элементовАвтор: Scott Samet Я пытаюсь осуществить предварительную загрузку элементов наследника TListBox со множеством строк. Для этого я перекрываю конструктор, добавляя в него строки типа items.add('foo'); но когда я выполняю это, то получаю исключение "window has no parent window" (окно не имеет родительского окна). Почему у меня не получается сделать это? Listbox сохраняет элементы, передавая их Windows. При этом требуется дескриптор окна, а дескриптору окна требуется родитель. Родитель не устанавливается даже после возврата из конструктора. Решение проблемы: SaveVis := Visible; Visible := False; Parent := Owner; <заполнение ListBox> Parent := Nil; Visible := SaveVis; Классическая ошибка "окно не имеет родительского окна"! Вы пытаетесь загрузить список элементов в конструкторе, но это не работает так, как вы ожидаете. Это потому, что свойство Чтобы решить эту проблему, вы можете использовать следующий код:
Вот что происходит:
Таким образом, вы можете безопасно загружать список элементов в конструкторе без возникновения ошибки "окно не имеет родительского окна". Автор статьи Scott Samet описывает problema с предварительной загрузкой элементов наследника TListBox, вызванную отсутствием родительского окна, и предлагает решение проблемы, заключающееся в временном скрытии видимости Listbox и установке его родителя. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |