Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.08.2010, 06:37
Аватар для kadnikov
kadnikov kadnikov вне форума
Прохожий
 
Регистрация: 26.07.2010
Сообщения: 20
Репутация: 10
По умолчанию не работает OnEnter/OnExit в PageControl.TabSheet

не актуально

Приветствую всех!
Что-то я не понял маленько...
Начал переписывать уже готовый и работающий код, а указанные в заголовке события для TabSheet работать не хотят, точнее работают, если нажать кнопку размещённую в TabSheet, а просто при входе отказываются...

Код:
procedure TForm1.FormShow(Sender: TObject);
begin
Form1.PageControl1.ActivePageIndex:=0;
Form1.ADOConnection1.Connected:=False;
Form1.ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Persist Security Info=False;Data Source=PostgreSQL30;Initial Catalog=uzti_db';
Form1.ADOConnection1.LoginPrompt:=False;
Form1.ADOConnection1.Connected:=True;
Form1.ADOMultiQuery.Close;
Form1.ADOMultiQuery.Connection:=Form1.ADOConnection1;
Form1.ADOMultiQuery.SQL.Clear;
Form1.ADOMultiQuery.SQL.Text:='SELECT product_mix.sname, product_mix.edizm FROM product_mix INNER JOIN sklad ON product_mix.id=sklad.id ORDER BY sklad.id';
Form1.ADOMultiQuery.Open;
For i:=1 to 25 do
Begin
lb1:=(FindComponent('Label'+IntToStr(i)) as TLabel);
lb2:=(FindComponent('Label'+IntToStr(i+50)) as TLabel);
lb1.Caption:=Form1.ADOMultiQuery.Fields[0].AsString+'............................................';
lb2.Caption:=Form1.ADOMultiQuery.Fields[1].AsString;
if i<>25 then Form1.ADOMultiQuery.MoveBy(1);
End;
end;


procedure TForm1.TabSheet5Enter(Sender: TObject);
begin  //работает только после нажатия button1
Form1.ADOMultiQuery.Close;
Form1.ADOMultiQuery.SQL.Clear;
Form1.ADOMultiQuery.SQL.Text:='SELECT sklad.ostatok, sklad.dateizm FROM product_mix INNER JOIN sklad ON product_mix.id=sklad.id ORDER BY sklad.id';
Form1.ADOMultiQuery.Open;
For i:=1 to 25 do
Begin
lb1:=(FindComponent('Label'+IntToStr(i+25)) as TLabel);
lb2:=(FindComponent('Label'+IntToStr(i+75)) as TLabel);
lb1.Caption:=Form1.ADOMultiQuery.Fields[0].AsString;
lb2.Caption:=Form1.ADOMultiQuery.Fields[1].AsString;
if i<>25 then Form1.ADOMultiQuery.MoveBy(1);
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.ADOMultiQuery.Close;
Form1.ADOMultiQuery.SQL.Clear;
Form1.ADOMultiQuery.SQL.Text:='SELECT sklad.ostatok, sklad.dateizm FROM product_mix INNER JOIN sklad ON product_mix.id=sklad.id ORDER BY sklad.id';
Form1.ADOMultiQuery.Open;
For i:=1 to 25 do
Begin
lb1:=(FindComponent('Label'+IntToStr(i+25)) as TLabel);
lb2:=(FindComponent('Label'+IntToStr(i+75)) as TLabel);
lb1.Caption:=Form1.ADOMultiQuery.Fields[0].AsString;
lb2.Caption:=Form1.ADOMultiQuery.Fields[1].AsString;
if i<>25 then Form1.ADOMultiQuery.MoveBy(1);
end;
end;

procedure TForm1.TabSheet5Exit(Sender: TObject);
begin //работает только после нажатия button1
showmessage('куку');
end;


procedure TForm1.PageControl1Enter(Sender: TObject);
begin //работает нормально
showmessage('куку25');
end;

end.

Последний раз редактировалось kadnikov, 19.08.2010 в 10:50.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:16.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter