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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение размеров дочерней формы 
:(
    Опции темы
falcon39
Дата 5.1.2005, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 21.6.2004

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



Здравствуйте!!!
Есть кусок кода главной формы...

procedure TFormMain1.MenuItem1Click(Sender: TObject);
begin
TMdiForm1.Create(Self);
end;


Кусок кода дочерней формы...

procedure TMdiForm1.FormCreate(Sender: TObject);
begin
MdiForm1.Width:=700;
MdiForm1.Height:=500;
end;

вопрос....

почему при выполнении события Click в главной форме выдается ошибка

Спасибо за возможные ответы ответы
--------------------
PM MAIL   Вверх
z-END
Дата 6.1.2005, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 11
Всего: 102



Ибо надо так:
Код

procedure TFormMain1.MenuItem1Click(Sender: TObject);
var Child: TMdiForm1;
begin
Child := TMdiForm1.Create(Self);
end;


Это сообщение отредактировал(а) nJIaKca.spb - 6.1.2005, 10:04


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Snowy
Дата 6.1.2005, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Ну во-первый, что именно за ошибка. Желательно до последней буковки, иначе диагноз затруднет.
Во-вторых: А зачем TMdiForm1.Create(Self); ? Может оно и ругается на то, что форма уже существует?
PM MAIL   Вверх
Snowy
Дата 6.1.2005, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата

Ибо надо так:
Код

procedure TFormMain1.MenuItem1Click(Sender: TObject);
var Child: TMdiForm1;
begin
Child := TMdiForm1.Create(Self);
end;

Ну ни фахт, ни фахт.
Вот например:
Код

procedure TForm1.Button1Click(Sender: TObject);
begin
 TForm1.Create(self).ShowModal;
end;

Работает без объявлений элемента. Вот только обратиться к ней по имени будет проблемно... Но работает и не ругается.
И почему люди, когда пишут "Выдает ошибку", не говорят какую???
PM MAIL   Вверх
<Spawn>
Дата 6.1.2005, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Цитата
Может оно и ругается на то, что форма уже существует?
Имхо, не совсем верноsmile Можно создать скольугодно экземпляров класса, лишь бы памяти хватилоsmile


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
z-END
Дата 6.1.2005, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 11
Всего: 102



Snowy пардон smile тупанул немного... просто в глаза бросилось "нестандартный подход" к созданию детейsmile
ЗЫ тогда меня больше мучает вопрос вот какой:

Цитата(falcon39 @ 5.1.2005, 23:50)
procedure TMdiForm1.FormCreate(Sender: TObject);
begin
MdiForm1.Width:=700;
MdiForm1.Height:=500;
end;

где же описана эта самая MdiForm1?! наверное надо проще делать:
Код

procedure TMdiForm1.FormCreate(Sender: TObject);
begin
Width := 700;
Height := 500;
end;



--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Snowy
Дата 6.1.2005, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Вот это скорее всего. Где объявление этого MdiForm1?
Видимо в онклике как раз нужно было написать
MdiForm1:=TMdiForm1.Create(Self);
Тогда уже можно и присваивать ему эти самые видвы и хейты.
И явно указывать имя не нужно, эт точно.
Код

procedure TFormMain1.MenuItem1Click(Sender: TObject);
begin
 MdiForm1:=TMdiForm1.Create(Self);
end;

procedure TMdiForm1.FormCreate(Sender: TObject);
begin
 Width:=700;
 Height:=500;
end;

Вот так, думаю, корректно будет.
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.0605 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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