Другие языки программирования и технологии

вопрос по Delphi (формы)

систуация такая:была главная форма. затем я ввел систему администрирования. Создал новую форму, а сделать ее главной не могу, ну чтоб она в начале появлялась. Попробовал через событиеprocedure TForm1.FormActivate(Sender: TObject);beginform7.show;end; Вроде бы все нормально, но в дальнейшем при работе с прогой, когда открываешь другие формы, а потом закрываешь, ТА САМАЯ форма опять вылетает на передний план.Вопрос: 1. как избавиться от этого глюка? 2. как второстепенную форму сделать главной?
Не понял про систему администрирования.
Главная форма только одна.
Ты можешь манипулировать в коде самого файла проекта, а не главной формы и там создавать форму регистрации перед тем как показать основную основную. Хотя ни что не мешает и после запуска основной формы вызвать форму регистрации заблокировав основную.
Кроме того есть такие вещи как ShowModal и вынос на передний план (скорее всего у тебя появляется форма потмоу что ты её не закрыл, а MDI окна по дефаулту вообще сворачиваются)
Саша Самойлов
Саша Самойлов
8 408
Лучший ответ
Сайран Амиркулов Сделать главной не главную форму:

var P:pointer;
begin
P := @Application.Mainform;
Pointer(P^) := Form22;

end;
Добавляй
form1.hide;
Дмитрий Игошин
Дмитрий Игошин
73 776
Главной является, та которая в основном модуле создается первой

begin
Application.Initialize;
Application.Title := 'Resource Explorer';
Application.CreateForm(TMainForm, MainForm); - эта главная
Application.CreateForm(TOtherForm, OtherForm);
Application.Run;
end.

Если сделать тка, то все-равно
begin
Application.Initialize;
Application.Title := 'Resource Explorer';
Application.CreateForm(TOtherForm, OtherForm); - эта главная
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.
Надо в дереве форм проекта выбрать ее как главную
Дерево форм можно найти где-то в меню, эт не очень сложно
И так первое, когда создается проект, автоматически и создается форма (по умолчанию Form1).
Далее, если отладить программу, то есть запустить клавишей F9, то вилим форму в действий.

А если тут вопрос идет что бы форму менять так сказать приорететами то Заходим меню Project, там в самумом низу жмем Options/ Сразу увидишь что слева те формы которые создабтся автоматически, а справа те которые принидутельно.. .
Вообщем то ставишь те формы, котрые тебе нужны что бы создавались сразу послеоткладки кода....
Anton Melcher
Anton Melcher
492
Та самая форма вылетает на передний план по одной простой причине:

procedure TForm1.FormActivate(Sender: TObject);
begin
form7.show;
end;

то есть в тот момент, когда Form1 становится активной. Решение данной проблемы зависит от того, чего ты хочешь от Form1 и Form7.