Показать сообщение отдельно
  #9  
Старый 02.06.2015, 23:10
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Ну вот не могу себя заставить Tag использовать для чего-либо. Какой-то он вседоступный, каждый может чего угодно в него вписать. Но если конечно стоит выбор - делать такого наследника или использовать tag, возможно все-же tag будет приличнее
Попробую через tag сделать, может правда более прилично выйдет.
Ну вроде действительно как-то поприличнее стало:
Код:
procedure TForm33.Button1Click(Sender: TObject);
var
  Tab: TTabSheet;
  TabProgress: TTabProgress;
begin
 Tab := TTabSheet.Create(PageControl1);
 Tab.PageControl := PageControl1;
 Tab.Caption := IntToStr(Tab.TabIndex);
 Tab.ImageIndex := 0;
 TabProgress := TTabProgress.Create(True);
 TabProgress.FreeOnTerminate := True;
 TabProgress.Tab := Tab;
 Tab.Tag := Integer(TabProgress);
 TabProgress.Start;
end;

procedure TTabProgress.Execute;
begin
 inherited;
 while not Terminated
 do begin
    Synchronize(Update);
    Sleep(50);
    end;
end;

procedure TTabProgress.Update;
begin
 Tab.ImageIndex := Tab.ImageIndex + 1;
 if Tab.ImageIndex > Tab.PageControl.Images.Count-1 then Tab.ImageIndex := 0;
end;

procedure TForm33.Button2Click(Sender: TObject);
begin
 TTabProgress(PageControl1.ActivePage.Tag).Suspend
end;

procedure TForm33.Button3Click(Sender: TObject);
var
  i: Integer;
begin
 if Assigned(PageControl1.ActivePage)
 then begin
      TTabProgress(PageControl1.ActivePage.Tag).Terminate;
      PageControl1.ActivePage.Free;
      end;
end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием