![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ошибка при активации TQuery
чайник © (2003-11-06 10:22:00)
Уважаемые мастера помогите чайнику, бьюсь 2 день. У меня в проекте на первой форме выводится диалог с именем пользователя и пароля и компонент TDataBase.
AliasName:=MSSQL;
Connected:=true;
DatabaseName:=lising;
Exclusive:=false;
HandleShared:=true;
KeepConnection:=false;
Loginprompt:=false;
по кнопочке OK анализирую соединение через try...except.При удачном соединении загружаю основное меню.На этой форме у меня несколько Query и DataSource. в событии FormCreate запускаю Query.execsql и делаю Query.Active:=true; в uses второй формы прописан модуль первой формы. Выдается сообщение, что не может совершить операцию по открытию базы. В чем дело, спасибо.
Term (2003-11-06 11:38:00) [1]
> Кто знает что это за собачье поганяло Плохиш_ у него справка
> от доктора есть
я не знаю что у него есть, но баб уже прогнал,
т.к. проверил и Query1.active:=true на OnActivate формы на которой лежит компонент сработал без глюков...
Собаколов (2003-11-06 11:34:00) [2]
Кто знает что это за собачье поганяло Плохиш_у него справка от доктора есть
Term (2003-11-06 11:32:00) [3]
> У кого это не так сожетую сменить траву, сорт пива, девочек.
всё больще не пью и прогоню всех баб
ты прав........
а почему тогда у него глючило?
Плохиш_ (2003-11-06 11:26:00) [4]
Объясняю на пальцах: В FormCreate ужесозданы все компоненты, которые были кинуты на форму в дезайнере.
У кого это не так сожетую сменить траву, сорт пива, девочек.
Term (2003-11-06 11:14:00) [5]
> Плохиш_ (06.11.03 11:00) [23]
> >Term © (06.11.03 10:57) [20]
>
> Где только такую траву берёте
хе...
> Vlad © (06.11.03 11:06) [26]
> TQuery в момент FormCreate еще не создан. Он nil.
помоему я тоже самое имел ввиду, просто говорил обо всём в общих фразах, так как спросил совсем новичёк.
а траву я как то не очень чаще пиво и девочки :)))
bushmen (2003-11-06 11:13:00) [6]
>Vlad ©
>Хорошо что там не INSERT, а то бы происходили удивительные вещи >у Вас в базе :)
Что касается выбора процедур, куда вставлять код - дело самого человека. Я указал только на причину ошибки, а дальше - сам пусть разбирается.
Term (2003-11-06 11:10:00) [7]
> Не всё так просто. Если остальные формы модальные, то этого
> не будет.
интересно... поясни тогда что значит "модальные" такого свойства то у формы нет...
а Form.ShowModal это функция...
или я не прав тогда поправьте
bushmen (2003-11-06 11:07:00) [8]
>Плохиш_
Визуальные
Vlad (2003-11-06 11:06:00) [9]
TQuery в момент FormCreate еще не создан. Он nil.
А вот перенос в FormActivate, чревато дурными последствиями, такими как многократное выполнение данного запроса при каждой активации формы. Хорошо что там не INSERT, а то бы происходили удивительные вещи у Вас в базе :)
Плохиш_ (2003-11-06 11:02:00) [10]
>bushmen © (06.11.03 10:58) [21]
Хотя... Неплохо было бы уточнить какие компоненты имеются ввиду
Жук (2003-11-06 11:01:00) [11]
> Term © (06.11.03 10:50) [17]
Не всё так просто. Если остальные формы модальные, то этого не будет.
Плохиш_ (2003-11-06 11:00:00) [12]
>Term © (06.11.03 10:57) [20]
Где только такую траву берёте
>bushmen © (06.11.03 10:58) [21]
про оба
bushmen (2003-11-06 10:59:00) [13]
Ошибочка, FormActivate
bushmen (2003-11-06 10:58:00) [14]
>Плохиш_
Что именно - про созданные компоненты или про перенос в FormeActivate? :)))
Term (2003-11-06 10:57:00) [15]
> Это в какой книжке такое пищут?
это может в книжке не пишут, но так оно и есть, я тоже с этим сталкивался, на OnCreate главной формы, не сработает, но OnActivate главной формытоже не выход
bushmen (2003-11-06 10:57:00) [16]
>Term ©
Я это для проверки предложил. С такой информацией не понятно, в каком месте у него ошибка. Причина ошибки нашлась, а дальше пусть сам переосмысливает куда ему что тыкать. Кстати, раз пошла така пьянка, то я бы на его месте все компоненты доступа к данным перенес в DataModule.
Плохиш_ (2003-11-06 10:53:00) [17]
> bushmen © (06.11.03 10:44) [13]
> В FormCreate это работать не будет - в момент создания формы
> компоненты ещё не созданы. Перенеси это в FormActivate
Это в какой книжке такое пищут?
Term (2003-11-06 10:50:00) [18]
> Перенеси это в FormActivate
и при каждом получении формой фокуса, будет выполняться запрос, по 100 раз на дню, а так как ComboBox1.Items.Clear нету, то список клиентов будет длинной с километр в конце дня, нужно структуру программы ему переосмыслить, чтобы одни и теже действия без надобности не выполнялись по много раз
Johnmen (2003-11-06 10:49:00) [19]
Вот этого делать не надо >bushmen © (06.11.03 10:44) !
чайник (2003-11-06 10:48:00) [20]
bushmen © спасибо, все получилось..