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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MDIForm для не главной формы 
:(
    Опции темы
Valart
Дата 8.4.2011, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть главная форма Form1 (FormStyle=fsNormal), дочерняя форма Form2 (FormStyle=fsMDIForm) и дочерняя форма Form3 (FormStyle=fsMDIChild).
Form1 и Form2 создаются автоматически.
При попытке вызвать Form3 происходит ошибка: Cannot create form. No MDI forms are currently active.
Как это можно побороть? Знаю, что это возможно, потому как находил в Инете упоминания об этом. На одном форуме человек описывал подобную проблему и он её решил, но (негодяй!!!) не написал как он это сделал!

Это сообщение отредактировал(а) Valart - 8.4.2011, 15:20
PM   Вверх
Gwire
Дата 11.4.2011, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 7.8.2007
Где: Николаев

Репутация: 1
Всего: 4



А кокого результата ты хочешь достичь?
Это избавляет от ошибки.
Код

procedure TForm2.FormCreate(Sender: TObject);
begin
    if Application.MainForm <> nil
      then Application.MainForm.Show;
    PPointer(@Application.MainForm)^:= Self;
end;

или в .dpr файле
Код

  Application.CreateForm(TForm2, Form2); // Создание формы Form2 выполнить первой
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm3, Form3);
  Form1.Show;

или
Код

  Form1:= TForm1.Create( Application ); // Создание формы Form1 выполнить "руками"
  Application.CreateForm(TForm2, Form2); 
  Form3:= TForm3.Create( nil );  


Насколько критично чтобы Form1 была главной формой?


Это сообщение отредактировал(а) Gwire - 11.4.2011, 13:51
PM MAIL   Вверх
RomanEEP
Дата 11.4.2011, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 18.5.2006
Где: Коломна

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



Открываем модуль Forms, смотрим процедуру TCustomForm.CreateWindowHandle, думаем...
PM MAIL   Вверх
Valart
Дата 12.4.2011, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Gwire, это была попытка таким вот несколько нестандартным способом решить вот эту задачу: link.
Т.е. я хотел засунуть в panel на главной форме окно типа MDIForm, а уже в нем создавать окна MDIChild.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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