Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Tpagecontrol
Форум программистов > Системное программирование > Delphi и Pascal > Delphi - Компоненты
valentofer
И еще вопросик. Сразу извеняюсь за его тупость rolleyes.gif
Как узнать, какая из вкладок(tabsheet) в PageControl активна в данный момент???
Silver Wind
Запоминай алгоритм.
В таких случаях пишешь в исходнике TPageControl становишься на эту надпись и жмешь Ctrl+F1. В итоге попадаешь в раздел справки по этой компаненте и только природная лень или полное незнание англиского языка может тебе помешать догадаться что искомые свойства называются ActivePage или ActivePageIndex.
etc
Цитата(Silver Wind @ 29:05:2008 - 15:21) *
Ctrl+F1
А зачем Ctrl?
valentofer
попробовал, на buttonclick:
label1.caption:= inttostr(pagecontrol1.activepageindex);

В результате в лэйбл выводится не индексы вкладок, а какаета "порнография" )))
по нажатии на кнопку в лэйбле "4444888" ))) Бред какойто unsure.gif
Silver Wind
Цитата(etc @ 29:05:2008 - 15:36) *
А зачем Ctrl?

Просто привычка от какой-то другой среды, но работает и так, так что както не задумывался.

valentofer
Выложи код, ошибка у тебя гдето еще, приведенный способ работоспособен, только что на всякий случай перепроверил.
valentofer
вылаживаю:
Код
TabInd:integer;
begin
TabInd:=  TOtgruzkaViewFrame(CurrentFrame).sPageControl1.ActivePageIndex;
Label1.Caption:=inttostr(TabInd);

все вроде правильно unsure.gif
Silver Wind
Видимо все дело в этом:
Цитата(valentofer @ 29:05:2008 - 19:25) *
TOtgruzkaViewFrame(CurrentFrame)

1. Ты уверен что CurrentFrame имеет тип TOtgruzkaViewFrame?
Посмотри что вернет (CurrentFrame is TOtgruzkaViewFrame)
2. Ты уверен что переменная CurrentFrame при данном обращении уже создана или еще создана?
Проверь так Assigned(CurrentFrame)

P.S. В обоих случаях результат логический.
valentofer
точно, не выполняестся:
Код
procedure TOtgruzka_Frame.sBitBtn1Click(Sender: TObject);
var
RecNom, TabInd:integer;
begin
if assigned(CurrentFrame) and (CurrentFrame is TOtgruzkaViewFrame) then
  TabInd:=  TOtgruzkaViewFrame(CurrentFrame).sPageControl1.ActivePageIndex; // не выполняется почемуто?!
RecNom := OtgruzkaConnect.ADOTable1_Mashine.RecNo;
Label1.Caption:=inttostr(TabInd);
//OtgruzkaEditForm.ShowModal;
end;

А почему??
вот так создается у меня фрэйм:
Код
if Assigned(CurrentFrame) then FreeAndNil(CurrentFrame);
      CurrentFrame := TOtgruzkaViewFrame.Create(MainForm);
       MainForm.UpdateFrame(Sender);

поидее в CurrentFrame будет TOtgruzkaViewFrame, но почему тогда не проходит IF в предыдущем коде???
sax_ol
Цитата(valentofer @ 29:05:2008 - 20:25) *
А почему??

Потому что вам еще рано программы писать. Надо сначала на кошках тренироваться, тогда вопросы глупые перестанете задавать и все больше ответы находить будете.
valentofer
Цитата(sax_ol @ 29:05:2008 - 20:38) *
Потому что вам еще рано программы писать. Надо сначала на кошках тренироваться, тогда вопросы глупые перестанете задавать и все больше ответы находить будете.

Модератор: удалено. // вы себе помочь не пожете, о какой помощи другим вы говорите? успокойтесь.

Silver Wind, вам спасибо, наставили на путь истинный wink.gif Ошибку нашел, она заключалась в том что CurrentFrame была обьявлена 2 раза (в разных юнитах), поэтому перед выполнением вышеизложенного кода происходило переопределение CurrentFrame.

P.S. Тему считаю решенной.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2008 IPS, Inc.