Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

OnChange - явный вызов [D7]


chir ©   (2005-01-11 02:21:00) 

Как мне явно вызвать привязанное к чему-нибудь событие OnChange?

например такое:

procedure TForm1.cxDBTL_DearChange(Sender: TObject);
begin
 RichEdit1.Lines.Add('cxDBTL: OnChange');
 DM.ADOQ6.Close;
 DM.ADOQ6.SQL.Text := 'SELECT id_station, name FROM stations WHERE'+
   ' id_dear='+DM.ADOQ5.FieldByName('id_dear').AsString+
   ' ORDER BY name';
 DM.ADOQ6.Open;
end;


Fay   (2005-01-11 06:07:00) [1]

2 chir   (11.01.05 3:29) [6]
Самое интересное - исходный вопрос я так и не понял 8)

З.Ы.
Удачи


chir   (2005-01-11 03:29:00) [2]

> Fay
по идее случится беда. Спасибо за находку! Благо в этой таблице id_dear является ключем и Null не может быть. Но я приму это во внимание при дальнейшей разработке.

И еще спасибо за .IsNull - я все думал какже мне на null проверку сделать :)


chir   (2005-01-11 03:25:00) [3]

не... отдельная процедура не нужна. так мне подходит. да и это тоже всетаки процедура :). Через Sender можно узнать какой объект вызывает ее, а мне это очень важно. :)

> Поручик
Спасибо, она мне не помешает :)

Вообще всем спасибо! Вы мне Реально помогаете, за что я вас пресильно благодарю. Делаю курсовик за прошлый! семестр, поэтому времени катастрофически не хватает и совсем нет времени на погружение в литературу. Приходится справляться имеющимися знаниями (не большими), а вопросов все же много возникает... В которых помогаете вы! Еще раз всем спасибо!


Fay   (2005-01-11 03:23:00) [4]

Дмитрий В. Белькевич   (11.01.05 3:16) [3]
А как Вы думаете, что будет, если DM.ADOQ5.FieldByName('id_dear').IsNull = True?


Дмитрий В. Белькевич   (2005-01-11 03:16:00) [5]

Нужно

RichEdit1.Lines.Add('cxDBTL: OnChange');
DM.ADOQ6.Close;
DM.ADOQ6.SQL.Text := 'SELECT id_station, name FROM stations WHERE'+
  ' id_dear='+DM.ADOQ5.FieldByName('id_dear').AsString+
  ' ORDER BY name';
DM.ADOQ6.Open;

Выделить в отдельную процедуру и обращаться к ней откуда нужно. Так - правильнее.


Поручик   (2005-01-11 03:06:00) [6]

Молодец
Удачи


chir   (2005-01-11 02:34:00) [7]

разобрался уже. спасибо


Наверх

Титульная страница Поиск, карта сайта Написать письмо