Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Создание MDI приложений и их висяки.(Требуется код для примера)

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных
Предыдущая тема :: Следующая тема  
Автор Сообщение
Алексей
Гость





СообщениеДобавлено: Вс Май 18 2003 23:22    Заголовок сообщения: Создание MDI приложений и их висяки.(Требуется код для примера) Ответить с цитатой

Здравствуйте!

Проблема создания MDI приложения на C++ Builder 6.
Почему может генериться исключение EAbstractError
и почему при многократном вызове одного и тогоже
окна вылетает ошибка ссылающаяся на адрес.

Я вызываю окно путем его создания а потом изменения
совйства видимости:

FNew=new TFNew(this);
FNew->Visible=true;

А закрываю:

delete FNew;

При вызове одного окна работающей программы (из компилятора)
программа просто виснет, так и не показав окно, приходиться
перезагружать компьютер (В свойстве окна OnShow - пусто).


Напишите пожалуйста может я что неправильно делаю.
И желательно куском кода на примере.
Заранее благодарен!
Алексей.
Вернуться к началу
Lucky



Зарегистрирован: 15.05.2003
Сообщения: 6
Откуда: Каменск

СообщениеДобавлено: Ср Май 21 2003 11:26    Заголовок сообщения: Re: Создание MDI приложений и их висяки.(Требуется код для примера) Ответить с цитатой

SRC="http://goldsoft.by.ru/Error.JPG" BORDER=0 VSPACE=4 HSPACE=6>
К сожалению у меня нет под рукой не билдера не куска кода, но могу попытатся помочь на примере делфей поскольку пару дней назад писал подобную вещь в своем дипломе и тоже не мог понять. Вообщем я не уверен, что в MDI приложении можно пользоваться свойством Visible, поскольку я хотел скрыть все свои окна, перед этим я указал главную форму как MDI, а остальные как MDICild, и как только я нажал на Visible, то ту же вывалиось окно говорящие о том, что такого типа окна нельзя скрывать, тогда я поступил так.
1. При старте все окна создаются.

program ProjectProd;

uses
Forms,
main in 'main.pas' {fmMain},
dmod in 'dmod.pas' {fmDMod: TDataModule},
start in 'start.pas' {fmStart},
Klient in 'Klient.pas' {fmKlient},
Bank in 'Bank.pas' {fmBank},
sklad in 'sklad.pas' {fmSklad},
NALOG in 'NALOG.pas' {fmNalog},
material in 'material.pas' {fmMaterial},
Edism in 'Edism.pas' {fmEDISM},
Plan in 'Plan.pas' {fmPlan},
Nomenkl in 'Nomenkl.pas' {fmNomenkl},
Vip in 'Vip.pas' {fmVip},
Zach in 'Zach.pas' {fmZach},
VidNom in 'VidNom.pas' {fmVidNom},
psn in 'psn.pas' {fmpsn},
SFVid in 'SFVid.pas' {fmSFVid},
NOtgr in 'NOtgr.pas' {fmNOtgr},
ZD in 'ZD.pas' {fmZD},
Chit in 'Chit.pas' {fmChit},
TYPOP in 'TYPOP.pas' {fmtypop},
Dover in 'Dover.pas' {fmDover},
PrintKniga in 'PrintKniga.pas' {fmPrintKniga};

{$R *.RES}

begin
Application.Initialize;
Application.CreateForm(TfmMain, fmMain);
Application.CreateForm(TfmDMod, fmDMod);
Application.Run;
end.

я оставил только те окна которые, нужны будут сразу - это главная форма и форма DataMod содержащая объекты для работы с БД, точнее даже не форма а контейнер.
Создание всех остальных форм я убрал.

2. Далее, если мне надо показать какую нибуль из форм я делал так - это реакция на выбор в меню

procedure TfmMain.N20Click(Sender: TObject);
begin
if fmBank=nil then
fmBank:=TfmBank.Create(fmMain)
end;

3. Для благополучного закрытия формы я добавил метод который удаляет объект формы и все работало

procedure TfmBank.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
fmBank.Free;
fmBank:=nil;
end;


т.к. билдер основан на библиотеках и компонетха делфей, то следовательно есть большая вероятность, что все описанно будет работать, но требует переработки, а точнее заменить методы, в остальном думаю все будет нормально
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...