Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
ВнизПомогите советом ... (про многооконный интерфейс) Найти похожие ветки
← →
Liona (2004-04-10 14:53) [0]Вот что вы можете мне посоветовать для многооконного интерфейса?
Необходимо создать программу с многооконным (более 10 окон) интерфейсом как MDI (все окна в одном, но грузятся по мере надобности). Но MDI сама неподходит так как "дочернии" окна генерируючтся динамически, а надо что бы все окна были индивидуальны. (Или я что то не так поняла про MDI?)
Причитала про Frames - могут ли они мне чемнибуть помочь?
Второе что меня смущает - это при создании многооконного интерфейса все формы разом загружаются - неужели мне надо забивать ими память (делая Visible:= false), что бы использовать поодиночке по мере надобности?
З.Ы. напоминаю что я с первого курса, и знаю не намного более того что там преподают, по этому если можно то неслишком заумно, а лучше присылайте DEMO версии (исходники) на forums@maksients.lv или на liona@tsi.lv
Зарание всем благодарна за льбую оказанную помощь!
← →
Sphinx © (2004-04-10 15:08) [1]> Второе что меня смущает - это при создании многооконного
> интерфейса все формы разом загружаются - неужели мне надо
> забивать ими память
А это как же тогда сочетается с таким кодом:if not Assigned(Form2) then
Form2:=TForm2.Create;
Form2.ShowModal;
FreeAndNil(Form2);
при условии что Form2 перенгесена из создающихся автоматически?
Создавай хоть 110 форм в памяти они висеть не будут.
← →
Liona (2004-04-10 15:50) [2]
> это как же тогда сочетается с таким кодом:
> if not Assigned(Form2) then
> Form2:=TForm2.Create;
> Form2.ShowModal;
> FreeAndNil(Form2);
>
> при условии что Form2 перенгесена из создающихся автоматически?
>
> Создавай хоть 110 форм в памяти они висеть не будут.
прошу прощения, но я так и непоняла куда этот кед вписывать и какие при этом параметры в начале надо ставить для Form2?
← →
TUser © (2004-04-10 15:52) [3]В MDI приложениях дочерние формы можно генерить динамически. Вот эта фраза
неподходит так как "дочернии" окна генерируючтся динамически, а надо что бы все окна были индивидуальны.
требует некоторых пояснений.
А для незабивания памяти - [1] или убрать формы из списка автоматически генерируемых. Сам я обычно по привычке делаю [1]. Только в исходнике проекта надо прибить CreateForm.
← →
Liona (2004-04-10 16:08) [4]
> В MDI приложениях дочерние формы можно генерить динамически.
> Вот эта фраза
> неподходит так как "дочернии" окна генерируючтся динамически,
> а надо что бы все окна были индивидуальны.
> требует некоторых пояснений.
Дело в том что мне надо сделать административную базу данных банка. Тоесть там администратор в 1-ой программе должен в различных окнах вводить новые банки, клиентов, кредитки; просматривать данные по каждой проводке, по каждому клиенту, по проводкам банка в день,... и много много другово.
Так вот я хочу что бы это все выглядело как MDI.
Как мне это сделать? пришлите демку если несложно, а то код кусками я непонимаю.
← →
Sphinx © (2004-04-10 16:47) [5]> прошу прощения, но я так и непоняла куда этот кед вписывать
> и какие при этом параметры в начале надо ставить для Form2?
Поясняю:
1. На вкладке свойств проекта Project->Options перемести все не основные формы из Auto-create forms в Avalible forms (В примере это Form2).
2. далее где надо вызвать Form2 пишешь:
> if not Assigned(Form2) then //ЕСЛИ НЕ существует (назначена) Form2
> Form2:=TForm2.Create; //ТО создаем её
> Form2.ShowModal; //показываем модально
> FreeAndNil(Form2); //Удаляем вмессте со ссылкой на форму
Если делать Form2.Free то при следующей попытке создать вызвать форму Form2 получим Access violent.... потому что Assigned не сработает (ссылка на форму есть), а сама форма уничтожена.
Вопрос: Почему именно MDI?
← →
Liona (2004-04-10 17:42) [6]
> Вопрос: Почему именно MDI?
Не именно MDI, а как MDI. Просто хочется что бы программа смотрелась как единое целое, а не каждая форма сама по себе хаосом по монитору.
Поэтому я и спрашиваю - что посоветуете для многооконого интерфейса как MDI?
← →
Sphinx © (2004-04-10 18:02) [7]> каждая форма сама по себе хаосом по монитору.
:) и в бардаке был порядок.
Если хочется порядка попробуй именно MDI или как вариант (не самый лучший) контролировать в формах их положение, то есть если она вышла за определенные границы - возвращать назад.
Но все равно если форм действительно много то все равно будет непорядок в их размещении.
> сделать административную базу данных банка.
хм...а глупость можно? Одним Access-ом не ограничиться, или чем похожим?
← →
Liona (2004-04-10 18:41) [8]
> хм...а глупость можно? Одним Access-ом не ограничиться,
> или чем похожим?
Дело в том что я делаю курсовую по Pascal. Поэтому выбоа особого нет.
← →
Liona (2004-04-10 19:11) [9]Sphinx - прошу, пришли мне пример по мылу. Я так поняла что ты предлагаешь сделать MDI, но сделала всй как то написал, а при вызове Form2 он вадает ошибку.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.034 c