Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2011, 14:03   #1
cashmail
Форумчанин
 
Регистрация: 23.06.2011
Сообщений: 201
По умолчанию Главная форма

как сдлелать что бы можно было переназначить главную форму.

Использовал код
Код:
Application.MainForm:=Tform2;
а так же
Код:
Application.MainForm:=Tform2;
Form2.Show;
Form1.Free;
выдавало ошибку что нельзя изменить значение токо для чтения

Последний раз редактировалось cashmail; 15.10.2011 в 14:14. Причина: Дополнил!!!
cashmail вне форума Ответить с цитированием
Старый 15.10.2011, 14:16   #2
Shinnok91
Пользователь
 
Регистрация: 30.07.2010
Сообщений: 30
По умолчанию

только хотел задатьэтот же вопрос. такая же проблема возникла.
14:19
я пробовал что-то менять на юните с названием проекта (то есть типа главном), ничего не получилось.
14:25
но думаю копать надо в ту сторону.то есть изменить значение свойства токо для чтения.
и там уже в коде в нужном месте переназначить форму (ну у кого в каком месте требуется)

Еще раз предупреждаю о необходимости прочтения и соблюдения правил раздела
http://programmersforum.ru/announcement.php?f=2
Прекращайте флудить !

Последний раз редактировалось mihali4; 16.10.2011 в 01:41.
Shinnok91 вне форума Ответить с цитированием
Старый 15.10.2011, 16:54   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,542
По умолчанию

главная форма, та которая была ПЕРВОЙ создана с помощью
Application.Createform(.....); и менять ее не не надо.
если надо показать форму с паролем
то можно так

Код:
if TformPass.GetPass then begin
  application.Createform();
  application.Run;
end;

TformPass =class(TForm)
public
class procedure GetPas: boolean;
end;

class procedure TformPass.GetPass: boolean;
var
  f: TFormPass;
begin
 f:=TformPass.Create(nil);
 if f.showmoadal =mrok then begin
   result:=pass='';
 end
 else 
    result:=false;
 f.free;
end;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 15.10.2011 в 17:03.
evg_m вне форума Ответить с цитированием
Старый 16.10.2011, 18:39   #4
cashmail
Форумчанин
 
Регистрация: 23.06.2011
Сообщений: 201
По умолчанию

На form2 сделал
Код:
procedure TForm2.FormCreate(Sender: TObject);
begin
form2.Visible:=false;
form1.Visible:=false;
end;
Пишет ошибку при чем не синтаксическую!

access violation at adress 0058DAC6 in module 'vcl70.bpl' что то такое! Помогите!!
Мне надо чтобы главная было form2, это я сделал! И чтобы при запуске проекта открывалась form1!
cashmail вне форума Ответить с цитированием
Старый 16.10.2011, 18:53   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

evg_m, думаю
Код:
if TformPass.GetPass then begin
это отламывается за 5 минут.
Человек_Борща вне форума Ответить с цитированием
Старый 17.10.2011, 09:28   #6
cashmail
Форумчанин
 
Регистрация: 23.06.2011
Сообщений: 201
По умолчанию

ну что не кто не может помочь?
cashmail вне форума Ответить с цитированием
Старый 17.10.2011, 11:28   #7
cashmail
Форумчанин
 
Регистрация: 23.06.2011
Сообщений: 201
По умолчанию

Цитата:
если надо показать форму с паролем
Мне требуется показывать первую форму поверх второй. просто показывать форму с паролем в данном случае нецелесообразно поскольку в ней выполняется еще несколько процедур необходимых для правильного функционирования программы. так же у первой формы дизайн свой.

Последний раз редактировалось cashmail; 17.10.2011 в 11:35.
cashmail вне форума Ответить с цитированием
Старый 17.10.2011, 11:31   #8
Shinnok91
Пользователь
 
Регистрация: 30.07.2010
Сообщений: 30
По умолчанию

Цитата:
Сообщение от cashmail Посмотреть сообщение
Пишет ошибку при чем не синтаксическую!
access violation at adress 0058DAC6 in module 'vcl70.bpl' что то такое!
Модуль не может найти, который с именем vcl70.bpl. возможно файл попал в сбойный сектор и не читается. либо случайно стерт хотя это маловероятно.
Shinnok91 вне форума Ответить с цитированием
Старый 17.10.2011, 12:00   #9
lux16
Форумчанин
 
Аватар для lux16
 
Регистрация: 11.02.2009
Сообщений: 305
По умолчанию

Хм, переназначит форму можно в опциях проекта Project -> Options, и там перетащить нужную форму на самый верх. Или же в Project -> View Source, и там перетащить создание своей формы на самый верх. Ну или же если не получается, то в onCreate главное форму показать форму ввода пароля, и там уже решать что делать с формой
Хочу быть лучшим, но пока что я только обычный =(
lux16 вне форума Ответить с цитированием
Старый 17.10.2011, 12:13   #10
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,542
По умолчанию

procedure TForm2.FormCreate(Sender: TObject);
begin
form2.Visible:=false;//формирование формы еще не закончено => в переменной form2 мусор => AV.
self.visible:=false; // а так сработает
form1.Visible:=false; // а есть уверенность что переменная form1 заполнена т.е. к этому моменту .
выполнено application.crateForm(Tform1, form1);
или form1:=Tform1.Create(...);
end;
Цитата:
Мне надо чтобы главная было form2, это я сделал!
следовательно form1 еще нет. =>мусор =>AV

Цитата:
Мне требуется показывать первую форму поверх второй.
перенесите ваш код из Oncreate в Onshow
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Главная форма из пакета bpl Dimasw Общие вопросы Delphi 1 02.04.2011 17:30
Access главная кнопочная форма plato Microsoft Office Access 2 19.08.2010 16:06
Главная форма. aleksandr278 Общие вопросы Delphi 17 23.03.2010 13:28
Главная форма Михаил Юрьевич Общие вопросы Delphi 3 03.02.2008 21:42
Главная форма как у Delphi NecroSlider Общие вопросы Delphi 5 19.01.2008 12:49