Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обращение к TFrame 
V
    Опции темы
valentos
Дата 29.5.2008, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 7.12.2006
Где: Belarussia, Gomel

Репутация: нет
Всего: 2



Проблема такая. У меня на на фрэйме расположена сетка DBGrid. Обращение из главной формы приложения к компонентам расположеным на Frame не происходит, т.е. я немогу обратится к DBGrid расположенному на Фрэйме. Насколько я понял, главная форма невидет Frame, потому как фрэйм создается при исполнении приложения?!. Как можно обратится к компонентам на TFrame ? smile 
Спасибо заранее
--------------------
[code=sql]select name, telephone from Girls where age between 20 and 25 and (.)(.) >= 2 order by IQ desc [/code]
PM MAIL   Вверх
pseud
Дата 29.5.2008, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 10
Всего: 40



Код

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    FFrame: TExampleFrame;
  public
  end;
.........
procedure TForm1.FormCreate(Sender: TObject);
begin
  FFrame := TExampleFrame.Create;
  ........
end;


Добавлено через 1 минуту и 19 секунд
-----------
ну и обращайся к компонентам на TExampleFrame так:
Код

FFrame.DBGrid1......



--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
valentos
Дата 29.5.2008, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 7.12.2006
Где: Belarussia, Gomel

Репутация: нет
Всего: 2



а я делал вот так:
Код

  private
    { Private declarations }
  public
    { Public declarations }
  end;

  var
  MainForm: TMainForm;
  CurrentFrame : TFrame;


Код

if Assigned(CurrentFrame) then FreeAndNil(CurrentFrame);
      CurrentFrame := TOtgruzkaViewFrame.Create(MainForm);
       MainForm.UpdateFrame(Sender);

Код

сurrentFrame.dbgrid1....// не компилится

Чего так нехочет??? Неужеле надо только через член класса TForm, как сказал pseud??
pseud, 
--------------------
[code=sql]select name, telephone from Girls where age between 20 and 25 and (.)(.) >= 2 order by IQ desc [/code]
PM MAIL   Вверх
pseud
Дата 30.5.2008, 09:04 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 10
Всего: 40



Цитата(valentos @  29.5.2008,  19:55 Найти цитируемый пост)
сurrentFrame.dbgrid1....// не компилится


а так:
Код

TOtgruzkaViewFrame(сurrentFrame).dbgrid1....


Добавлено через 5 минут и 28 секунд
ведь ты объявил 
Код

CurrentFrame : TFrame;

компилятор и смотрит на него как на TFrame
а у TFrame нет свойства dbgrid1

если у тебя CurrentFrame бывает разных классов, а не только TOtgruzkaViewFrame
то пиши так
Код

if CurrentFrame is TOtgruzkaViewFrame then
  TOtgruzkaViewFrame(CurrentFrame).ляляля
else if CurrentFrame is TPupkinsViewFrame then
  TPupkinsViewFrame(CurrentFrame).ляляля

или так:
Код

procedure .....
var
  f: TOtgruzkaViewFrame;
begin
  if not (CurrentFrame is TOtgruzkaViewFrame) then
    Exit;
  f := TOtgruzkaViewFrame(CurrentFrame);
  f.DBGrid1.ляляля
.........
end;



--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
Bose
Дата 30.5.2008, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 8
Всего: 51



Цитата(valentos @  29.5.2008,  19:55 Найти цитируемый пост)
Чего так нехочет??? Неужеле надо только через член класса TForm, как сказал pseud??

Потому что 
Код

 var
  CurrentFrame : TFrame;

Если бы было объявлено так, то всё работало бы
Код

 var
  CurrentFrame : TOtgruzkaViewFrame;


PM MAIL WWW Skype   Вверх
valentos
Дата 31.5.2008, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 7.12.2006
Где: Belarussia, Gomel

Репутация: нет
Всего: 2



Спасибо!!! smile 
--------------------
[code=sql]select name, telephone from Girls where age between 20 and 25 and (.)(.) >= 2 order by IQ desc [/code]
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0547 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.