Форум: "Основная";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];
Внизкак сделать заставку для программы? Найти похожие ветки
← →
V (2003-12-13 13:48) [0]подскажите пожайлуста как визуализировать окно с информацией (название, разработчик итп) во время загрузки программы?
← →
Юрий Зотов (2003-12-13 13:58) [1]http://www.delphikingdom.com/helloworld/samples_win.htm#link11
← →
JibSkeart (2003-12-13 14:02) [2]http://delphinsworld.narod.ru/FAQ/mdi.html#b9
← →
JibSkeart (2003-12-13 14:02) [3]уппс :)
← →
Александр из Минска (2003-12-13 17:03) [4]Тут в FAQ написано!
← →
gestern (2003-12-13 18:01) [5]У меня это так происходит. Форма 6 - заставка. А это вставь в проэкт а не в юнит.
begin
try
form6 := Tform6.Create(Application);
form6.Show;
form6.Update;
Application.CreateForm(TForm1, Form1);
form6.Hide;
finally
form6.Free;
end;
Application.Initialize;
Application.CreateForm(TDataModule2, DataModule2);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm5, Form5);
Application.Run;
end
← →
Alexious (2003-12-13 18:18) [6]procedure TForm1.Timer1Timer(Sender: TObject);
begin
close;
end;
procedure TForm1.FormClick(Sender: TObject);
begin
close;
end;
procedure TForm1.FormCreate(Sender: TObject);
var R:Tregistry;
begin
R:=TRegistry.Create;
R.RootKey:=HKEY_LOCAL_MACHINE;
R.OpenKey("SOFTWARE\Microsoft\Windows NT\CurrentVersion", False);
UserName.Caption:=r.readstring("RegisteredOwner");
Organization.Caption:=r.readstring("RegisteredOrganization");
r.Free;
end;
← →
KSergey (2003-12-13 21:15) [7]Я бы настоятельно рекомендовал создавать форму-заставку в OnCreate главной формы, ну а удалять - например, на OnShow в ней-же.
Причина - корректная обработка исключений в данном случае, в отличии от кода, втиснутого в dpr.
← →
Юрий Зотов (2003-12-13 21:39) [8]> KSergey © (13.12.03 21:15) [7]
Непонятно. Не могли бы пояснить?
← →
Юрий Федоров (2003-12-13 22:42) [9]>>KSergey © (13.12.03 21:15) [7]
Создавать надо в файле dpr до Application.Initialize
параметром(owner)передавать соответственно nil
после создания всех автосоздаваемых форм проекта разрушать заставку, причем желательно с помошью release
который сводится к postmessage.
То есть когда система "успокоится", заставка и будет разрушена
← →
KSergey (2003-12-14 06:29) [10]Поясняю. ;)
Когда создается форма внутри метода Create главной, то, как известно, это все происходит внутри некоторого метода объекта Application. Т.е. все исключения, возникающие при отображении заставки, при необработанности корректно обработаются объектом Application и не улетят системе.
Вообще скажу, что все это лишь по опыту изготовления одной заставки. Там было чтение картинки, еще там какие-то навороты (небольшая скорость запуска самой программы это оправдывала :). Ну и словил как-то исключение и, скажу честно, сообщение "Run time error..." вместо привычного "Exception...", да еще вместе со свалившейся глухо и замертво программой напугало меня на всю жисть, а потому я стал сторонником того, что не нужно лезть в dpr с кодом, потенциально приводящему к исключениям.
Допускаю, что это либо частный случай, либо можно сделать и иначе (обработать исключения в dpr?).
Однако, как мне показалось, нет особой разницы по времени от начала выполнения программы до создания главной формы, зато я уже абсолютно спокоен за корректную обработку исключений.
Такое вот мое скромне мнение на сей счет...
← →
Юрий Зотов (2003-12-14 07:15) [11]> KSergey © (14.12.03 06:29) [10]
В dpr добавьте SysUtils в uses (желательно, поближе к началу) - и все.
Что касается создания заставки в OnCreate, то это не всегда хорошо. Дело в том, что OnCreate возбуждается уже после полного создания и инициализации формы. Нетрудно представить ситуацию, где для этого требуется длительное время (скажем, в одном из проектов, где я участвовал, главная форма вообще грузилась из удаленной БД - значит, надо выдать диалог логина, открыть базу, выполнить запрос, прокачать форму по каналу связи (которым может быть и медленный модем) - и т.д., и т.п.). И в течение всего этого длительного времени заставка не появится - а тогда какой же в ней смысл?
В то же время, заставка в DPR - вариант универсальный.
← →
KSergey (2003-12-14 07:28) [12]> Юрий Зотов © (14.12.03 07:15) [11]
Ну, согласитесь, что уж прокачка главной формы по модему - это уж очень частный случай ;) Хотя, возможно, я и заблуждаюсь ;)
По поводу SysUtils - спасибо, гляну. Может и правда полегчает...
PS
С утра гляжу - ЮЗ форум шерстит. Прикинул локальное время у него - в районе 6 утра. Ну и извращенец... ;)
← →
Юрий Зотов (2003-12-14 07:40) [13]> KSergey © (14.12.03 07:28) [12]
Я просто еще не ложился. Иногда люблю работать по ночам.
P.S.
Сорри за оффтопик.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c