Jak ustawić formę jako główną ?

0

Witam, mam do napisania na zajęcia z programowania, programu do wypożyczalni filmów.

Mam następujący problem, pisałem program i już główną formę i wtedy jedyną prawie skończyłem, ale okazało się, że do programu muszę dorobić obsługę kont użytkowników, wtedy pomyślałem sobie, że zrobię to na innej formie, żeby wszystko było ładnie i przejżyście i tutaj pojawił się problem, bo już skończyłem robienie kont i wszystko PRAWIE fajnie działa, prawie to dlatego, że chciałbym aby ta moja druga forma wyświetlała się pierwsza i po kliknięciu "zaloguj" dopiero wyświetlała się ta główna. I tutaj pojawia się pytanie do Was, czy jest możliwość zamiany tej drugiej formy na główną ? A może możecie mi zaproponować inne rozwiązanie tego problemu ? Z góry dziękuje za wszystkie odpowiedzi.

0

Project -> Options -> MainForm

0

Owszem da się zmienić ale to nie tędy droga (zastosowałem taką metodę w jednym z projektów i to był błąd).
W konstruktorze formy głównej dajesz:
Application.ShowMainForm:=false;
Oraz odpalasz timer ustawionego na np 1 ms.
W timerze odpalasz drugą formę przy nie udanym zalogowaniu dajesz:
Application.Terminate;
Przy udanym:
Form1.Show;

0

Dziękuję _13th_Dragon, wszystko ładnie działa :)

0

To dziwne co _13th_Dragon piszesz. Jeżeli w metodach danej formatki nie było używanych odwołań do nie stworzonej jeszcze formatki to wystarczy wcisnąć Ctrl+F12 i w pliku projektu (u mnie Project1, ale może to być na przykład moj_program.dpr) wystarczy ustawić po Application.Initialize; Formatkę która ma się pokazać jako pierwsza i wszystko działa. Można to również zrobić w opcjach projektu. Oczywiście, że można też i sprobować kombinować z Timerami, ukrywać głowną formatkę, ale po co ;/ Wiem, że _13th_Dragon masz dużą wiedze, ale takie kombinowanie z Timerami jest właśnie trochę przekobminowane i wydaje mi się być amatorskie. A pod Delphi 7 nie spotkałem się żeby zmienienie kolejności formatek w pliku projektu było problemem. Oczywiście przy założeniu, że w metodach OnCreate nie ma odwołań do niestworzonych jeszcze formatek, ale jak użyjemy kodu w OnShow to powinno być ok. O ile oczywiście dobrze zrozumiałem problem pytającego.

program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

1 użytkowników online, w tym zalogowanych: 0, gości: 1