Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2012, 18:22   #1
NaumOff
Пользователь
 
Регистрация: 25.07.2011
Сообщений: 48
По умолчанию Динамическое создание формы

В приложении рисую много графиков, решил сделать их динамически создаваемыми.
Сделал форму, на котором рисуется график, создаю его через Button
Код:
 MyGraph:= TMyGraph.Create(Application);
 MyGraph.Caption:= 'Новое сообщение';
 MyGraph.Show;
Все нормально.
Но в соответствии с ООП эту форму надо сделать компонентом другого объекта, полностью описывающего график.
Код:
 TMyObject = Class
  private
....
    FGraph: TMyGraph;
....
Пытаюсь показать эту форму:
Код:
      MyObject.Graph := TMyGraph.Create(Application);
            MyObject.Graph.Caption:= 'График 1';
            MyObject.Graph.Show;
Ловлю AV в методе этой формы Show, где меняются ее размеры.
Код:
procedure TMyGraph.FormShow(Sender: TObject);
begin
  MyGraph.ClientWidth := MyChart.Width;
end;
ClientWidth в это момент = nil. Что делаю не так?
NaumOff вне форума Ответить с цитированием
Старый 17.09.2012, 18:36   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

MyGraph -- это так и осталась глобальная переменная (или поле), которой теперь ничего не присваивается? Тогда от неё нужно избавиться:

Код:
procedure TMyGraph.FormShow(Sender: TObject);
begin
  ClientWidth := MyChart.Width;
end;
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 17.09.2012, 18:52   #3
NaumOff
Пользователь
 
Регистрация: 25.07.2011
Сообщений: 48
По умолчанию

veniside, мда, стыдно мне.
Вы абсолютно правы, спасибо!
NaumOff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
динамическое подключение формы Wi1D Компоненты Delphi 7 24.01.2011 10:36
динамическое создание формы Wi1D Общие вопросы Delphi 2 24.01.2011 01:03
Динамическое создание формы BoT_T Win Api 4 10.12.2010 12:36
Динамическое создание формы. Son Общие вопросы Delphi 1 04.02.2009 15:33
Динамическое создание формы Rifler Общие вопросы Delphi 6 11.09.2008 20:50