Конференция "Компоненты" » Как вовремя выполнить инициализацию свойств? [D7, Win2k]
 
  • Игорь Ч (17.05.07 15:40) [0]
    Прошу прощения если неверно выразился.
    Есть самопальный компонент, в котором открывается ADODataSet.
    В дизайнере все нормально. А когда запускаю приложение начинает ругаться, что коннекта к базе данных еще нет, он еще не успел создаться.
    Возникает вопрос, как поймать момент, когда коннект существует, и как об этом должен узнать компонент? Короче как это делать правильно?
  • vtur © (17.05.07 16:02) [1]
    Обычно подключение к БД выполняется (создается), возможно с исп.
    диалога для задания имени пользователя/пароля, на этапе инициализации
    (активизации) приложения или соответствующей формы. Т.е. вы должны предусмотреть в приложении в определенном месте подключение (открытие) БД, прежде чем открывать ADODataSet (перед открытием хорошо бы проверить наличие соединения с БД).
  • Reindeer Moss Eater © (17.05.07 16:18) [2]
    Когда именно открывается датасет в коде компонента?
  • Юрий Зотов © (17.05.07 17:44) [3]
    Можно открывать в методе Loaded (т.е., когда все компоненты уже загружены и проинициализированы). Для примера посмотрите, как открывается TDataSet, если у него в design-time прописано Active= True. Там в SetActive только выставляется флаг, а само открытие происходит в Loaded.
 
Конференция "Компоненты" » Как вовремя выполнить инициализацию свойств? [D7, Win2k]
Есть новые Нет новых   [134427   +34][b:0][p:0]